291 80 7MB
English Pages 698 [699] Year 2022
International Series in Operations Research & Management Science
Zhi-Long Chen Nicholas G. Hall
Supply Chain Scheduling
International Series in Operations Research & Management Science Volume 323
Series Editor Camille C. Price Department of Computer Science, Stephen F. Austin State University, Nacogdoches, TX, USA Associate Editor Joe Zhu Foisie Business School, Worcester Polytechnic Institute, Worcester, MA, USA Founding Editor Frederick S. Hillier Stanford University, Stanford, CA, USA
More information about this series at https://link.springer.com/bookseries/6161
Zhi-Long Chen • Nicholas G. Hall
Supply Chain Scheduling
Zhi-Long Chen Department of Decision, Operations & Information Technologies Robert H. Smith School of Business University of Maryland College Park, MD, USA
Nicholas G. Hall Department of Operations and Business Analytics Fisher College of Business Ohio State University Columbus, OH, USA
ISSN 0884-8289 ISSN 2214-7934 (electronic) International Series in Operations Research & Management Science ISBN 978-3-030-90372-5 ISBN 978-3-030-90374-9 (eBook) https://doi.org/10.1007/978-3-030-90374-9 © Springer Nature Switzerland AG 2022 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This book is dedicated to our families and friends.
Foreword
Scheduling of activities are ubiquitous processes. Scheduling takes place on a regular basis in many application areas at multiple levels, at operational levels as well as at strategic levels. I have been interested in the general area of scheduling for more than four decades and have been continuously amazed by the variety of application domains in which these processes play a critical role. One of the more important application areas is the scheduling that takes place in supply chains, which is the topic that is being covered in this book. The importance of this application area has become even more to the forefront in the pandemic period of 2020–2021, during which many global supply chains have been hurt considerably, requiring significant amounts of rescheduling. I have known both Zhi-Long Chen and Nick Hall for more than three decades, and at every conference that we attend, either in the USA, in China, or anywhere else, we have been looking forward to our discussions on the topics we are working on. Zhi-Long and Nick have been working on the area of supply chain scheduling already for quite a while, and this monograph is the culmination of their and other people’s work in this area. While classical scheduling has been studied since the mid-1950s, the integration of scheduling with the coordination and competition issues that arise ubiquitously in supply chains dates back about 20 years. Some of the foundational works on this topic were written by the two authors of this book. This work has become highly influential within the operations research community. At the time of writing, an online search on the book title reveals 3300 published works. To my knowledge, however, this book represents the first attempt to synthesize the main research directions within supply chain scheduling into a single source. Supply Chain Scheduling addresses the coordination and competition of scheduling and other operational decisions in supply chains from two perspectives. The first perspective is that of a single decision maker faced with multiple types of operational decisions—for example, production and distribution, or production and pricing. The second perspective is that of multiple self-interested decision makers whose decisions collectively determine the performance of a supply chain—for example, a supplier and a manufacturer, or multiple suppliers in an assembly system. vii
viii
Foreword
The problems studied are identified as centralized under the first perspective, and decentralized under the second one. Each perspective addresses a wide variety of applications and theoretical issues. A consistent focus of the book is the value added by the coordinated decision-making of scheduling and other functions, relative to local or even decentralized decision-making for different parts of a problem. The book consists of two parts. Part I consists of Chaps. 3 through 6. These chapters study centralized problems in supply chain scheduling. Chapters 3 and 4 address the integration of production scheduling and outbound distribution decisions in both offline and online settings. Chapter 5 studies the coordination of production and pricing decisions, and Chap. 6 discusses the joint consideration of subcontracting and scheduling decisions. A wide variety of optimization methodologies are employed in Part I, including dynamic programming, integer optimization, branchand-bound, heuristic design, and worst-case and asymptotic performance analysis. Part II consists of Chaps. 7 through 9. Chapter 7 uses classical scheduling techniques and dynamic programming to identify the cost of conflict when individual players make self-interested decisions in supply chains. The works discussed in this chapter have been strongly motivational for the development of supply chain scheduling research. Chapter 8 views supply chain scheduling problems as cooperative games, and within that context studies application to sequencing and scheduling games, as well as capacity allocation and subcontracting problems. Chapter 9 uses the perspective of noncooperative games, and studies applications with complete information as well as others where some information is private. This monograph will undoubtedly serve as a solid basis for future research on this important topic. I feel privileged to be allowed to write a foreword to this book and put this area in a proper perspective. I am confident that this text will become an indispensable foundation on which many researchers in academia and industry will rely. New York University, New York, NY, USA August 2021
Michael L. Pinedo
Preface
The topic of this book is decision-making at the interface of supply chain management and production scheduling. These are both very active research areas with profound practical impact through diverse applications. An essential component of such decision processes is coordination. In this book, coordination is studied in two different environments. We first study the coordination of multiple operational functions by a single centralized decision maker. This work generalizes the classical scheduling environment that typically addresses a single operation. We also study the coordination of the decisions of multiple decentralized decision makers who are self-interested but may be either cooperative or noncooperative. This work translates classical supply chain research into more detailed operational planning. The study of these topics within the book ranges broadly through the research areas of classical scheduling, combinatorial optimization, computational complexity, algorithm design, heuristic performance analysis, and cooperative and noncooperative game theory. The book begins with two introductory chapters. Chapter 1 provides historical background on the research areas that support this work and identifies numerous applications that fall within our scope. Chapter 2 provides a concise overview of essential concepts and mathematical tools that are applied in the main body of the book. The remainder of the book has two parts. Part I consists of Chaps. 3 through 6 on centralized supply chain scheduling problems, that is, those with a single decision maker who controls multiple operational functions. Chapter 3 studies offline versions of various integrated production and outbound distribution scheduling problems, whereas Chap. 4 is focused on online versions of such problems. Chapter 5 considers problems in which product pricing and production scheduling decisions are made together. Chapter 6 discusses situations where subcontracting and scheduling decisions are made jointly in order to optimize the overall system performance. In each chapter, we present solution algorithms and heuristics, analyze their performance, and evaluate the benefit of joint optimization. Part II of this book consists of Chaps. 7 through 9. These chapters study decentralized problems, that is, those with multiple entirely or predominantly selfix
x
Preface
interested players, in supply chain scheduling. Chapter 7 uses optimization models to study the cost of conflict that arises from unequal supply chain power and the benefit that results when players coordinate their schedules. Chapter 8 uses cooperative games to study the stability of coalitions between supply chain members and various schemes for compensating them using the gains from cooperation. Chapter 9 uses noncooperative games to study equilibrium solutions, their system performance, and possible ways to enhance that performance including by incentivizing the truthful reporting of private information. Our motivation for writing this book arises in part from our consistent research interest in scheduling and related problems over more than 20 years. A second motivating factor is the influence of supply chain management which focuses on the coordination issue mentioned above, but typically does not relate it to the level of detailed scheduling decisions. We believe that the integration of these two research areas has both theoretical interest and practical value. In addition, because many scheduling problems have a simple structure that offers easily obtained insights, we have observed that such problems are used in numerous works to develop results within cooperative and noncooperative game theory. Those works naturally fall within the scope of our book. Our writing process for the book has been an evolutionary one. It began with a broad concept of a supply chain, which includes, for example, a traditional vertical supply chain such as a supplier and a manufacturer, where a single decision maker coordinates multiple operational functions, and a horizontal supply chain such as multiple suppliers competing for the capacity of a manufacturer, where there are multiple decision makers at the same level. Additional generality was provided by the flexibility to model decision makers as either jobs that require scheduling or machines that schedule the jobs. The focus on intensified competition, which has been a major motivation for the development of supply chain management, has also motivated the many supply chain scheduling applications we discuss. We have been inspired by the growing variety of applications enabled by e-commerce that can be modeled as supply chain scheduling problems. A challenge that we have faced during our 4-year development of the book has been keeping up with the rapid pace of new research. Scheduling research, which began more than 65 years ago, remains very active with many theoretical developments and innovative new applications appearing each year. Some trends that support increasing interest in this work in the future include the ever more important role scheduling plays in a supply chain, the widespread implementation of computer-based scheduling systems, and the increasing use of online platforms to schedule work among decentralized decision makers. Indeed, it is the potential growth of such applications that convinces us of the timeliness of our book project. The intended audience of this book is researchers and graduate students who are interested in supply chain planning, extensions of classical scheduling, combinatorial optimization generally, and emerging applications of cooperative and noncooperative game theory. The book does not provide a comprehensive exposure to supply chain management, classical scheduling, combinatorial optimization, or
Preface
xi
cooperative or noncooperative game theory. All these research topics are well supported by many excellent existing books, which can effectively prepare readers without previous background in these five topics. For students who are in possession of such background, this book could provide an extensive tour of those topics centered around the simple but highly intuitive paradigm of scheduling. We cite more than 400 references, which can be used as assigned readings in support of the content of the book. The book also contains more than 100 fully worked numerical examples that illustrate the broad range of mathematical techniques that model and solve supply chain scheduling applications. Much of this book is based on work which we have done together or with other co-authors. For example, most of the content of Chap. 7 is based on four works which we originally wrote and which (based on the number of citations received) are viewed as foundational to the topic of supply chain scheduling. We have rewritten these works to make them more accessible and present the results in a unified way. However, we have also used parts of various works by other authors from the published open literature. In each case, we introduced some reorganization and rewriting, and of course appropriately referenced the work and where necessary (as advised by our publisher) obtained copyright permission. Under these guidelines, we have reproduced a number of proofs, especially mathematical proofs, without substantial changes. We have also contacted the most frequently cited authors to ensure that they believe that their work has been appropriately attributed. In several cases, they also suggested improvements to the presentation, which we appreciate. This book has also benefited greatly from reading by several expert colleagues, including Alessandro Agnetis (Università di Siena), Zhixin Liu (University of Michigan-Dearborn), Daniel Ng (The Hong Kong Polytechnic University), Xiangtong Qi (The Hong Kong University of Science and Technology), Bingling She (Imperial College London), George Vairaktarakis (Case Western Reserve University), Shuling Xu (Jiangnan University), and Zijin Zhang (University of Michigan). Their detailed and helpful comments are much appreciated, as are more general conversations with our many co-authors referenced within the book. We also thank our helpful and efficient editor at Springer, Jialin Yan. Finally, we thank our respective academic institutions for providing support for several summers, during which much of the writing of the book was completed. College Park, MD, USA Columbus, OH, USA August 2021
Zhi-Long Chen Nicholas G. Hall
Contents
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Supply Chain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Centralized Applications and Models . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Decentralized Applications and Models. . . . . . . . . . . . . . . . . . . . . . 1.3 Limitations to Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Overview of the Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 5 7 14 20 21
2
Solution Methods for Supply Chain Scheduling Problems . . . . . . . . . . . . . . 2.1 Common Elements in Scheduling Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Solution Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Dynamic Programming Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Branch-and-Bound Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Integer Programming Based Algorithms . . . . . . . . . . . . . . . . . . . . . 2.3.4 Approximate Solution Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Cooperative Game Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.6 Noncooperative Game Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 23 25 28 28 31 33 39 43 46
Part I Centralized Supply Chain Scheduling 3
Integrated Production and Outbound Distribution Scheduling: Offline Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Problem Definition and Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Model Parameters and Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Problems with Individual and Immediate Delivery. . . . . . . . . . . . . . . . . . . . 3.3.1 Maximum Delivery Time Problems with a Sufficient Number of Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Maximum Delivery Time Problems with a Limited Number of Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Multi-Machine Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53 53 55 55 60 61 66 70 xiii
xiv
Contents
3.4 Problems with Batch Delivery to a Single Customer. . . . . . . . . . . . . . . . . . 3.4.1 Optimality Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Single-Machine Maximum Lateness and Transportation Cost Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Single-Machine Total Weighted Delivery Time and Transportation Cost Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Parallel-Machine Total Delivery Time and Transportation Cost Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Problems with a Limited Number of Vehicles . . . . . . . . . . . . . . . 3.5 Problems with Batch Delivery to Multiple Customers . . . . . . . . . . . . . . . . 3.5.1 Single-Machine Maximum Lateness and Transportation Cost Problems with Direct Shipping . . . . . . . . 3.5.2 Parallel-Machine Total Delivery Time and Transportation Cost Problem with Routing . . . . . . . . . . . . . . . . . . 3.5.3 Problems with a Limited Number of Vehicles and Direct Shipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Problems with Fixed Delivery Departure Dates . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Problems with Homogeneous Vehicles. . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Problems with Heterogeneous Vehicles . . . . . . . . . . . . . . . . . . . . . . 3.7 Problems with Multiple Plants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Minimizing Total Delivery Time and Transportation Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.2 Minimizing Maximum Delivery Time and Transportation Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Problems with Two Stages of Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Optimality Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2 Solving the Total Delivery Time Problem. . . . . . . . . . . . . . . . . . . . 3.8.3 Solving the Maximum Delivery Time Problem . . . . . . . . . . . . . . 3.9 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Integrated Production and Outbound Distribution Scheduling: Online Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Online Problems with Individual and Immediate Delivery . . . . . . . . . . . 4.2.1 Single-Machine Maximum Delivery Time Problem and Some Variants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Parallel-Machine Maximum Delivery Time Problem . . . . . . . 4.3 Online Problems with Batch Delivery to a Single Customer . . . . . . . . . 4.3.1 Maximum Delivery Time Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Maximum Delivery Time and Transportation Cost Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Total Delivery Time and Transportation Cost Problems. . . . .
72 73 75 77 79 85 88 89 96 99 102 103 106 117 119 122 125 127 129 131 134 137 137 139 140 145 147 147 156 160
Contents
xv
4.4 Online Problems with Batch Delivery to Multiple Customers . . . . . . . . 4.4.1 Maximum Delivery Time and Transportation Cost Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Total Delivery Time and Transportation Cost Problems. . . . . 4.5 Online Problems with Two Stages of Delivery . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Online or Offline Algorithms?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168 168 173 175 181 183
5
Coordinated Product Pricing and Scheduling Decisions . . . . . . . . . . . . . . . . 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Single-Period Product Based Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 NP -Hardness Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Fully Polynomial Time Approximation Schemes. . . . . . . . . . . . 5.2.4 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5 Computational Results and Managerial Insights . . . . . . . . . . . . . 5.3 Single-Period Order Based Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Discrete Allowable Prices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Continuous Allowable Prices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Multi-Period Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 NP -Hardness Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Approximation Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 Computational Results and Managerial Insights . . . . . . . . . . . . . 5.5 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185 185 187 190 194 197 203 207 210 211 214 220 225 228 233 236 239
6
Joint Subcontracting and Scheduling Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Problem with a Lead Time Performance Guarantee. . . . . . . . . . . . . . . . . . . 6.2.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Complexity and Heuristic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 A Related Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Value of Subcontracting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Value of Subcontracting in the Total Cost Problem. . . . . . . . . . 6.3.2 Value of Subcontracting in the Weighted Sum of Makespan and Total Cost Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Problems with a Subcontracting Budget Constraint . . . . . . . . . . . . . . . . . . . 6.4.1 The Total Completion Time Problem. . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 The Maximum Tardiness Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3 The Total Tardiness Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Problems with a Flowshop Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 NP -Hardness Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.2 Polynomially Solvable Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3 Proportionate Flowshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
241 241 243 244 245 256 258 260 261 262 269 270 273 274 276 278 281 282
xvi
Contents
6.6 Problems Requiring Delivery of Subcontracted Jobs . . . . . . . . . . . . . . . . . 6.6.1 Single In-House Machine and Single Subcontractor’s Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 Two-Stage Flowshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Problems with a More Complex Subcontracting Cost Structure. . . . . . 6.7.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.2 Analysis of Problems with Incremental Discount . . . . . . . . . . . 6.8 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
284 284 289 292 292 294 298
Part II Decentralized Supply Chain Scheduling 7
Optimization and Conflict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Scheduling and Batching in a Supply Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 The Supplier’s Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3 The Manufacturer’s Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.4 The Combined Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.5 Cooperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Sequencing in an Assembly System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Notation and Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Conflicts Between Suppliers and Manufacturer . . . . . . . . . . . . . 7.3.3 Suppliers Dominate and Manufacturer Negotiates . . . . . . . . . . 7.3.4 Manufacturer Dominates and Suppliers Negotiate . . . . . . . . . . 7.3.5 Manufacturer Dominates and Suppliers Adjust . . . . . . . . . . . . . . 7.3.6 Suppliers and Manufacturer Cooperate . . . . . . . . . . . . . . . . . . . . . . 7.3.7 Cost Saving from Cooperation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.8 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Manufacturer and Distributor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 Problem Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Cost of Conflict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.3 Supply Chain Dominance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 Benefit of Cooperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Resequencing in a Supply Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Notation and Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Manufacturer’s Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.3 Supplier’s Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.4 Combined Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
303 303 307 309 316 319 324 331 335 336 338 354 360 362 367 370 376 377 378 381 389 397 404 405 407 420 424 427
8
Cooperative Supply Chain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Cooperative Game Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Sequencing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 General Related Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Linear Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
431 431 434 442 443 446
Contents
8.3.3 Regular Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.4 Rescheduling Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.5 Relaxed Sequencing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.6 Batch Sequencing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.7 Proportionate Flowshops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.8 Openshops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.9 Multi-Stage Sequencing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.10 Balancedness in Generalized Games . . . . . . . . . . . . . . . . . . . . . . . . . Scheduling Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Artificial Initial Sequence: Tail Game . . . . . . . . . . . . . . . . . . . . . . . . 8.4.2 Artificial Initial Sequence: Probabilistic Game . . . . . . . . . . . . . . 8.4.3 No Initial Sequence: Penalty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.4 No Initial Sequence: Penalty and Subsidy . . . . . . . . . . . . . . . . . . . Project Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5.1 Project Planning Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5.2 Project Execution Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacity Allocation Games. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.1 Supply Chain Scheduling Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.2 Uncoordinated Supply Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.3 Coordinated Supply Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outsourcing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7.1 Common Third-Party Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7.2 Concurrent Outsourcing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
453 456 463 467 471 476 480 485 489 490 493 497 499 503 504 513 520 521 522 534 537 537 541 545
Noncooperative Supply Chain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Complete Information Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Noncooperative Game Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Finding and Evaluating an Equilibrium . . . . . . . . . . . . . . . . . . . . . . 9.3 Enhanced Complete Information Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Sequential Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Leader–Follower Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 Altruistic Games. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4 Central Authority Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Private Information: Mechanisms Without Payments . . . . . . . . . . . . . . . . . 9.4.1 Design Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.2 Deterministic Truthfulness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.3 Randomized Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5 Private Information: Mechanisms with Payments . . . . . . . . . . . . . . . . . . . . . 9.5.1 Design Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.2 Deterministic Truthfulness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
549 549 552 552 563 589 589 597 606 614 616 617 620 623 630 630 641
8.4
8.5
8.6
8.7
8.8 9
xvii
xviii
Contents
9.5.3 Universal Truthfulness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.4 Truthfulness in Expectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.5 Bayes–Nash Incentive Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . 9.6 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
645 647 650 655
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Chapter 1
Introduction
Abstract This chapter introduces supply chain scheduling, the topic of this book. Our study of supply chain scheduling contains two main parts. In the first part, we consider decision making by a single centralized agent who evaluates tradeoffs between different operational decisions and their related profits or costs within a supply chain. In the second part, we consider decision making by two or more decentralized agents and study the combined effect of their self-interested decisions on the quality of overall supply chain solutions. A common theme throughout both these environments is how to achieve coordination among the various operational functions and decisions within the supply chain, in order to improve its overall performance. In this chapter, we first position supply chain scheduling relative to the literature of classical scheduling and that of supply chain management. For both centralized and decentralized supply chains, we then discuss a wide variety of applications that motivate the modeling and methodological developments which are studied in later chapters. Limitations to our scope are also discussed. Finally, we provide an overview of the book.
1.1 Supply Chain Scheduling Scheduling is a natural and everyday economic activity. It organizes the fulfillment and completion of work. In many applications discussed in this book, work is defined as consisting of a given set of discrete jobs. However, in other applications, it consists of a single given workload or workflow that needs to be divided between available resources for processing. This work may arise in a manufacturing, service, logistical, or general business context, and we discuss a wide variety of such supply chain applications where it does. The focus of our book is on scheduling decisions about how the work is processed, rather than details of its actual execution or implementation. The success of scheduling decisions is measured by the quality of overall supply chain performance. However, the connection between decisions and performance is not always direct. For example, in decentralized scheduling, the decisions of an individual agent are subject to reactions by other agents. Even in © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_1
1
2
1 Introduction
centralized scheduling, finding the best combination of scheduling decisions is a problem that is difficult to solve in many applications. Scheduling involves the making and implementing of decisions that affect the efficiency of operating systems. Scheduling decisions focus on detailed planning at the individual job or workload level. Typically, higher level decisions such as production planning, capacity planning, and materials requirements planning have already taken place before scheduling decisions are made. Pinedo (2016) provides an overview of the planning context within which scheduling takes place. Input to scheduling decisions includes job data, such as processing time, release date (i.e., the time when a job is first available for processing), due date (i.e., the time when the customer expects completion), and a weight or value representing job importance. The other main input is the set of resources for processing the work, for example, the number and configuration of available machines. Typical scheduling decisions include the allocation of the jobs to available resources, the sequencing of the jobs, and the timing of their processing. We provide a brief overview of the history of scheduling. The representation of scheduling decisions can be formalized by a Gantt chart, as developed in 1917 by Henry L. Gantt, which shows the progress of work and resource usage over time. The Gantt chart is still used extensively today and incorporated into scheduling and project management software. It is an important visualization tool for monitoring schedule progress, although it does not directly make scheduling decisions. The challenge of making effective scheduling decisions is addressed through the mathematical analysis of scheduling which began in the 1950s. Initially, work was focused on simple problems with a single resource. This resource is modeled as a single machine that is continuously available over time. Jackson (1955) and Smith (1956), for example, develop scheduling rules that find optimal solutions for simple scheduling problems in this environment. In these early works, the objective of minimizing cost is viewed from the perspective of a single centralized decision maker. This perspective is natural when all scheduling decisions are being made over a single operation and within a single organization. This perspective also defines much of the work within classical scheduling, which has been an extremely active research area in the following decades. Besides work on optimal algorithms, this research area includes the documentation of numerous high value applications, the development of heuristic or approximate solution methods along with their performance analysis, and the development of results that define limits to problem tractability. Within this work, the study of the single-machine environment has been extended to include a variety of more general and more practical production systems with multiple resources for processing, including parallel machines, flowshops, jobshops, and openshops. In addition, a wide variety of cost functions, motivated by incentives in delivery contracts or by internal costs incurred by manufacturers, has been considered. Pinedo (2016) provides a highly readable introduction to the classical scheduling literature. Other useful references on scheduling theory and applications include Leung and Anderson (2004), Brucker (2013), Project Management Institute (2019),
1.1 Supply Chain Scheduling
3
and Sokolov et al. (2020). The research impact of the scheduling field has been vast. A bibliometric study by Calma et al. (2021) identifies scheduling as the second most studied problem within the journal Operations Research over the period 1952–2019, with almost twice as many published articles as any other problem except inventory management. In the past four decades, concurrently with the growth of the scheduling literature, a substantial body of research literature has developed around various coordination and competition issues faced either by a centralized decision maker across multiple functional areas or by multiple decentralized decision makers within a supply chain. This research area is supply chain management. Topics studied within this area include the coordination of network design and allocation decisions, coordination of production, inventory and distribution, coordination of pricing and inventory, multi-echelon inventory management, information sharing in the supply chain, and the development of contracts that coordinate the decisions of different decision makers. However, most of this existing research focuses on coordination and competition issues at the strategic and tactical planning levels, rather than at the operational level where most scheduling decisions are needed. Many books (e.g., de Kok & Graves, 2003; Simchi-Levi et al., 2004; Tayur et al., 1999) and survey papers (e.g., Chen & Simchi-Levi, 2012; Erengüç et al., 1999; Goetschalckx et al., 2002; Sahin & Robinson, 2002) describe the extensive research on issues which arise at these levels of production planning. By contrast, research on supply chain coordination and competition issues at the detailed scheduling level is more recent; most of the research in this area was performed within the last 15 years. Our study considers both vertical and horizontal supply chains. A vertical supply chain includes more than one level, for example, a supplier which sends parts to a manufacturer which sends finished products to retailers. In a horizontal supply chain, the supply chain includes functions or agents at the same level, for example, multiple suppliers to the same manufacturer. The field of supply chain scheduling approaches these problems from a global system perspective, while considering (a) the tradeoffs faced by the decision maker in the centralized case and (b) the motivations and incentives faced by individual agents in the decentralized case. In doing so, supply chain scheduling connects and integrates multiple traditional topics that have been studied independently for decades, such as production scheduling, vehicle routing, outsourcing, and capacity planning, among others. Our work is apparently the first book that focuses specifically on scheduling within a supply chain context. We apply the following definition for the topic of this book. Definition 1.1 Supply chain scheduling unifies the topics of scheduling and supply chain management, by developing and solving coordinated scheduling models that include scheduling and other related decisions made by either a single centralized decision maker or by multiple decentralized decision makers.
4
1 Introduction
Fig. 1.1 Positioning of supply chain scheduling
Supply
Supply
Chain
Chain
Management
Scheduling
Scheduling
In doing so, supply chain scheduling: 1. Integrates centralized scheduling decisions with issues that affect overall supply chain performance, for example, batching of jobs, inbound and outbound delivery, coordinated delivery of components, management of inventory buffers, pricing, and subcontracting 2. Integrates decentralized scheduling decisions with issues that influence supply chain performance, for example, cooperation between manufacturers to negotiate access to outside resources, partial central control of a scheduling system, coordination of production sequences, and mechanisms to encourage cooperation and to ensure truthful reporting of private information. Our integrated perspective on supply chain scheduling is a relatively new one. Among the earliest works is Hall and Potts (2003), which discusses optimal scheduling and batching decisions for jobs in a three-stage supply chain. Since that time, research on supply chain scheduling has been growing rapidly within the operations research, operations management, industrial engineering, and computer science communities. As of August 2021, the academic literature contains more than 3300 works that study supply chain scheduling. Figure 1.1 provides an overview of the positioning of supply chain scheduling within the related literature. As shown in Fig. 1.1, supply chain scheduling stands at the intersection of supply chain management and scheduling. Most supply chain management models do not contain a scheduling component, typically due to their focus on higher level planning issues. Conversely, classical scheduling research has focused predominantly on narrower optimization models without the consideration of supply chain coordination issues. A more detailed perspective on the components of supply chain scheduling appears in Fig. 1.2, which shows examples of several application areas and methodologies that support supply chain scheduling. As described in more detail in Sect. 1.2 below, these applications fall naturally into two categories: centralized applications where a single decision maker or organization needs to evaluate tradeoffs between conflicting costs or other performance metrics and decentralized applications where
1.2 Applications
5
Part I: Centralized Applications: short shelf-life products make-to-order products scheduling and pricing subcontracting and scheduling
Supply Chain Scheduling
Methodology: optimization heuristics cooperative games noncooperative games
Part II: Decentralized Applications: scheduling and batching assembly systems sequencing and scheduling games project management games capacity allocation and outsourcing games sequential and altruistic games Fig. 1.2 Supply chain scheduling applications and methodology
multiple, typically self-interested, decision makers make decisions that affect each other’s outcomes as well as the performance of the overall supply chain. On the methodology side, supply chain scheduling is strongly influenced by several central methodologies within operations research and mathematical economics, especially discrete optimization, computational complexity analysis, heuristic analysis, and cooperative and noncooperative game theory. The interaction of these important applications and strong methodologies presents many interesting research developments and future research opportunities that are the topic of this book.
1.2 Applications In this section, we first discuss applications with only a single decision maker, i.e., centralized supply chain scheduling problems. Even here, there are multiple and potentially conflicting definitions of what constitutes a successful schedule. This occurs under various scenarios. For example, it may be necessary to trade off production scheduling and distribution costs. An efficient schedule may process many short jobs first, which minimizes work in process at a manufacturing plant. However, if the short jobs are for many different customers, then the delivery of
6
1 Introduction
those jobs is likely to require multiple batches and be expensive. Alternatively, in order to control distribution costs, it may be efficient to produce a batch of jobs that can all be delivered at once to the same customer. However, doing so may lead to inefficiencies in production scheduling, for example, if the jobs are of dissimilar types and require substantial production setups between their processing. The centralized supply chain scheduling problem involves optimization of the overall system cost. In many cases, the optimal supply chain scheduling solution is very different from the optimal solution for any subset of the supply chain’s revenue or cost components. Moreover, finding it may require the solution of a more complex planning problem that is potentially less computationally tractable. An alternative scenario that also defines supply chain scheduling problems is that more than one decision maker is involved in scheduling decisions, which defines decentralized supply chain scheduling problems. Typically, the interests of the decision makers are not well aligned. Even if the decision makers belong to the same organization, they may be incentivized differently. For example, a production manager may be compensated based on the efficiency of the production schedule. Whereas, a distribution manager may be compensated based on the ontime service rate. Problematically, the production manager’s preferred schedule may provide a poor service rate for the distribution manager. Similarly, following the distribution manager’s preferred delivery schedule may impose major inefficiencies on the production schedule. This is an example of a typical conflict in decentralized supply chain scheduling. These conflicts are often exacerbated when two or more decision makers belong to different organizations. For example, a supplier and a manufacturer within the same supply chain may have different objectives that create conflicts. The supplier may wish to batch similar orders, to reduce setup time and cost. However, the manufacturer may need to receive a diverse collection of products at the same time, to meet the ongoing needs of its customers. In numerous practical supply chains, some parties have more commercial or other bargaining power than others, for example, in the case of large national retailers when dealing with their suppliers. This power asymmetry may enable one decision maker to influence another to modify its planning decisions. These typical conflicts require analysis within supply chain scheduling that goes beyond the boundaries of classical scheduling. Several reasons explain the increasing importance of supply chain scheduling in both practice and research. The first is an increased understanding of the losses that can arise from poor scheduling coordination within the supply chain. A second reason is changes in the marketplace. These include greater pressure on timeto-market performance and increased demand for customized products in highly competitive industries such as consumer electronics. These developments place more emphasis on the scheduling function which is fundamentally concerned with improving efficiency with respect to time. Another change within this context is greater complexity of supply chains, for example, due to globalization of markets, increased product variety, and increased subcontracting of specialized work. A third reason is increased availability of data and of high speed computing power.
1.2 Applications
7
These reasons motivate and enable the modeling and solution of typically complex and even formally intractable supply chain scheduling problems. A final reason is methodological advances in cooperative and noncooperative game theory that enable the modeling of decisions by parties with incentives that are not necessarily well aligned. All these reasons strongly motivate our writing of this book. The remainder of this chapter begins with a review of the literature of supply chain scheduling applications, classified into centralized ones with a single decision maker and decentralized ones with multiple decision makers. Then, we discuss the limitations to scope of supply chain scheduling for the purposes of our work. Finally, we provide an overview of the content of our book.
1.2.1 Centralized Applications and Models Single decision maker, or centralized, applications of supply chain scheduling typically involve multiple functions within a centralized supply chain that may have locally optimal solutions that are contradictory. A common application involves the production and outbound distribution functions. The linkage between those two functions is provided by inventory of finished products, which may be expensive to carry, limited by storage capacity, or even impossible to carry in the case of perishable products. Because of these issues, finished goods inventory cannot be used as a flexible buffer between production and distribution; instead, scheduling decisions that affect the performance of those two functions need to be tightly coordinated. This creates complex issues that define supply chain scheduling problems which are in many cases financially significant.
1.2.1.1
Production–Distribution Scheduling for Short Shelf-Life Products
Several products have a short shelf-life, due to their rapid physical deterioration. Most obviously, these include fresh food and beverage products. They also include blood, plasma, and various other medical supplies. Some chemicals also fall within this definition. Other products have a short shelf-life because of their rapidly deteriorating market value due to timing or competitive issues or seasonal variations in demand. These include newspapers, mail, and specifically seasonal items such as Christmas cards. For all such products, delivery to customers must be accomplished within a strictly limited time after production. As a result, the production and distribution schedules need to be closely coordinated. This defines a fundamental supply chain scheduling problem. An example of the coordination of production and outbound transportation arises in ready-mix concrete operations. Since the product being mixed in the vehicle has a life of about two hours, it can only be delivered within a limited area. An unusual feature of this problem is that the vehicle is both a production resource and
8
1 Introduction
a transportation resource. Also, deliveries are subject to precise time-of-day due dates imposed from the customer side. A natural objective is to maximize the value of orders served, a problem that can be solved using classical techniques from fixed interval scheduling (Arkin & Silverberg, 1987; Kroon et al., 1995). An alternative objective is to maximize the number of orders served using the minimum number of vehicles. For this problem, a heuristic based on swapping orders in and out of the current solution performs well on problem instances with up to 100 orders (Garcia & Lozano, 2004b). Also for this problem, Naso et al. (2007) use a metaheuristic approach to minimize the cost of meeting all orders and apply their methodology to an industry problem with 49 trucks in the Netherlands. In a typical direct computer order system, there are many product configurations available for a customer to choose from when ordering. It is thus impractical to carry sufficient inventory based on forecasts of each configuration. As a result, assembly and packaging operations occur only after customer orders arrive. However, in highly competitive markets such as the one described, it is necessary to deliver to customers within a short lead time, such as two or three business days. Motivated by such applications in the computer and food processing industries, Chen and Vairaktarakis (2005) study an integrated model of production and distribution operations. They provide exact algorithms where possible and in other cases heuristic methods supported by computational experiments. Similar characteristics are also observed in a typical direct order system for food catering services. Similar problems arise in the manufacture of industrial chemicals. In particular, an adhesive that is used for making plywood panels has a lifespan of only 7 days. The delivery process is complicated by the presence of two types of customers. Onetime customers typically specify a short delivery time. Regular order, or periodic, customers require frequent delivery of partial orders. Geismar et al. (2008) consider the problem of determining the minimum time needed to produce and deliver a given set of orders to the regular order customers, subject to a given product lifespan, a given production rate, and the capacity of a single truck, while also meeting the expectations of one-time customers. This problem requires coordinated planning of product sequencing and vehicle routing issues. The specific decisions to be made include production quantities at different points in time, vehicle trip origination and delivery times to various customers, and vehicle routes. Because of the intractability of this complex problem, a heuristic solution procedure is developed. The heuristic uses a genetic algorithm to find feasible solutions and is capable of solving problems with up to 50 customers. The solutions delivered by the heuristic typically have cost that is within a small percentage of a lower bound. However, instances with a larger production capacity or faster production rate are more difficult to solve accurately. Even with a fixed customer sequence, this problem is challenging, as discussed by Armstrong et al. (2008). They develop a computationally efficient enumerative algorithm. They also describe a similar supply chain scheduling application for a manufacturer of home textile products such as linens, bedding, bathroom furniture, and window treatments. As in the other examples they discuss, there is no inventory of customized products.
1.2 Applications
9
The production and distribution of perishable food products is another important application for short shelf-life products. The main tradeoff in the problem is that frequent delivery not only improves the freshness of the products for customers but also increases delivery costs. This is an example of a fundamental supply chain scheduling problem. Farahani et al. (2012) study this problem, as faced by a catering company in Denmark. This highly intractable problem is first simplified by batching the fixed orders according to similar cooking temperature requirements. Once the batches are created, a solution procedure is developed, iterating between distribution schedules and production schedules. This procedure continues until it fails to deliver improved results. The results of the iterative procedure are compared with those from a benchmark approach used at the company, which involves a single pass through production and then distribution planning steps. For problem instances with 200 customers, a 40.9% reduction in product decay is achieved relative to the benchmark, but at an increased cost of 18.7%. For items that are more quickly perishable, the relative reduction in decay is even greater. Another example of a short shelf-life product that naturally imposes coordination constraints between production and distribution is injectable chemotherapy medications, which are packaged into pouches and delivered to patient locations. These medications are only stable for a short amount of time. Beyond this time, the drug becomes ineffective or even dangerous. Hence, the time between the start of production and administration of the medication to the patient is strictly limited. On the other hand, the patient’s treatment schedule cannot be changed to suit the stable period of a pouch of medication. Because of these constraints, production and outbound distribution of the pouches of medication need to be closely coordinated. This is another example of a fundamental supply chain scheduling problem. Kergosien et al. (2017) develop an optimization model for this problem, with the objective of minimizing the maximum tardiness of any delivery to the patient’s location. They develop heuristics and lower bounds based on Benders decomposition. They are able to solve instances with up to 40 jobs and three machines that produce the medication, which is larger than problems that are solvable using standard software. However, the gap between upper and lower bounds remains large for some instances.
1.2.1.2
Production–Distribution Scheduling for Make-to-Order Products
Due to increased consumer demand for customization, an increasing number of products are made to order. Under a make-to-order business model, final products are not processed until customer orders arrive. This typically means that customers need to wait to receive the products which they ordered. However, in order to be competitive, companies often promise a very short delivery lead time, e.g., three to five business days. This means that orders have to be delivered right after they are processed, which requires that the order processing and order delivery systems are closely coordinated. Furthermore, some products are inherently difficult to store in inventory because of their physical characteristics. For example, they may be large or difficult to handle. Alternatively, they may require expensive maintenance while
10
1 Introduction
in inventory, for example, strict temperature, humidity, bacteria-free or dust-free control. For these products, while their time in inventory is not strictly limited like those described in Sect. 1.2.1.1, the expense and inconvenience involved in storing them or the physical space required to do so implies a high priority for inventory reduction. This is only achievable if the production and transportation schedules are closely coordinated. A problem of this type arises in the production and delivery of computer assemblies. These products are customized for the make-to-order requirements of customers and shipped all over the world by air. At the time of order acceptance, based on order quantity and agreed due date, components are transferred from inventory to the assembly line. Air transport capacity is limited and has two types. First, normal capacity is reserved in advance, consistent with the company’s production plan. Second, special capacity is available for immediate transportation; however, this is substantially more expensive than normal capacity. Delivery is time-sensitive, due to penalty costs for delivery either before or after the due date agreed for the order. Also, storage of the large computer assemblies is expensive. The two main decision problems are allocating accepted orders to flight capacities and scheduling assembly to match detailed schedules with minimum inventory. For these problems, Li et al. (2005b) develop heuristic procedures that outperform standard scheduling heuristics for planning periods up to 48 days. Li et al. (2006) report several performance statistics that show an improvement over industry benchmark procedures for problem instances with up to 100 orders and 20 flights. Consider a make-to-order manufacturer that agrees to pay shipping cost when it accepts orders and delivery dates. In order to meet those due dates, multiple shipping modes—for example, overnight, 1-day, 2-day, and so on—are available. Shipping cost is typically more expensive for faster shipping. Orders have different processing times and may, in various situations, be processed either preemptively or nonpreemptively. An important question, addressed by Stecke and Zhao (2007), is how to schedule production so as to minimize shipping cost, while meeting agreed delivery dates. A significant characteristic of this problem is whether partial delivery of an order is allowed. If so, and shipping cost is a convex decreasing function of shipping time, then scheduling production in earliest due date order is optimal. However, if partial delivery of an order is not allowed, then the problem is intractable. For this case, a heuristic procedure is designed and shown to provide solutions that average within 6% of optimal shipping cost for problem instances with up to 500 orders. Many major online retailers face similar problems; see, for example, Schubert et al. (2018) and Zhang et al. (2018). Appliance manufacturers face similar issues, when serving a mixture of domestic and international customers. Delivery to those customers is performed by several third-party logistics providers. Whereas domestic orders can be consolidated or split for shipping purposes, the same is not true for international customers. Companies may use a predetermined replenishment policy for many materials. As a result, trucks that are used for inbound delivery are available for reuse for outbound delivery at predictable times, although with additional cost in the event of a holding delay for the truck. Additional trucks may need to be obtained
1.2 Applications
11
from a third-party logistics provider. In this case, the company faces a supply chain scheduling problem that requires coordination on three levels, insofar as both inbound and outbound deliveries need to be coordinated with the production process. Considering the objective of minimizing the total cost, Toptal et al. (2014) study myopic, hierarchical, and coordinated solutions. Using a numerical study, they compare these three approaches to quantify the benefit of coordination. They conclude that this benefit is significant, especially in situations where holding costs for inventory and vehicles are relatively small compared to other costs. A tabu search implementation of the coordinated approach finds solutions with costs that routinely come within 1% of a lower bound. As a major worldwide industry, steel manufacturing presents similar problems, for example, in the shipment of make-to-order steel coils to customers. Each order has a specified time window that may vary between 1 and 5 days in length and is agreed at the time of order acceptance. Given a set of orders that need to be processed and delivered, the problem is to find a schedule for processing the orders, managing finished goods inventory when necessary, and delivering to customers within the time window. The objective is to minimize the total inventory and delivery cost. Li et al. (2017) study various cases of the problem, depending, for example, on whether orders are splittable or non-splittable and whether idle time is needed between the production of orders. The solvability of the different problems varies substantially, depending on those problem characteristics. They provide optimal algorithms or intractability results for the various cases. When both offline and online scheduling of products are required, meaning that new orders are constantly being introduced, this problem becomes even more challenging. In this context, Tang et al. (2019) extend the work of Li et al. (2017) to consider both offline and online scheduling of products that require two stages of shipping, for example, from the manufacturing plant to a pool point such as a distributor and then from there to a customer site. For these intractable problems, they propose efficient heuristics and analyze their asymptotic performance. They use data from a Baosteel plant to validate the quality of their heuristic results for an offline version of the problem. Their results also provide managerial insights that are of value to the company and to other manufacturers.
1.2.1.3
Scheduling and Pricing
The coordination of scheduling decisions (which are typically made by an operations department) and pricing decisions (which are typically made by a marketing department) is central to supply chain scheduling. In studying this problem in a make-to-order environment, Chen and Hall (2010) cite several papers that discuss applications of joint production planning, inventory, and pricing models for catalog sales (Kunreuther & Schrage, 1973), multiple constant-priced goods (Gilbert, 2000), and multiple customers with price discrimination (Charnsirisakskul et al., 2006). An objective of the work of Chen and Hall (2010) is to motivate the consideration of decisions for these applications at the scheduling level, rather
12
1 Introduction
than at the production planning level. Thus, the applications are similar, but the decisions modeled are more detailed. They consider three alternative scheduling costs and the maximization of net profit which is defined as revenue less scheduling cost. They develop computationally efficient optimal algorithms for these three problems, accompanied where available by intractability results. This analysis enables estimation of the value of coordinating the pricing and scheduling decisions to various degrees, including a partially coordinated approach using information typically known to a marketing department, as well as an optimal algorithm and a simple heuristic for the fully coordinated problem. The main insight obtained is that the benefit of coordination is significant even if the pricing and scheduling decisions are only partially coordinated. Consider a situation where a manufacturer quotes prices for a set of order inquiries. Each inquiry is either canceled or confirmed by its owner following a certain probability distribution that depends on the quoted price. The manufacturer then incurs a production scheduling cost for processing each firm order. Two types of price quotation schemes, simultaneous and sequential quotations, are investigated in Liu et al. (2012). Lu et al. (2013) discuss a fundamental tradeoff that arises in many organizations, where pricing decisions are made by the marketing department for the purpose of maximizing sales, whereas manufacturing cost issues that can be addressed by effective scheduling are made by the production department, a classic conflict within supply chain scheduling. A related case study by Respício and Captivo (2008) develops a decision support system for Portucel, a major Portuguese paper producer, for coordinating order acceptance, capacity planning, and scheduling decisions. Finally, consider the coordination of pricing and production scheduling decisions in the context of a make-to-order environment. At the beginning of each period in a planning horizon, the manufacturer sets the price of the base product, which in turn sets the prices for the customized products accordingly. Given the chosen prices, orders for the products arrive. In each period, together with the pricing decision, the manufacturer needs to make a production scheduling decision for processing accepted orders on a single production line. Yue et al. (2019) provide a detailed description of this operation at Kuyin, a make-to-order manufacturer in China.
1.2.1.4
Subcontracting and Scheduling
Retail products with a short selling season present issues related to subcontracting. Such products include toys, fashion apparel, computer games, and other electronics. Because of the significant markdowns that are often taken on unsold products, retailers strongly prefer to delay placing orders until as much information is available as possible, which is typically right before the start of the selling season. This creates substantial problems due to limited production capacity. This in turn motivates the use of subcontracting, an alternative that is often substantially more expensive than in-house production. Chen and Li (2008) study this fundamental supply chain scheduling problem, where scheduling decisions need to be coordinated with
1.2 Applications
13
subcontracting decisions. They develop an analytical model to study this type of coordinated decision making. The objective is to minimize total production and subcontracting cost, subject to a constraint on the maximum completion time of the orders. They provide both worst-case and asymptotic analyses of a heuristic for the problem and study the value of the subcontracting option. A computational study reveals that subcontracting provides the manufacturer with a significant cost reduction. A related problem arises in the manufacture of liquid crystal displays. LCD panels are purchased from subcontractors when production capacity or inventory level is insufficient. Lee and Choi (2011) address this problem. Similarly, in the steel industry, slabs are frequently purchased from subcontractors. These applications can be modeled as a two-stage production process, where the first stage is highly capitalintensive, and the second stage is an assembly process where there is an option to produce the needed components in-house or to outsource them. The decision maker needs to decide which operations to subcontract out and which to process in-house and also to determine a production schedule for the in-house items. The authors apply the natural objective of minimizing the sum of an internal scheduling cost and an outsourcing cost. They discuss the solvability of various special cases of the problems and describe and analyze a heuristic solution procedure.
1.2.1.5
Other Applications
The coordination of scheduling and transportation in the steel industry is an important application. Steel ingots are transported by a crane to a heating machine that operates in batch mode and then transported by a vehicle to a rolling mill. The objective is to minimize the total of makespan and setup cost of the batches. This work differs from most of the related literature in that it considers the transportation of semi-finished jobs and finished jobs as well as the scheduling of the batching machine. The key tradeoff here is as follows. Batching more jobs together reduces the setup cost incurred, but the delays that result from the batching process may increase the makespan of the schedule. The problem of minimizing the above combined objective is intractable. Tang and Gong (2008) develop a heuristic that makes extensive use of the rule of filling all batches except the first to a predetermined capacity, which permits a theoretical worst-case analysis. This heuristic also performs well on randomly generated problem instances. For problems with 50 jobs, relative errors can be more than 10%, but for problems with 1000 jobs they are typically less than 1%. However, performance degrades when the capacity of the batch processing machine is larger, apparently because the vehicle becomes the bottleneck resource which is not efficiently utilized. The need for coordination of decisions at the tactical, operational, and transportation levels generates interesting problems. The design and implementation of a planning system for supply chain scheduling at Carlsberg Denmark, a high volume beer brewer, are described by Kreipl and Pinedo (2004). The overall challenge issue here is coordination of decisions for (a) medium term planning with a strong focus
14
1 Introduction
on production costs and capacities, (b) complex scheduling issues in supply chain operations, and (c) transportation decisions to provide a good customer service level. Viewed at a high level, the system generates its decisions hierarchically. First, the medium term planning system generates its results. Then, these are used as input to the short-term scheduling system. Finally, the results of the short-term planning system are used for transportation planning. Besides delivering a fully implemented solution to the company, this work illustrates how scheduling decisions fit within multi-functional centralized supply chains.
1.2.2 Decentralized Applications and Models Multiple decision maker, or decentralized, planning problems arise everywhere in supply chains. The substantial body of supply chain management addresses many coordination issues in this environment. However, our focus here is on decisions which, at least in part, involve scheduling. One example is a manufacturer which works with a distributor. The manufacturer may face what it views as a production scheduling problem, whereas from the distributor’s perspective the main issues are batching and vehicle routing. A second example would be a group of manufacturers who, either individually or in coalitions, are working with outsourced resources owned by one or more self-interested third parties. One distinction between the supply chain scheduling environments discussed in Sect. 1.2.1 and those discussed here is that, in the present case, administratively enforced coordination is not possible across different organizations. As a result, the design of incentives and the use of modeling with cooperative and noncooperative game theory are more prevalent for decentralized supply chain scheduling applications than for centralized ones.
1.2.2.1
Scheduling and Batching
A central supply chain scheduling problem is the coordination of scheduling, batching, and delivery decisions. Hall and Potts (2003) consider a variety of such problems that arise in an arborescent supply chain where a manufacturer delivers to several customers. They use the assumption of batch availability, under which a job only becomes available for subsequent processing or delivery to a customer when the entire batch that includes it has been processed. The need to coordinate scheduling, batching, and delivery decisions defines a fundamental supply chain scheduling problem. The objective considered is minimization of the total of scheduling and delivery cost, where the scheduling cost is measured in various practical ways. Each problem is either solved by the development of a computationally efficient dynamic programming algorithm or shown to be formally intractable. A computational study shows that cooperation between a supplier and a manufacturer has the potential to reduce the overall supply chain cost by 20% or more, depending on how the
1.2 Applications
15
scheduling cost is measured. Incentive mechanisms that show how these cost savings can be distributed in order to encourage cooperation are also described. Similar issues arise in just-in-time production lines with two products, as used, for example, in automobile manufacturing at Toyota, Nissan, and Chrysler. Here, the distributor batches the manufacturer’s finished goods and delivers them to the retailers. Manoj et al. (2008) develop mathematical models for individual optimization of the manufacturer’s problem and of the distributor’s problem and for optimization of the overall supply chain problem. A computational study shows that substantial savings can be achieved by optimization at the supply chain level. They also study the cost of conflict, which is the additional cost incurred by one party when the other party imposes its optimal solution. From a computational study, the cost of conflict is found to be significant. However, coordinated decision making generates sufficient additional profit to encourage the cooperation of the parties.
1.2.2.2
Capacity Allocation
In industries that are capital-intensive and facing volatile demand for their products, several supply chain scheduling issues arise. These issues include vulnerability to capacity shortfalls (Durango-Cohen & Yano, 2006). Iyer et al. (2003) identify several practical examples in the fashion goods, telecommunications, and electricity supply industries. When faced with orders which they cannot meet, manufacturers apply capacity allocation mechanisms. However, these mechanisms need to be coordinated with scheduling decisions. This topic is studied by Hall and Liu (2010). This is a fundamental supply chain scheduling problem, in that it extends across multiple functions that include scheduling. Analysis of this problem requires the use of cooperative game theory to study the stability of coalitions of distributors that combine their orders. Hall and Liu (2010) consider a multiple product supply chain where a manufacturer receives orders from several distributors. If the orders cannot all be met from available production capacity, then the manufacturer allocates capacity and provides a set of resubmittable orders to the distributors. The distributors may then share their allocated capacity before submitting their orders. The distributors’ problem is modeled as a cooperative game, and optimal algorithms are developed for all the models described. This work studies the benefit to the manufacturer from taking into account scheduling costs in capacity allocation decisions, the benefit to the distributor from sharing their capacity, and the value to the supply chain of coordination between the manufacturer and the distributors. The exact evaluation of decisions about the appropriate coordination level improves managers’ ability to make those decisions. Third-party reservation systems for outsourced capacity define another important supply chain scheduling problem. One example is SPADE, which provides a group of specialized support facilities to semiconductor companies. Capacity can be booked by those companies at rates which depend on the time when the capacity is needed. A second example, UMC, is Taiwan’s leading semiconductor foundry, which provides information sharing and real-time capacity reservation to
16
1 Introduction
its customers. This process is supported by a full-service information portal. Cai and Vairaktarakis (2012) model this situation for a group of manufacturers which outsource their work to a third party that owns a specialized production facility. Manufacturers reserve capacity on a first-come first-served basis. Overtime capacity can be reserved, but it is substantially more expensive. There is a lateness cost penalty for jobs that are not delivered on time. The objective of each manufacturer is to minimize the total of booking, overtime, and lateness costs. A cooperative game model is developed for the problem, where the third party designs a savings scheme under which it is better for the manufacturers to cooperate than to reserve capacity individually. A mechanism that incentivizes the manufacturers to report their data truthfully is also designed. A computational study shows that the savings from cooperation increase with the number of manufacturers.
1.2.2.3
Sequencing and Scheduling Games
Cooperative games defined over sequencing problems have application to numerous service systems. Consider a situation where several customers need to be served by a single server. Each customer has a cost function that depends on his or her completion time, i.e., the waiting time before service begins plus the service time. The cost is a nondecreasing function of the completion time. In these situations, it is important to consider two problems. The first problem is how to find a sequence of the customers that minimizes the total cost. The second problem is how to allocate the total cost among the customers in a way that is stable, meaning that no pair of customers will agree to interchange their positions within the sequence. Within this class of problems, we discuss several variations of sequencing games. In most sequencing games (Curiel et al., 1989), each customer may have a different service time. An assumption that is common but not universal is that the customer’s cost is a linear function of the completion time. Under this assumption, it is easy to derive an indexing rule that minimizes the total cost, equivalently with a result in classical scheduling theory (Smith, 1956). Curiel et al. (1989) also derive a rule to divide the cost savings from changing the sequence to reduce the overall system cost and characterize this rule axiomatically. It is also shown that simple sequencing games are a proper subset of convex games and therefore have a stable allocation of savings. Scheduling games are an extension of sequencing games where the jobs do not have an initial sequence. Examples include passengers who arrive on the same flight at an immigration process and arriving mail orders.
1.2.2.4
Manufacturing and Distribution
An interesting everyday application that requires the coordination of manufacturing and distribution arises in the production of newspapers, a highly perishable product. A complication that arises with many major city newspapers is that several different editions are published, with content that includes locally relevant information
1.2 Applications
17
and advertising for each of several “zones,” for example, suburbs of a city. The distribution process involves transportation from the print facility to a few distribution centers, then to many drop-off points, and finally to customers’ homes. Hurter and van Buer (1996) take the perspective that the printer and distributor are both parts of the same organization. However, Dawande et al. (2006) discuss a similar problem in an equally natural decentralized context where the printer and the distributor are independent organizations. Complications and tradeoffs arise in the sequencing of different editions and varying travel times between locations. The manufacturer and the distributor each has an ideal schedule, which is determined by cost and capacity considerations. Lack of coordination between these two schedules results in poor overall system performance. The authors study two problems where the manufacturer focuses on minimizing unproductive time, while the distributor minimizes customer cost measures in the first problem and minimizes inventory holding cost in the second problem. Several practical scenarios about the level of cooperation between the manufacturer and the distributor are studied, leading to the development of algorithms for solving the related scheduling problems. The cost saving provided by cooperation between the decision makers is usually significant. This work has implications for how manufacturers and distributors negotiate, coordinate, and implement their supply chain schedules in practice.
1.2.2.5
Subcontracting Games
An important application of outsourcing is eHub, which is used by Cisco Systems as a private trading e-marketplace. This portal provides planning and execution functions for tasks across a company’s extended supply chain, as described by Grosvenor and Austin (2001). Orders from Cisco’s customers are communicated to its related manufacturing partners over a private network. The production schedules of all parties are visible to everyone with access to the portal. As a result, opportunities for coordinated capacity planning and scheduling abound within this network. Aydinliyim and Vairaktarakis (2010) consider a set of manufacturers that outsource their operations to a third party, based on published prices that vary with production times. The manufacturers minimize the total of reservation and workin-process costs. After all reservations have been made, the third party finds a schedule that minimizes the total cost for the manufacturers as a whole, but not necessarily for all subsets of manufacturers. The third party then designs a savings sharing scheme to coordinate the manufacturers. Aydinliyim and Vairaktarakis (2010) develop an algorithm for the manufacturers and a savings scheme for the third party. A computational study shows that the overall supply chain cost can be reduced by an average of 32% if the third party agrees to cover a share of the workin-process cost. A well publicized and heavily subcontracted project is the design and construction of the Boeing 787 Dreamliner aircraft. Most of the top level component suppliers selected for this product are long-standing suppliers of Boeing. Because of
18
1 Introduction
short lead times for delivery, many of those suppliers subcontract part of their work to smaller companies, some of which then became overloaded due to the size of the overall project. As a result, each supplier needs to decide the amount of workload to be subcontracted, so as to minimize the completion time of the in-house and subcontracted workloads. Vairaktarakis (2013) considers a set of manufacturers that can outsource their jobs to a third party with production resources. The third party gives priority to manufacturers whose subcontracted workload is relatively small. This encourages manufacturers to compete for position in the processing sequence of the third party. Under various possible assumptions about what production sequences are feasible, equilibrium schedules are described. In an equilibrium solution, no decision maker has an incentive to change its decisions unless another decision maker does so first.
1.2.2.6
Multi-Stage Production with Setups
During the manufacture of kitchen furniture, a large number of different slabs of wood are cut, painted, and assembled to build the furniture. In different departments of the plant, items are grouped according to different attributes. In the cutting department, parts are grouped according to their shape and material; whereas, in the subsequent painting department, parts are grouped according to their color, and finally the assembly of the furniture is organized on the basis of kitchen models. In both departments, a setup occurs when the attribute of a new part changes. If a part must be cut with a different shape from the previous one, cutting blades and machinery must be reconfigured. Similarly, in the painting station, when a new color is used, the equipment as well as the pallets must be thoroughly cleaned in order to eliminate all the residue of the previous color. Hence, in both cases, costs in time and manpower are incurred. The limited availability of interstage buffering between the two stages forces the sequences in which the items are processed in the two stages to be coordinated. Agnetis et al. (2001) study this problem. Each department aims to minimize its own total setup cost, but the objectives of the two departments fundamentally conflict because their ideal schedules conflict. Relevant objectives include minimizing the total number of setups and the maximum number of setups by either of the two departments. While these problems are intractable, it is possible to design an efficient heuristic that finds an optimal solution in 887 out of 900 instances of the problem. In many sequencing problems, a variety of products in various stages of development pass through multiple workstations, as occurs in automobile plants. Boysen et al. (2012) provide a survey of research on mixed-model assembly lines and a particular example of physical resequencing where trucks may violate efficient sequencing rules due to their different sizes which impact the limited available physical space. As a result, an automated storage and retrieval system with a buffer capacity of 118 places is used for resequencing. As a second example, they mention
1.2 Applications
19
virtual resequencing, where in order to maintain production efficiency the model sequence is unchanged, but the assignment of completed products to customer orders may be changed in order to satisfy just-in-time delivery constraints.
1.2.2.7
Other Applications
Consider a multiple decision maker system for terminal management at a container port. The financial impact of this problem is considerable: an average cargo liner spends 60% of its time in port and incurs a cost of about $1000 per hour while it does so. There are five classes of decision makers: ship agents who schedule loading and unloading, stevedore agents who manage the loading and unloading of all the ships, service agents who distribute the containers within the terminal, transtainer agents who optimize the use of loading and unloading machines, and gate agents who interact with incoming and outgoing land transport. Rebollo et al. (2000) design a communication system under which the decision makers initiate requests and queries and receive information. The entire system is supported by a platform that is accessible to all. Another important supply chain scheduling problem involves the operations of a supply chain consisting of a textile company that supplies fabrics to an apparel company. Retail buyers are typically located in a different country, and they impose due date requirements for orders. Meeting these due dates may require the fashion company to use expensive delivery methods. The short selling season for the fashionable apparel products imposes a time window for the production of materials, for example, yarn, by the supplier, and production and delivery time windows for the apparel company. The observed supply chain performance is suboptimal, due to double marginalization. For this problem, Yeung et al. (2011) develop a computationally efficient procedure to optimize the overall supply chain. They also describe two simple and practical profit sharing schemes that coordinate the supply chain. Another important high value scheduling problem is the allocation of scarce radio spectrum among customers who submit bids for channels. Centralized auction mechanisms for this problem are known to have drawbacks, due to a lack of reliability and computational ability at the central planner. They are also vulnerable to problems with communication issues. As a potentially more robust alternative, Yang et al. (2019) focus on the design of distributed mechanisms. They design two such auction mechanisms, both of which are truthful, in the sense that it is in the interest of the bidding customers to bid their true value for the open channels. One of these mechanisms results in an overall optimal allocation, whereas the other is heuristic but computationally more efficient. For many of the applications discussed above, additional details are provided in later chapters. For example, Sect. 3.5 provides more information about the work of Chen and Vairaktarakis (2005) on the production and distribution of short shelf-life products.
20
1 Introduction
1.3 Limitations to Scope We discuss various limitations to the scope of this book and provide some examples of valuable and interesting work that falls outside that scope. Our main focus is on the benefit that arises from coordinated decision making, either between production scheduling and other functions under the control of a single decision maker or between the decisions of multiple self-interested decision makers. Therefore, problems that involve some related issues but are reducible to a classical single decision maker scheduling problem, for example, by the addition of some constraints, fall outside our scope. The main reason for this is typically that the reduced problem is mathematically similar to the classical scheduling problem. This makes such problems of less interest within the context of our work. We now provide five examples of research that makes valuable and interesting contributions to the scheduling or supply chain literature, but nonetheless falls outside the scope of this book. Sarmiento and Nagi (1999) provide an extensive review of the literature of integrated analysis of production–distribution systems. They describe numerous applications where coordinated decision making across functions provides improved performance relative to sequential decision making. However, the production problems considered are at the level of aggregate planning and therefore do not fit within our definition of scheduling. As a result, many of the works cited in their review are not within the scope of supply chain scheduling for the purposes of our book. Wang et al. (2005) study the problem of how to process incoming mail in order to match a fixed outbound delivery schedule. Arriving mail has various destinations in different proportions and is delivered by trucks with limited capacity. The problem involves finding a processing sequence for the mail that maximizes the unused truck capacity. Since the outbound delivery schedule merely imposes due date constraints on the processing schedule and classical scheduling allows modeling of such issues, this problem does not fall within the scope of supply chain scheduling for the purposes of this book. Indeed, the authors model and solve the problem using classical scheduling methodology. Lejeune (2008) studies the maintenance of cycle service levels in a multi-stage supply chain. The problem requires the development of integrated replenishment plans that satisfy various performance measures related to stockouts across multiple periods over a planning horizon. He derives a deterministic reformulation of the stochastic planning problem. Based on the results of a computational study for a chemical supply chain, practical problems can be solved using this approach. However, since this work does not consider scheduling decisions at the individual job level, it falls outside the scope of our book. A comprehensive treatment of multi-agent scheduling can be found in Agnetis et al. (2014b). In a multi-agent environment, there is a single decision maker. However, multiple agents or customers each owns a (not necessarily disjoint) subset of the jobs. The reward or cost of each agent depends only on the performance of the jobs which it owns. The decision problem is substantially complicated by the
1.4 Overview of the Book
21
fact that the jobs share common resources. Agnetis et al. (2014b) describe several applications. This work focuses on the development of Pareto-optimal solutions for the agents, within classical scheduling environments. However, this topic contains no issues that arise directly from supply chains, and hence it does not fall within our scope. Ivanov et al. (2014) consider an integrated multi-stage scheduling and job routing problem with nonpreemptive operations, which has application to process industries. They perform a dynamic decomposition of the problem and propose an integrated solution. Again, because the decisions considered, including the routing of jobs within flexible production environments, all fall within the range of classical scheduling problems, this work is outside the scope of supply chain scheduling for our purposes.
1.4 Overview of the Book We provide an overview of the remainder of this book. Chapter 2 describes common elements shared by the scheduling problems to be discussed. It also contains some useful mathematical background including a discussion of computational tractability and an overview of a variety of optimization and game theory techniques that are applied in modeling and solving supply chain scheduling problems. Our main focus throughout the book is on the value added by the coordinated decision making of scheduling and other functions, relative to local or even decentralized decision making for different parts of a problem. After the two introductory chapters, the book is divided into two parts. Part I consists of Chaps. 3 through 6. These chapters study centralized problems, i.e., those with a single decision maker, in supply chain scheduling. Chapter 3 considers integrated production scheduling and outbound distribution problems where decision making is offline, i.e., all the necessary data is available at the start of the planning horizon, including both single and multiple machine problems. The topics covered include delivery with a limited number of vehicles, batch delivery to single and also to multiple customers, problems with fixed delivery dates, problems with multiple manufacturing plants, and those with two stages of delivery. Chapter 4 considers a similar set of problems to those studied in Chap. 3, but in an online environment, i.e., one where new information arrives after some decisions have already been made. This new information is typically about a new job or order, the parameters of which only become known when it becomes ready for processing. An interesting and practical issue that is also discussed here is when should a planning problem be modeled as offline, possibly with a rolling horizon approach, and when should it alternatively be modeled as an online problem. Chapter 5 considers problems where production scheduling decisions are coordinated with pricing decisions. The topics covered include product- and orderbased problems within a single period and also multi-period pricing and scheduling
22
1 Introduction
problems. Several of these problems are intractable, as we discuss. In some cases, the intractability of the problems considered motivates the design and performance analysis of approximation algorithms. Chapter 6 concludes Part I with a discussion of joint subcontracting and scheduling decisions. One topic is the study of problems with a lead time performance guarantee. We also study the value of subcontracting and how to make scheduling decisions subject to a budget for subcontracting. The more general production environment of scheduling in a flowshop is also discussed, as well as problems that involve delivery of subcontracted jobs. Finally, we consider problems with generalized subcontracting structures such as volume discounts. Part II consists of Chaps. 7 through 9. These chapters study decentralized problems in supply chain scheduling, i.e., those with multiple entirely or predominantly self-interested decision makers. Chapter 7 considers four foundational problems in the supply chain scheduling literature, where conflict and cooperation issues are addressed through optimization. These are (a) the coordination of schedule formation with the quantity and timing of batch deliveries, (b) the coordination of the delivery schedules of parts suppliers with a manufacturer’s final assembly schedule, (c) the coordination of a manufacturer’s production schedule with a downstream distributor’s delivery schedule, and (d) the coordination of sequences involving setup costs between consecutive stages of a supply chain. In all cases, the benefit of coordinated vs. separate optimization is discussed and analyzed. In Chap. 8, we consider various problems that require cooperative supply chain scheduling solutions. The first topic is cooperative sequencing games which, given an initial arrival order, model the priority system of a typical service process and include many practical variations. The second topic, scheduling games, assumes no initial order and allows us to study mechanisms for enabling cooperation between the agents when it does not occur spontaneously. Achieving cooperation within the globally important business process of project management is also discussed. In addition, the coordination of scheduling and capacity allocation decisions, and of scheduling and outsourcing decisions, is considered. Chapter 9 concludes our work with a study of problems that require noncooperative supply chain scheduling solutions. For noncooperative games with complete information, we study a variety of methods for finding and evaluating an equilibrium solution. We discuss enhanced complete information games where sequential decision making improves the quality of an equilibrium, games with leaders and followers, and games with partially altruistic behavior by the agents. For situations where the agents have private information, we first consider mechanisms without payments that can be used to achieve truthful reporting and either optimal or approximately optimal supply chain performance. Finally, under algorithmic mechanism design, we consider several important supply chain scheduling applications which motivate a wide variety of algorithms and payment scheme specifications to achieve truthful reporting. Each chapter in Parts I and II concludes with a section on future research topics of importance. These topics are motivated by applications that arise from changing marketplaces and also define challenging theoretical problems.
Chapter 2
Solution Methods for Supply Chain Scheduling Problems
Abstract In this chapter we describe some common elements shared by all scheduling problems, introduce some basic concepts related to computational tractability of a problem, and summarize several commonly used solution methods for solving supply chain scheduling problems. These solution methods include dynamic programming, branch-and-bound, integer programming, and approximation procedures. We also provide a brief introduction to both cooperative game theory and noncooperative game theory, which are often used to model decentralized supply chain scheduling problems. Several classical scheduling problems and supply chain scheduling problems are used as examples to illustrate the concepts and solution methods presented.
2.1 Common Elements in Scheduling Problems Both classical and supply chain scheduling problems share some common characteristics. Most scheduling problems share four basic elements: (1) a set of jobs or orders N = {1, . . . , n}, (2) a set of machines or production lines M = {1, . . . , m} where the jobs are processed, (3) a set of rules or constraints that must be followed or satisfied, and (4) one or more objective functions representing the performance criterion or criteria of the decision maker(s). Most studies on classical scheduling use the terms jobs and machines, whereas some studies on centralized supply chain scheduling use the terms orders and production lines, and some studies on decentralized supply chain scheduling use the terms agents and resources. While different terms are used to reflect the diverse application settings studied, for consistency, we use the terms jobs and machines throughout this chapter. There are several commonly used machine environments or configurations where jobs are processed. Three most common machine environments are: • Single Machine: all the jobs are processed on a single machine. • Parallel Machines: all the machines perform the same function such that each job only needs to be processed on one of the machines. The machines can be identical if they have the same processing speed, uniform if they have different © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_2
23
24
2 Solution Methods for Supply Chain Scheduling Problems
speeds which are job independent, and unrelated if they have different speeds which are both job and machine dependent. • Flowshop: the processing of each job consists of m operations, one on each machine, performed in a pre-specified sequence which is identical for different jobs. If the sequence of operations is job dependent, the resulting more general machine environment is called a jobshop. If the different operations of each job can be performed in any sequence, then the resulting machine environment is called an openshop. It is assumed in almost all scheduling problems that the machine environment is known precisely in advance. However, the jobs and their parameters may or may not be known in advance depending on the nature of the application. In an offline scheduling problem where every parameter of the problem is known in advance, the job set N as well as all the parameters about each job are given before scheduling decisions are made. In an online or stochastic scheduling problem, however, not all the parameters of the problem are known in advance. Typically, in a stochastic scheduling problem, the job set N and some parameters of the jobs are known with certainty, but only probability distributions of some other parameters of the jobs are known. In an online scheduling problem, even the job set may not be known, and little or nothing may be known about the parameters of a job until it arrives. Typical parameters of a job j and the commonly used notation include: • Weight (wj ): the importance weight or priority factor of job j , or cost of job j . • Processing time (pj or pij ): the time needed for processing job j on a single machine or one of the multiple identical parallel machines (pj ), or that on a specific machine i in other machine environments (pij ). • Release time (rj ): the nonnegative time when job j arrives at the system, i.e., the earliest time the job can start processing. • Due date (dj ): the time when job j should complete processing, or be delivered to its destination. If the due date must be met, then it is referred to as the deadline of the job. Otherwise, there is typically a cost for not meeting it. Two of the most fundamental decisions involved in a scheduling problem are assigning jobs to machines and sequencing the jobs on each machine. Most classical scheduling problems involve these two decisions only. However, besides these decisions, supply chain scheduling problems usually involve other decisions, such as capacity allocation, delivery, subcontracting, and pricing. There are many different objective functions that are motivated by practice and have been studied in the literature. Some commonly used objective functions include: • Makespan, Cmax = maxj ∈N {Cj } or Dmax = maxj ∈N {Dj }, where Cj denotes the completion time for processing job j , and Dj the delivery time of job j . The makespan represents the elapsed time during which work is being completed. • Total (weighted) completion time of the jobs, j ∈N Cj ( j ∈N wj Cj ). This represents the total work-in-process inventory holding cost of the jobs.
2.2 Computational Complexity
25
• Total (weighted) delivery time of the jobs, j ∈N Dj ( j ∈N wj Dj ). This measure, if divided by n, represents the average (weighted) delivery lead time of the jobs. • Maximum lateness, Lmax = maxj ∈N Lj , where Lj = Cj − dj , or Dj − dj (depending on whether Cj or Dj is used as the time when the work for job j is completed), denotes the lateness of job j . This measures the worst-case lateness of the jobs. • Total (weighted) tardiness of the jobs, j ∈N Tj ( j ∈N wj Tj ), where Tj = max{0, Lj } denotes the tardiness of job j . This measure, if divided by n, represents the average (weighted) tardiness of the jobs. • Total (weighted) number of tardy jobs, j ∈N Uj ( j ∈N wj Uj ), where Uj = 1 if Lj > 0 (i.e., job j is late), and 0 otherwise. This is similar to, but easier to measure than, the total (weighted) tardiness objective function. In addition to the terms and notation defined above, in later chapters of this book where specific supply chain scheduling problems are discussed, new parameters and new objective functions are introduced whenever necessary. A three-field notation α|β|γ proposed by Graham et al. (1979) is commonly used to represent a classical scheduling problem, where the α field describes the machine environment such that single-machine, parallel-machine, and flowshop are represented as “1”, “Pm ”, and “F ”, respectively. The β field describes constraints of the problem. For example, if jobs arrive over time (i.e., have non-zero release times), then “rj ” is entered in this field. The γ field describes the objective function to be minimized. Using this notation, for example, the problem of scheduling jobs on a single machine with the objective of minimizing total weighted tardiness can be represented as 1|| wj Tj , and the problem of scheduling jobs on m parallel machines with the objective of minimizing the makespan can be represented as Pm ||Cmax . To represent a class of supply chain scheduling problems involving both job processing and outbound delivery of completed jobs, Chen (2010) proposes a fivefield notation, extended from the above three-field notation. This is described in Chap. 3.
2.2 Computational Complexity The theory of computational complexity (Garey & Johnson, 1979) is a useful framework for understanding the tractability of combinatorial optimization problems, including scheduling problems. Generally speaking, the complexity or tractability of a problem is determined by the time complexity of the fastest possible (or most efficient) algorithm for finding an optimal solution to any instance of the problem. The time complexity of an algorithm for a given problem is the worstcase computational time of the algorithm for the problem, measured by the required number of basic operations as a function of the problem input length. The problem input length is the number of symbols, strings, or bites needed to describe an
26
2 Solution Methods for Supply Chain Scheduling Problems
instance of the problem under a concise encoding scheme such as binary encoding which uses log2 X bits to represent an integer number X. For example, consider the classical single-machine scheduling problem of minimizing the total tardiness 1|| Tj (Koulamas, 2010). Any instance of this problem consists of n jobs, a processing time pj and a due date dj for each job j , and a threshold Y for the total tardiness. The problem input length (or input size) under a binary encoding is thus nj=1 (log2 pj + log2 dj ) + log2 Y . There are three types of algorithms as classified by time complexity: polynomialtime algorithms, exponential-time algorithms, and pseudo-polynomial time algorithms. They are defined as follows. Definition 2.1 Given an algorithm for a problem, it is said to be a polynomial-time algorithm if the worst-case computational time of the algorithm is bounded by a polynomial function of the problem input length. Otherwise (i.e., if the worst-case computational time is in the scale of an exponential function of the problem input length), the algorithm is said to be an exponential-time algorithm. A polynomialtime algorithm can further be called a strongly polynomial-time algorithm if its worst-case computational time depends on the number of items in the input data (e.g., number of jobs and machines), but not on the input lengths of items (e.g., input lengths of job processing times and weights). A special class of exponential-time algorithms is called pseudo-polynomial time algorithms, which have worst-case computational time that is polynomial in both the problem input length and the largest number in the problem input data. For example, a simple algorithm that schedules the jobs in earliest due date first (EDD) sequence has a time complexity of O(n log n) for the above cited problem 1|| Tj . Since this computation time is a polynomial function of the problem input length, this algorithm is a polynomial-time algorithm for the problem involved. However, this algorithm does not always find an optimal solution for the problem. The set of all problems that can be solved by polynomial-time algorithms is denoted as set P . There is another set of problems, denoted as NP , which includes every problem such that given any solution, it takes polynomial time to check whether this solution is feasible or not for the decision version of the problem. It is known that P ⊆ NP , but it is a long-standing open question in computer science whether P = NP (e.g., Kleinberg & Tardos, 2006). The general belief is that P ⊂ NP . Based on complexity theory, we can divide scheduling problems into several categories: • Polynomially solvable problems (or tractable problems), which can be solved by polynomial-time algorithms • N P -hard problems, which are intractable in theory, i.e., cannot be solved by any polynomial-time algorithm unless P = NP . Such problems can further be divided into two classes:
2.2 Computational Complexity
27
– Ordinarily NP -hard problems (or NP -hard problems in the ordinary sense), which are N P -hard but can be solved by pseudo-polynomial time algorithms which are quite efficient computationally in many cases – Strongly N P -hard problems (or NP -hard problems in the strong sense), which are intractable and cannot be solved by any pseudo-polynomial time algorithm unless P = NP The above problem classification is based on the assumption that a concise encoding scheme such as binary encoding is used to represent problem input data. Hence, N P -hard problems are also known as binary NP -hard because they are NP -hard under a binary encoding scheme. If a unary encoding scheme is used to describe the input data, an ordinarily NP -hard problem would become polynomially solvable because the pseudo-polynomial time algorithm that solves the problem would become polynomial under a unary encoding scheme. However, strongly NP -hard problems would remain NP -hard even when a unary encoding scheme is used. Thus, strongly N P -hard problems are also called unary NP -hard. The above discussed problem 1|| Tj is ordinarily NP -hard because it is intractable (Du & Leung, 1990), i.e., there is no polynomial-time algorithm that can solve this problem unless P = NP , but there is a pseudo-polynomial time O(n4 P ) algorithm that can solve the problem to optimality (Lawler, 1977), where P = nj=1 pj . If 1 day it is shown that P = NP , then all NP -hard problems will become solvable in polynomial time. However, if P ⊂ NP , as commonly believed, then it becomes mathematically valid to say that no polynomial-time algorithms can solve N P -hard problems. To clarify the complexity of a given problem, the concept of polynomial reducibility can be very useful. It is defined as follows. Definition 2.2 Given a problem A. Suppose that some algorithm solves problem A. Another problem B is said to be polynomially reducible or simply reduces to problem A if problem B can be solved by transforming it to inputs for problem A in polynomial time and calling the algorithm that solves problem A a polynomial number of times. If problem B is polynomially reducible or reduces to problem A, then problem B is no harder than problem A, and hence the following hold: (1) if A is polynomially solvable, then B is also polynomially solvable; (2) if B is ordinarily (or strongly) N P -hard, then A is at least ordinarily (or strongly) NP -hard. To show a problem to be polynomially solvable, one needs to find a polynomialtime algorithm that can solve the problem to optimality, or show that the problem reduces to another problem that can be solved in polynomial time. To show a problem to be strongly NP -hard, a commonly used approach is to show that a known strongly NP -hard problem reduces to the problem under study. Intuitively, to show problem B reduces to problem A, one needs to show that problem B is a special case of or equivalent to problem A. Finally, to show a problem to be ordinarily N P -hard, one can first show that a known ordinarily NP -hard problem
28
2 Solution Methods for Supply Chain Scheduling Problems
reduces to the given problem, and then find a pseudo-polynomial time algorithm that solves the given problem to optimality. Readers are referred to the classical books by Garey and Johnson (1979) and Papadimitriou and Steiglitz (1998) to learn a variety of techniques for proving NP -hardness of combinatorial optimization problems. Supply chain scheduling problems are in general less tractable (i.e., more difficult to solve) than the corresponding classical scheduling problems. If a classical machine scheduling problem is ordinarily (strongly) NP -hard, then a corresponding supply chain scheduling problem is at least ordinarily (also strongly) NP -hard. In many cases, a corresponding supply chain scheduling problem becomes NP hard even if the underlying classical machine scheduling problem is polynomially solvable. For example, the classical scheduling problem 1|rj |Cmax is polynomially solvable; it is optimal to schedule the jobs by nondecreasing order of their arrival times. However, consider the corresponding supply chain scheduling problem where each job is delivered to its customer individually and immediately after its completion and the objective is to minimize the makespan Dmax , which is defined as the time when all the jobs are delivered to their destinations. This problem is strongly N P -hard (Chen, 2010, and discussed in Sect. 3.3.1). For another example, the classical machine scheduling problem 1|| wj Cj is polynomially solvable; it is optimal to schedule the jobs in nondecreasing order of pj /wj . Now consider the following corresponding supply chain scheduling problem: there are pricing decisions that need to be made jointly with scheduling decisions such that the number of incoming jobs for each product type is determined by the price set for this product, and the objective is to maximize the total revenue of the jobs minus the total weighted completion time of the jobs. This problem is ordinarily NP -hard (Chen & Hall, 2010, and discussed in Sect. 5.2).
2.3 Solution Methods We discuss several generally applicable solution methods for supply chain scheduling problems. Figure 2.1 provides an overview of the various solution methods discussed in this section.
2.3.1 Dynamic Programming Algorithms Dynamic programming (DP) plays an important role in solving many scheduling problems including many supply chain scheduling problems. Most scheduling problems that are tractable can be solved either by a simple rule or by a polynomialtime DP algorithm. Many ordinarily NP -hard scheduling problems can be solved by a pseudo-polynomial time DP algorithm. DP solves an optimization problem by breaking it down into a collection of simpler subproblems based on some optimality properties, solving each of those
2.3 Solution Methods
29
Section 2.3.1: Dynamic programming algorithms
Section 2.3.2: Branch-and-bound algorithms
Section 2.3.3: Integer programming based algorithms
Solution Methods for Supply Chain Scheduling Problems Section 2.3.4: Approximate solution methods
Section 2.3.5: Cooperative game theory
Section 2.3.6: Noncooperative game theory
Fig. 2.1 Solution methods for supply chain scheduling problems
subproblems just once, and storing the solutions of the subproblems solved. When a previously solved subproblem occurs later as a part of another subproblem, instead of recomputing its solution, one simply looks up the previously computed solution. This saves computation time at the expense of some storage space that is needed to keep the solutions of the solved subproblems. While some optimization problems cannot be decomposed in this way, many scheduling problems satisfy certain optimality properties which can be used to break the problems into smaller subproblems that are nested recursively inside larger subproblems. Consequently, there is a relation between the objective value of a larger subproblem and the objective values of the smaller subproblems. In DP, this relationship is called a recurrence relation. In addition to a recurrence relation, each DP algorithm is characterized by states, each corresponding to a subproblem, a value function, which maps a given state to a value, and initial conditions, which define the values of some initial states of the DP. Recurrence relations define how the value of a state is calculated based on the values of other states. We illustrate below a DP algorithm for a classical machine scheduling problem and a DP algorithm for the associated distribution scheduling problem for delivering the completed jobs to their destinations, given the production schedule for the earlier machine scheduling problem. We first consider the classical two-parallel-machine scheduling problem P2 || wj Cj . This problem is ordinarily NP -hard (Bruno et al., 1974) and can be solved by the following pseudo-polynomial time DP algorithm. Example 2.1 (DP Algorithm for P2 || wj Cj ) Initialization Reindex the jobs in nondecreasing order of pj /wj (called SWPT j order). Define Pj = k=1 pk .
30
2 Solution Methods for Supply Chain Scheduling Problems
Value Function Define f (P 1 , j ) as the minimum total weighted completion time of a partial schedule containing the first j jobs where the completion time of the last job on the first machine is P 1 (and hence that on the second machine is Pj − P 1 ). Boundary Conditions f (0, 0) = 0. Recurrence Relation For j = 1, . . . , n, and P 1 = p1 , . . . , Pj : f (P 1 , j ) = min{f (P 1 − pj , j − 1) + wj P 1 , f (P 1 , j − 1) + wj (Pj − P 1 )}. Optimal Solution min{f (P 1 , n) | P 1 = p1 , . . . , Pn }. The idea of the DP algorithm given in Example 2.1 is that in an optimal schedule, the jobs processed on each machine follow a SWPT order, which enables us to compute the value of the state (P 1 , j ) based on the values of the states (P 1 − pj , j − 1), if job j is scheduled on machine 1, and (P 1 , j − 1), if job j is scheduled on machine 2. Since the recurrence relation compares these two state transition possibilities and always chooses the least-cost possibility, it ensures that the solution generated by the algorithm is optimal. There are O(nPn ) states in the DP, and the value function for each state is calculated in constant time. Therefore, the time complexity of this DP algorithm is O(nPn ). Now, consider the problem of scheduling the delivery of completed jobs to a single destination, given the production schedule generated by the DP algorithm in Example 2.1, with the objective of minimizing the sum of the total delivery time and total distribution cost, i.e., wj Dj + T C, where Dj is the delivery time of job j and T C is the total distribution cost. Let τ denote the transportation time from the plant to the destination. Each delivery shipment can carry up to b jobs, and costs Π . This problem can be solved by the following polynomial-time DP algorithm. Example 2.2 (DP Algorithm for Delivery Scheduling, Given the Production Schedule from Example 2.1) Initialization Reindex the jobs in the order they are completed under the schedule generated by the algorithm given in Example 2.1. Let their completion times be C1 , . . . , Cn , respectively. Value Function Define g(j, k) as the minimum objective value of a partial schedule containing the first j jobs which are delivered in k shipments. Boundary Conditions g(0, 0) = 0. Recurrence Relation For j = 1, . . . , n, and k = 1, . . . , j : g(j, k) =
min
u=1,...,min(j,b)
g(j − u, k − 1) + u(Cj + τ ) + Π.
Optimal Solution mink=n/b,...,n {g(n, k)}.
2.3 Solution Methods
31
The idea of the DP algorithm in the above example is that the value of the state (j, k) can be computed based on the values of the states (j − u, k − 1), for u = 1, . . . , min{j, b}, and the contribution by the last delivery shipment containing u jobs. Since the recurrence relation compares all feasible state transitions and always chooses the least-cost possibility, it ensures that the solution generated by the algorithm is optimal. There are O(n2 ) states in the DP, and the value function for each state is calculated in O(b) time. Thus, the time complexity of this DP algorithm is O(n2 b). Remark 2.1 We observe that to prove the optimality of a DP algorithm, one usually needs to show that the recurrence relation of the DP compares all feasible state transitions and always chooses the transition that yields the minimum (maximum) objective value for the state being considered for a minimization (maximization) problem. In addition, to make a DP algorithm work, there are often some initial and boundary conditions that need to be set properly. Now, we discuss the overall supply chain scheduling problem that combines the problems in Examples 2.1 and 2.2 with the same objective function as that in the latter problem. This supply chain scheduling problem is known to be strongly NP hard even with a single machine (Hall & Potts, 2005, also discussed in Sect. 3.4.3). This means that the combined problem is more difficult to solve optimally than the production scheduling problem or the delivery scheduling problem involved alone. Similar results hold for many supply chain scheduling problems.
2.3.2 Branch-and-Bound Algorithms Branch-and-bound (B&B) is a widely used solution framework for finding optimal solutions for N P -hard combinatorial optimization problems, including scheduling problems. B&B solves a problem by implicitly searching the entire feasible solution space of the problem in a divide-and-conquer fashion through its branching and bounding procedures. One often needs to exploit special structures of the underlying problem in order to develop efficient branching and bounding procedures. Nemhauser and Wolsey (1988) provides detailed descriptions of various branching and bounding techniques for a variety of problems. We briefly discuss how branchand-bound can be used for solving scheduling problems to optimality. A good B&B algorithm should only explicitly search a small fraction of the feasible solution space by eliminating the vast majority of the space from consideration using structural results of the problem. A B&B algorithm is usually implemented using a search (or branching) tree which starts from a single node as the root node of the tree and grows as the algorithm progresses. The root node represents the original problem, and every other node in the tree represents a subproblem. Suppose we are solving a minimization problem. At each iteration, first an active node in the tree, say node A, is chosen. Then two procedures, branching and bounding, are performed on this node. Branching is the process of partitioning
32
2 Solution Methods for Supply Chain Scheduling Problems
the problem associated with node A into several subproblems. For example, if the problem of node A is the original problem with the constraint that job 1 is sequenced as the first job on machine k, then one possible way of branching on node A is to divide the problem of this node into n − 1 subproblems, each being the same problem as that of node A with an additional constraint that job j is sequenced as the second job on machine k, for j = 2, . . . , n, where n is the total number of jobs in the problem. A new node is added to the search tree corresponding to each such problem and is linked to node A by a new branch. Bounding is the process of deriving a lower bound on the minimum objective value of each subproblem generated in the branching process. One possible approach to compute a lower bound of a problem is to use an integer programming based algorithm described in Sect. 2.3.3. There are four possible outcomes after bounding is performed on a node, as follows. • The first possible outcome is that the problem associated with the node is shown to be infeasible. For example, if the LP relaxation of the IP formulation for the problem associated with a node is infeasible, then this problem is infeasible. In this case, this node is eliminated. • The second possible outcome is that the problem associated with the node is solved to optimality. For example, if the solution of the LP relaxation of the IP formulation for the problem associated with this node is integer, then this problem is solved to optimality. In this case, this node is also eliminated and the incumbent solution of the original problem is replaced by the solution of this node if the optimal objective value of this node is less than that of the incumbent solution. • The third possible outcome is that the lower bound on the objective value of the problem of this node is greater than or equal to the objective value of the incumbent solution of the original problem. In this case, none of the subproblems generated by branching down this node contains an optimal solution of the original problem, and hence this node is eliminated. • The last possible outcome is that the lower bound on the objective value of the problem of this node is less than the objective value of the incumbent solution of the original problem. In this case, subproblems generated by branching down this node can contain an optimal solution of the original problem, and hence this node is kept as an active node to be considered in future iterations. The algorithm repeats the above steps until there is no active node in the search tree. All three activities at each iteration of a B&B algorithm, namely node selection, branching, and bounding, can influence the performance of the algorithm in a significant way. There are several different node selection strategies (Nemhauser & Wolsey, 1988), including depth-first-search (selecting a node at the deepest level of the tree), and best-lower-bound (selecting a node with the lowest lower bound). Branching and bounding strategies are highly problem dependent. Special structures and optimality properties associated with a problem need to be fully exploited in order to derive effective branching and bounding strategies that make the underlying B&B algorithm efficient. For example, as described in Sect. 2.3.3,
2.3 Solution Methods
33
some scheduling problems have a certain structure that enables us to formulate them as set partitioning type of problems, possibly with additional constraints. Solving the LP relaxation of this type of formulation may provide a very tight lower bound within a B&B framework.
2.3.3 Integer Programming Based Algorithms Integer programming (IP) is another useful tool commonly used for solving scheduling problems. IP is particularly useful to find tight lower bounds for N P -hard scheduling problems. Lower bounding is a necessary part of exact branch-and-bound algorithms (see Sect. 2.3.2), which are often used to solve N P -hard scheduling problems for which no faster exact algorithms, such as pseudopolynomial time dynamic programming algorithms, exist. Lower bounding is also necessary in evaluating the performance of an approximate solution algorithm (see Sect. 2.3.4). There are several different ways of formulating a scheduling problem into an integer programming formulation and computing a lower bound based on this formulation. We discuss two promising integer programming approaches for scheduling problems: (1) time-indexed formulations, and (2) column generation. They are discussed in Sects. 2.3.3.1 and 2.3.3.2, respectively.
2.3.3.1
Time-Indexed Formulations
Time-indexed formulations have been widely adopted for formulating and solving classical machine scheduling problems (e.g., Berghman & Spieksma, 2015; Sousa & Wolsey, 1992). To create a time-indexed formulation for a given scheduling problem, one needs to first discretize the time horizon of the problem, and then introduce time-indexed decision variables, and define the constraints and the objective function accordingly. A major advantage of time-indexed formulations is that the LP relaxation of such formulations tends to generate tighter bounds than other commonly used formulations. However, a clear disadvantage of such formulations is that they involve a large number of variables, especially when the total processing times of the jobs are large. We give two examples below to illustrate how a classical scheduling problem and a supply chain scheduling problem can be formulated using time-indexed variables, respectively. We first consider problem 1|rj | Cj . In this problem, there are n jobs N = {1, . . . , n} to be processed on a single machine. Each job j ∈ N is associated with a release time rj and a processing time pj . The objective is to minimize the total completion time of the jobs. This problem is known to be strongly NP -hard (Lenstra et al., 1977).
34
2 Solution Methods for Supply Chain Scheduling Problems
Example for Classical Scheduling Problem 2.3 (Time-Indexed Formulation 1|rj | Cj ) Let T = maxj ∈N {rj } + j ∈N pj . Clearly, in an optimal schedule, all the jobs are processed within the time horizon [0, T ]. Define xj t = 1 if job j starts processing at time t, for t = rj , . . . , T − pj , and 0 otherwise. The problem can be formulated as the following integer program:
min
−pj T
(t + pj )xj t
(2.1)
j ∈N t=rj
subject to T −pj
xj t = 1, ∀j ∈ N
(2.2)
xj s ≤ 1, ∀t = 0, . . . , T − 1
(2.3)
xj t ∈ {0, 1}, ∀j ∈ N; t = 0, . . . , T − 1.
(2.4)
t=rj
t
j ∈N s=max{rj ,t−pj +1}
In this formulation, the objective (2.1) is to minimize the total completion time of the jobs, where t + pj is the completion time of job j if it starts processing at time t. Constraint (2.2) ensures that each job is processed once. Constraint (2.3) ensures that each time interval [t, t +1) is occupied by at most one job, for t = 0, . . . , T −1. We observe that the formulation in Example 2.3 involves a pseudo-polynomial number of variables and a pseudo-polynomial number of constraints because both these numbers depend on the length of the time horizon. Thus, the size of the formulation grows with both the number of jobs and the average processing time of a job. Now, we consider an extension of problem 1|rj | Cj where completed jobs are delivered to a single customer site in batches. Each delivery shipment can carry up to b jobs. The transportation time and cost of a delivery shipment from the plant to the customer site are τ and Π , respectively. Let Dj be the delivery time of job j . The objective of the problem is to minimize the sum of the total delivery time of the jobs, j ∈N Dj , and the total transportation cost. Example 2.4 (Time-Indexed Formulation for Supply Chain Scheduling Problem that Combines 1|rj | Cj and Delivery of Completed Jobs) In addition to the parameter T and variables xj t defined in Example 2.3 above, we define two additional sets of variables, for t = 0, . . . , T , and j ∈ N: zt = 1 if there is a shipment that departs at time t, and 0 otherwise; yj t = 1 if job j is assigned to the shipment that departs at time t, and 0 otherwise. The problem can be formulated as the following integer program:
2.3 Solution Methods
35
min
⎛
⎝τ +
T
⎞ tyj t ⎠ +
t=rj +pj
j ∈N
T
Π zt
(2.5)
t=1
subject to T −pj
xj t = 1, ∀j ∈ N
(2.6)
xj s ≤ 1, ∀t = 0, . . . , T − 1
(2.7)
yj t ≤ b, ∀t = 1, . . . , T
(2.8)
yj t = 1, ∀j ∈ N
(2.9)
t=rj
t
j ∈N s=max{rj ,t−pj +1}
j ∈N T t=rj +pj t−pj
xj s ≥ yj t , ∀t = rj + pj , . . . , T , j ∈ N
(2.10)
xj t ∈ {0, 1}, ∀j ∈ N; t = 0, . . . , T − 1.
(2.11)
s=rj
yj t , zt ∈ {0, 1}, ∀j ∈ N; t = 1, . . . , T .
(2.12)
In this formulation, the objective (2.1) minimizes the total delivery time of the jobs and the total transportation cost. Constraints (2.6) and (2.7) are exactly the same as (2.2) and (2.3), respectively. Constraint (2.8) ensures that each shipment carries at most b jobs. Constraint (2.9) ensures that each job is assigned to exactly one shipment. Finally, constraint (2.10) represents the relationship between x and y variables, ensuring that a job assigned to a shipment with a departure time t is completed no later than t. To solve time-indexed formulations, valid inequalities and other solution techniques such as column generation (discussed in Sect. 2.3.3.2) are often used (Berghman et al., 2021; Van den Akker et al., 2000). We refer the reader to Sect. 4.3.3.3 for a discussion of the online version of the problem illustrated in Example 2.4.
2.3.3.2
Column Generation
Column generation based algorithms have been widely applied to tackle difficult N P -hard combinatorial optimization problems (e.g., Barnhart et al., 1998; Desaulniers et al., 2010). Column generation is a decomposition approach where
36
2 Solution Methods for Supply Chain Scheduling Problems
a given problem is decomposed into subproblems which are less difficult to solve than the entire problem. The idea of this method for an optimization problem can be described as follows. The given problem is first formulated as a set packing or set partitioning type of binary IP formulation, where each column represents a feasible solution to a part of the problem (or a subproblem) which involves a number of decisions, instead of a single decision. In this formulation, the decision variable corresponding to a column is 1 if the solution to the subproblem corresponding to the column is adopted, and 0 otherwise. The optimal objective value of the linear programming (LP) relaxation of this formulation is a valid lower bound on the optimal objective value of the original problem. However, it is not efficient to solve the LP relaxation problem directly even using the fastest commercial LP solver available, since it typically contains a very large number of columns. Instead, the LP relaxation is solved using the DantzigWolfe decomposition approach (Dantzig & Wolfe, 1960) in which the LP relaxation is decomposed into a master problem consisting of only a much smaller subset of columns and one or more subproblems. An iterative procedure can then be used where in each iteration, the master problem is first solved by a commercial LP solver directly. Based on the dual variable values of the master problem, the subproblems are solved next to generate new columns with a minimum reduced cost. One or more new columns with a negative reduced cost are added to the master problem for the next iteration. The LP relation problem is solved when, in an iteration, no new columns with a negative reduced cost can be found. Below, we apply the column generation lower bounding technique to a classical scheduling problem and a supply chain scheduling problem, respectively. We first consider problem Pm || wj Cj . The column generation approach is first applied to this and other parallel-machine scheduling problems by Chen and Powell (1999a,b) and Van den Akker et al. (1999). Example 2.5 (Column Generation for Classical Scheduling Problem Pm || wj Cj ) Let Ω denote the set of all feasible partial schedules on a single machine. For any s ∈ Ω, define fs to be the total weighted completion time of the jobs in s, and aj s to be 1 if job j is in s and 0 otherwise. Define variable ys = 1 if schedule s ∈ Ω is used and 0 otherwise. Then, the problem Pm || wj Cj can be formulated as the following set partitioning problem with a side constraint: min
fs ys
(2.13)
s∈Ω
subject to
aj s ys = 1, ∀j ∈ N
(2.14)
s∈Ω
ys = m
(2.15)
ys ∈ {0, 1}, ∀s ∈ Ω,
(2.16)
s∈Ω
2.3 Solution Methods
37
where the objective (2.13) is to minimize the total weighted completion time of the jobs in the chosen single-machine schedules, constraint (2.14) ensures that each job is included in one of the single-machine schedules chosen, and the side constraint (2.15) means that exactly m single-machine schedules are chosen. This formulation contains an extremely large number of columns because the set Ω is exponentially large. Applying the column generation technique to solve the LP relaxation of this formulation, the LP relaxation problem is decomposed into a master problem which has the same form as the LP relaxation problem but with only a small subset of the columns, and a single-machine subproblem. Let πj denote the dual variable value corresponding to job j , for each j ∈ N, in constraint (2.14) of the master problem, and σ denote the dual variable value corresponding to constraint (2.15) of the master problem. The subproblem is to find a single-machine schedule s ∈ Ω with the minimum reduced cost rs defined as: rs = fs −
aj s πj − σ.
(2.17)
j ∈N
The subproblem is shown to be ordinarily NP -hard, but it can be solved by a pseudo-polynomial time DP algorithm (Chen & Powell, 1999b). It is shown that the lower bound generated by the above column generation method is extremely tight; it is within 0.001% of the optimal objective value of the original problem for all the problems tested by Chen and Powell (1999b). Next, we consider a problem that integrates the classical scheduling problem 1|| wj Dj and delivery scheduling of completed jobs to a single customer site. The objective is to minimize the total weighted delivery time of jobs and the total transportation cost, i.e., wj Dj +T C, as in the problem of Example 2.2 discussed in Sect. 2.3.1. Following the notation defined above, we assume that each delivery shipment can carry up to b jobs and is associated with a transportation time τ and a transportation cost Π for delivery to the customer site. This problem is known to be strongly NP -hard (Hall & Potts, 2005, and discussed in Sect. 3.4.3). We are not aware of any existing integer programming based algorithm or lower bounding scheme for this problem. Example 2.6 (Column Generation for Supply Chain Scheduling Problem that Combines 1|| wj Dj and Delivery of Completed Jobs) To apply the column generation approach to compute a lower bound for this problem, we formulate the problem based on the fact that every solution of the problem consists of some individual delivery batches, where each batch of jobs is processed consecutively in arbitrary order with delivery departure time equal to the completion time of the last job in it. Let Ω denote the set of all feasible production and delivery schedules of a single batch of jobs. Given a single-batch schedule s ∈ Ω, the following parameters are all specified: (i) The starting time of the first job in it, denoted as L(s) (ii) The completion time of the last job in it, denoted as R(s)
38
2 Solution Methods for Supply Chain Scheduling Problems
(iii) Whether each job j is in s, which is represented by parameter aj s with its value being 1 if job j is in s and 0 otherwise, for all j ∈ N (iv) Whether a specific time slot [t − 1, t) is occupied by s, which is represented by parameter bts being 1 if L(s) + 1 ≤ t ≤ R(s), and 0 otherwise, for all t = 1, . . . , P , where P = j ∈N pj The total cost of a schedule s ∈ Ω is then fs = ( j ∈N aj s wj )(R(s) + τ ) + Π , where Π is the delivery cost per batch, and τ is the delivery time from the plant to the customer. Define variable ys = 1 if schedule s ∈ Ω is used, and 0 otherwise. Then, the problem can be formulated as the following set partitioning problem: min
(2.18)
fs ys
s∈Ω
subject to
aj s ys = 1, ∀ j ∈ N
(2.19)
bts ys = 1, ∀ t = 1, . . . , P
(2.20)
ys ∈ {0, 1}, ∀ s ∈ Ω,
(2.21)
s∈Ω
s∈Ω
where the objective (2.18) minimizes the total cost of the jobs in the chosen singlebatch schedules, constraint (2.19) ensures that each job is included in one of the single-batch schedules chosen, and constraint (2.20) means that each time slot between 1 and P is occupied exactly once. Following the column generation scheme, the LP relaxation of this formulation is decomposed into a master problem which has the same form as the LP relaxation formulation but with a small subset of the columns, and a single-batch subproblem. Let πj denote the dual variable value corresponding to job j , for each j ∈ N, in constraint (2.19), and σt denote the dual variable value corresponding to time t in constraint (2.20). The subproblem is to find a single-batch schedule s ∈ Ω with the minimum reduced cost rs given by: rs = fs −
j ∈N
aj s πj −
R(s)
σt .
(2.22)
t=L(s)+1
This subproblem is more general than the subproblem involved in Example 2.5 and hence is at least ordinarily NP -hard. We observe that, given a single-batch schedule s ∈ Ω, for given dual variable values πj and σt , the reduced cost rs given in (2.22) is determined by the specific jobs contained in the batch, and L(s) and R(s). The reduced cost rs is independent of the processing sequence of the jobs. Thus, we can
2.3 Solution Methods
39
assume without loss of generality that the jobs in a batch are always processed in shortest processing time first (SPT) order. The subproblem can be solved by a pseudo-polynomial DP algorithm as follows. Initialization Reindex the jobs in non-increasing order of pj . Value Function Define g(L, R, k, j ) as the minimum total cost of a partial schedule containing k of the first j jobs {1, . . . , j }, where the completion time of the last job is R, and the starting time of the first job is L. Boundary Conditions g(R, R, 0, 0) = 0, for R = 1, . . . , P . Recurrence Relation For j = 1, . . . , n, k = 1, . . . , b, L = 0, . . . , R − 1, R = 1, . . . , P :
g(L, R, k, j ) = min
g(L, R, k, j − 1), L+pj σt . g(L + pj , R, k − 1, j − 1) + wj (R + τ ) − πj − t=L+1
Optimal Solution First, for fixed R = 1, . . . , P , compute G(R) = min{g(L, R, k, n) + Π | 1 ≤ k ≤ b, L = 0, . . . R − 1}. Then, compute min{G(R) | 1 ≤ R ≤ P }. In the recurrence relation, two possible cases are considered: (1) job j is either not included in the batch (in this case, g(L, R, k, j ) = g(L, R, k, j − 1)), or (2) it is included in the batch (in this case, job j is scheduled in the time slot [L, L + pj ) and hence g(L, R, k, j ) is equal to g(L + pj , R, k − 1, j − 1) + wj (R + τ ) − πj − L+pj 2 t=L+1 σt . The time complexity of this DP algorithm is O(bnP ).
2.3.4 Approximate Solution Methods Most supply chain scheduling problems are strongly NP -hard. To solve a strongly N P -hard problem to optimality, one has to resort to exponential-time algorithms such as branch-and-bound and integer programming. One may be able to construct such algorithms to find optimal solutions for small instances of strongly NP -hard supply chain scheduling problems in a reasonable amount of computational time. However, for large instances of such problems, any exact algorithm is likely to be very time-consuming. Consequently, practitioners and academic researchers have a strong interest in developing approximate solution methods, also known as heuristic algorithms, for such problems. A heuristic algorithm or approximation algorithm (or simply called heuristic) for a problem does not guarantee an optimal solution but is much simpler and easier to implement in practice and typically requires much less computational time than an optimal algorithm.
40
2 Solution Methods for Supply Chain Scheduling Problems
Aarts and Lenstra (2003) and Voss et al. (1999) describe several types of heuristics for a variety of combinatorial optimization problems, including some scheduling problems. We summarize below some commonly used heuristics in the literature for solving supply chain scheduling problems. • Rule based heuristics that generate a solution using simple rules (e.g., scheduling jobs in nondecreasing order of their processing times), or more sophisticated rules (e.g., a schedule is constructed iteratively based on multiple problem parameters). • Local search heuristics such as Tabu Search, Simulated Annealing, and Genetic Algorithms (Aarts & Lenstra, 2003) which start with one or more initial solutions and then iteratively generate new solutions by searching the neighborhoods of existing solutions. • Dynamic programming based heuristics which use DP algorithms to solve a problem approximately by searching only part of the solution space. • Integer programming based heuristics which formulate a problem as an integer program and solve the formulation approximately by applying an incomplete branch-and-bound procedure or a decomposition technique such as Lagrangian relaxation or column generation (described in Sect. 2.3.3) to find a good, but generally not optimal, feasible solution. The performance of a heuristic can be evaluated through computational tests using real or randomly generated data sets (Hall & Posner, 2001). The solutions generated by a heuristic are typically compared to either true optimal solutions or bounds (a lower bound in the case of a minimization problem or an upper bound in the case of a maximization problem). Simple (but often loose) bounds can be derived following some optimality properties. However, to obtain tighter bounds, one may have to resort to sophisticated methods such as integer programming, as described in Sect. 2.3.3.
2.3.4.1
Worst-Case and Average-Case Analysis
The performance of a heuristic can also be evaluated theoretically (e.g., Hochbaum, 1996). Two types of theoretical analysis are commonly conducted, worst-case performance analysis and asymptotic performance analysis. Given an optimization problem, let I be the set of all feasible instances of the problem, and I ∈ I any instance of the problem. Given a heuristic H for a minimization problem, let Z H (I ) be the objective value of the solution obtained by the heuristic for the instance, and Z ∗ (I ) the optimal objective value of the instance. Then, we can define the following. Definition 2.3 The worst-case performance ratio of heuristic H for the given problem is defined as R H = sup {Z H (I )/Z ∗ (I )}. I ∈I
(2.23)
2.3 Solution Methods
41
Definition 2.4 The asymptotic performance ratio of heuristic H for the given problem is defined as H = inf{r ≥ 1 | there exists Y such that Z H (I )/Z ∗ (I ) ≤ r, R∞
for all instances I ∈ I with Z ∗ (I ) ≥ Y }.
(2.24)
For scheduling problems, asymptotic performance ratio may also be defined in terms of a threshold on the problem size, instead of a threshold on the objective value (e.g., Chou et al., 2006), as follows: H = inf{r ≥ 1 | there exists a positive integer n0 such that Z H (I )/Z ∗ (I ) ≤ r, R∞
for all instances I ∈ I with number of jobs n ≥ n0 }.
(2.25)
H of any Clearly, for a minimization problem, the performance ratios R H and R∞ heuristic H must be at least 1. The closer to 1 these ratios are, the better a given heuristic is. In conducting worst-case or asymptotic performance analysis, a lower bound is often used to replace Z ∗ (I ). The performance ratio obtained this way is then an upper bound on the true performance ratio. In this case, if an instance I0 can be found such that R H = Z H (I0 )/Z ∗ (I0 ), then it is said that the worst-case performance bound is tight, meaning that R H is exactly equal to the bound obtained. H = 1, the heuristic is then said to be asymptotically optimal, Definition 2.5 If R∞ meaning the heuristic solution converges to an optimal solution when the objective value (or size) of the problem instance becomes infinitely large. H represent performance of a heuristic in the worst However, both R H and R∞ case; they typically do not represent the average-case performance of the heuristic. Unfortunately, it is very difficult to conduct average-case performance analysis (also known as probabilistic analysis) of even simple heuristics theoretically (Coffman and Lueker, 1991). There are few existing average-case performance analysis results for scheduling problems, and to our knowledge, most such existing results are asymptotic (e.g., Kaminsky, 2003; Kaminsky & Simchi-Levi, 1998). That is, most existing average-case analysis results for scheduling problems that we are aware of are derived when the problem size goes to infinity. Such analysis is also known as asymptotic probabilistic analysis, which is often conducted under the assumption that some of the problem data follows a certain probability distribution (Simchi-Levi et al., 2013).
Definition 2.6 If we let Ξ be a probability measure on the set of instances I (i.e., the problem instances are generated randomly from Ξ ), a heuristic H is said to be asymptotically optimal for the problem defined on Ξ if the ratio Z H (I )/Z ∗ (I ) converges to 1 (or equivalently, the ratio [Z H (I ) − Z ∗ (I )]/Z ∗ (I ) converges to 0) with probability one (or equivalently, almost surely), when the problem size goes to infinity.
42
2 Solution Methods for Supply Chain Scheduling Problems
Remark 2.2 The strong law of large numbers (e.g., Ross, 1998) is often used to prove almost sure convergence of a random sequence. The strong law of large numbers states that given a sequence of n independently and identically distributed random variables, X1 , X2 , . . . , Xn , with mean μ, (X1 +X2 +· · ·+Xn )/n converges to the mean μ almost surely, when n goes to infinity.
2.3.4.2
Fully Polynomial Time Approximation Schemes
For many ordinarily NP -hard problems, there are heuristics called polynomial time approximation schemes or fully polynomial time approximation schemes. Definition 2.7 For a given minimization problem, a heuristic is called a polynomial time approximation scheme (PTAS) if for any fixed accuracy requirement ε > 0, the heuristic is a polynomial-time algorithm with worst-case performance ratio bounded by 1+ε. A heuristic is called a fully polynomial time approximation scheme (FPTAS) if (i) it is a PTAS, and (ii) its time complexity is bounded by a polynomialtime function of both the problem input length and 1/ε. We observe that a PTAS is required to have a polynomial-time complexity for any fixed ε, but its time complexity may be exponential in 1/ε. Thus, there is a major difference in running time between an FPTAS and a PTAS, especially when ε is close to 0. For example, if we compare an FPTAS with a running time O(n2 (1/ε)3 ) and a PTAS with a running time O(n21/ε ), when ε is relatively large, the FPTAS can be slower than the PTAS. However, when ε approaches 0, the PTAS becomes exponentially slower than the FPTAS. An FPTAS is the strongest possible result one can achieve for a NP -hard problem unless P = NP (e.g., Vazirani, 2001, p. 68). An FPTAS can be constructed for many ordinarily NP -hard scheduling problems. For such problems, there are usually pseudo-polynomial time dynamic programming algorithms, and such algorithms can in most cases be used to construct FPTAS (Woeginger, 2000). However, for strongly NP -hard scheduling problems, there is no FPTAS unless P = N P , but there can exist a PTAS.
2.3.4.3
Competitive Analysis
For online problems including online supply chain scheduling problems where jobs arrive over time and the parameters associated with a job are unknown until it arrives, online algorithms may have to be used to derive a solution. An online algorithm is one that can only process its input piece-by-piece in a serial fashion, i.e., in the order that the input is fed to the algorithm, without having the entire input available from the beginning. In contrast, an offline algorithm is given the whole problem data from the beginning and is required to output an answer which solves the problem at hand. Competitive analysis is often used to analyze the performance of an online algorithm. In such an analysis, the performance of an
2.3 Solution Methods
43
online algorithm is compared to the performance of an optimal offline algorithm that knows the sequence of job arrivals and their data in advance. The competitive ratio and asymptotic competitive ratio of an online algorithm H for an online problem are defined the same as in (2.23) and (2.24) or (2.25) for the worst-case performance ratio and asymptotic performance ratio of an offline algorithm, respectively, except that I is a specific realization of the problem input data, and Z ∗ (I ) is the optimal objective value of the offline problem corresponding to I . In competitive analysis, one typically imagines that there is an “adversary” who deliberately chooses difficult problem input data to maximize the ratio of the objective value generated by the online algorithm being studied and the optimal objective value of the offline problem which has the entire input data known from the beginning. For a given online problem, any online algorithm with the smallest possible competitive ratio is called a best possible algorithm, or an optimal online algorithm. Online classical scheduling problems have been quite extensively studied in the past 20 years (Pruhs et al., 2004; Tan & Zhang, 2013). However, there are relatively few existing results on online supply chain scheduling problems.
2.3.5 Cooperative Game Theory In a centralized scheduling environment, there is a single decision maker whose objective is to schedule jobs in a way that optimizes a system-wide criterion. The optimal solution generated this way is optimal collectively over all the jobs and all the supply chain stages or functional areas involved. However, in many supply chain environments, the jobs to be processed may come from different clients, and different stages or functions that serve the jobs may belong to different companies or decision makers. Different clients and functional areas may have conflicting objectives and may be interested only in a solution that optimizes their own objective. A solution that is optimal to one party in the supply chain is unlikely to be optimal for another party or for the overall system, and vice versa. Game theory is often used to model and analyze problems involving multiple decision makers (or agents, or players). There are generally two types of games, cooperative games and noncooperative games, that can be used to model problems with multiple players with conflicting objectives. There are many comprehensive books on game theory (e.g., Myerson, 1997; Peleg & Sudhölter, 2007) that provide detailed descriptions of various aspects of these types of games. In this and the following section, we briefly describe some key concepts associated with these types of games using scheduling problems as examples. We describe other necessary concepts and provide further discussion about the games defined here in Chaps. 8 and 9. When players cooperate and agree to adopt some solution π ∗ of the problem (e.g., a global or system-wide optimal solution), they may collectively achieve a higher cost saving (or a higher value, a lower cost, etc.), as compared to the case when the players act independently and use their own solutions π1 , π2 , . . . ..
44
2 Solution Methods for Supply Chain Scheduling Problems
However, some individual players may be worse off by using such a solution π ∗ . Such players must be compensated in a fair way in order for them to agree to the solution π ∗ . Cooperative game theory provides essential concepts and tools for designing compensation schemes that allocate the cost saving (or value, benefit, etc.) among the individual players. We use a one-machine sequencing game (Curiel et al., 1989; Hamers et al., 1996) as an example to describe the concept of a cooperative game. There are n players, denoted by N = {1, . . . , n}, each having one job to be processed on a given machine. Player j ’s job has a processing time requirement of pj units, and player j ’s cost is a linear function fj (t) = wj t of its completion time t on the machine. There is an initial processing sequence σ0 , which is the sequence the players use if they do not cooperate. This sequence can be given by the owner of the machine based on some rules, or it may result from the random arrival process of the jobs, and is typically not globally optimal. That is, the total cost of all the players under σ0 may not be the minimum possible. A cooperative game is defined by specifying a characteristic function v that maps any subset of players, also known as a coalition, to a real number, v : 2N → R satisfying v(∅) = 0. The characteristic function v(S) represents the total cost saving (or the total value) the players in coalition S ⊂ N can achieve if they cooperate by rearranging the positions of their jobs in the initial sequence σ0 , under the constraint that these players must use an admissible processing sequence for their jobs if they want to rearrange them. Admissible sequences can be defined in different ways. One example (Curiel et al., 1989) is to define any rearrangement of the jobs in σ0 as an admissible sequence if only the jobs of the players in coalition S that are consecutively sequenced in σ0 are rearranged among themselves. Let A(S) denote the set of all admissible sequences for the jobs of players in coalition S. The characteristic function v(S) can be defined as v(S) = max
σ ∈A(S)
[fi (Ci (σ0 )) − fi (Ci (σ ))] ,
(2.26)
i∈S
where Ci (π ) is the completion time of player i’s job under schedule π . When all the players cooperate to form a grand coalition, they together achieve a total cost saving or value v(N), which is defined as v(N) =
fi (Ci (σ0 )) − fi (Ci (σ ∗ )), ,
(2.27)
i∈N
where σ ∗ is the sequence among all admissible sequences A(N) with the lowest possible total cost of the jobs. One of the main questions studied in cooperative game theory is: how to allocate the total cost saving or value v(N) among the players such that no subset of players can be better off by separating themselves from the grand coalition and acting on their own behalf. Mathematically, this is equivalent to finding an allocation scheme, represented by (x1 , . . . , xn ), where xi is the cost saving or value allocated to player i, such that
2.3 Solution Methods
45
xj = v(N)
(2.28)
xj ≥ v(S), for all S ⊂ N.
(2.29)
j ∈N
j ∈S
Equation (2.28) ensures that the total allocation to all the players is equal to v(N), and inequalities (2.29) require that for any subset of players, the total allocation they receive is greater than or equal to the total cost saving or value if they form a coalition, which guarantees that no players have an incentive to leave the grand coalition. One of the most fundamental concepts in cooperative game theory is the core. This, along with some related concepts, is defined below. Definition 2.8 Any feasible solution x to (2.28)–(2.29) is stable or a core allocation. The collection of all feasible solutions to (2.28)–(2.29) is called the core of the game. Not every cooperative game has a nonempty core. A game with a nonempty core for all instances is balanced. A nonempty core often contains an infinite number of solutions. A cooperative game as defined above is sometimes known as a cost savings game, a value game, or a profit game. Alternatively, if the characteristic function v(S) represents the minimum total cost that can incur for the players in coalition S if they cooperate, then the game is known as a cost game. In this case, if an allocation scheme (x1 , . . . , xn ), where xi is the cost allocated to player i, satisfies (2.28) and the opposite relation of (2.29) (i.e., the “≥” in (2.29) becomes “≤”), then this allocation is a core allocation. Another fundamental concept in cooperative game theory is a convex game, which is defined below. Definition 2.9 A cost savings game (N, v) is called a convex game if its characteristic function v is supermodular, i.e., v(S∪T )+v(S∩T ) ≥ v(S)+v(T ), ∀ S, T ⊆ N. Conversely, a cost game (N, v) is called a convex game if its characteristic function v is submodular, i.e., v(S ∪ T ) + v(S ∩ T ) ≤ v(S) + v(T ), ∀ S, T ⊆ N. The supermodularity of v is equivalent to v(S ∪ {i}) − v(S) ≤ v(T ∪ {i}) − v(T ), ∀ S ⊆ T ⊆ N \ {i}, ∀ i ∈ N, and the submodularity of v is equivalent to v(S ∪ {i}) − v(S) ≥ v(T ∪ {i}) − v(T ), ∀ S ⊆ T ⊆ N \ {i}, ∀ i ∈ N. This implies that the incentive for joining a coalition increases as the coalition grows (Shapley, 1971), leading to a so-called snowball effect. Convex cooperative
46
2 Solution Methods for Supply Chain Scheduling Problems
games have many useful properties including the property that any convex game is balanced. However, a game does not have to be convex in order to be balanced. Curiel et al. (1989) show that the one-machine sequencing game discussed above is a convex game. They propose an allocation rule called Equal Gain Splitting (EGS) which divides the cost saving obtained in an interchange of two neighboring jobs equally between the two players involved, and show that EGS is a core allocation. Curiel et al. (1994) consider a more general version of the sequencing game where each player j ’s cost is a weakly monotonic function of its completion time t. This is more general than the version discussed above where the cost function is linear in t. More details are provided in Sect. 8.3.3. In addition to the concepts introduced above, there are several other commonly used concepts in cooperative game theory. One such concept is the Shapley value (Shapley, 1953). The Shapley value is a unique allocation solution that satisfies some valuable properties. Chapter 8 introduces this concept, along with some other single-point solution concepts. We refer the reader to Chap. 8 for those concepts and their applications in supply chain scheduling. The sequencing game and variants discussed above use some assumptions that may be overly simplifying from a practical point of view. In these and many other scheduling related games studied in the literature, it is assumed that an initial schedule σ0 of the jobs is predetermined (e.g., jobs are scheduled in first-come firstserved order), and a characteristic function is defined as the cost saving or value improvement relative to this initial schedule if the members of a coalition work together. In practice, however, an initial schedule may not exist. There are several studies that consider games related to scheduling without an initial sequence (e.g., Hall & Liu, 2016). There are also other practical issues that may need to be considered. For example, there can be more than one machine, a player may have more than one job, there can be a cost for using a particular period of the machine time, more general admissible sequences may be allowed when rearranging the job positions, the players may hide some information about their jobs, and in addition to being processed, the jobs may need to be delivered to their destinations after processing. Chapter 8 discusses models with some of these and other practical issues.
2.3.6 Noncooperative Game Theory In large and complex decision making environments, especially those conducted online through commercial platforms, achieving cooperation is unrealistic. Difficulties in doing so arise from the competition of the players, lack of trust between them, and lack of information. In such situations, a more realistic model of the decision process is a noncooperative game. In noncooperative game theory, individual players are typically assumed to maximize their own utility after considering how other players may react to their strategy. Based on the availability of information about the players, noncooperative
2.3 Solution Methods
47
games can be classified into games with complete information, where individual players do not have private information, and games with private information, where individual players have private information that is not known to other players. Different research questions are studied in the literature for different types of noncooperative games. For games with private information, major research issues include the design of truthful algorithms and the design of mechanisms that guarantee that no player has an incentive to report false information, regardless of what is shared by other players. These, along with some other issues, are discussed in detail in Chap. 9 of the book. For this reason, we do not elaborate on these topics here. In the following, we briefly discuss some of the key concepts and issues for noncooperative games with complete information. A key concept for noncooperative games with complete information is a Nash equilibrium (NE) in which no player in the game has anything to gain by changing only his or her own strategy. If each player has chosen a strategy and no player can benefit by changing his or her strategy while the other players keep theirs unchanged, then the current set of strategy choices and the corresponding payoffs constitute a Nash equilibrium. We use a parallel-machine scheduling model (Heydenreich et al., 2007; Immorlica et al., 2005) as an example to describe the concept of noncooperative games and Nash equilibrium. There are n players, denoted as N = {1, . . . , n}, with each player j having one job with a processing time of pj . There are m identical parallel machines, M = {1, . . . , m}. Each player needs to choose a machine to process its job. Let xi denote the strategy or solution that player i chooses (i.e., the machine to process its job). Let Xi be the set of all feasible strategies associated with player i. Hence, Xi = M for all i ∈ N. Each player i has a utility or payoff function ui (x) which is generally a function of the specific strategies used by all the players together, x = (x1 , . . . , xn ), as well as the underlying game rule or policy. Suppose the game rule is that the jobs assigned to a machine are processed in shortest processing time first (SPT) order where ties between any two jobs are broken in favor of the job with a smaller index. Consider the following utility function: ui (x) = −pi −
j :xj =xi ,pj rjb + pjb + pjc + tjc > Dmax This implies that the maximum delivery time of the schedule generated in this ∗ . iteration is less than (3/2)Dmax There are other heuristics for problem 1|rj |V (∞, 1), iid|n|Dmax . Hall and Shmoys (1992) propose a modified heuristic based on Algorithm A with a tighter worst-case performance ratio of 4/3. Hall and Shmoys (1992) and Mastrolilli (2003) propose polynomial time approximation schemes for this problem.
66
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
3.3.2 Maximum Delivery Time Problems with a Limited Number of Vehicles In this section, we consider two single-machine Dmax problems with a limited number of vehicles, 1||V (1, 1), iid|n|Dmax and 1||V (v, 1), iid|n|Dmax . We first observe that the individual and immediate delivery (iid) method, together with a limited number of delivery vehicles, means that in these problems, (1) each vehicle may have to make multiple trips, and (2) the processing of a job cannot begin if there is no vehicle available to pick it up immediately after it has completed processing. For ease of presentation, we assume that in these problems the transportation time from a job’s destination back to the plant is the same as that from the plant to this job’s destination. Thus, the round-trip transportation time between the plant and job j ’s destination is 2tj , for j ∈ N. All the results in this section still apply without this assumption. Before we analyze these problems, we first show that several problems with the “iid” delivery method and a limited number of delivery vehicles are identical to some two-stage no-wait flexible flowshop problems. Theorem 3.3 Problem 1||V (v, 1), iid|n|f (D) is equivalent to the two-stage nowait flowshop scheduling problem F (1, v)|no−wait|f (C), for any f (D) ∈ flexible { wj Dj , wj Tj , wj Uj , Lmax }, defined based on the job delivery times D = (D1 , . . . , Dn ), where in the latter problem there are one machine at the first stage and v parallel machines at the second stage, and C = (C1 , . . . , Cn ) is the vector of job completion times. Proof This equivalence is established when we view the v delivery vehicles in the earlier problem as the v parallel machines in the second stage in the latter problem. The iid constraint in the former problem is then equivalent to the no − wait constraint in the latter problem. If we view the round-trip transportation time for each job j , i.e., 2tj , in the earlier problem as the processing time of the job in the second stage in the latter problem, then any schedule for the latter problem that satisfies the no-wait constraint corresponds to a schedule for the earlier problem that satisfies the iid constraint, and vice versa. For each job j , its delivery time Dj in the schedule for the earlier problem and its completion time Cj in the corresponding schedule for the latter problem satisfy Dj = Cj − tj . This implies that when f (D) ∈ { wj Dj , wj Tj , wj Uj , Lmax }, our problem 1||V (v, 1), iid|n|f (D) is equivalent to the corresponding problem F (1, v)|no − wait|f (C). For the case with f (D) = wj D of the two problems follows j , the equivalence directly because w D = w C − w t , which means that minimizing j j j j j j wj Dj is equivalent to minimizing wj Cj . For the other objective functions, the equivalence is established when given the due date of job j , dj in the former problem, we specify the due date of job j for the latter problem to be dj + tj . For results on no-wait flowshop and flexible flowshop problems, see the survey articles by Hall and Sriskandarajah (1996) and Bagchi et al. (2006).
3.3 Problems with Individual and Immediate Delivery
67
Remark 3.1 Although 1||V (v, 1), iid|n|Dmax and F (1, v)|no − wait|Cmax are closely related, they are not equivalent because the fact that Dj = Cj − tj and the tj ’s are generally different implies that minimizing Dmax is not equivalent to minimizing Cmax . We first focus on problem 1||V (1, 1), iid|n|Dmax . For this problem, it is easy to see that in an optimal schedule for this problem, jobs processed earlier are picked up earlier. This means that once a schedule for job processing is given, the delivery schedule of the only vehicle involved is specified accordingly. Consequently, we only need to find an optimal schedule for job processing. Below, we give an optimal polynomial time algorithm for this problem. The algorithm considers n cases of the problem, where the kth case of the problem is to find an optimal schedule where job k is processed and picked up last, for k = 1, . . . , n. For each case, the problem is formulated as a special case of the traveling salesman problem (TSP) solvable by the algorithm of Gilmore and Gomory (1964). The best among the n optimal sequences for the n cases of the problem is then optimal. Algorithm A3.1 Step 0: Let k = 1. Step 1: Reindex the jobs in N \ {k} as [1], . . . , [n − 1]. Formulate the problem with k being the last job in the schedule as a TSP in the following complete graph: there are n nodes 0, 1, . . . , n − 1 in the network, where node 0 corresponds to job k, and nodes 1, . . . , n − 1 correspond to jobs [1], . . . , [n − 1], respectively; the distance matrix (τij ) is defined as τij = max{2t[i] , p[j ] } if i = 0 and j = 0; τi0 = max{2t[i] , pk } if i = 0; and τ0j = p[j ] if j = 0. Step 2: Solve the TSP by the Gilmore–Gomory algorithm. Let the optimal TSP tour be denoted as πk = (0, hk1 , hk2 , . . . , hk,n−1 , 0), where (hk1 , hk2 , . . . , hk,n−1 ) is a permutation of nodes 1, . . . , n − 1. Let zk denote the total distance of πk . Step 3: If k < n, let k = k + 1 and repeat Steps 1 and 2. Otherwise, stop. Find j such that zj + tj = min{zk + tk | k = 1, . . . , n}. The job sequence ([hj 1 ], . . . , [hj,n−1 ], j ) corresponding to the TSP tour πj is optimal. We use the following numerical example to illustrate the central idea of Algorithm A3.1. Example 3.5 (Application of Algorithm A3.1) Apply Algorithm A3.1 to the following instance of problem 1||V (1, 1), iid|n|Dmax . There are 4 jobs with the parameters shown in the table below. j pj tj
1 3 2
2 4 3
3 5 1
4 6 4
Applying Algorithm A3.1 to this instance, four solution cases are considered, each with one of the jobs scheduled last (i.e., both processed and delivered last).
68
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
As an illustration, we consider one of the cases, where job 3 is scheduled last. For this case, Step 1 of the algorithm creates a complete graph with nodes 0, 1, 2, and 3 corresponding to jobs 3, [1], [2], and [3], respectively, where reindexed jobs [1], [2], and [3] correspond to the original jobs 1, 2, and 4, respectively. The distance matrix (τij ) is shown in the following table, where for ease of reference, the corresponding job with its original index for each node is also shown. Each entry in the table τij is the distance from node i to node j , as defined in Step 1 of the algorithm, where τ0j = p[j ] for j = 1, 2, 3, τij = max{2t[i] , p[j ] } for i, j = 1, 2, 3, and τi0 = max{2t[i] , p3 } for i = 1, 2, 3.
Job 3 Job 1 Job 2 Job 4
Node 0 Node 1 Node 2 Node 3
Job 3 Node 0 – 5 6 8
Job 1 Node 1 3 – 6 8
Job 2 Node 2 4 4 – 8
Job 4 Node 3 6 6 6 –
Step 2 solves the TSP problem in the constructed network. The optimal TSP tour for the given network is π = (0, 1, 2, 3, 0) with total distance z = τ01 + τ12 + τ23 + τ30 = 21. Tour π corresponds to job schedule (1, 2, 4, 3) with Dmax = z + t3 = 21 + 1 = 22. Theorem 3.4 Algorithm A3.1 solves the problem 1||V (1, 1), iid|n|Dmax optimally in O(n2 log n) time. Proof For a fixed k ∈ N, reindex the jobs in N \{k} as [1], . . . , [n−1], as in Step 1 of the algorithm. Given a sequence of jobs ([u1 ], . . . , [un−1 ], k) for the problem, where ([u1 ], . . . , [un−1 ]) is a permutation of {1, . . . , n − 1}. Define Δ([ui ], [ui+1 ]) to be the difference between the pickup times of the neighboring jobs [ui ] and [ui+1 ]. It can easily be shown that Δ([ui ], [ui+1 ]) = max{2t[ui ] , p[ui+1 ] } for i = 1, . . . , n−1, and that Dmax = Dk = p[u1 ] +
n−1
Δ([ui ], [ui+1 ]) + tk .
(3.4)
i=1
See Fig. 3.2 for an illustration, where a directed line represents either a delivery or a return trip of the vehicle. Now consider a TSP tour (0, u1 , . . . , un−1 , 0) for the TSP problem defined in Step 1, where node 0 corresponds to job k and nodes u1 , . . . , un−1 correspond to jobs [u1 ], . . . , [un−1 ], respectively. By definition of the distance matrix in Step 1, it can be seen that τ0,u1 = p[u1 ] , τui ,ui+1 = Δ([ui ], [ui+1 ]), for i = 1, . . . , n − 2, and τun−1 ,0 = Δ([un−1 ], [un ]). Therefore, the total distance of this TSP tour, denoted as qk , is given by
3.3 Problems with Individual and Immediate Delivery
69
Dmax
p[ u1 ]
'([u1, u2])
[u1]
[u2]
t[ u1 ]
t[ u1 ]
'([u2, u3]) [u3]
'([un-2], [un-1]) ……
[un-1]
'([un-2], k) k
t[ u2 ] t[ u2 ]
tk
Fig. 3.2 Schedule ([u1 ], . . . , [un−1 ], k)
qk = τ0,u1 +
n−2 i=1
τui ,ui+1 +τun−1 ,un = p[u1 ] +
n−1
Δ([ui ], [ui+1 ]) = Dk −tk .
(3.5)
i=1
Thus, any solution π to the problem 1||V (1, 1), iid|n|Dmax with job k scheduled last corresponds to a solution σ to the TSP defined in Step 1. Also, (3.4) and (3.5) imply that the objective values of the solutions π and σ differ by a constant tk . Therefore, the problem 1||V (1, 1), iid|n|Dmax with job k scheduled last can be solved by solving the corresponding TSP. This shows the optimality of the algorithm. For fixed k ∈ N, the TSP defined in Step 1 has a special structure. The distance parameters can be expressed as τij = max{λi , μj } for all i, j = 0, 1, . . . , n − 1 with i = j , where λ0 = 0, μ0 = pk , and λj = 2t[j ] and μj = p[j ] , for j ≥ 1. A distance matrix with this characteristic is called a large matrix, and the TSP with such a distance matrix can be solved by the Gilmore–Gomory algorithm in O(n log n) time (Van Dal et al., 1993). Because the algorithm solves n such TSP problems, the overall complexity is O(n2 log n). Next, we show that problem 1||V (v, 1), iid|n|Dmax is more difficult to solve. Theorem 3.5 Problem 1||V (v, 1), iid|n|Dmax is strongly NP -hard even when there are two delivery vehicles. Proof As discussed above, this problem is closely related, but not equivalent, to the two-stage flexible flowshop problem F (1, v)|no−wait|Cmax . We prove the theorem for problem 1||V (2, 1), iid|n|Dmax by a reduction from F (1, 2)|no − wait|Cmax , which is known to be strongly NP -hard (Sriskandarajah & Ladet, 1986). The recognition version of F (1, 2)|no − wait|Cmax can be described as follows: Given h jobs 1, . . . , h with processing times a1 , . . . , ah in the first stage and b1 , . . . , bh in the second stage, and a threshold value C0 , does there exist a feasible schedule with the makespan Cmax ≤ C0 ? We assume without loss of generality that all the parameters are even numbers. Given an instance of F (1, 2)|no − wait|Cmax , we construct an instance of 1||V (2, 1), iid|n|Dmax as follows. There are n = h + 2 jobs, N = {1, . . . , h + 2}, with processing times and transportation times: pj = aj and tj = bj /2, for j =
70
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
1, . . . , h, and ph+1 = ph+2 = 0, and th+1 = th+2 = M, where M ≥ C0 + 1. The threshold value for Dmax is D0 = C0 +M. We show below that there exists a feasible schedule to the constructed instance of 1||V (2, 1), iid|n|Dmax with Dmax ≤ D0 if and only if there exists a feasible schedule to the instance of F (1, 2)|no−wait|Cmax with Cmax ≤ C0 . (⇒) Given a feasible schedule π = (π1 , π21 , π22 ) for F (1, 2)|no − wait|Cmax with makespan Cmax (π ) ≤ C0 , where π1 is the schedule at the first stage and π21 and π22 are the schedules on the first and second machine at the second stage, respectively, we construct a schedule σ for 1||V (2, 1), iid|n|Dmax as follows. Process the jobs 1, . . . , h using the same schedule as π1 , and process jobs h + 1 and h + 2 last starting at time Cmax (π ). Deliver the jobs in π21 and π22 by the two vehicles, respectively, with the pickup time of a job equal to the starting time of the job in π21 or π22 . Deliver jobs h + 1 and h + 2 by the two vehicles, respectively, with the same pickup time at Cmax (π1 ). Clearly, the constructed schedule σ is feasible for 1||V (2, 1), iid|n|Dmax with Dmax = Cmax (π ) + M ≤ C0 + M = D0 . (⇐) Given a feasible schedule σ for 1||V (2, 1), iid|n|Dmax with makespan Dmax (σ ) ≤ D0 , we can conclude that jobs h + 1 and h + 2 respectively must be delivered last by the two vehicles. This is because if a vehicle delivers some job j ∈ {1, . . . , h} after delivering one of these two jobs, then the vehicle has to spend 2M units of time delivering j and returning to the plant, which will result in a makespan larger than D0 . Furthermore, since th+1 = th+2 = M, the pickup times of h + 1 and h + 2 must be Dmax (σ ) − M. Therefore, by time Dmax (σ ) − M, all the jobs 1, . . . , h have been delivered and the vehicles have returned to the plant after the last jobs among 1, . . . , h are delivered. Now, consider the part of schedule σ that spans from time 0 to Dmax (σ ) − M. Denote this partial schedule as σ0 . Evidently, σ0 covers jobs 1, . . . , h. Based on σ0 , we construct a schedule for F (1, 2)|no − wait|Cmax as follows. Process the jobs in the first stage following the schedule in the processing part of σ0 . Process the jobs that are delivered in the two vehicles in σ0 by the two machines in the second stage, respectively, with the starting time of a job equal to the pickup time of the job in σ0 . Clearly, this schedule is feasible for F (1, 2)|no − wait|Cmax with makespan no larger than Dmax (σ ) − M ≤ C0 .
3.3.3 Multi-Machine Problems All the problems discussed in Sects. 3.3.1 and 3.3.2 involve a single machine only. When there are multiple machines, these problems become more difficult to solve. Since the classical problem Pm ||Cmax is ordinarily NP -hard (Karp, 1972), any problem Pm ||V (x, 1), iid|n|Dmax , for x ∈ {1, v, ∞}, is at least ordinarily N P -hard. Since 1|rj |Cmax is strongly NP -hard (Lenstra et al., 1977), any problem Pm |rj |V (x, 1), iid|n|Dmax and Fm |rj |V (x, 1), iid|n|Dmax , for x ∈ {1, v, ∞}, is also strongly NP -hard. It can also be shown that any problem Fm ||V (x, 1), iid|n|Dmax , for x ∈ {1, v, ∞} is strongly NP -hard. Woeginger
3.3 Problems with Individual and Immediate Delivery
71
(1994) proposes a heuristic for Pm ||V (∞, 1), iid|n|Dmax . Hall and Shmoys (1989) and Mastrolilli (2003) give a PTAS and Gharbi and Haouari (2002) give a branch-and-bound exact algorithm for Pm |rj |V (∞, 1), iid|n|Dmax . Kaminsky (2003) provides asymptotically optimal heuristics for Fm ||V (∞, 1), iid|n|Dmax and Fm |rj |V (∞, 1), iid|n|Dmax . Some “iid” problems studied in the literature have a delivery time window for each job. Either each job j has a fixed delivery time f dj at which time exactly the job must be delivered to its customer, or each job j has a time window [aj , bj ] during which the job must be delivered. With such a constraint, it may not be possible to accept all the jobs. Therefore, all such problems involve job acceptance decisions and the objective function typically involves maximization of the total revenue of the accepted jobs. In a problem with a fixed delivery time for each job, if a job is accepted, both the processing starting time and the pickup time are then fixed. Thus, no sequencing decision is involved, and the only decisions are determining which jobs to accept, and which machine to process and which vehicles to deliver the accepted jobs. It is then easy to see that problem Pm |f dj |V (∞, 1), iid|n| Rj , where the delivery part is not a bottleneck, reduces to a fixed interval scheduling problem (without the delivery), which can be solved as a min-cost network flow problem (Garcia & Lozano, 2004a). For problem Pm |f dj |V (v, 1), iid|n| Rj , where the delivery part can be a bottleneck, Chen (2010) provides a dynamic programming algorithm with a polynomial running time when m and v are fixed constants. However, the complexity of this problem with arbitrary m and v is unknown (Chen, 2010). We present Chen’s algorithm in the following. His algorithm utilizes the following optimality property of the problem. The property is straightforward and hence we do not give a proof. Lemma 3.2 In an optimal schedule for problem Pm |f dj |V (v, 1), iid|n| Rj , accepted jobs assigned to each machine are processed in nondecreasing sequence of their required completion times f dj − tj , and accepted jobs assigned to each vehicle are delivered in the same sequence. Chen’s dynamic programming algorithm for problem Pm |f dj |V (v, 1), iid|n| Rj considers jobs in nondecreasing sequence of f dj − tj , and in each iteration determines whether to accept or reject a job, and assigns the job to one of the machines and one of the vehicles if the job is accepted. Algorithm A3.2 Reindex the jobs such that f d1 − t1 ≤ · · · ≤ f dn − tn . Value Function F (j ; x1 , . . . , xm ; y1 , . . . , yv ) = the maximum total revenue of the jobs scheduled so far, given that jobs 1, . . . , j have been considered, and among these jobs, xi is the last job processed by machine i, for i = 1, . . . , m, and yk is the last job delivered by vehicle k, for k = 1, . . . , v. Initial Condition F (0; 0, . . . , 0; 0, . . . , 0) = 0. Recurrence Relation For j = 1, . . . , n; xi = 0, . . . , j , for i = 1, . . . , m; and yk = 0, . . . , j , for k = 1, . . . , v:
72
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
F (j ; x1 , . . . , xm ; y1 , . . . , yv ) ⎧ ⎨ G1 , if j > max{x1 , . . . , xm } and j > max{y1 , . . . , yv } = G2 , if j = xi = yk for some 1 ≤ i ≤ m and 1 ≤ k ≤ v ⎩ 0, otherwise where G1 = F (j ; x1 , . . . , xm ; y1 , . . . , yv ) G2 = Rj + max{F (j − 1; x1 , . . . , xm ; y1 , . . . , yv ) | 0 ≤ h ≤ j − 1 with f dh − th + pj ≤ f dj − tj and 0 ≤ e ≤ j − 1 with f de + te + tj ≤ f dj }. Optimal Solution Value max{F (n; x1 , . . . , xm ; y1 , . . . , yv ) | xi = 0, . . . , n, for i = 1, . . . , m, yk = 0, . . . , n, for k = 1, . . . , v}. Chen (2010) shows the following result about Algorithm A3.2. Theorem 3.6 Algorithm A3.2 solves problem Pm |f dj |V (v, 1), iid|n| mally in O(nm+v+3 ) time.
Rj opti-
Proof The recurrence relation considers all three possible cases associated with each state (j ; x1 , . . . , xm ; y1 , . . . , yv ): (i) If job j is not accepted (and hence j > max{x1 , . . . , xm }), then the value function is equal to G1 . (ii) If job j is accepted (and hence it must be scheduled last among all the jobs scheduled so far, i.e., j = xi = yk for some i and k), then the value function is equal to G2 . The equation for G2 maximizes the revenue over all possible h and e such that the resulting schedule is feasible. Feasibility is ensured by the two conditions involved: f dh − th + pj ≤ f dj − tj and f de + te + tj ≤ f dj . (iii) If the state is not feasible, then the value function is set to 0. This shows the optimality of the algorithm. There are at most O(nm+v+1 ) states in the dynamic program, and for each state the recurrence relation spends at most O(n2 ) time considering all possible values of h and e. Therefore, the overall time complexity of the algorithm is O(nm+v+3 ).
3.4 Problems with Batch Delivery to a Single Customer We first provide, in Sect. 3.4.1, some optimality properties shared by many problems with batch delivery to a single customer. We then discuss in Sects. 3.4.2, 3.4.3, 3.4.4, and 3.4.5, respectively, several representative problems
3.4 Problems with Batch Delivery to a Single Customer
73
1||V (∞, c), direct|1|Lmax + T C, 1||V (∞, ∞), direct|1| wj Dj + T C, Pm ||V (∞, c), direct|1| 1||V (v, c), direct|1|Dmax , and Dj + T C, 1||V (v, c), direct|1| Dj . In all the problems, we use t to denote the one-way transportation time between the plant and the customer site, and f the transportation cost of a shipment from the plant to the customer site, which includes both fixed and variable costs.
3.4.1 Optimality Properties There are a number of structural properties shared by many problems with batch delivery to a single customer. Below we state some key properties that are needed in order to develop the solution algorithms provided below. The proofs for these results are quite straightforward and hence are not shown here. The reader is referred to Lee and Chen (2001) and Hall and Potts (2003, 2005) for proofs of Lemmas 3.3, 3.4 and 3.6, and Chen (2010) for a proof of Lemma 3.5. Lemma 3.3 For problems α||V (v, c), direct|1|γ and α||V (∞, c), direct|1|γ , where α ∈ {1, Pm } and γ ∈ {f (D), f (D) + T C} with f (D) being any nondecreasing function of D = (D , . . . , D ) (including D , (w )D , (wj )Tj , 1 n max j j (wj )Uj , and Lmax ), there exists an optimal schedule that satisfies all of the following properties: (i) There is no idle time between the jobs processed on any machine. (ii) For each delivery batch, all the jobs in the batch that are processed on the same machine are processed consecutively on that machine. (iii) For each machine, jobs that are processed earlier on the machine are delivered no later than those processed later on the same machine. (iv) For problem α||V (∞, c), direct|1|γ , for each delivery batch, its departure time is equal to the completion time of the last job in it. For problem α||V (v, c), direct|1|γ , for each delivery batch, its departure time is equal to the maximum of the following two times: the completion time of the last job in it, and the time when the vehicle for this delivery becomes available. Lemma 3.4 Problem α||V (∞, c), direct|1|γ with a nonzero transportation time from the plant to the customer is equivalent to the same problem with a zero transportation time, ∈ {1, Pm , Fm } and γ ∈ {f (D), f (D) + T C} with for α f (D) ∈ {Dmax , (wj )Dj , (wj )Tj , (wj )Uj , Lmax }. Lemma 3.4 implies that for problems with a sufficient number of vehicles, we can assume without loss of generality that delivery can be performed instantaneously. We further observe that in an optimal solution to the problem α||V (∞, c), direct|1|f (D) where no transportation cost is considered, each job is delivered individually and immediately upon its completion. Thus, problem α||V (∞, c), direct|1|f (D) reduces to the classical problem α||f (C).
74
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
By Lemma 3.4, problem 1||V (∞, c), direct|1|Lmax reduces to the classical problem 1||Lmax , for which an EDD sequence is optimal. However, for the same problem but with transportation cost included in the objective function, i.e., problem 1||V (∞, c), direct|1|Lmax + T C, Pundoor and Chen (2005) give the following example to show that EDD sequence is not optimal. Example 3.6 (EDD Is Not Optimal for 1||V (∞, c), direct|1|Lmax +T C) Consider four jobs 1, 2, 3, 4 with p1 = 1, p2 = 5, p3 = 1, p4 = 5; d1 = 2, d2 = 12, d3 = 13, d4 = 14. There is a sufficient number of vehicles, each with capacity c = 2, and the travel time and travel cost of a shipment are t = 0 and f = 10, respectively. Clearly, in any schedule at least two shipments are needed. Thus, the objective value cannot be less than 20. The following schedule has an objective value of 20, and hence is optimal: process the jobs in sequence (1, 3, 2, 4) and deliver jobs 1 and 3 in one shipment at time 2, and jobs 2 and 4 in another shipment at time 12. Any schedule where the EDD sequence is used for processing jobs has an objective value greater than 20 because it has either a positive Lmax and at least two shipments, or a zero Lmax but more than two shipments. The following lemma shows that a problem with a limited number of vehicles is in general more difficult to solve than the corresponding problem with a sufficient number of vehicles. The polynomial reducibility concept is defined in Sect. 2.2 of the book. Lemma 3.5 Problem α||V (∞, c), direct|1|γ is polynomially reducible to α||V (1, c), direct|1|γ , which is polynomially reducible to α||V (v, c), direct|1|γ ; and problem α||V (v, ∞), direct|1|γ is polynomially reducible to α||V (v, c), direct|1|γ , where α ∈ {1, P , F } m m and γ ∈ {f (D), f (D) + T C} with f (D) ∈ {Dmax , (wj )Dj , (wj )Tj , (wj )Uj , Lmax }. Lemma 3.6 (i) For problem 1||V (x, y), direct|1|f (D)+T C with x ∈ {1, v, ∞}, y ∈ {c, ∞}, and f (D) ∈ {Dmax , Dj }, there exists an optimal solution where jobs are processed in nondecreasing sequence of their processing times (also called SPT sequence). (ii) For problem 1||V (x, ∞), direct|1|Lmax + T C with x ∈ {1, v, ∞}, there exists an optimal solution where jobs are processed in nondecreasing sequence of their due dates (also called EDD sequence). (iii) For problem (x, ∞), direct|1|f (D) + T C with x ∈ {1, v, ∞} and 1||V f (D) ∈ { Uj , wj Uj }, there exists an optimal solution where on-time jobs are processed earlier than late jobs and are processed in nondecreasing sequence of their due dates. We note that for problems with a limited number of vehicles and a due-date related objective, includingproblems 1||V (x, c), direct|1|γ with x ∈ {1, v} and γ ∈ {Lmax , Lmax + T C, Uj , Uj + T C}, scheduling jobs (or early jobs in cases with Uj in the objective function) in EDD sequence may not be optimal.
3.4 Problems with Batch Delivery to a Single Customer
75
Chen (2010) gives the following example of problem 1||V (v, c), direct|1|Lmax , for which EDD sequence is not optimal. Example 3.7 (EDD Is Not Optimal for 1||V (v, c), direct|1|Lmax ) Consider two jobs 1 and 2 with p1 = 4, d1 = 7, p2 = 1, d2 = 8, one vehicle with capacity c = 1, and one-way travel time between the plant and the customer t = 2. It can be seen that sequence (2, 1) has Lmax = 0, whereas the EDD sequence (1, 2) has Lmax = 2.
3.4.2 Single-Machine Maximum Lateness and Transportation Cost Problem In this section, we consider problem 1||V (∞, c), direct|1|Lmax + T C. As shown in Example 3.6, scheduling jobs in EDD order may not be optimal for this problem. Fortunately, this problem can still be solved in polynomial time. Before we present the polynomial-time algorithm proposed by Pundoor and Chen (2005) for this problem, we first discuss two related problems that can be solved more easily. First, for the problem with no vehicle capacity constraint, i.e., problem 1||V (∞, ∞), direct|1|Lmax + T C, it can easily be shown that processing jobs in EDD sequence is optimal. For this problem, Hall and Potts (2003) give an O(n3 ) dynamic programming algorithm for finding an optimal solution. The idea of their algorithm is based on the following observation: If the number of delivery batches to the customer in the final schedule is given, then the total transportation cost is fixed, and an optimal schedule can be found by comparing all possible ways of splitting the jobs (sequenced in their EDD order) into a desired number of batches. Second, for the special case of problem 1||V (∞, c), direct|1|Lmax + T C with agreeable job processing times and due dates, i.e., if pu ≤ pv , then du ≤ dv for all jobs u, v ∈ N , processing the jobs in EDD order is also optimal, as shown by Pundoor and Chen (2005). The above-mentioned DP algorithm of Hall and Potts (2003) can be modified by incorporating the vehicle capacity constraint to solve this problem to optimality. Now, we describe the algorithm of Pundoor and Chen (2005) for the problem 1||V (∞, c), direct|1|Lmax + T C with a general vehicle capacity constraint and a general relationship between job processing times and due dates. Their algorithm utilizes two auxiliary problems, AP1 and AP2. Suppose that each job j ∈ N has a deadline ej , which is defined below as the due date dj plus some allowed lateness. Problem AP1 schedules the production and distribution of the jobs such that a minimum number of delivery shipments are used and all the jobs are delivered to the customer before or at their deadlines. Problem AP2 schedules the production and distribution of the jobs to minimize their maximum lateness Lmax , subject to the constraint that no more than a certain number of delivery shipments is used. We solve our problem 1||V (∞, c), direct|1|Lmax +T C by solving AP2 multiple times, where each application of AP2 is solved by solving AP1 multiple times. We
76
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
focus on AP1 first. The following algorithm solves this problem. The algorithm schedules jobs backwards and forms the delivery shipments from last to first. Algorithm A3.3 Step 0: Let the set of unscheduled jobs be U = N. Set the departure time of the current last shipment to be Q = j ∈N pj . Let k = 1. Step 1: Find the subset of the jobs that can be delivered in the kth last shipment without violating their deadlines, S = {j ∈ U |Q + t ≤ ej }. If S is empty but U is not, then stop, and the problem is infeasible. Step 2: If |S| > c, select the c jobs with the largest processing times from S. Otherwise, select all the jobs from S. Let X and P be the set of the selected jobs and the total processing time of these jobs, respectively. Process the selected jobs consecutively without idle time in the time period [Q − P , Q]. Deliver them together in the kth last shipment with departure time Q. Update Q = Q − P , and U = U \ X. If U is empty, then stop, and we have a feasible schedule that uses exactly k batches. Otherwise, let k = k + 1, and go to Step 1. To illustrate Algorithm A3.3, we apply it to an instance of problem AP1 generated based on the instance given in Example 3.6, as follows. Example 3.8 (Application of Algorithm A3.3) Consider four jobs 1, 2, 3, 4 with p1 = 1, p2 = 5, p3 = 1, p4 = 5; d1 = 2, d2 = 12, d3 = 13, d4 = 14. There is a sufficient number of vehicles, each with capacity c = 2. The travel time of a shipment is t = 0. Suppose that the allowed lateness is 2 units. This implies that the deadlines of the jobs are: e1 = 4, e2 = 14, e3 = 15, e4 = 16. Thus, problem AP1 is to find a production and distribution schedule with a minimum number of shipments that deliver all the jobs by their deadlines. We apply Algorithm A3.3 to this instance. Initially, U = {1, 2, 3, 4}, and Q = p1 + p2 + p3 + p4 = 12. Let k = 1. Step 1 finds S = {2, 3, 4}. Step 2 selects jobs 2 and 4 because they have the larger processing times than job 3. The total processing time of the selected jobs P = 10. Jobs 2 and 4 are processed from time 2 to 12. Update Q = 12 − 10 = 2 and U = {1, 3}. Let k = 2. Step 1 finds S = {1, 3}. Step 2 selects all the jobs in S. The total processing time of the selected jobs P = 2. Jobs 1 and 3 are processed from time 0 to 2. U becomes empty. Stop. In the solution generated, k = 2, i.e., two shipments are used. Pundoor and Chen (2005) show that Algorithm A3.3 finds an optimal solution to problem AP1 in O(n2 log n) time. Next, we consider the second auxiliary problem AP2 which schedules the production and distribution of the jobs to minimize Lmax , subject to the constraint that no more than h delivery shipments are used, for a given integer h, where n/c ≤ h ≤ n. It can be seen that the value of Lmax is nonincreasing in the value of h in the optimal solution of this problem. Based on this observation, Pundoor and Chen (2005) propose the following line search algorithm to find the optimal value of Lmax , given h.
3.4 Problems with Batch Delivery to a Single Customer
77
Algorithm A3.4 Step 0: Let LB and U B denote a lower bound and an upper bound on the maximum delivery lateness of jobs, Lmax , respectively. Initially, let LB be the maximum lateness of jobs if they are processed in EDD order and each job is delivered separately, and let U B be the maximum lateness of jobs if they are processed in EDD order and all are delivered in full shipments, except possibly the last several jobs which may be delivered in a partial shipment. Clearly, LB ≥ 0 and U B ≤ t + P , where P = j ∈N pj . Step 1: Let L0 = (LB + U B)/2. Define auxiliary problem AP1 by imposing a deadline on each job j ∈ N, ej = dj + L0 . Solve this problem by Algorithm A3.3, and let k be the optimal number of shipments used. Step 2: If k > h, let LB = L0 . Otherwise, let U B = L0 . If U B − LB < 1, stop. The only integer in the interval [LB, U B] is adopted as the solution value of Lmax . Otherwise, go to Step 1. Pundoor and Chen (2005) show that Algorithm A3.4 finds an optimal solution to problem AP2 in O(n2 (log n)(log(P + t))) time, where P = j ∈N pj . Based on Algorithm A3.4, Pundoor and Chen (2005) propose the following algorithm for solving problem 1||V (∞, c), direct|1|Lmax + T C. Algorithm A3.5 Step 1: For h = n/c, . . . , n, do the following: Define an auxiliary problem AP2 with the number of delivery shipments no more than h. Solve the problem by applying Algorithm A3.4. Let πh and Lmax (πh ) be the optimal schedule and its maximum lateness found by the algorithm. Step 2: Find u ∈ {n/c, . . . , n} that minimizes the total cost Lmax (πu ) + uf . Then schedule πu is optimal for problem 1||V (∞, c), direct|1|Lmax + T C with objective value Lmax (πu ) + uf . Pundoor and Chen (2005) show that Algorithm A3.5 finds an optimal solution to 3 problem + t))) time, where 1||V (∞, c), direct|1|Lmax + T C in O(n (log n)(log(P P = j ∈N pj . Since the input size of the problem is at least j ∈N (log pj + log dj ) + log t ≥ n + log(P + t), this means that Algorithm A3.5 runs in polynomial time.
3.4.3 Single-Machine Total Weighted Delivery Time and Transportation Cost Problem Hall and Potts (2005) show that the single-machine problem 1||V (∞, ∞), direct|1| wj Dj + T C is strongly NP -hard. However, when the jobs have identical weights, i.e., w1 = · · · = wn , the corresponding problem even with a limited vehicle capacity, i.e., problem 1||V (∞, c), direct|1| Dj + T C can be solved in polynomial time (Chen & Vairaktarakis, 2005).
78
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
We first present the NP -hardness proof from Hall and Potts (2005) for problem 1||V (∞, ∞), direct|1| wj Dj + T C. Theorem 3.7 Problem 1||V (∞, ∞), direct|1| wj Dj + T C is strongly NP hard. Proof We use a reduction from 3-Partition, a known strongly NP -hard problem (Garey & Johnson, 1978). This problem can be described as follows. 3-Partition: Given 3u elements, S = {1, . . . , 3u}, each with an integer size aj , where j ∈S aj = uz and z/4 < aj < z/2 for some integer z, for j ∈ U , does there exist a partition of S1 , . . . , Su of S such that |Si | = 3 and j ∈Si aj = z for j = 1, . . . , u? Construct an instance of 1||V (∞, ∞), direct|1| wj Dj + T C as follows: n = 3u, N = S, pj = wj = aj for j ∈ S, t = 0, f = z2 /2, and a threshold value F = u(u + 2)z2 /2. We prove that there exists a schedule to this instance of our problem with the objective value no greater than F if and only if there exists a solution to 3-Partition. (⇒) Given a solution S1 , . . . , Su to 3-Partition, we assume without loss of generality that Si = {3i − 2, 3i − 1, 3i} for i = 1, . . . , u. Consider the following schedule for the instance of our problem: Process the jobs in sequence (1, . . . , n) and deliver the three jobs in Si together in one shipment at the completion time of job 3i, which is iz, for i = 1, . . . , u. This yields
wj D j + T C =
u
z(iz) + uf = z2 u(u + 1)/2 + uz2 /2 = F.
i=1
(⇐) We first show that for the instance of our problem, the objective value of any schedule with h delivery shipments is minimized only when the total processing time of the jobs in each shipment is equal to uz/ h. Suppose that xi is the total processing time of the jobs in shipment i, for i = 1, . . . , h. Finding the minimum possible objective value of a schedule with h shipments can be formulated as the following optimization problem with x1 , . . . , xh as decision variables: minimize x12 + (x1 + x2 )x2 + · · · + (x1 + · · · + xh )xh + hz2 /2 subject to: x1 + · · · xh = uz.
(3.6) (3.7)
The objective function (3.6) can be rewritten as h 2 h h 2+ xi xi2 2 + hz2 /2 = u2 z2 /2 + xi2 2 + hz2 /2, i=1
i=1
i=1
where the first term is a constant and the second term is minimized under the value of any constraint (3.7) only when x1 = · · · = xh = uz/ h. Thus, the objective schedule with h shipments is greater than or equal to u2 z2 /2 + hi=1 xi2 2 + hz2 /2. This expression is minimized with respect to h ≥ 1 only at h = u, and this minimum
3.4 Problems with Batch Delivery to a Single Customer
79
value is equal to F . This implies that in any schedule for the instance of our problem with the objective value less than or equal to F , there must be u shipments with the total processing time of the jobs in each shipment equal to z. This shows the existence of a solution to 3-Partition. Clearly, a more general problem with limited vehicle capacity, 1||V (∞, c), direct|1| wj Dj + T C, is also strongly NP -hard. Next, we consider a special case of this problem where the jobs have identical weights, i.e., problem 1||V (∞, c), direct|1| Dj + T C. By Lemma 3.3, processing the jobs in SPT order is optimal for this problem. The problem is thus reduced to finding an optimal delivery schedule given the SPT job processing sequence. Chen and Vairaktarakis (2005) provide the following dynamic programming algorithm to solve this problem. Algorithm A3.6 Reindex the jobs in SPT order so that p1 ≤ p2 ≤ · · · ≤ pn . The completion time of each job j ∈ N on the machine is thus Cj = p1 + · · · + pj . Value Function F (j ) = the minimum total cost contribution of a schedule for the first j jobs {1, . . . , j }. Initial Condition F (0) = 0. Recurrence Relation For j = 1, . . . , n, F (j ) = min{F (j − h) + h(Cj + t) + f |h = 1, . . . , min(c, j )}. Optimal Solution Value F (n). Chen and Vairaktarakis (2005) show that Algorithm A3.6 finds an optimal schedule for problem 1||V (∞, c), direct|1| Dj + T C in O(n log n + nc) time. In addition to the two problems discussed above, several special cases of these problems are also studied in the literature. For example, Ji et al. (2007) show that problem 1||V (∞, ∞), direct|1| wj Dj + T C with a constraint that the number of shipments cannot exceed a given constant is ordinarily NP -hard, and provide a pseudo-polynomial time dynamic programming algorithm for their problem.
3.4.4 Parallel-Machine Total Delivery Time and Transportation Cost Problem In this section, we consider problem Pm ||V (∞, c), direct|1| Dj +T C. Chen and Vairaktarakis (2005) show that this problem is ordinarily NP -hard even if there are only two machines (i.e., m = 2), give a polynomial-time heuristic algorithm, and show that this heuristic has a worst-case bound of 2 − 1/m and it is asymptotically optimal under certain conditions.
80
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
We describe Chen and Vairaktarakis’ heuristic in the following. Their heuristic is developed based on the idea that a feasible schedule for the problem (which has m parallel machines) can be constructed from a feasible schedule for a closely related problem with a single machine (m = 1). They call this single-machine problem the auxiliary problem and denote it as AUX. This auxiliary problem can be solved by a modified version of Algorithm A3.6 given in Sect. 3.4.3. The optimal solution of the auxiliary problemis then transformed into a feasible solution for problem Pm ||V (∞, c), direct|1| Dj + T C. Problem AUX is defined as follows: Find a way to partition the job set N into subsets S1 , S2 , . . . such that the number of jobs in each subset Sq is no more than c, and deliver each subset of jobs Sq in one shipment with the departure time dq equal to the maximum of the following two terms: (i) and (ii), so as to minimize the objective function Dj + T C. (i) The maximum processing time of the jobs delivered in all the shipments so far (i.e., max{pj |j ∈ S1 ∪ . . . ∪ Sq }) (ii) The sum of the processing times of all the jobs delivered in the shipments so far divided by m (i.e., j ∈S1 ∪...∪Sq pj /m) It can be seen that AUX is the same as the single-machine problem 1||V (∞, c), direct|1| Dj + T C, except that the departure time of a shipment is calculated differently. Problem AUX uses the maximum of (i), (ii) while the latter problem uses the completion time of the job completed last in a shipment. Chen and Vairaktarakis (2005) show that AUX can be solved by a modified version of Algorithm A3.6 given in Sect. 3.4.3, where the recurrence relation is replaced by the following: ⎧ j ⎨ F (j ) = min F (j − h) + h max pj , pl /m + t ⎩ ⎫ ⎬
l=1
+f | h = 1, . . . , min{c, j } . ⎭ Building on this result, Chen and Vairaktarakis (2005) provide the following heuristic for problem Pm ||V (∞, c), direct|1| Dj + T C. In this heuristic, an LPT (largest-processing-time-first) order of a given set of jobs denotes that the jobs are sequenced in nonincreasing order of their processing times pj . Also, the first available machine (FAM) rule is used, where the first unscheduled job is scheduled to the earliest available machine of the processing facility until all the jobs are scheduled. Heuristic H3.2 Step 1: Solve the auxiliary problem AUX using Algorithm A3.6 with the modified recurrence relation described above. Let πAU X be the solution obtained, L be the number of shipments in this solution, and S1 , . . . , SL be the set of jobs in these shipments.
3.4 Problems with Batch Delivery to a Single Customer
81
Step 2: Sort the jobs in every shipment Sq in LPT order for q = 1, . . . , L. Assign the jobs to the machines for processing by applying the FAM rule to the jobs in S1 , . . . , SL in this order. Let C[q] be the completion time of the last job in Sq and deliver the jobs in Sq in one shipment (the qth shipment) departing at time C[q] , for q = 1, . . . , L. It is easy to see that Step 1 of the heuristic is more time-consuming than Step 2. Hence, the overall time complexity of Heuristic H3.2 is the same as that of Algorithm A3.6, which is O(n log n + nc). Example 3.9 (Application of Heuristic H3.2) We apply Heuristic H3.2 to the following instance of problem Pm ||V (∞, c), direct|1| Dj + T C: There are 6 jobs and 2 parallel machines with vehicle capacity c = 3, transportation time t = 0, transportation cost per batch f = 10, and the processing time pj and the parameter j max{pj , l=1 pl /m} (denoted as δj ) for each job j are shown in the following table, where the jobs are indexed in SPT order. j pj δj
1 2 2
2 6 6
3 8 8
4 10 13
5 11 18.5
6 13 25
Step 1: By the definition of the auxiliary problem AUX, if a shipment contains job j as the last job, then its departure time is δj . Solve this problem and find an optimal solution as follows: There are 3 shipments with S1 = {1, 2, 3}, S2 = {4, 5}, S3 = {6} with departure times 8, 18.5, and 25, respectively. The corresponding total cost of the solution is (3(8) + 10) + (2(18.5) + 10) + (25 + 10) = 116. Step 2: Sort the jobs in each shipment Si in LPT order, and assign these jobs to the machines by the FAM rule, for i = 1, 2, 3. We obtain the following solution: job sequence on machine 1: (3, 5) with completion times C3 = 8, C5 = 19, and job sequence on machine 2: (2, 1, 4, 6) with C2 = 6, C1 = 8, C4 = 18, C6 = 31. Use the same shipment formations as before, i.e., S1 , S2 , S3 . Their departure times are now 8, 19, and 31, respectively. The total cost of this solution is (3(8) + 10) + (2(19) + 10) + (31 + 10) = 123. It can be verified that an optimal solution for this instance is as follows: job sequence on machine 1: (1, 4, 6) and job sequence on machine 2: (2, 3, 5); form three shipments, S1 = {1, 2}, S2 = {3, 4}, S3 = {5, 6} with departure times 6, 14, and 25, respectively. The total cost is (2(6)+10)+(2(14)+10)+(2(25)+10) = 120. We note that as shown above, for the instance given here, the optimal objective value of problem AUX isa lower bound on the optimal objective value of problem Pm ||V (∞, c), direct|1| Dj +T C. This is true for every instance, as shown below in Lemma 3.7.
82
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Next, we analyze the worst-case and asymptotic performance of Heuristic H3.2. Given a solution π to the auxiliary problem AUX, we denote the total delivery time of jobs, total delivery cost, and the sum of these two by DAU X (π ), Similarly, given a solution π to the T CAU X (π ), and ZAU X (π ), respectively. problem Pm ||V (∞, c), direct|1| Dj + T C, these three values are denoted as D(π ), T C(π ), and Z(π ), respectively. Let π ∗ be an optimal solution of the problem with the optimal objective value Z ∗ . Then, ZAU X (π ) = DAU X (π ) + T CAU X (π ), Z(π ) = D(π ) + T C(π ), and Z ∗ = Z(π ∗ ) = D(π ∗ ) + T C(π ∗ ). Lemma 3.7 ZAU X (πAU X ) ≤ Z ∗ .
Proof Given an optimal solution π ∗ to problem Pm ||V (∞, c), direct|1| Dj + T C, suppose that there are V shipments, B1 , . . . , BV , where Bv also represents the subset of jobs in the vth shipment, for v = 1, . . . , V . Let Ev be the processing completion time of the last job in Bv , for v = 1, . . . , V . Without loss of generality, we assume that the shipments B1 , . . . , BV are indexed in nondecreasing order of Ev . Then, pj /m (3.8) Ev ≥ max max{pj |j ∈ B1 ∪ · · · ∪ Bv }, j ∈B1 ∪···∪Bv
and the total delivery time of the jobs is D(π ∗ ) =
V
|Bv |(Ev + t).
(3.9)
v=1
The solution π ∗ is feasible for the auxiliary problem AUX if we set the departure time of each shipment Bv , for v = 1, . . . , V , to be ev = max max{pj |j ∈ B1 ∪ · · · ∪ Bv }, pj /m j ∈B1 ∪···∪Bv
instead of Ev . By (3.8), Ev ≥ ev , for v = 1, . . . , V . By (3.9), the total delivery time of the jobs in π ∗ for AUX satisfies DAU X (π ∗ ) =
V
|Bv |(ev + t) ≤ D(π ∗ ).
(3.10)
v=1
Clearly, solution π ∗ incurs the same transportation cost for problem Pm ||V (∞, c), direct|1| Dj + T C and AUX, i.e., T C(π ∗ ) = T CAU X (π ∗ ). Together with (3.10), this implies that Z ∗ ≥ ZAU X (π ∗ ). Since πAU X is an optimal solution for AUX, ZAU X (π ∗ ) ≥ ZAU X (πAU X ). Thus, Z ∗ ≥ ZAU X (πAU X ). Lemma 3.7 is quite intuitive. The way the departure time of a shipment in problem AUX is defined guarantees that each shipment in a solution to problem
3.4 Problems with Batch Delivery to a Single Customer
83
AUX always departs earlier than or at the same time as this same shipment if it is in a solution to problem Pm ||V (∞, c), direct|1| Dj + T C. Lemma 3.7 enables us to prove the following result about Heuristic H3.2. Theorem 3.8 The worst-case performance ratio of Heuristic H3.2 for problem Pm ||V (∞, c), direct|1| Dj + T C satisfies Z(π )/Z ∗ ≤ 2 − 1/m, where π is the solution generated by H3.2 for problem Pm ||V (∞, c), direct|1| Dj + T C. Proof The solution π constructed for Pm ||V (∞, c), direct|1| Dj + T C in Step 2 of Heuristic H3.2 has the same shipments S1 , . . . , SL but with different shipment departure times from the solution πAU X for the auxiliary problem. Therefore, T C(π ) = T CAU X (πAU X ).
(3.11)
The total delivery time of jobs in πAU X for the auxiliary problem is DAU X (πAU X ) =
L
|Sl | max
l=1
max
j ∈S1 ∪···∪Sl
and the total delivery time of Pm ||V (∞, c), direct|1| Dj + T C is D(π ) =
L
pj ,
pj /m + t ,
(3.12)
j ∈S1 ∪···∪Sl
the
jobs
in
π
|Sl |(C[l] + t),
for
problem
(3.13)
l=1
where C[l] is the processing completion time of the jobs in shipment Sl , for l = 1, . . . , L. For l = 1, . . . , L, let vl be the job that is completed last among all the jobs in S1 ∪ · · · ∪ Sl in Step 2 of H3.2. Due to the FAM rule in Step 2, we have, for l = 1, . . . , L, ⎛ ⎞ pj − pvl ⎠ /m + pvl C[l] ≤ ⎝ ⎛ =⎝ ⎛ ≤⎝
j ∈S1 ∪···∪Sl
j ∈S1 ∪···∪Sl
⎞ pj ⎠ /m +
m−1 pv l m
⎞ pj ⎠ /m +
j ∈S1 ∪···∪Sl
From (3.12), (3.13), and (3.14), we have
m−1 max pj . m j ∈S1 ∪···∪Sl
(3.14)
84
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
D(π ) ≤
L l=1
⎡⎛ |Sl | ⎣⎝
j ∈S1 ∪···∪Sl
≤ DAU X (πAU X ) +
⎤ m − 1 max pj + t ⎦ pj ⎠ /m + m j ∈S1 ∪···∪Sl ⎞
(3.15)
m−1 1 DAU X (πAU X ). DAU X (πAU X ) = 2 − m m (3.16)
This, together with (3.11) and Lemma 3.7, implies that 1 Z(π ) = D(π ) + T C(π ) ≤ 2 − DAU X (πAU X ) + T CAU X (πAU X ) m 1 ∗ 1 ZAU X (πAU X ) ≤ 2 − Z . ≤ 2− m m Chen and Vairaktarakis (2005) also show that Heuristic H3.2 is asymptotically optimal under some mild conditions. Their result, along with a proof, is described below. Theorem 3.9 The schedule π generated by Heuristic H3.2 is asymptotically optimal for problem Pm ||V (∞, c), direct|1| Dj + T C, as n approaches ∞, i.e., ∗ = 0, under the assumption that m is fixed, and the processing time limn→∞ Z(πZ)−Z ∗ pj of each job j ∈ N is within a finite interval [X, Y ], where 0 < X < Y < ∞. Proof From (3.12), we have DAU X (πAU X ) ≥
L
|Sl |
l=1
pj /m
j ∈S1 ∪···∪Sl
L l X |Si | |Sl | m l=1 i=1 ⎧ ⎫ 2 L L l−1 ⎬ X⎨ |Sl | − |Si | = |Sl | ⎭ m⎩
≥
l=1
l=1
i=1
⎧ 2 2 ⎫ L L ⎬ ⎨ 1 X |Sl | − |Sl | ≥ ⎭ m⎩ 2 l=1
l=1
2 L X = |Sl | 2m l=1
=
n2 X . 2m
(3.17)
3.4 Problems with Batch Delivery to a Single Customer
85
Furthermore, from (3.12) and (3.15), we have D(π ) − DAU X (πAU X ) ≤
#$ " L ! (m − 1)n m−1 |Sl | ≤ Y, max pj j ∈S1 ∪···∪Sl m m l=1
which, together with (3.17), implies lim
n→∞
D(π ) − DAU X (πAU X ) = 0. DAU X (πAU X )
(3.18)
Since ZAU X (πAU X ) = DAU X (πAU X ) + T CAU X (πAU X ) and Z(π ) = D(π ) + T C(π ), from (3.11) and (3.18), we have Z(π ) − ZAU X (πAU X ) D(π ) − DAU X (πAU X ) = lim = 0. n→∞ n→∞ ZAU X (πAU X ) ZAU X (πAU X ) lim
This, along with Lemma 3.7 and the fact that Z(π ) ≥ Z ∗ , implies that ∗ limn→∞ Z(πZ)−Z = 0. ∗ Chen and Vairaktarakis (2005) conduct computational tests on the performance of Heuristic H3.2based on randomly generated test instances of problem Pm ||V (∞, c), direct|1| Dj + T C and show that the heuristic is capable of generating near-optimal solutions quickly. In addition, Chen and Vairaktarakis (2005) study several other related problems, including the extension of the problem discussed above to a multi-customer setting with vehicle routing, i.e., Pm ||V (∞, c), routing|k| Dj + T C. This more general problem is discussed below in Sect. 3.5.2.
3.4.5 Problems with a Limited Number of Vehicles In this section, we consider two problems with a limited number of delivery vehicles, 1||V (v, c), direct|1|Dmax and 1||V (v, c), direct|1| Dj , and present the algorithms proposed by Lee and Chen (2001) for solving these problems. There are two major differences between these problems and the corresponding problems with a sufficient number of vehicles. In problems with a limited number of vehicles, (i) each vehicle may have to make multiple delivery trips, each carrying one shipment; and (ii) after all the jobs to be delivered together in a shipment have completed processing, they have to wait if there is no available vehicle. We first note that the corresponding problems with a sufficient number of vehicles, 1||V (∞, c), direct|1|Dmax and 1||V (∞, c), direct|1| Dj , are trivial. For the first problem, it is optimal to process the jobs in any order and deliver each job individually and immediately after it completes processing. For the second problem, it is optimal to process the jobs in SPT order and deliver each job
86
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
individually and immediately after it completes processing. Even with a more general objective function that includes the total transportation cost, these problems are still relatively easy to solve. For problem 1||V (∞, c), direct|1|Dmax + T C, Chen and Vairaktarakis (2005) show that the following O(n) time algorithm finds an optimal solution: Process the jobs in an arbitrary sequence, and deliver the jobs in n/c shipments, where all the shipments but at most one are full. For problem 1||V (∞, c), direct|1| Dj + T C, Algorithm A3.6 described in Sect. 3.4.4 finds an optimal solution. We now consider problem 1||V (v, c), direct|1|Dmax . By Lemma 3.6, we only need to consider the SPT job processing sequence. Suppose that the jobs are reindexed in nondecreasing order of their processing times. For this problem, Lee and Chen (2001) show the following property. Lemma 3.8 There exists an optimal schedule for problem 1||V (v, c), direct|1|Dmax that satisfies the following: (i) there are q = n/c delivery shipments; and (ii) If n is not an integer multiple of c (i.e., n < qc), then the first shipment contains n − (q − 1)c jobs, and each of the other q − 1 shipments contains c jobs. Otherwise, all the q shipments contain c jobs. By this property and Lemma 3.6, we know exactly the jobs contained in each shipment and the time by which the jobs in each shipment have completed processing. Let B1 , . . . , Bq denote the q shipments and rh denote the completion time of the last job in shipment Bh on the machine, for h = 1, . . . , q. Let j P (j ) = k=1 pk . Then, there are two cases. • Case 1: If n < qc, then B1 = {1, . . . , u}, where u = n − (q − 1)c, r1 = P (u); and Bh = {u + (h − 2)c + 1, . . . , u + (h − 1)c}, rh = P (u + (h − 1)c), for h = 2, . . . , q. • Case 2: If n = qc, then Bh = {(h − 1)c + 1, . . . , hc}, and rh = P (hc), for h = 1, . . . , q. With the delivery shipments B1 , . . . , Bq and their completion times on the machine as described above, problem 1||V (v, c), direct|1|Dmax reduces to the problem of dispatching v vehicles to deliver these batches so that the time when the last shipment gets to the customer is minimum. It is not difficult to see that, if we view a vehicle as a machine and delivering a shipment as a job, then this vehicle dispatching problem is similar to the classical parallel-machine makespan problem with generally different job arrival times and identical job processing times, i.e., Pv |rj , pj ≡ p|Cmax , where there are q jobs and v identical parallel machines, the arrival time of job j is rj , for j = 1, . . . , q, and the processing times of jobs are all equal to 2t, which is the round-trip travel time between the plant and the customer site. Clearly, for problem Pv |rj , pj ≡ p|Cmax , the following solution is optimal: Sorting the jobs in nondecreasing order of their arrival times and assigning available jobs in this order to the earliest available machines. This implies that our problem 1||V (v, c), direct|1|Dmax can be solved by assigning the shipments to the earliest available vehicles in the order of their completion times on the machine.
3.4 Problems with Batch Delivery to a Single Customer
87
Based on the above discussions, we can see that 1||V (v, c), direct|1|Dmax can be solved by the following algorithm.
problem
Algorithm A3.7 Step 1: Reindex the jobs in nondecreasing order of their processing times. Process the jobs on the machine in this order without any idle time. Step 2: Let q = n/c. For q shipments B1 , . . . , Bq and calculate the completion time rh of the last job in each shipment Bh , for h = 1, . . . , q, following the two cases described above. Step 3: Consider the shipments B1 , . . . , Bq one by one in this order. Whenever a shipment Bh is considered, assign it to the earliest vehicle that returns to the plant. The departure time of Bh is max{rh , τ }, where τ is the time when the earliest vehicle returns to the plant. It can be seen that the time complexity of Algorithm A3.7 for solving problem 1||V (v, c), direct|1|Dmax is O(n log n). Next, we consider problem 1||V (v, c), direct|1| Dj . Utilizing the properties stated in Lemmas 3.3 and 3.5, Lee and Chen (2001) develop a dynamic programming algorithm for this problem. Since the jobs should be processed in SPT order, the problem reduces to finding an optimal delivery schedule, given the SPT processing schedule. Lee and Chen (2001) show that all possible departure times for a shipment can be calculated in advance by the following procedure. Procedure DepTime Step 1: Reindex the jobs in nondecreasing order of their processing times. Process the jobs on the machine in this order without idle time. Denote the completion time of job j on the machine by Cj , for j ∈ N. Step 2: Possible departure times of a shipment are Cj + kt, for k = 0, 1, . . . , n − 1, and j ∈ N . Index the distinct time points among all these possible departure times by 1, 2, . . . , T , where T ≤ n2 , such that an earlier time point has a smaller index. Let τ (h) denote the hth time point, for h = 1, 2, . . . , T and let τ (0) = 0. Lee and Chen’s dynamic programming 1||V (v, c), direct|1| Dj is given below.
algorithm
for
solving
Algorithm A3.8 Initialization Calculate possible departure times for shipments using Procedure DepTime. Define G(k; j ; s1 , . . . , sv ) to be the minimum total delivery time of jobs j, . . . , k, provided that these jobs are delivered in v shipments that depart at times τ (s1 ), . . . , τ (sv ) from the plant, respectively. The value of G(k; j ; s1 , . . . , sv ) can be calculated in O(v) time as follows: Let A = {j, . . . , k}. Repeat the following procedure with h = 1, . . . , v. Let Ah be the subset of jobs in A that complete processing before or at time τ (sh ). If there are more than c jobs in Ah , then assign the first c jobs of Ah to the shipment that departs at time τ (sh ). Otherwise, assign all the jobs in Ah to this shipment. The total delivery time of the jobs in this shipment can be calculated accordingly. Update A by removing the jobs delivered in this shipment.
88
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Value Function F (k; j ; s1 , s2 , . . . , sv ) is the minimum total delivery time of a partial schedule containing the first k jobs 1, . . . , k, provided that the current last v shipments contain jobs j, j + 1, . . . , k and depart at times τ (s1 ), . . . , τ (sv ) from the plant, where {s1 , . . . , sv } ⊆ {0, 1, . . . , T } and 0 ≤ s1 < · · · < sv ≤ T . Boundary Conditions F (0; 0; 0, . . . , 0) = 0. Recurrence Relation For k = 1, . . . , n; j = max(1, k − vc), max(1, k − vc) + 1, . . . , max(1, k − v); and 0 ≤ s1 < · · · < sv ≤ T , F (k; j ; s1 , . . . , sv ) = min{F (j − 1; i; b1 , . . . , bv ) + G(k; j ; s1 , . . . , sv ) | i, b1 , . . . , bv satisfy the following conditions (i) and (ii)} (i) 0 ≤ j − i ≤ vc. (ii) 0 ≤ b1 < · · · < bv , and τ (sh ) − τ (bh ) ≥ 2t, for all h = 1, . . . , v. Optimal Solution min{F (n; j ; s1 , . . . , sv )} over all possible states (j ; s1 , . . . sv ). Lee and Chen (2001) show that Algorithm A3.8 has time complexity O(cv+2 v v+3 n2v+1 ), which is polynomial when v is fixed. When there is only one 3 vehicle, i.e., v = 1, the complexity of this algorithm is O(n ). The complexity of problem 1||V (v, c), direct|1| Dj with arbitrary v apparently remains open (Lee & Chen, 2001).
3.5 Problems with Batch Delivery to Multiple Customers As discussed in Sect. 3.2, to deliver jobs to multiple customers in batches, there are two possible delivery methods, i.e., batch delivery by direct shipping, under which only jobs from the same customer can share a shipment, and batch delivery with routing, under which jobs from different customers can share a shipment and hence vehicle routing becomes a part of the decision. In this section, we discuss multi-customer extensions of some of the problems considered in Sect. 3.4, i.e., problems 1||V (∞, c), direct|k|Lmax + T C, Pm ||V (∞, c), routing|k| Dj + T C, 1||V (v, c), direct|k|Dmax and 1||V (v, c), direct|k| Dj . Section 7.2 studies several other problems with batch delivery by direct shipping. We recall that, as defined in Sect. 3.2.1, in a problem with multiple customers, the set of customers is denoted as K = {1, . . . , k}, and the number of jobs and set of jobs from customer i are denoted as ni and Ni , respectively, where n = n1 +· · ·+nk and N = N1 ∪ · · · Nk . We introduce some additional notation and define some new terms relevant to the problems discussed in this section. We denote the j th job from customer i ∈ K as (i, j ) and its processing time and due date as pij and dij , respectively. Hence, Ni = {(i, 1), · · · , (i, ni )}, for i ∈ K. If direct shipping is used, the delivery time and cost of a shipment from the plant to customer i are denoted
3.5 Problems with Batch Delivery to Multiple Customers
89
as ti and fi , respectively. If vehicle routing is involved, the delivery time and cost of a shipment depend on the specific route used, and are defined below wherever necessary.
3.5.1 Single-Machine Maximum Lateness and Transportation Cost Problems with Direct Shipping We consider problem 1||V (∞, c), direct|k|Lmax + T C and the special case of this problem with no vehicle capacity limit, i.e., 1||V (∞, ∞), direct|k|Lmax + T C. Pundoor and Chen (2005) show that when the number of customers k is arbitrary, both problems are at least ordinarily NP -hard (Pundoor & Chen, 2005). Hall and Potts (2003) give an O(n2k+1 ) dynamic programming algorithm for solving the latter problem with a fixed k. However, the complexity of the former problem with a fixed k apparently remains open. Pundoor and Chen (2005) propose an asymptotically optimal polynomial time heuristic algorithm for the former problem. In the following, we discuss these results in detail.
3.5.1.1
N P -Hardness Proof
We first present the NP -hardness proof given by Pundoor and Chen (2005) for problem 1||V (∞, c), direct|k|Lmax + T C with an arbitrary k. Theorem 3.10 Problem 1||V (∞, c), direct|k|Lmax + T C with an arbitrary number of customers is at least ordinarily NP -hard. Proof We prove the theorem by a reduction from the Subset Sum problem, a known ordinarily NP -hard problem (Garey & Johnson, 1979). The Subset Sum problem, denoted as SS, can be stated as follows: SS: Given a set of q + 1 positive integers {a1 , . . . , aq } and B, does there exist a subset U ⊆ Q = {1, . . . , q} such that i∈U ai = B? Define A = i∈Q ai and H = 3q + B. We construct a corresponding instance of our problem as follows: • Number of customers: k = q. • Number of jobs from each customer i: ni = 3, and the jobs are (i, 1), (i, 2), (i, 3), for i = 1, . . . , k. • Processing times: pi1 = 1, pi2 = ai , pi3 = H ai , for i = 1, . . . , k. • Due dates: di1 ≡ d1 = q + B, di2 ≡ d2 = q + B + (H + 1)(A − B), and di3 ≡ d3 = q + (H + 1)A, for i = 1, . . . , k. • Vehicle capacity: c = 3. • Transportation times and costs: ti = 0, and fi = 1, for i = 1, . . . , k. • Threshold cost: Z = 2q.
90
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
For ease of presentation, we call the jobs {(i, 1) | i = 1, . . . , k} type-1 jobs, {(i, 2) | i = 1, . . . , k} type-2 jobs, and {(i, 3) | i = 1, . . . , k} type-3 jobs. We first prove the following properties. In any schedule π to the constructed instance of our problem with objective value no greater than Z, (i) (ii) (iii) (iv) (v)
No shipment contains both a type-1 job and a type-3 job. There are exactly 2k shipments. There are no late jobs. Any type-3 job is processed later than any type-1 job. Any type-2 job is in a shipment of size 2.
The proof for each property is given below. (i) If a type-1 job is shipped together with a type-3 job, then the lateness of the type-1 job is at least 1 + H − d1 = 2q + 1, which means that π has an objective value greater than Z, a contradiction. (ii) If there are more than 2k batches, the objective value would be greater than Z. Property (i) implies that at least 2k shipments are needed. Thus, there are exactly 2k shipments. (iii) Property (ii) means that the contribution from the total shipment cost to the objective value is already equal to Z. Thus, Lmax = 0, and there is no late job. (iv) If a type-3 job is processed before a type-1 job, then the completion time of the type-1 job is at least H + 1 > d1 , implying that the type-1 job is late, leading to a contradiction with Property (iii). (v) This follows directly from Properties (i) and (ii). To complete the proof, we show that there is a solution to the constructed instance of our problem with total cost less than or equal to Z if and only if there is a solution to SS. (⇒) Given a subset U ⊆ Q such that i∈U ai = B, we construct a schedule for the instance of our problem as follows: First, process all the type-1 jobs from customers in Q \ U in any order and deliver each of these jobs in a separate shipment; next, process the type-1 and type-2 jobs from each customer i ∈ U consecutively and deliver the two jobs from each customer i ∈ U together; next, process the type-2 and type-3 jobs from each customer i ∈ Q \ U consecutively and deliver the two jobs from each customer i ∈ Q \ U together; finally, process the type-3 jobs from the customers in U and deliver each of the jobs separately. Let the cardinality of set U be u. The cardinality of Q \ U is thus q − u. In the above constructed schedule, the delivery time of the last shipment containing type-1 and type-2 jobs is T1 = q +
ai = q + B = d1 .
i∈U
Hence, all the type-1 jobs are delivered before or at their due date. Similarly, the delivery time of the last shipment containing type-2 and type-3 jobs is
3.5 Problems with Batch Delivery to Multiple Customers
T2 = T1 + (H + 1)
91
ai = q + B + (H + 1)(A − B) = d2 .
i∈Q\U
Thus, all the type-2 jobs are delivered before or at their due date. Similarly, the delivery time of the last type-3 job in the schedule is T3 = T2 + H
ai = q + B + (H + 1)(A − B) + H B = q + (H + 1)A = d3
i∈U
Thus, all the jobs are delivered on time. The number of shipments in this schedule is (q − u) + u + (q − u) + u = 2q = Z. Hence, the objective value of the schedule is equal to Z. (⇐) In a given schedule for the instance of our problem with an objective value less than or equal to Z, let u be the number of shipments that contain type-1 and type-2 jobs, and U be the set of the corresponding type-2 jobs in these shipments. Since no late jobs exist in the schedule (from Property (iii) proved above), all these jobs should be delivered no later than d1 = q + B. Since the delivery time for the last type-1 job is at least X1 = q + i∈U ai , we have X1 ≤ d1 = q + B, which implies that ai ≤ B. (3.19) i∈U
Similarly, the delivery time of the last shipment containing type-2 and type-3 jobs should not be greater than d2 . By Property (iv) proved above, the completion time of the last shipment containing type-2 and type-3 jobs is at least X1 + (H + 1) i∈Q\U ai . Thus, X1 + (H + 1)
ai ≤ d2 ,
i∈Q\U
which implies that q+
ai + (H + 1)
i∈U
ai = q + A + H
i∈Q\U
ai
i∈Q\U
≤ q + B + (H + 1)(A − B). Thus,
i∈Q\U
ai ≤ A − B, i.e.,
ai ≥ B.
(3.20)
i∈U
From (3.19) and (3.20), we have
i∈U
ai = B, and hence U is a solution to SS.
92
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Remark 3.2 Since in the proof of Theorem 3.10, the constructed instance of problem 1||V (∞, c), direct|k|Lmax + T C involves three jobs for each customer, this proof still works if in this instance the vehicle capacity c is changed to any number greater than 3. Thus the proof also works for problem 1||V (∞, ∞), direct|k|Lmax +T C, and hence this problem is also at least ordinarily N P -hard.
3.5.1.2
DP Algorithm
We describe the dynamic programming algorithm of Hall and Potts (2003) for problem 1||V (∞, ∞), direct|k|Lmax + T C. Their algorithm is based on a straightforward property of this problem: There is an optimal schedule where (i) the jobs from each customer are processed in EDD order, and (ii) the jobs delivered in a shipment are processed consecutively, and the departure time of the shipment is equal to the completion time of the last job in this shipment. Algorithm A3.9 Initialization Reindex the jobs of each customer in EDD order. Value Function F (j1 , . . . , jk ; h1 , . . . , hk ) = the minimum value of the maximum lateness in a partial schedule that processes the first ji jobs of each customer i, i.e., jobs (i, 1), . . . , (i, ji ), and delivers them using hi shipments, for i = 1, . . . , k. Boundary Condition F (0, . . . , 0; 0, . . . , 0) = −∞. Optimal Solution Value minh1 ,··· ,hk F (n1 , . . . , nk ; h1 , . . . , hk ) + ki=1 fi hi , where the minimization is over 1 ≤ hi ≤ ni for i = 1, . . . , k. Recurrence Relation For ji = 0, 1, . . . , ni and hi = 0, 1, . . . , ji , i = 1, . . . , k: F (j1 , . . . , jk ; h1 , . . . , hk ) =
min
i=1,...,k; min{ji ,1}≤li ≤ji
⎧ ⎨ ⎩ where Gi (li ) = 1, hi+1 , . . . , hk ).
⎧ ⎨
max Gi (li ), ⎩
ji k i=1 u=1
piu + ti − di,li
⎫⎫ ⎬⎬ ⎭⎭
,
F (j1 , . . . , ji−1 , li − 1, ji+1 , . . . , jk ; h1 , . . . , hi−1 , hi −
The recurrence relation in the above algorithm compares the cost of having the current last ji − li + 1 jobs from customer i, i.e., (i, li ), . . . , (i, ji ), as the last
3.5 Problems with Batch Delivery to Multiple Customers
93
shipment, for i = 1, . . . , k. Hall and Potts (2003) show that this algorithm solves problem 1||V (∞, ∞), direct|k|Lmax + T C to optimality in O(n2k+1 ) time.
3.5.1.3
Heuristic
Finally, we discuss the heuristic by Pundoor and Chen (2005) for problem 1||V (∞, c), direct|k|Lmax +T C. We first define some new terms. The shipping due date of job (i, j ), denoted as dij , is defined as dij = dij − ti , which is the latest time that the shipment containing this job must leave the plant in order for the shipment to arrive at its destination by this job’s due date. We define the SEDD sequence for a given set of jobs as the nondecreasing order of their shipping due dates, where in defining SEDD, in case of a tie, we arrange the jobs in nondecreasing order of their processing times. If both the shipping due dates and the processing times are the same, we then arrange them by their customer index, followed by their job index. Clearly, the above tie-breaking rule defines a unique SEDD sequence for a given set of jobs. Also, in the SEDD sequence, jobs from the same customer are sequenced in EDD order. The heuristic of Pundoor and Chen (2005) is based on an optimality property of the problem, which is described below. Lemma 3.9 There exists an optimal 1||V (∞, c), direct|k|Lmax + T C where
schedule
for
problem
(i) The jobs that are delivered in the same shipment are processed consecutively in EDD sequence. (ii) The first job from each shipment together forms an SEDD sequence. (iii) For any given shipment, let u denote the first job processed in this batch. All the jobs that come before u in the SEDD sequence for all the jobs are processed before this batch of jobs. The heuristic generates a schedule that satisfies the properties in Lemma 3.9 by (i) first solving a single-customer auxiliary problem for each customer independently in such a way that the contribution due to the other customers is taken care of indirectly, and (ii) then combining the schedules for individual customers to obtain a single schedule. The single-customer auxiliary problem for customer i ∈ K, denoted as AU Xi , is defined as follows: Schedule the processing and delivery of the jobs from Ni subject to the following two constraints: (i) The jobs are processed in EDD order on the machine. (ii) The departure time of each delivery shipment B containing (i, j ) as the first job is required to be the sum of CijSEDD and the total processing time of the remaining jobs in the batch, i.e., (i,u)∈B piu − pij , where CijSEDD is the completion time of job (i, j ) when all the jobs in N are processed in SEDD sequence.
94
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
The objective of problem AU Xi is to minimize the maximum delivery lateness of the jobs given that the jobs are delivered in a pre-specified number of batches. Due to constraint (ii), a feasible schedule to AU Xi may contain idle time between the processing of the last job in one batch and the first job in the next batch. Each auxiliary problem AU Xi can be solved to optimality by the following dynamic programming algorithm. Algorithm A3.10 Value Function F (j, m) is the minimum maximum delivery lateness for the first j jobs {(i, 1), (i, 2), . . . , (i, j )} when they are delivered in m shipments. Boundary Condition F (0, 0) = 0. Recurrence Relation For j = 1, . . . , ni , and m = j/c, . . . , j , F (j, m) =
⎧ ⎨ min
1≤q≤min{c,j } ⎩
⎧ ⎨
max F (j − q, m − 1) , ⎩
⎛ SEDD max ⎝0, Ci,j −q+1 +
j u=j −q+2
⎞⎫⎫ ⎬⎬ piu + ti − di,j −q+1 ⎠ . ⎭⎭
Optimal Solutions For any m = ni /c, . . . , ni , F (ni , m) is the minimum maximum lateness for AU Xi when the jobs of customer i are delivered in m shipments. In the recurrence relation of the above algorithm, the current last delivery shipment contains q jobs (i, j − q + 1), . . . , (i, j ), and all possible values of q, 1 ≤ q ≤ min{c, j }, are considered. The second max operator calculates the maximum lateness of the jobs in the current last shipment. Let Limax (m) be the optimal maximum lateness and Λi (m) denote the corresponding batch configurations in the optimal solution of AU Xi with m delivery shipments. Let Γi = {Limax (m)|m = ni /c, . . . , ni }, and Γ = Γ1 ∪ Γ2 ∪ · · · ∪ Γk . Then, |Γ | ≤ ki=1 (ni − ni /c + 1). Next, we present the heuristic of Pundoor and Chen (2005) for problem 1||V (∞, c), direct|k|Lmax + T C. Heuristic H3.3 Step 1: Create an auxiliary problem AU Xi , as described above, for each customer i ∈ K. Solve AU Xi by the above Algorithm A3.10, for all i ∈ K. Step 2: For each value x ∈ Γ , and each customer i ∈ K, define mi (x) to be the minimum number of shipments m ∈ {ni /c, . . . , ni } that satisfies Limax (m) ≤ x. If such an m does not exist, then define mi (x) = ∞. Find x ∗ ∈ Γ such that ∗
x +
i∈K
∗
fi mi (x ) = min x + x∈Γ
i∈K
% fi mi (x) .
(3.21)
3.5 Problems with Batch Delivery to Multiple Customers
95
With x ∗ thus identified, for each customer i ∈ K, the corresponding number of delivery shipments mi (x ∗ ) and the corresponding batch configurations Λi (mi (x ∗ )) in the optimal solution of AU Xi with mi (x ∗ ) delivery shipments are all known. Step 3: Sequence all the batches of jobs determined by the batch configurations {Λi (mi (x∗))|i ∈ K} obtained in Step 2 such that the first job from each of these batches together forms an SEDD sequence. This gives a feasible schedule π for the original problem. Calculate the objective value of π . We note that in Step 2, the selected value of maximum lateness x ∗ optimizes the overall objective when each customer is considered separately. The schedule π generated in Step 3 satisfies the properties of Lemma 3.9. Pundoor and Chen (2005) show that the overall complexity of Heuristic H3.3 is O(n2 c + nk log n), and that the heuristic is asymptotically optimal for problem 1||V (∞, c), direct|k|Lmax + T C as n goes to infinity, with k and c fixed. They also conduct computational tests by comparing the solutions generated by the heuristic and lower bounds generated by solving the LP relaxation of an integer programming formulation of the problem. They use randomly generated test instances with a relatively small size involving 20, 30, or 40 jobs, 2 or 4 customers, and a vehicle capacity 2 or 4. The heuristic solves every test problem within 1 CPU second. The average gap between the objective value generated by the heuristic and the lower bound is less than 5%. We give a numerical example below to illustrate the steps of Heuristic H3.3. Example 3.10 (Application of Heuristic H3.3) Consider an instance of problem 1||V (∞, c), direct|k|Lmax + T C with 5 jobs and 2 customers. The problem parameters are given as n1 = 3, n2 = 2, c = 2, t1 = 3, t2 = 5, f1 = 1, f2 = 1.5, and the processing times pij , due dates dij , and shipping due dates dij shown in the following table, where the jobs from each customer are indexed in EDD order. The SEDD sequence of all the jobs together is ((1, 1), (2, 1), (1, 2), (2, 2), (1, 3)) with SEDD = 4, C SEDD = 7, C SEDD = 8, C SEDD = 10, C SEDD = 12. C11 21 12 22 13 Job (i, j ) pij dij dij
(1, 1) 4 3 0
(1, 2) 1 6 3
(1, 3) 2 12 9
(2, 1) 3 7 2
(2, 2) 2 9 4
Step 1: For each customer i = 1, 2, solve the auxiliary problem AU Xi using Algorithm A3.7 as follows. Since it is a small instance, we can simply enumerate all possible delivery batches that can be involved in AU Xi . For AU X1 , there can be either 2 or 3 batches (i.e., m ∈ {2, 3}). When m = 2, there are two possible batch formations, B1 = {(1, 1), (1, 2)}, B2 = {(1, 3)} or B1 = {(1, 1)}, B2 = {(1, 2), (1, 3)}. Let Lmax (B) denote the maximum lateness of the jobs in a given batch B. Based on how the departure time of a batch is
96
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
defined for the auxiliary problem, it can be calculated that in the first case of batch SEDD + p + t − d ) = 5, and L formation, Lmax (B1 ) = max(0, C11 12 1 11 max (B2 ) = SEDD max(0, C13 +t1 −d13 ) = 3, which means that the maximum lateness of all the jobs together is 5. Similarly, in the second case of batch formation, Lmax (B1 ) = SEDD + t − d ) = 4, and L SEDD + p + t − max(0, C11 1 11 max (B2 ) = max(0, C12 13 1 d12 ) = 7, which means that the maximum lateness of all the jobs together is 7. Thus, the first case of batch formation is optimal for AU X1 with m = 2, and the associated maximum lateness is 5. For AU X1 , when m = 3, there is only one possible batch formation, B1 = {(1, 1)}, B2 = {(1, 2)}, B3 = {(1, 3)}. It can be calculated that Lmax (B1 ) = 4, Lmax (B2 ) = 5, and Lmax (B3 ) = 3, which means that the maximum lateness of all the jobs together is 5. For AU X2 , there can be 1 or 2 batches, i.e., m ∈ {1, 2}. When m = 1, the only possible batch formation is B = {(2, 1), (2, 2)} with Lmax(B) = SEDD + p + t − d } = 7. When m = 2, the only possible batch max{0, C21 22 2 21 formation is B1 = {(2, 1)}, B2 = {(2, 2)} with Lmax (B1 ) = 5 and Lmax (B2 ) = 6, which means that the maximum lateness of all the jobs together is 6. Step 2: Γ = {5, 6, 7}. It can be seen from the results derived above that for x = 5, m1 (x) = 2 and m2 (x) = ∞; for x = 6, m1 (x) = 2 and m2 (x) = 2; and for x = 7, m1 (x) = 2 and m2 (x) = 1. By (3.21), we find that x ∗ = 7 with ∗ x + 2i=1 fi mi (x ∗ ) = 10.5, and the corresponding batch formation consisting of {(1, 1), (1, 2)}, {(2, 1), (2, 2)}, {(1, 3)} is used. Step 3: Schedule the batches generated in Step 2 so that the first jobs in them follow an SEDD sequence. This gives the final sequence of the jobs on the machine: (1, 1), (1, 2), (2, 1), (2, 2), (1, 3), which are delivered in batches as specified in Step 2. This is the final solution generated by the heuristic for the given instance. This solution has Lmax = 8 and a total cost of 8 + 2f1 + f2 = 11.5. It can be verified that an optimal solution for this example is the following: Use the same sequence to process the jobs as in Step 3, but use four delivery batches instead as follows: {(1, 1), (1, 2)}, {(2, 1)}, {(2, 2)}, {(1, 3)}. This solution gives Lmax = 6 and a total cost of 6 + 2f1 + 2f2 = 11.
3.5.2 Parallel-Machine Total Delivery Time and Transportation Cost Problem with Routing In this section, we consider problem Pm ||V (∞, c), routing|k| Dj + T C, where because the delivery method of “routing” is used, jobs from different customers can be delivered together in a shipment. This problem with a fixed number of customers k is at least ordinarily NP -hard because when k = 1, it is already ordinarily NP hard, as discussed in Sect. 3.4.4. When the number of customers k is arbitrary, however, this problem becomes strongly NP -hard because it contains the strongly N P -hard traveling salesman problem as a special case. Whether this problem with a fixed k is strongly NP -hard or not is apparently an open question.
3.5 Problems with Batch Delivery to Multiple Customers
97
Chen and Vairaktarakis (2005) propose a heuristic for this problem with a running time that is exponential in k and worst-case performance ratio of 2 − 1/m. The idea of the heuristic is similar to Heuristic H3.2 presented in Sect. 3.4.4for the special case of the problem with one customer, i.e., Pm ||V (∞, c), direct|1| Dj + T C. The heuristic starts with an auxiliary single-machine problem, solves it by a dynamic programming algorithm, and transforms the solution for this problem into a feasible solution for the parallel-machine problem under study. Below, we discuss how the auxiliary problem is defined and solved. The rest of the heuristic is exactly the same as H3.2 described in Sect. 3.4.4 and hence is not discussed. We first consider the single-machine case of the problem, i.e., 1||V (∞, c), routing|k| Dj + T C. It can be shown that there exists an optimal schedule for the problem where the jobs from each customer are processed in SPT order on the machine. However, on each machine, the jobs of different customers do not necessarily form an SPT order. Algorithm A3.11 Initialization Reindex the jobs in Ni from each customer i ∈ K as (i, 1), . . . , (i, ni ) such that pi,1 ≤ · · · ≤ pi,ni . Define set Qih = {(i, 1), . . . , (i, h)}, and Riuv = Qiv \ Qi,v−u = {(i, v − u + 1), (i, v − u + 2), . . . , (i, v)}, and parameter Pih = hl=1 pil for h = 1, . . . , ni , v = u, . . . , ni , u = 1, . . . , c, and i ∈ K. Value Function F (j1 , . . . , jk ) is the minimum objective value of a schedule for the j1 + · · · + jk jobs from ∪ki=1 Qi,ji . In addition, define ti (τ, X) = the time needed to reach customer i from the plant in a given route τ covering all the customers associated with the jobs in the set X. g(τ, q1 , . . . , qk ) = the total transportation cost of a given route τ , which delivers qu jobs to customer u for u = 1, . . . , k [hence route τ visits all the customers u with qu ≥ 1]. Initial Condition F (0, . . . , 0) = 0. Recurrence Relation For ji = 0, 1, . . . , ni ; i = 1, 2, . . . , k. F (j1 , . . . , jk ) =
min
q1 ,...,qk ;τ
+
i∈K
& F (j1 − q1 , . . . , jk − qk )
qi
Pl,jl + ti (τ, ∪l∈K Rl,ql ,jl ) + g(τ, q1 , . . . , qk )
l∈K
| qi ≤ ji for i ∈ K and 1 ≤
' i∈K qi ≤ c; τ ∈ T (∪l∈K Rl,ql ,jl ) ,
where T (∪l∈K Rl,ql ,jl ) is the set of all possible routes covering all the customers associated with the jobs in ∪l∈K Rl,ql ,jl . Optimal Solution Value F (n1 , . . . , vk ).
98
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Chen and Vairaktarakis (2005) show that Algorithm A3.11 finds an optimal schedule for problem 1||V (∞, c), routing|k| Dj + T C in O(nk ck k k−1 ) time. When k is fixed, this algorithm has a polynomial time complexity. The auxiliary problem used in the heuristic given in Chen and Vairaktarakis (2005) for problem Pm ||V (∞, c), routing|k| Dj + T C is defined in exactly the same way as the auxiliary problem used in Heuristic H3.2 described in Sect. 3.4.4: Find a way to partition the job set N into subsets S1 , S2 , . . . such that the number of jobs in each subset Sq is no more than c, and deliver each subset of jobs Sq in one shipment with departure time dq equal to the maximum between (i) max{pj |j ∈ S1 ∪ . . . ∪ Sq }, and (ii) j ∈S1 ∪...∪Sq pj /m, so as to minimize the objective function Dj + T C. Remark 3.3 It can be seen that this auxiliary problem is the same as the single machine problem 1||V (∞, c), direct|k| Dj +T C, except that the departure time of a shipment is calculated as the maximum of (i) and (ii) in the earlier problem, whereas it is the completion time of the job completed last in a shipment in the latter problem. Chen and Vairaktarakis (2005) show that the auxiliary problem can be solved by a modified version of Algorithm A3.11, where the recurrence relation is replaced by the recurrence relation below: & F (j1 − q1 , . . . , jk − qk ) F (j1 , . . . , jk ) = min q1 ,...,qk ;τ
+
( qi max max{pl,jl |l = 1, . . . , k}, Pl,jl /m
i∈K
+ti (τ, ∪kl=1 Rl,ql ,jl )
l∈K
)
+g(τ, q1 , . . . , qk ) | qi ≤ ji for i ∈ K and 1 ≤
' i∈K qi ≤ c; τ ∈ T (∪l∈K Rl,ql ,jl ) .
The computational tests conducted by Chen and Vairaktarakis (2005) show that their heuristic can generate near-optimal solutions. However, the computational time taken by the heuristic is quite sensitive to the number of customers k. When k ≤ 3, the heuristic can solve instances with up to 160 jobs quickly. When k = 4 or 5, the heuristic can generate solutions for instances with up to 80 jobs in a reasonable amount of time. Chen and Vairaktarakis (2005) also study the value of productiondistribution integration by comparing the integrated approach reflected in problem Pm ||V (∞, c), direct|k| Dj + T C where production and distribution scheduling are considered jointly, with a typical sequential approach that considers production and distribution scheduling sequentially. The value of integration is defined as the relative improvement of the objective value from the sequential approach to the inte-
3.5 Problems with Batch Delivery to Multiple Customers
99
grated approach. In a typical sequential approach (SA), the production part assumes that each job j ∈ Ni once completed is delivered to its customer immediately, i.e., D = C +t , and minimizes the total delivery time Dj (equivalently, minimizing j j i Cj ) without considering how jobs are actually delivered. The distribution part in this approach minimizes the total transportation cost T C given the production schedule generated from the production part. This is a vehicle routing problem which can be solved by a modified version of Algorithm A3.11 described above, where the value function V (j1 , · · · , jk ) is redefined as the total transportation cost of the jobs involved, and the recurrence relation is revised as F (j1 , . . . , jk ) =
min
q1 ,...,qk ;τ
F (j1 − q1 , . . . , jk − qk ) + g(τ, q1 , . . . , qk )
| qi ≤ ji for i ∈ K and 1 ≤
i∈K
qi ≤ c; τ ∈ T (∪l∈K Rl,ql ,jl ) .
The computational results in Chen and Vairaktarakis (2005) show that (i) the value of integration is more than 5% for most of the test instances and more than 10% for many test instances with k ≥ 4, and (ii) the value of integration increases with the number of customers k and vehicle capacity c.
3.5.3 Problems with a Limited Number of Vehicles and Direct Shipping In this section, we consider problems 1||V (v, c), direct|k|Dmax and 1||V (v, c), direct|k| Dj . We first describe some optimality properties of these problems in the following lemma. Some of the properties are proved by Chen (2010) and the rest are straightforward. Hence, we do not give proofs. Lemma 3.10
(i) For problems 1||V (v, c), direct|k|Dmax and 1||V (v, c), direct|k| Dj , there exists an optimal schedule where (1) the jobs from each customer are processed in nondecreasing sequence of their processing times (call such a sequence a customer-SPT sequence), (2) jobs delivered in the same shipment are processed consecutively, and (3) a shipment containing jobs completed earlier departs no later than a shipment containing jobs completed later. (ii) For problem 1||V (v, c), direct|k|Dmax , the jobs from each customer i ∈ K are delivered in ei = ni /c shipments, where if ni /c is not an integer, then the first shipment contains ui = ni − (ei − 1)c jobs and every other shipment contains c jobs, and otherwise, every shipment contains c jobs.
We first focus on problem 1||V (v, c), direct|k|Dmax . Different cases of the problem 1||V (v, c), direct|k|Dmax may have different tractability. As shown in Sect. 3.4.5, the problem with a single customer (i.e., k = 1) is solvable in O(n log n) time. Chen (2010) shows that (i) the problem with a single vehicle and an arbitrary
100
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
number of customers, i.e., 1||V (1, c), direct|k|Dmax is solvable in polynomial time, and (ii) the problem with at least two vehicles v ≥ 2 and an arbitrary number of customers is strongly NP -hard. Below, we show that this problem with an arbitrary number of vehicles and a fixed number of customers can be solved in polynomial time. We briefly describe how the problem 1||V (v, c), direct|k|Dmax with a fixed k can be solved in polynomial time. By Lemma 3.10, we can batch the n jobs into e shipments, where e = e1 + · · · + ek , and by treating each of the e batches as a single combined job, the problem can then be viewed as equivalent to 1||V (v, 1), direct|k|Dmax . In this equivalent problem 1||V (v, 1), direct|k|Dmax , there are ei combined jobs from each customer i ∈ K, where the processing time of a combined job (i, j ) is equal to the total processing time of the corresponding individual jobs, and is denoted as Pij . Thus, in the following, we focus on solving problem 1||V (v, 1), direct|k|Dmax , where there are ei jobs from each customer i ∈ K, and the total number of jobs is e = e1 + · · · + ek . Applying Lemma 3.10 to problem 1||V (v, 1), direct|k|Dmax , we can see that in an optimal solution the jobs are processed in customer-SPT sequence. Reindex the jobs of each customer in SPT order. We observe that there are at most ek different schedules for processing the e jobs in the problem that are customerSPT sequences. By Lemma 3.10, we observe that to find an optimal solution for problem 1||V (v, 1), direct|k|Dmax , we can enumerate all possible customer-SPT sequences for processing jobs, and for the job processing schedule corresponding to each such sequence, use a delivery schedule that satisfies Property (i)(3) of the lemma. Furthermore, we observe that given any job processing sequence, the following delivery schedule is optimal among those that satisfy Property (i)(3) of the lemma: Whenever a job completes processing, if there is at least one vehicle waiting at the plant, assign it to any such vehicle; if there is no vehicle available at the plant, assign it to the next returning vehicle. For any given processing schedule, it takes O(ev) time to create such a delivery schedule. The overall procedure provided above for solving problem 1||V (v, c), direct|k|Dmax has a time complexity O(ek + ev) = O((n/c)k + nv/c), which is polynomial in v, but exponential in k. Next, we consider problem 1||V (v, c), direct|k| Dj . The complexity spectrum of the various cases of this problem is as follows. As shown in Sect. 3.4.5, when there is a single customer (k = 1), the problem with a fixed number of vehicles is solvable in polynomial time, and the problem with an arbitrary v is open. When there are multiple customers (k ≥ 2), the problem with a single vehicle (i.e., 1||V (1, c), direct|k| Dj ) is polynomially solvable if k is fixed (Li et al., 2005a), and strongly NP -hard if k is arbitrary (Chen, 2010). For problem 1||V (v, c), direct|k| Dj , we show below that when both k and v are fixed, a polynomial time algorithm can be constructed for the problemby applying the ideas of Li et al. (2005a) for their problem 1||V (1, c), direct|k| Dj , and Algorithm A3.8 given in Sect. 3.4.5 for problem 1||V (v, c), direct|1| Dj . However, to our knowledge, the complexity of this problem remains open when either k or v or both are arbitrary.
3.5 Problems with Batch Delivery to Multiple Customers
101
By Lemma 3.10, for problem 1||V (v, c), direct|k| Dj , we only consider processing schedules that are customer-SPT sequences. In any schedule that is acustomer-SPT sequence, the completion time of any job can be expressed as k x i p , for some (x1 , . . . , xk ) with 0 ≤ xi ≤ ni for i = 1, . . . , k. Thus, ij i=1 j =1 *k there are at most i=1 (ni +1) ≤ nk different values of job completion times. Let the set of these different values of job completion times be Γ . Following the discussion in Sect. 3.4.5 and the idea of Procedure DepTime given there, we observe that a vehicle can depart at any possible job completion time Cij ∈ Γ and any possible return time after it completes consecutive round-trips without any idle time, i.e., Cij + kl=1 2yl tl , for some y1 , . . . , yk with y1 + · · · + yk ≤ n. Then, corresponding to each Cij ∈ Γ , there are at most nk possible departure times. Thus, the total number of possible departure times of a shipment is no more than n2k . Let Ω be the set of all possible departure times of a shipment. By a similar idea to Sect. 3.4.5 for problem Algorithm A3.8, which is given in 1||V (v, c), direct|1| Dj , problem 1||V (v, c), direct|k| Dj can be solved by the following dynamic programming algorithm. Algorithm A3.12 Initialization Reindex the jobs of each customer in SPT order. Calculate possible departure times as discussed above. Value Function Define F (j1 , . . . , jk ; s1 , . . . , sv ; r1 , . . . , rv ) to be the minimum total delivery time of a partial schedule containing the first ji jobs of each customer i, i.e., jobs (i, 1), . . . , (i, ji ) for i = 1, . . . , k, provided that the v vehicles last depart from the plant at times τ1 , . . . , τv , and going to customers r1 , . . . , rv , respectively, where τl ∈ Ω and rl ∈ K, for l = 1, . . . , v. Boundary Conditions F (0, . . . , 0; 0, . . . , 0; 0, . . . , 0) = 0; F (j1 , . . . , jk ; τ1 , . . . , τv ; r1 , . . . , rv ) = ∞ for any state satisfying one of the following: ji pix . (a) max1≤l≤v {τl } < i∈K x=1 (b) for every 1 ≤ l ≤ v with sl = max1≤u≤v {su }, jrl = 0. Recurrence Relation For ji = 0, . . . , ni for i = 1, . . . , k, and τl ∈ Ω and rl ∈ K for l = 1, . . . , v: F (j1 , . . . , jk ; τ1 , . . . , τv ; r1 , . . . , rv ) F (j1 , . . . , ji−1 , ji − hi , ji+1 , jk ; = min i∈I ; 1≤hi ≤min{c,ji }
τ1 , . . . , τv ; r1 , . . . , rv ) + hi (ti + τδi )
| τ1 , . . . , τv and r1 , . . . , rv satisfy the conditions (i) and (ii) described below ,
102
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
where I is the set consisting of every customer i ∈ K that satisfies the following: There is a vehicle, denoted as δi ∈ {1, . . . , v}, such that rδi = i, sδi = ji pix . [i.e., vehicle δi departs at the latest time max1≤u≤v {su }, and sδi ≥ i∈K x=1 currently, its departure time is no earlier than the completion time of the current last job, and is going to customer i]. The two conditions (i) and (ii) involved in the recurrence relation are (i) τl = τl and rl = rl for l = 1, . . . , δi − 1, δi + 1, . . . , v, (ii) τδi ∈ Ω with τδi + 2trδ ≤ τδi , and rδ i ∈ {1, . . . , k}. i
Optimal Solution Value min{F (n1 , . . . , nk ; τ1 , . . . , τv ; r1 , . . . , rv )} over all possible τ1 , . . . , τv and r1 , . . . , rv with τl ∈ Ω and rl ∈ K. Theorem 3.11 Algorithm A3.12 solves problem 1||V (v, c), direct|k| Dj to optimality in O(ck v+2 n(2v+3)k ) time. Proof We provide a sketch of the proof. The optimality of the above algorithm is quite straightforward. The recurrence relation considers every possible configuration of the last shipment in the current partial schedule. The last shipment can be for jobs from any customer i ∈ I with a size varying from 1 to min{c, ji }. The two conditions (i) and (ii) ensure the feasibility of the vehicle departure times and their destinations when transitioning from state (τ1 , . . . , τv ; r1 , . . . , rv ) to state (τ1 , . . . , τv ; r1 , . . . , rv ). In the algorithm, there are O(nk ) combinations of (j1 , . . . , jk ), O(n2kv ) combinations of (τ1 , . . . , τv ), and O(k v ) combinations of (r1 , . . . , rv ). Thus, there are a total of O(nk n2kv k v ) = O(n(2v+1)k k v ) possible states. To calculate the value of each state, the recurrence relation is run over O(kc) possible combinations of i and hi , and for each such combination, O(|Ω|k) possibilities of (τδi , rδ i ) are considered. Thus, the computation time for each state is O(kcn2k k) = O(ck 2 n2k ). Therefore, the overall time complexity of the algorithm is O(ck v+2 n(2v+3)k ).
3.6 Problems with Fixed Delivery Departure Dates Problems with fixed delivery departure dates arise in applications where delivery vehicles have fixed departure times such as trains, liner ships, and air flights, and in applications where delivery is carried out by logistics service providers that pick up orders at preannounced times, e.g., 10:00 a.m. and 3:00 p.m. every weekday (e.g., Hall et al., 2001; Leung & Chen, 2013; Stecke & Zhao, 2007). Problems with fixed delivery departure dates can be classified generally into two classes: (1) problems with homogeneous vehicles where to reach a given customer destination, all the vehicles have the same travel time and incur the same cost, and (2) problems with heterogeneous vehicles where to reach a given customer destination, different vehicles may have different travel times and travel costs. We discuss several representative problems in each class in Sects. 3.6.1 and 3.6.2, respectively.
3.6 Problems with Fixed Delivery Departure Dates
103
3.6.1 Problems with Homogeneous Vehicles We consider several problems with a single machine, a single customer, and a finite number of homogeneous vehicles. They can all be represented as 1||V (v, c), f dep|1|γ , where γ ∈ {f (D), f (D)+T C} and f (D) is a nondecreasing function of D = (D1 , . . . , Dn ). Before we discuss any specific problem, we first define some additional notation unique to this class of problems. In these problems, we let h (h ≤ v) denote the number of distinct fixed vehicle departure times, let T1 , . . . , Th be these departure times with T1 < · · · < Th , and let v1 , . . . , vh be the number of vehicles that depart at these departure times, respectively, where v = v1 + · · · + vh is the total number of vehicles available. Each vehicle can deliver up to c jobs. All the vehicles are homogeneous in terms of their travel time and cost. We use t and f to denote the transportation time and cost of a delivery shipment between the plant and thecustomer, respectively. Without loss of generality, we assume that Th ≥ P = j ∈N pj . Without this assumption, not all jobs can be delivered and hence the problem is infeasible. However, the problem could still be infeasible even if Th ≥ P . The following simple two-step procedure can be used to check the feasibility of these problems: Feasibility Check for Problems 1||V (v, c), f dep|1|γ Step 1: Process the jobs on the single machine in SPT sequence. Step 2: For i = 1, . . . , h, do the following: Let xi be the number of jobs that have completed processing by time Ti but have not been delivered. Deliver yi = min{cvi , xi } of the xi jobs by the available vehicles that are to depart at time Ti . If yh = xh , then the problem is feasible; otherwise, the problem is infeasible. It is easy to see that under the SPT processing sequence in Step 1, a maximum number of jobs is completed by any point in time. In Step 2, as many jobs as possible are delivered by each departure time. Therefore, this procedure maximizes the total number of jobs that are delivered. Without loss of generality, we henceforth assume that all the problems considered in this section are feasible. We first present some optimality properties for the class of problems 1||V (v, c), f dep|1|γ , which are given in Chen (2010). Lemma 3.11 For any problem 1||V (v, c), f dep|1|γ that is feasible, where γ ∈ {f (D), f (D) + T C} and f (D) is a nondecreasing function of D = (D1 , . . . , Dn ), there exists an optimal schedule satisfying all of the following: (i) There is no idle time between the jobs on the machine; (ii) For each delivery batch, all the jobs in the batch are processed consecutively on the machine; (iii) Jobs that are processed earlier on the machine are delivered no later than those processed later on the machine;
104
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
(iv) At each departure time Ti , for i = 1, . . . , h, all the delivery batches, except possibly one batch, are full; and if a partial batch is delivered at time Ti , then all the jobs completed by Ti are delivered by Ti ; (v) For each i = 1, . . . , h, if not all the vi delivery vehicles with the departure time Ti are used, then there are less than c jobs that complete processing by Ti but are delivered at a later departure time.
3.6.1.1
Problem 1||V (v, c), f dep|1|
Dj + T C
We first consider problem 1||V (v, c), f dep|1| Dj + T C. By a pairwise interchange argument, we can show that processing jobs in SPT sequence is optimal. Based on this and the properties in Lemma 3.11, we use the SPT sequence for job processing, and given this sequence, optimally form batches of jobs and assign vehicles to these batches for delivery. Chen (2010) gives the following dynamic programming algorithm. Algorithm A3.13 Initialization Reindex the jobs such that p1 ≤ · · · ≤ pn . Process the jobs in the order 1, . . . , n. For i = 1, . . . , h, let bi be the number of jobs that have completed processing by time Ti under this processing sequence. Value Function F (i, u) = the minimum total contribution of the first u jobs {1, . . . , u} to the objective value in a solution satisfying the following two conditions: (1) All these jobs are delivered by vehicles with a departure time no later than Ti , and (2) all the other jobs {u + 1, . . . , n} are delivered by a vehicle with a departure time later than Ti . Boundary Condition F (0, 0) = 0. Recurrence Relation For i = 1, . . . , h, and u = 0, . . . , bi : F (i, u) = min F (i − 1, y) + (u − y)(Ti + t) + (u − y)/cf y
| max(0, u − cvi ) ≤ y ≤ u, and Cy ≤ Ti−1
Optimal Solution Value F (h, n). Chen (2010) proves the following theorem. Theorem 3.12 If problem 1||V (v, c), f dep|1| rithm A3.13 solves it optimally in O(n2 h) time.
Dj + T C is feasible, then Algo-
Proof For a given state (i, u), let x be the total number of jobs delivered at Ti . Clearly, 0 ≤ x ≤ min{u, cvi }. Let y = u − x. Then by Lemma 3.11, the x jobs delivered at Ti are jobs u, u − 1, . . . , y + 1, and the jobs 1, 2, . . . , y are delivered no later than Ti−1 . The recurrence relation of the algorithm considers all possible
3.6 Problems with Fixed Delivery Departure Dates
105
values of y (ranging from max(0, u − cvi ) to u), or equivalently all possible values of x (= 0, . . . , min{u, cvi }). Therefore, all possible cases of x are considered by the recurrence relation. By Lemma 3.11, the number of batches delivered at Ti is x/c = (u − y)/c. The term (u − y)(Ti + t) in the recurrence relation is the total contribution to Dj by the x jobs delivered at Ti , and the term (u − y)/cf is the total transportation cost contributed by these jobs. This shows the correctness of the recurrence relation and hence the optimality of the algorithm. Since the number of states in the DP is bounded by hn, and for each state the computational time is bounded by O(n), the overall complexity of the algorithm is O(n2 h).
3.6.1.2
Problem 1||V (v, c), f dep|1|Lmax
Next, we consider problem 1||V (v, c), f dep|1|Lmax . We describe the polynomialtime algorithm developed by Leung and Chen (2013) for this problem. We first consider a related problem, which is to decide whether there is a feasible schedule such that the maximum lateness is less than or equal to a given value g. For a given g, each job j ∈ N must be completed and delivered by time dj − t + g. Thus, we can convert the due date of each job j to the departure deadline d¯j , where d¯j is defined to be the latest departure time Tk that is less than or equal to dj − t + g. For a given g, the following procedure decides whether there is a feasible schedule where all the jobs are delivered by their departure deadlines. Procedure LF(g) 1. For each job j ∈ N, define its departure deadline d¯i as the latest departure time Tk that is less than or equal to dj − t + g. 2. For i = 1 to h, let J (i) = {j ∈ N | d¯j = Ti } be the subset of jobs with a deadline equal to Ti . 3. Let T0 = 0; J (0) = ∅; A = ∅; T = j ∈N pj . 4. For i = h, h − 1, . . . , 1, do the following: (a) Let A be all the jobs in J (i), arranged in nondecreasing order of their processing times. (b) If vi c < |A|, then take the first |A| − vi c jobs from A and merge them into J (i − 1). Update J (i − 1) and A accordingly. Update J (i) = A. (c) Let τ = j ∈J (i) pj . (d) Schedule the jobs in J (i) from time T − τ to T , and deliver these jobs by the vehicles available at time Ti . (e) Let T = T − τ . (f) If T > Ti−1 , then stop; the problem is not feasible. We briefly describe how the main steps of Procedure LF(g) work. In Step 4, we schedule the jobs backwards, starting at time T = j ∈N pj . We schedule the jobs in J (i), J (i − 1), . . . , J (1) in this order. Suppose we are scheduling the jobs in J (i). We sort the jobs in J (i) in nondecreasing order of their processing times and assign them to the set A. If there are more than vi c jobs in A, then the
106
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
vi vehicles with the departure time Ti cannot deliver all the jobs in A. In this case, we take the first |A| − vi c jobs out of A and merge them into J (i − 1); these jobs will be delivered by the vehicles at Ti−1 or earlier. The remaining jobs in A will be scheduled from time T − τ until T , and delivered by the vehicles at Ti . In Step 4(e), we decrease T by τ , and in Step 4(f), we check if T is larger that Ti−1 . If T is larger than Ti−1 , then there is a job in J (i − 1) that must complete processing after Ti−1 . This job cannot be delivered by any vehicles at Ti−1 . Hence, there is no feasible schedule. On the other hand, if T is less than or equal to Ti−1 , then we proceed to schedule the jobs in J (i − 1). We repeatedly call Procedure LF(g) with different values of g until we obtain the minimum Lmax . There are only a limited number of different values of g that we need to consider. Since there are only h possible delivery departure times, T1 , . . . , Th , the lateness of each job j has at most h possible values, T1 + t − di , . . . , Th + t − di . Therefore, the n jobs together have at most hn possible values of Lmax . The following algorithm solves problem 1||V (v, c), f dep|1|Lmax . Algorithm ML 1. Let k ≤ hn be the number of possible values of Lmax , and let these values be al , for l = 1, . . . , k. Let the al ’s be sorted in increasing order; i.e., a1 < a2 < · · · < ak . 2. For l = 1 to k do the following: (a) Call Procedure LF(g) with g = al . (b) If the procedure returns a feasible solution, then stop and the optimal Lmax is al . Leung and Chen (2013) show that Algorithm ML finds an optimal solution for problem 1||V (v, c), f dep|1|Lmax in O(h2 n2 log n) time. Leung and Chen (2013) further consider two related problems: (1) The problem of minimizing the total transportation cost (or equivalently the number of vehicles used) subject to the constraint that Lmax is minimized, and (2) the problem of minimizing the weighted sum of Lmax and the total transportation cost. They provide polynomial-time algorithms for both problems.
3.6.2 Problems with Heterogeneous Vehicles In this section, we consider several problems with fixed delivery departure times and heterogeneous vehicles. The first problem, discussed in Sect. 3.6.2.1, is commonly faced by make-to-order companies with a so-called commit-to-deliver business model and has been studied by several authors (Stecke & Zhao, 2007; Zhong et al., 2010, and Melo & Wolsey, 2010). Several other problems, discussed in Sect. 3.6.2.2, are motivated by applications where each customer order has a delivery time window within which the order needs to be delivered to the customer and have been studied by Li et al. (2017).
3.6 Problems with Fixed Delivery Departure Dates
3.6.2.1
107
Problem 1|d¯j |Vhet (∞, 1), f dep|1|T C
We first briefly describe the business environment where such a scheduling problem arises. There are two business models that a make-to-order company uses, namely, commit-to-ship and commit-to-deliver (Stecke & Zhao, 2007). Under the commit-toship business model, the company commits to a shipping date for each order, which is the date by which the order has completed processing and shipped out. In this case, the company only needs to determine a production schedule based on the committed shipping dates, and the customer of each order needs to choose a shipping mode for order delivery and pay the shipping cost. Under the commit-to-deliver business mode, the company commits to a delivery date for each order, which is the date when the order is delivered to its customer. In this case, the company needs to determine both a production schedule and a shipping plan, and pay the shipping cost. In the commit-to-deliver case, if an order is completed early, a slow shipping mode should be chosen to deliver the order in order to minimize the shipping cost. On the other hand, if an order is completed late, a fast shipping mode may have to be used in order to meet the committed delivery due date. Therefore, in a commit-to-deliver situation, it is necessary to schedule production and delivery operations jointly. In practice, companies often use third-party logistics (3PL) providers to deliver completed orders to customers. A 3PL provider typically offers multiple shipping modes with different shipping time guarantees (e.g., 1 day, 2 days, etc.) and charges a shipping cost for an order that is typically increasing with the order size and decreasing with the shipping time guaranteed. There are usually one or more fixed order pickup time points on each business day. The order pickup time points over a given planning horizon can be viewed as the fixed vehicle departure times, and each available shipping mode at an order pickup time can be viewed as a heterogeneous vehicle which has a distinct shipping time and a shipping cost. In many practical situations, production costs are independent of how orders are scheduled. Also, because completed orders are delivered shortly, inventory holding costs are negligible. Thus, transportation cost is the primary concern. Therefore, by the five-field notation given in Sect. 3.2, the joint production and delivery scheduling problem can be represented as 1|d¯j |Vhet (∞, 1), f dep|1|T C. We now define the problem in a way that is consistent with the application background described above. At the beginning of a planning horizon consisting of m days, a manufacturer has accepted n orders N = {1, 2, . . . , n} to be scheduled on a single production line. Each order i ∈ N requires Qi units of some products and has a delivery deadline di (2 ≤ di ≤ m) promised by the manufacturer. Without loss of generality, we assume that m = max{di | i ∈ N}. All the products have the same unit weight and the same unit production capacity requirement. The production line can produce up to c units of products daily. We assume that Qi ≤ c, for i = 1, 2, . . . , n, and ni=1 Qi > c. A 3PL provider picks up the finished orders for shipping at the end of each day in the planning horizon. The manufacturer needs to choose a shipping time for each order to be shipped and pay a corresponding shipping cost to the 3PL. The shipping
108
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
time that can be chosen varies from 1 day, 2 days, . . ., to m − 1 days. The cost for shipping an order i with a shipping time of x days is calculated as the following function G(x, Qi ) = Qi g(x), where g(x) is either a linear decreasing function of x, i.e., g(x) = α − βx with α, β > 0 and α − β(m − 1) > 0, or a convex decreasing function with g(m − 1) > 0. The conditions α − β(m − 1) > 0 and g(m − 1) > 0 ensure that the unit shipping cost of each order is always positive even with the slowest shipping mode possible (i.e., m − 1 days of shipping time). Define Sj = {i ∈ N | di ≤ j + 1}, which is the subset of orders that must complete processing by the end of day j in order for them to be delivered no later than their deadlines. To ensure that a feasible schedule exists, we assume that there is enough production capacity, i.e.,
Qi ≤ c · j, for j = 1, 2, . . . , m − 1.
(3.22)
i∈Sj
Partial delivery may or may not be allowed. If partial delivery is not allowed, then all the units of any order i have to be delivered on the same day when the last unit of the order finishes processing. Otherwise, not all units of an order need to be delivered on the same day. For ease of presentation, we use the term shipping mode and shipping time interchangeably. For example, we may say that the shipping mode for order i is ri days, which is equivalent to saying that the shipping time for the order is ri days. Remark 3.4 Given that the shipping cost of an order decreases as the shipping time increases, it is optimal for the manufacturer to ship an order or a partial order as soon as possible using the slowest shipping mode possible without violating the promised delivery due date. Thus, if partial delivery is allowed, then if a fraction of order i completes processing on day ti , this partial order should be shipped out at the end of that day using a shipping mode with the shipping time ri = di − ti days. If partial delivery is not allowed, then an order should be shipped out at the end of the day when the last unit of the order completes processing, using the slowest possible shipping mode. This means that once a processing sequence of the orders is given, the shipping mode for each order or partial order and the total shipping cost are known, and hence a unique delivery schedule is known. Therefore, the only decision to make is to determine a processing sequence for the orders. There are four cases of this problem, based on whether the cost function is linear or convex in shipping time and whether partial delivery is allowed. Stecke and Zhao (2007) are the first to study this problem. They show that the problem with partial delivery allowed and convex cost function in shipping time can be solved optimally by processing the orders in earliest due-date first (EDD) sequence and shipping the orders and partial orders that are finished in a day at the end of the day. However, for the problem with no partial delivery allowed, they show that the problem is strongly N P -hard even if the cost function is linear in shipping time. They also propose a heuristic for the problem with convex cost function in shipping time and no partial
3.6 Problems with Fixed Delivery Departure Dates
109
delivery allowed. Melo and Wolsey (2010) study the same problem by proposing an integer programming formulation that enables them to solve large size instances to optimality. Zhong et al. (2010) propose a heuristic for the problem with linear cost function in shipping time and no partial delivery allowed and show that their heuristic has a worst-case performance ratio of 2, and this bound is tight. In the remainder of this section, we describe the heuristic by Stecke and Zhao (2007) for the problem with a convex cost function in shipping time and no partial delivery allowed, and the heuristic by Zhong et al. (2010) for the problem with a linear cost function in shipping time and no partial delivery allowed. For ease of presentation, we introduce some additional definitions and notation: • k = i∈N Qi /c, the day when all the orders complete processing. • N1 = {i ∈ N |di = 2}, the set of orders with delivery due date 2. • N2 = {i ∈ N |di = 3}, the set of orders with delivery due date 3. • f (σ ) = the total shipping cost of a given schedule σ . • f ∗ = the optimal total shipping cost. • σ [j ] = the order that is started in day j but completed in day j + 1 in a given schedule σ , for j = 1, . . . , k − 1. • Pjσl = the quantity of order σ [j ] that is completed in day j in a given schedule σ , for j = 1, . . . , k − 1. • Pjσr = the quantity of order σ [j ] that is completed in day j +1 in a given schedule σ , for j = 1, . . . , k − 1. In a given schedule σ , order σ [j ] may not exist, and in this case, Pjσl , Pjσr , and dσ [j ] are all defined to be 0. If order σ [j ] exists, we call it a split order. In this case, Qσ [j ] = Pjσl + Pjσr , and the part completed in day j (with quantity Pjσl ) must be delivered in day j + 1 together with the rest of the order. We call a sequence of orders an EDD-LPT sequence if they are sequenced according to the earliest delivery due date first rule, breaking ties by the longest processing time first rule. Let σ1 denote the schedule where the orders are processed in EDD-LPT sequence and finished orders are delivered as soon as possible with no partial delivery allowed. The idea of Stecke and Zhao’s (2007) heuristic, denoted as Heuristic SZ, for the problem with a convex cost function is to start with schedule σ1 and construct a new schedule by re-positioning some of the jobs in σ1 . Heuristic SZ Step 1: Generate schedule σ1 as described above. Let σ = σ1 and j = k − 1. Step 2: Consider the following two cases: • If in σ , order σ [j ] does not exist, then let j = j − 1. If j = 0, then stop. Otherwise, repeat Step 2. • Otherwise, go to Step 3.
110
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Step 3: Consider the following two cases. • If in σ , every order started and finished in day j + 1 has a quantity larger than Pjσl , then let j = j − 1. If j = 0, then stop. Otherwise, go to Step 2. • Otherwise, in σ , among all the orders started and finished in day j + 1 with a quantity less than or equal to Pjσl , find the order i with the largest quantity and move order i to the position right before order σ [j ], and update the value of Pjσl accordingly. Repeat this until every order started and finished in day j + 1 has a quantity larger than Pjσl . Let j = j − 1. If j = 0, then stop. Otherwise, go to Step 2. Example 3.11 (Application of Heuristic SZ) Apply Heuristic SZ to the following instance of the problem with convex cost function in shipping time: planning horizon m = 5 days, daily production capacity c = 100, number of orders n = 6, number of days needed to complete all the orders k = 3. The order processing time and deadline information and the unit-weight cost function g(x) in shipping time x are given in the following two tables, respectively. Observe that g(x) is a convex decreasing function of shipping time x. Step 1: Generate schedule σ1 = (1, 2, 3, 4, 5, 6). Let σ = σ1 . In σ , order 3 is started in day 1 but completed in day 2, i.e., σ [1] = 3 with 15 units of it completed in day 1, i.e., P1lσ = 15. Similarly, order 5 is started in day 2 but completed in day 3, i.e., σ [2] = 5 with 50 units of it completed in day 2, i.e., P2lσ = 50. Let j = k − 1 = 2. Step 2: Since order σ [2] exists, go to Step 3. Step 3: Order 6 is found and moved to the position right before order σ [2] (i.e., order 5). After this, P2lσ becomes 45. Next consider j = 1. Go to Step 2. Step 2: Since order σ [1] exists, go to Step 3. Step 3: Order 6 is found and moved to the position right before order σ [1] (i.e., order 3). As a result, P1lσ becomes 10. Every order started and finished in day 2 has a quantity larger than 10. Let j = 0. Stop.
Order j Qj dj
1 60 2
2 25 3
3 25 3
Shipping time x Cost for shipping one unit, g(x)
4 40 4
5 60 5
6 5 5
1 2
2 1
3 0.25
4 0.2
The schedule generated by this heuristic is (1, 2, 6, 3, 4, 5). The corresponding shipping time of each order is (x1 , . . . , x6 ) = (1, 2, 1, 2, 2, 4) days. The total cost of this schedule is 6j =1 Qj g(xj ) = 60(2)+25(1)+25(2)+40(1)+60(1)+5(0.2) = 296. We note that this is not an optimal schedule because the following schedule (1, 4, 2, 6, 3, 5) with shipping time of each order (x1 , . . . , x6 ) = (1, 1, 1, 3, 2, 3)
3.6 Problems with Fixed Delivery Departure Dates
111
days has a lower total cost 60(2) + 25(2) + 25(2) + 40(0.25) + 60(1) + 5(0.25) = 291.25. Next, we discuss Zhong et al.’s (2010) heuristic for the problem with a linear cost function. Similar to Stecke and Zhao’s (2007) heuristic, Zhong et al.’s heuristic uses σ1 as the starting point and modifies σ1 in different ways for many different cases involved. In some cases, schedule σ1 is not modified at all, whereas in other cases, schedule σ1 is modified multiple times, resulting in different schedules for the different subcases involved. For ease of presentation, we introduce the following additional definitions that are all related to schedule σ1 : • N3 = {i ∈ N|di ≤ dσ1 [1] − 1}. • N4 = {i ∈ N|di = dσ1 [1] } \ {σ1 [1]}, defined for the case if 2c < i∈N Qi < 3c. • N5 = the set of the orders processed after order σ1 [1] in σ1 , defined for the case if c < i∈N Qi ≤ 2c and P1lσ1 > i∈N Qi − c + i∈N3 Qi . Note that if σ1 [1] does not exist, then N3 and N4 are both empty. If σ1 [1] exists, then N1 ⊆ N3 , and in schedule σ1 the orders in N3 are all completed in day 1 before σ1 [1]. In addition, recall that by the notation introduced earlier, in a given schedule σ , if σ [j ] does not exist, then Pjσl , Pjσr , and dσ [j ] are all defined to be 0. We are ready to describe Zhong et al.’s (2010) heuristic, denoted as Heuristic ZCC, for the problem with a linear cost function. Heuristic ZCC Step 1: Generate schedule σ1 as described above. If one of the following conditions is satisfied: (1) (2) (3) (4) (5)
α − βd σ1 [1] ≥ 0 σ1 P ≤ i∈N3 Qi 1l Q i∈N i ≥ 3c 2c i∈N Qi − c − P2l , then adjust schedule σ1 by moving the orders between σ1 [1] and σ1 [2] and the orders after σ1 [2] to the position right before σ1 [1]. Let the resulting schedule be σ2 . In σ2 , orders σ1 [1] and σ1 [2] are still split, and hence σ2 [1] = σ1 [1] and σ2 [2] = σ1 [2], respectively. Consider the following cases: σ2 • Case 1: If P1lσ2 ≤ max{ i∈N3 Qi , P1r + i∈N Qi − 2c}, output schedule σ2 , and stop. σ2 • Case 2: If P1lσ2 > max{ i∈N3 Qi , P1r + i∈N Qi − 2c}, consider two further cases: – (i) If i∈N1 Qi + Qσ1 [1] + Qσ1 [2] + i∈N2 Qi ≤ 2c, then consider the following two schedules:
112
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
π1 = (N1 , σ1 [1], σ1 [2], N2 , N \ (N1 ∪ N2 ∪ {σ1 [1], σ1 [2]})), π2 = (N1 , σ1 [2], σ1 [1], N2 , N \ (N1 ∪ N2 ∪ {σ1 [1], σ1 [2]})). Let σ3 denote whichever of these two schedules has a lower total shipping cost incurred by orders σ1 [1] and σ1 [2]. – (ii) If i∈N1 Qi + Qσ1 [1] + Qσ1 [2] + i∈N2 Qi > 2c, then consider the following two schedules: π3 = (N1 , σ1 [1], N2 , N \ (N1 ∪ N2 ∪ {σ1 [1], σ1 [2]}), σ1 [2]), π4 = (N1 , σ1 [2], N2 , N \ (N1 ∪ N2 ∪ {σ1 [1], σ1 [2]}), σ1 [1]). Let σ3 denote whichever of these two schedules has a lower total shipping cost incurred by orders σ1 [1] and σ1 [2]. Output schedule σ3 , and stop. Step 3: If c < i∈N Qi ≤ 2c and P1lσ1 > i∈N Qi − c + i∈N3 Qi , adjust σ1 by moving all the orders in N5 to the position right before σ1 [1]. Let the resulting schedule be σ4 . In σ4 , order σ1 [1] is still split. Hence, σ4 [1] = σ1 [1]. Consider the following cases: σ4 • Case 1: If one ofthe following two conditions is satisfied: (a) P1l ≤ σ4 Q − c + i∈N3 Qi , (b) P1l > i∈N Qi − c + i∈N3 Qi and i∈N i σ4 , then output schedule σ4 , and stop. i∈N3 \N1 Qi + i∈N5 Qi < P1r • Case 2: If P1lσ4 > i∈N Qi − c + i∈N3 Qi and i∈N3 \N1 Qi + i∈N5 Qi ≥ σ4 P1r , adjust schedule σ4 by moving all the orders in (N3 \ N1 ) ∪ N5 to the end of the schedule. Let the resulting schedule be σ5 . Output schedule σ5 , and stop.
This heuristic generates one of the five possible schedules σ1 , σ2 , . . . , σ5 defined above, depending on particular cases, as the solution to our problem. Zhong et al. (2010) show that whichever schedule is output from this heuristic, its objective value is at most twice the optimal objective value, and hence the worst-case performance ratio of the heuristic is bounded by 2. Example 3.12 (Application of Heuristic ZCC) If we apply Heuristic ZCC to the instance given in Example 3.11 with any linear cost function, then N3 = {1} and both conditions (2) and (4) in Step 1 are satisfied. This means that σ1 is the output from this heuristic. Example 3.13 (Application of Heuristic ZCC) Apply Heuristic ZCC to the following instance: planning horizon m = 5 days, daily production capacity c = 100, number of orders n = 5, number of days needed to complete all the orders k = 3. The unit-weight cost function in shipping time x is defined as g(x) = 7 − 2x. The order processing time and deadline information are given in the following table:
3.6 Problems with Fixed Delivery Departure Dates Order j Qj dj
1 25 3
2 85 4
113 3 40 4
4 60 5
5 5 5
Step 1: Generate schedule σ1 = (1, 2, 3, 4, 5). We have σ1 [1] = 2 with P1lσ1 = 75, and σ [2] = 4 with P2lσ1 = 50. It can be seen that none of the 5 conditions in Step 1 is satisfied. Step 2: The condition for Step 2 is satisfied. Adjust σ1 by moving orders 3 and 5 to the position right before order 2. The resulting schedule σ2 = (1, 3, 5, 2, 4). σ2 In σ2 , σ2 [1] = 2 with P1lσ2 = 30 and P1r = 55. The condition for Case 1 is satisfied. Thus σ2 is the output from this heuristic.
3.6.2.2
Problems 1|[aj , bj ]|Vhet (v, 1), f dep|k|I C + T C
In this subsection, we consider problems with fixed delivery departure times with the following main characteristics: (1) There are a single machine, multiple customers, and a limited number of heterogeneous vehicles available at each given departure time, each with an unlimited delivery capacity, (2) each job has a delivery time window within which the job must be delivered to its customer (denoted as “[aj , bj ]” in the five-field problem representation), (3) there is an inventory cost for keeping a job at the plant after it has completed processing but before it is delivered (denoted as “I C” in the five-field problem representation), and (4) the objective is to minimize the total inventory cost and total transportation cost. Li et al. (2017) describe a business environment where such supply chain scheduling problems arise. Fierce competition in the steel industry worldwide is motivating many iron and steel enterprises to produce a significant portion of steel products in a make-to-order (MTO) fashion, under which steel coils are made according to specific customer orders. Compared to a traditional make-to-stock (MTS) production strategy, under which steel coils are made according to projected market demand, the MTO strategy has several advantages. These advantages include reducing warehousing and inventory costs, providing a larger variety of products, and achieving better customer service. Consider production and delivery decisions which a medium to small steel manufacturer has to make for the MTO steel coils ordered by large customers such as automobile manufacturers and shipbuilders. Since the customers often have more bargaining power than the steel supplier, the customers often negotiate with the steel supplier to specify when and how their orders should be delivered. In such situations, customers may set a delivery time window within which a finished order should be delivered for the following reasons. First, a steel coil is heavy and hence it incurs a large inventory handling and holding cost if the coil is not used soon after it is delivered and has to be put in temporary storage at the customer site. Second, temporary storage space at a customer site may be limited, particularly if the customer adopts a just-in-time
114
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
materials supply strategy. Therefore, an MTO order is associated with a delivery time window. Typically, a time window for an order varies from one to five days depending on the customer’s bargaining power relative to the supplier. Each order may consist of multiple coils. Usually different coils in an order can be delivered separately, as long as they are all delivered to the customer within the time window specified by the customer. This is referred to as splittable delivery. However, in some cases, to reduce handling cost, customers may require that all the coils within their order be delivered together in one shipment. This is referred as non-splittable delivery. Delivery of finished steel coils to customer sites is often carried out by thirdparty logistics companies that use ships and freight trains to deliver heavy goods such as steel products. Ships and freight trains usually follow a fixed daily or weekly schedule with a fixed route and a fixed departure time at each stop on the route. To deliver a coil from the manufacturer’s site to the destination of the order within its time window, an eligible set of ships and trains with specific departure times can be identified. When an order completes processing at the plant, if none of the ships and trains going to the destination of the order departs at the completion time of the order, the order must be kept in temporary storage first, which incurs an inventory cost, and delivered later when a ship or train becomes available. Given a set of orders to be processed and delivered, the manufacturer needs to find an integrated schedule for processing the orders, keeping finished orders in inventory if necessary, and delivering them to the customers within their time windows using available ships and trains, such that the total inventory and delivery cost is minimum. We note that during job processing, idle times between jobs may or may not be allowed. In steel production, due to the fact that it can be very expensive to resume production if it is stopped even temporarily, production runs continuously without any idle time until all the jobs are completed. However, in some other situations, idle times between jobs may be allowed if necessary. As discussed in Li et al. (2017), similar decision problems exist in other industries where products are made-to-order and need to be delivered to customers in a timely manner. Automobile manufacturers such as Toyota, which use a just-intime production model, often require their suppliers to deliver ordered parts within a narrow time window. Consequently, the suppliers have to carry inventory of the finished parts at their own sites if orders are produced some time prior to their delivery time window. Delivery of expensive parts in the automobile industries is often carried out by air flights which obviously have fixed schedules. The suppliers in these settings face the same issues as the steel manufacturer discussed earlier. Motivated by these applications, Li et al. (2017) study a number of problems that can be represented as 1|[aj , bj ]|Vhet (v, 1), f dep|k|I C + T C using the five-field notation in Sect. 3.2. To be consistent with the application environment described above, we apply the notation and problem definitions used by Li et al. (2017) to describe these scheduling problems more precisely. At the beginning of the planning horizon, a manufacturer has received a set of m orders M = {1, . . . , m}, where each order consists of ni jobs, and each job j from order i is denoted as (i, j ). Let Ni = {(i, 1), . . . , (i, ni )} denote the set of jobs that
3.6 Problems with Fixed Delivery Departure Dates
115
form order i, and let n = n1 + · · · + nm be the total number of jobs of all the orders together, and N = ∪m i=1 Ni be the set of all the jobs. Each job (i, j ) has a weight of wij units and requires a processing time of pij time units. The processing time of a job is generally proportional to the weight of the job, i.e., pij = rij wij , where the rij are all equal to a constant r if all the jobs are homogeneous (e.g., all steel coils have the same grade and same thickness). The processing of the jobs is completed on a single production line from the beginning of the planning horizon (time 0) without interruption. Motivated by the application in steel coil production, we assume that no idle times between jobs are allowed during job processing. A completed job is kept in a temporary warehouse if it is not delivered to its customer immediately. If a job (i, j ) is kept in the warehouse, it incurs an inventory cost of hij per unit weight unit per unit time. Each order i has a delivery time window [ai , bi ] within which all of its jobs must be delivered. Order delivery is performed by a given number of transporters that are available within the planning horizon. Each transporter has a known departure time, arrival time at each stop of its route, and cost rate for each stop. For each order, we can identify all the transporters that can deliver the order to its customer within its time window. Without loss of generality, we can assume that no two transporters that are eligible to deliver a given order have the same departure time. This is because for any order, among all the eligible transporters with the same departure time, the one with the lowest cost rate is always chosen over the others. Therefore, we can associate each order i with a set of ei distinct eligible departure times, denoted as Ei = {Ti1 , · · · , Tiei }, where each departure time Tit is associated with a unique transporter, which has a departure time Tit and can deliver order i to its destination within the order’s time window at the cost rate cit per unit weight. The manufacturer needs to find a production schedule for the jobs, and decide how long each job is kept in the warehouse, and when the delivery departure time should be for each job, so that the total inventory and delivery cost is minimized. We consider problems with both splittable delivery (denoted as SD problems) and non-splittable delivery (denoted as NSD problems). Remark 3.5 We note that, given a production schedule of the orders, the inventory and departure time decisions for each job can be made accordingly. For an SD problem, given a production schedule, it is optimal for each job (i, j ) of an order i to use some departure time Tit ∈ Ei such that Tit ≥ Cij , where Cij is the processing completion time of job (i, j ), and the total inventory and delivery cost is minimum possible, i.e., hij wij (Tit − Cij ) + cit wij =
min
Til ∈Ei ; Til ≥Cij
hij wij (Til − Cij ) + cil wij .
Similarly, for an NSD problem, given a production schedule, it is optimal for all the jobs of an order i to use some departure time Tit ∈ Ei such that Tit ≥ Ci , where Ci is the processing completion time of order i (i.e., Ci = max{Cij | (i, j ) ∈ Ni }), and the total inventory and delivery cost is minimum possible, i.e.,
116
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems (i,j )∈Ni
hij wij (Tit − Cij ) + cit
(i,j )∈Ni
wij =
min
Til ∈Ei ; Til ≥Ci
+cil
(i,j )∈Ni
⎧ ⎨ ⎩
hij wij (Til − Cij )
(i,j )∈Ni
⎫ ⎬
wij
⎭
.
As a result, we can focus on production scheduling decisions only. Definition 3.1 We define an Earliest Latest Eligible-Departure-Time first (ELEDT) schedule of the orders as follows: The m orders are processed in nondecreasing order of their latest eligible departure times di = max{Tit | Tit ∈ Ei }, and the jobs of each order are processed consecutively in any sequence. It can be shown that both SD and NSD problems are feasible if and only if an ELEDT schedule is feasible. In the following, we summarize some known results for various cases of the SD and NSD problems from the literature. We first consider these problems where each order consists of a single job, i.e., ni = 1. Problems with ni = 1 We note that when there is only one job per order (i.e., ni = 1 for i ∈ M) or each order is associated with a unique delivery vehicle that can deliver this order (i.e., ei = 1 for i ∈ M), the SD problems and NSD problems are identical. Thus, every solvability result for a SD problem with ni = 1 (or ei = 1) applies to the same NSD problem with ni = 1 (or ei = 1) as well. When ni = 1, for notational convenience, we use index i to represent the job of order i, and replace the symbols pij , wij , rij , hij by pi , wi , ri , hi , respectively. We first summarize known complexity results for some special cases of SD and NSD problems with ni = 1 and ei = 1. The classical single-machine scheduling problem (denoted as TWE) of minimizing the total weighted earliness i∈M ui Gi subject to no tardy jobs, where ui is the penalty per unit of earliness for order i and Gi , defined as max{0, di − Ci }, is the earliness of order i, can be viewed as a special case of SD and NSD problems with ni = 1 and ei = 1 and hi wi = ui . Chand and Schneeberger (1988) show that several special cases of TWE are solvable by a simple rule in polynomial time. One of the special cases is when the pi /ui (i.e., hi /ri ) values are identical, for which any EDD schedule is optimal. This means that any ELEDT schedule is optimal for SD and NSD problems with ni = 1, ei = 1, hi = h, and ri = r. Boysen et al. (2013) show that the unweighted version of TWE (i.e., all ui ’s are identical) is strongly NP -hard. This means that SD and NSD problems with ni = 1, ei = 1, hi = h, and identical wi values and problems with ni = 1, ei = 1, ri = r, and identical hi wi values are also all strongly NP -hard. Yang (2000) considers another unweighted version of the TWE problem where there are multiple departure dates for the jobs (i.e., ei ≥ 1). In Yang’s problem, all the jobs have the same possible departure dates and no delivery costs are considered, whereas in our problems, each job may have a different set of possible departure
3.7 Problems with Multiple Plants
117
dates and there are delivery costs. Yang’s problem thus can be viewed as a special case of SD and NSD problems with ni = 1, ei ≥ 1, cit = 0, identical Ei , and identical hi wi . Yang shows that his problem is strongly NP -hard. Thus, SD and NSD problems with ni = 1, ei ≥ 1, hi = h, cit = 0, identical wi , and identical Ei are also strongly NP -hard. Li et al. (2017) show that SD and NSD problems with ni = 1, ei ≥ 1, hi = h, ri = r are also strongly NP -hard. We now consider more general problems where each order may have more than one job, i.e., ni ≥ 1. Problems with ni ≥ 1 Li et al. (2017) clarify the computational complexity of many different cases of SD and NSD problems with ni ≥ 1 and ei = 1, or ni ≥ 1 and ei ≥ 1. We summarize below several main results from Li et al. (2017). • When n1 ≥ 1 and ei = 1, – Both SD and NSD problems with an arbitrary m, and hij = h and rij = r, for all i, j , are polynomially solvable. Any ELEDT schedule is optimal. – Both SD and NSD problems with a fixed m are ordinarily NP -hard even if ci1 = 0, for all i. – Both SD and NSD problems with an arbitrary m are strongly NP -hard even if hij = h or rij = r, for all i, j . • When n1 ≥ 1 and ei ≥ 1, – SD problem is strongly NP -hard even with a fixed m, and hij = 0 and rij = r, for all i, j . – NSD problem with a fixed m is ordinarily NP -hard even if cit = 0, for all i, t. – NSD problem with an arbitrary m is strongly NP -hard even if pij = p, rij = r and hij = 0, for all i, j . – Both SD problem with an arbitrary m and pij = p, for all i, j , and NSD problem with a fixed m and pij = p, for all i, j , or a fixed m and hij = 0, for all i, j , or a fixed m and both hij = h and rij = r, for all i, j , are polynomially solvable.
3.7 Problems with Multiple Plants In this section, we discuss several IPODS problems studied by Chen and Pundoor (2006) where there are multiple production plants located at different locations that can process the jobs, and the jobs, after completion of processing, need to be delivered to a central distribution center (DC). Given a set of jobs, the decision maker needs to determine (1) which jobs to be assigned to which plants, (2) how to schedule the production of the assigned jobs at each plant, and (3) how to schedule the delivery of the completed jobs from each plant to the DC, so as to optimize a
118
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
certain performance measure involving production and transportation costs and the total or maximum lead time of the jobs. Such IPODS problems are often encountered by companies with an international supply chain. The following application is described in Chen and Pundoor (2006). A make-to-order manufacturer owns several plants located in foreign countries and a central DC in the USA located close to the retailers that this manufacturer serves. Shortly before a selling season, the manufacturer receives orders from the retailers and needs to assign the orders to the plants for processing and deliver them to the DC after they are processed for distribution to the retailers. In this supply chain, production costs and production rates may vary significantly from plant to plant, due to variations in labor costs and productivity in the different countries involved. Furthermore, since the DC is close to the retailers, the delivery time and cost between the DC and the retailers are negligible, compared to the delivery time and cost between the plants and the DC. Therefore, the manufacturer is faced with the job assignment and production and delivery scheduling decisions discussed above. We now introduce necessary notation and precisely define the problems considered by Chen and Pundoor (2006). We are given n jobs, N = {1, . . . , n}, at time 0, each of which is to be processed at one of the m given plants in a supply chain, M = {1, . . . , m}. Each plant has a single machine (i.e., a single dedicated production line) and is capable of producing all the jobs. Each job needs to be processed by only one of the plants once without interruption. If job j ∈ N is assigned to plant i ∈ M for processing, it takes pij units of processing time and cij units of production cost. Completed jobs are delivered to a distribution center in the supply chain. The delivery time and delivery cost of a shipment from plant i ∈ M to the DC are ti and fi , respectively. Each delivery shipment can carry up to b jobs. The problem is to assign each job to a plant, schedule the processing of the jobs assigned to each plant, and schedule the delivery of the completed jobs from each plant to the DC, so as to optimize a given objective function that takes into account delivery lead time of the jobs as well as the total cost of the jobs including total production cost and total shipping cost. For a given schedule of the problem, we define: • T C = the total cost of the jobs including total production cost and total shipping cost. • Cj = the completion time of job j ∈ N, which is the time when job j completes processing at the plant to which it is assigned. • Dj = the delivery time of job j ∈ N, which is the time when job j is delivered to the DC. Chen and Pundoor (2006) consider four problems, each with a different objective function as follows: • Problem 1: Minimizing the sum of the total lead time of the jobs and the total cost, i.e., j ∈N Dj + T C.
3.7 Problems with Multiple Plants
119
• Problem 2: Minimizing the total cost T C, subject to the constraint that the total lead time of the jobs is no more than a given threshold, i.e., j ∈N Dj ≤ D, where D is a given constant. • Problem 3: Minimizing the sum of the maximum lead time of the jobs and the total cost, i.e., Dmax + T C, where Dmax = max{Dj |j ∈ N }. • Problem 4: Minimizing the total cost T C subject to the constraint that the maximum lead time Dmax is no more than a given threshold, i.e., Dmax ≤ D, where D is a given constant. These problems differ from the other classes of problems discussed in this chapter in the following two aspects: (1) There are multiple plants in these problems such that job assignment is one of the decisions to make, whereas in all other problems there is a single plant and hence there is no job assignment decision, (2) production costs are part of the objective function in these problems, whereas production costs are fixed and hence not considered in other problems. Chen and Pundoor (2006) show the following optimality properties for these four problems. Lemma 3.12 There exists an optimal solution for Problems 1–4 in which all of the following hold: (1) The jobs assigned to each plant are scheduled in the Shortest Processing Time (SPT) first order. (2) There is no inserted idle time between jobs processed at each plant. (3) The departure time of each shipment is the time when all the jobs in it complete processing. (4) All the jobs that are delivered in the same shipment are processed consecutively at a plant. (5) The number of jobs delivered in an earlier shipment from a plant is greater than or equal to the number of jobs delivered in a later shipment from the same plant. In the following Sects. 3.7.1 and 3.7.2, we discuss how Problem 1 and Problem 3 can be solved, respectively. Most of the algorithms and results given below are from Chen and Pundoor (2006). We do not discuss how the other two problems can be solved since, as discussed in Chen and Pundoor (2006), these problems can be solved by algorithms similar to those for solving Problems 1 and 3.
3.7.1 Minimizing Total Delivery Time and Transportation Cost Chen and Pundoor (2006) show that Problem 1 with an arbitrary number of plants is strongly N P -hard and mention that when the number of plants is fixed, the complexity of this problem is unknown. They propose a heuristic for solving Problem 1. The heuristic consists of an initialization step, where some parameters used in later steps are calculated, followed by a two-phase procedure, where the jobs are assigned to the plants in the first phase, and then the delivery schedule of the
120
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
jobs assigned to each plant is determined in the second phase. The job assignment problem in the first phase is solved as a standard assignment problem where the cost of assigning a job to a particular position of a plant is heuristically derived, based on relevant parameters of the job and the parameters calculated in the initialization step. The delivery scheduling problem in the second phase is solved by a dynamic programming algorithm. One of the key parameters involved in the heuristic is the maximum possible size of a shipment containing job j at plant i in an optimal schedule, which is denoted as bmax,i,j . If all the jobs are processed at plant i, denote the resulting SPT order of the jobs as ([i1], . . . , [in]). Suppose that the size of a shipment B containing order j at plant i is x, and B consists of orders (< i1 >, . . . , < ix >), where (< i1 >, . . . , < ix >) is in SPT order and a subset of {[i1], . . . , [in]}. Clearly, pi, ≥ pi,[iu] , for u = 1, . . . , x. The following computational procedure finds an upper bound on x, and this upper bound is defined as bmax,i,j . Procedure MAXSIZE Step 0: Initially, let x = b. Step 1: Given x, check if the total cost of the jobs in any shipment B with x jobs, denoted as B = {< i1 >, . . . , < ix >}, where (< i1 >, . . . , < ix >) is in SPT order, can be reduced by splitting it into two shipments. There are x − 1 different ways of splitting this shipment into two separate shipments, denoted as E1 and E2 , with E1 consisting of the first y jobs, i.e., E1 = {< i1 >, . . . , < iy >)}, and E2 the last x − y jobs, i.e., E2 = {< i, y + 1 >, . . . , < ix >}, for y = 1, . . . , x − 1. For each y = 1, . . . , x − 1, compute a lower bound on the cost reduction due to the splitting, denoted as Ry , as follows: Ry ≥ y(pi,[i,y+1] + pi,[i,y+2] + · · · + pi,[i,x−1] + max{pi,[ix] , pij }) − fi , where y(pi,[i,y+1] + pi,[i,y+2] + · · · + pi,[i,x−1] + max{pi,[ix] , pij }) is a lower bound on the decrease in total lead time of the jobs in E1 and fi is the increase in delivery cost, after B splits into E1 and E2 . Step 2: Find z ∈ {1, . . . , x − 1} such that Rz = max{Ry | y = 1, . . . , x − 1}. If Rz ≥ 0, then the shipment size x should be reduced; update x = x − 1 and go to Step 1. If Rz < 0, then stop, and the current x is the maximum size of a shipment containing job j at plant i. We now describe the heuristic for Problem 1 given by Chen and Pundoor (2006). Heuristic CP-H1 Initialization Run procedure MAXSIZE to derive the maximum shipment size bmax,i,j of any shipment that contains job j at plant i, for i ∈ M and j ∈ N. Define parameters Δih and eui , for i ∈ M, h = 1, . . . , n − 1, and u = 1, . . . , b, as follows:
3.7 Problems with Multiple Plants
121
Δih = min{pi,[i,q+h] − pi,[iq] |q = 1, . . . , n − h}, which is the minimum difference of
the processing times of any two jobs [iq] and [i, q + h] in the SPT order of the jobs [i1], . . . , [in] at plant i [Δih is always nonnegative],
eui =
1 2u [Δi1 + 3Δi3 + 5Δi5 + · · · + (u − 1)Δi,u−1 ], 1 2u [2Δi2 + 4Δi4 + 6Δi6 + · · · + (u − 1)Δi,u−1 ],
if u is even, if u is odd.
Phase 1 For k = 1, . . . , n, i = 1, . . . , m, and j = 1, . . . , n, define parameter a(k,i)j as the cost for scheduling job j as the kth last job at plant i, which is given as a(k,i)j = (kpij + ti ) + cij +
min
1≤u≤bmax,i,j
{pij (u − 1)/2 + fi /u + eui }.
(3.23)
Define a binary variable x(k,i)j to be 1 if job j is scheduled as the kth last job at plant i, and 0 otherwise. Solve the following assignment problem: Minimize G =
a(k,i)j x(k,i)j
k∈N i∈M j ∈N
subject to:
x(k,i)j = 1, for j ∈ N,
k∈N i∈M
x(k,i)j ≤ 1, for k ∈ N, i ∈ M,
j ∈N
x(k,i)j = 0 or 1, for k ∈ N, i ∈ M, j ∈ N. Phase 2 In the solution generated in Phase 1 (which specifies how jobs are assigned and scheduled at each plant), suppose that there are ni jobs processed by plant i, and they are reindexed in their SPT order as [i1], . . . , [ini ]. Let C[ij ] denote the time when job [ij ] completes processing at plant i. Given this solution, find an optimal delivery schedule for the jobs processed at each plant i with respect to the objective function of the problem using the following dynamic programming algorithm: • Value Function: V (j ) = the minimum total cost of a schedule for the first j jobs {[i1], . . . , [ij ]}. • Initial Condition: V (0) = 0. • Recurrence Relation: For j = 1, . . . , ni , V (j ) = min{V (j − h) + h(C[ij ] + ti ) + fi | h = 1, . . . , min{b, j }}. • Optimal Solution: V (ni ). In Phase 1 of the heuristic, the cost coefficient a(k,i)j defined in (3.23) and used in the assignment problem formulation is an approximation to the actual cost of job j if it is scheduled as the kth last job at plant i. The actual cost is (k +r)pij +ti +cij + fi /q if we know that there are a total of q jobs in the shipment containing job j , and
122
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
a total of r jobs scheduled before job j in this shipment. Since we do not know the values of q and r, the term rpij + fi /q is approximated by min1≤u≤bmax,i,j {pij (u − 1)/2 + fi /u + eui }. In Phase 2, the optimality of the DP algorithm for finding an optimal delivery schedule for the ni jobs processed at plant i follows from the fact that the recurrence relation compares the cost of every possible configuration of the last delivery shipment. This algorithm has a time complexity of O(ni b). Chen and Pundoor (2006) show that the optimal objective value of the assignment problem solved in Phase 1 of Heuristic CP-H1 is a lower bound on the optimal objective value of Problem 1. Based on this result, they show that the worstcase performance ratio of the heuristic is bounded by bmax , where bmax = max{bmax,i,j | i ∈ M, j ∈ N}, and this bound is tight. Furthermore, they show that this heuristic is asymptotically optimal for Problem 1 when n goes to infinity but m and b are fixed. Finally, to improve the quality of the solutions generated by this heuristic, they modify the heuristic by lowering the maximum shipment size bmax,i,j for each j ∈ N and i ∈ M and re-running the heuristic with the revised bmax,i,j . Their computational tests based on a large number of test instances with up to 200 orders, 8 plants, and shipment capacity of 12 show that this modified heuristic is capable of generating solutions with an average gap of 1.05% compared to the lower bound defined by the optimal objective value of the assignment problem in Phase 1.
3.7.2 Minimizing Maximum Delivery Time and Transportation Cost Chen and Pundoor (2006) show that Problem 3 is at least ordinarily NP -hard, even with a fixed number of plants. They show that in addition to the properties stated in Lemma 3.12, Problem 3 also satisfies the following property. Lemma 3.13 There exists an optimal solution for Problem 3 in which all the delivery shipments from each plant to the DC, except possibly one shipment, are full. More specifically, if there are ni jobs scheduled at plant i ∈ M, then ub jobs are delivered in u full shipments and v jobs are delivered in a partial shipment, where u = ni /b and v = ni − ub. Chen and Pundoor (2006) propose a linear programming based heuristic for Problem 3. The idea of the heuristic is as follows. Since Problem 3 cannot be formulated precisely as an integer program because it is not known exactly how many jobs are in each shipment, a slightly different problem whose objective function is a lower bound on that of Problem 3 is instead considered and formulated as a binary integer program. We denote this slightly different problem as Problem 3 . In this problem the subset of plants Q ⊆ M that are used is specified explicitly. It is shown that there exists a subset of plants U ⊆ M such that the optimal objective value of the LP relaxation of Problem 3 with U as the subset of the plants used
3.7 Problems with Multiple Plants
123
is a lower bound on the optimal objective value of Problem 3. Consequently, the solution of the LP relaxation of Problem 3 with U as the subset of the plants used is applied to construct a feasible solution to Problem 3. Now we describe Problem 3 and the corresponding IP formulation in detail. Everything else in Problem 3 is the same as in Problem 3 except that (i) the jobs are processed in a subset of plants Q ⊆ M, and (ii) each job is required to be delivered individually in a separate shipment and the transportation cost of a shipment from plant i ∈ M to the DC is defined to be fi /b. This problem can be formulated as the following binary integer program I P (Q), where each binary variable xij is defined to be 1 if job j is assigned to plant i ∈ Q and 0 otherwise, and the continuous variable Dmax is the maximum delivery time of the jobs. IP(Q) :
Z(Q) = Minimize Dmax +
(cij + fi /b)xij
(3.24)
i∈Q j ∈N
s.t. Dmax ≥
pij xij + ti , for i ∈ Q, (3.25)
j ∈N
xij = 1, for j ∈ N,
(3.26)
i∈Q
xij ∈ {0, 1}, for i ∈ Q, j ∈ N.
(3.27)
In this formulation, constraint (3.25) defines Dmax and constraint (3.26) ensures that each job is assigned to one of the plants in Q. It should be noted that constraint (3.25) implies that there is at least one job scheduled at each plant in Q, because otherwise Dmax does not have to be greater than or equal to ti . This means that Problem 3 is not equivalent to formulation I P (M). Instead, Problem 3 is equivalent to the problem of finding a subset Q ⊆ M with a minimum possible objective value Z(Q). Given any subset of plants Q ⊆ M, let the LP relaxation problem of I P (Q) be denoted as LP (Q), and let the optimal objective value of problem LP (Q) be denoted as ZLP (Q). By the fact that for any given Q, the objective function of problem LP (Q) is a lower bound on the optimal objective value of Problem 3 with the restriction that only the plants in Q can be used to process the jobs, we can see that ZLP (U ) = min{ZLP (Q)|Q ⊆ M} is a lower bound of the optimal objective value of Problem 3. Chen and Pundoor (2006) show that there is no need to solve LP (Q) for every possible subset Q of M in order to find the subset U that provides a lower bound ZLP (U ) on the optimal objective value of Problem 3. They propose the following algorithm, which solves the LP relaxation problem LP (Q) m times, each time with a different set Q, and show that the subset of plants U found by this algorithm satisfies ZLP (U ) = min{ZLP (Q)|Q ⊆ M} and hence ZLP (U ) is a valid lower bound on the optimal objective value of Problem 3.
124
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Algorithm LB Step 0: Reindex the plants in the nonincreasing order of the transportation times ti between them and the DC. Let Qi = {i, . . . , m} be the subset of the m − i + 1 plants with the shortest transportation times to the DC. Step 1: For i = 1, . . . , m, solve the LP relaxation problem LP (Qi ) and obtain the optimal objective value ZLP (Qi ). Step 2: Let U = Ql for some l ∈ {1, . . . , m} such that ZLP (Ql ) = min{ZLP (Qi )|1 ≤ i ≤ m}, and let u = |U |. Furthermore, Chen and Pundoor (2006) show that the solution of LP (U ) satisfies the following property. Lemma 3.14 If n ≥ u − 1, then in an optimal basic solution of LP (U ), there are at least (n − u + 1) xij variables that take the value 1, where U is the subset of the plants found by Algorithm LB and u is the number of plants in U . Now, we present the heuristic for Problem 3 proposed by Chen and Pundoor (2006). Heuristic CP-H2 Step 1: Run Algorithm LB to obtain a subset of plants U and an optimal basic solution x ∗ of LP (U ). Define a subset of jobs J = {j ∈ N | xij∗ = 1 for some i ∈ U }. [Lemma 3.14 implies that there are at least n − u + 1 jobs in J and hence at most u − 1 jobs in N \ J ]. Step 2: (Create a solution for the jobs in J ) Assign each job j ∈ J to plant i ∈ U with xij = 1. Schedule the jobs assigned to each plant in an arbitrary sequence. Schedule order delivery such that it satisfies Lemma 3.13. Denote the resulting partial solution (containing the jobs from J only) by σ1 . Step 3: (Create a separate solution for the jobs in N \ J ) Enumerate all possible assignments of the at most u−1 jobs in N \J to the plants in U until the following termination condition is satisfied: • For each such assignment, schedule the jobs at each plant in an arbitrary sequence. Schedule job delivery such that it satisfies Lemma 3.13. If in the resulting solution (containing the jobs from N \ J only), the total contribution of the jobs to the objective value of Problem 3 is less than or equal to ZLP (U ), then stop. Denote the resulting partial solution by σ2 . If no solution satisfies the termination condition, then take the solution with the lowest total contribution to the objective value of Problem 3, and denote this partial solution by σ2 . Step 4: Concatenate solutions σ1 and σ2 at each plant. Reschedule job delivery in the concatenated solution at each plant such that it satisfies Lemma 3.13. Denote the final solution by σ . We note that the enumeration procedure in Step 3 may generate a maximum of uu−1 possible solutions for the jobs in N \ J . Thus the worst-case time complexity of this heuristic is polynomial in n but exponential in m. However, if m is fixed, this
3.8 Problems with Two Stages of Delivery
125
heuristic has polynomial running time. We also note that the termination condition in Step 3 may not always be satisfied. However, for a problem with a large number of jobs, ZLP (U ) is sufficiently large such that the termination condition may be satisfied at an early stage, and hence only a small number of solutions may be generated in Step 3. Chen and Pundoor (2006) show that for Problem 3, the worst-case performance ratio of Heuristic CP-H2 is bounded by b + 1, and this heuristic is asymptotically optimal when n goes to infinity with m and b fixed. Furthermore, their computational experiments based on a large number of randomly generated test instances show that the average gap of the solution generated by the heuristic compared to the lower bound ZLP (U ) is 5.23%, 3.11%, and 1.96%, respectively, for test problems with 50, 100, and 200 jobs.
3.8 Problems with Two Stages of Delivery All the problems discussed in the previous sections involve a single stage of job delivery. However, as discussed in Tang et al. (2019), there are practical settings where the delivery of completed jobs may involve two stages. One example is the delivery of make-to-order steel coils by Baosteel, the third largest steel company in the world. Baosteel delivers MTO steel coils first from its plant to a port by trailers, and then from the port to customer destinations by ships. Other examples involving two stages of delivery include some custom-made high-tech electronics (e.g., PCs) and picked-to-order organic vegetables. After PCs are assembled in a plant, they are first delivered to a consolidation center by vans, and from the consolidation center, PCs heading to different regions are shipped by trucks, trains, or air flights. Similarly, after being picked and collected from a farm, picked-to-order vegetables are first delivered from the farm by trucks or vans to a distribution center in a city, and then sent from the distribution center to customer homes by cars or bicycles. In all these examples, the underlying integrated production and distribution scheduling problem has a common structure as depicted in Fig. 3.3, where the pool point (e.g., port, consolidation center) represents the destination of the first-stage delivery and the origin of the second-stage delivery. In this section, we focus on the two IPODS problems with two stages of delivery studied in Tang et al. (2019). These problems share the same production and delivery characteristics but with different objective functions. They are defined as follows. There are n jobs from k customers, K = {1, . . . , k}, to be processed in a plant with a single machine or m (m > 1) identical parallel machine. Let ni be the number of jobs from customer i ∈ K such that n = i∈K ni , and Ni = {(i, 1), . . . , (i, ni )} be the set of jobs from customer i ∈ K, where (i, j ) denotes the j th job of customer i. Let N = ∪i∈K Ni be the set of all the jobs together. Each job (i, j ) ∈ N has a required processing time of p(i,j ) . After jobs are processed in the plant, they are delivered to their respective customers through two stages of delivery: (1) First from the plant to a pool point (e.g., a port, a distribution, or a consolidation center) by
126
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Second-Stage Delivery Job Processing Plant
Customer 1
First-Stage Delivery Pool Point
Customer 2
Customer k Fig. 3.3 A supply chain with two stages of delivery
homogeneous transporters (e.g., trailers, vans, or trucks), which we call vehicles to distinguish them from transporters used in the second stage of delivery, and (2) then from the pool point to the customers by transporters (e.g., ships, trucks, or vans) which we call ships to distinguish them from the transporters used in the first stage of delivery. In the first stage of delivery, there are sufficient homogeneous vehicles available whenever needed and each vehicle can deliver up to c0 jobs in each shipment. Jobs from different customers can be delivered together in a vehicle shipment from the plant to the pool point. The transportation time and transportation cost of each vehicle shipment from the plant to the pool point are denoted as t0 and f0 , respectively. In the second stage of delivery, jobs from different customers are not allowed to share a shipment because each ship only goes to one customer site. There are sufficient homogeneous ships available for each customer site whenever needed, but ships for different customer sites are generally heterogeneous. Each ship going to customer i can carry up to ci jobs in each shipment. The transportation time and transportation cost from a shipment from the pool point to customer i are ti and fi , respectively. For ease of presentation, the shipments by vehicles from the plant to the pool point and the shipments by ships from the pool point to the customers are denoted below as v-shipments and s-shipments, respectively. We need to determine (1) how to schedule jobs for processing in the plant; (2) how to batch jobs to form vshipments and schedule the delivery of v-shipments from the plant to the pool point; and (3) how to batch jobs to form s-shipments and schedule the delivery of s-shipments from the pool point to the customers, so that a certain objective is optimized. In a given solution, we define: • D(i,j ) = the delivery time of job (i, j ), which is the time when job (i, j ) arrives at its customer. • C(i,j ) = the completion time of job (i, j ) processed in the plant. • T C = the total transportation cost. • Dtotal = (i,j )∈N D(i,j ) , the total delivery time of all the jobs. • Dmax = max(i,j )∈N D(i,j ) , the maximum delivery time of all the jobs.
3.8 Problems with Two Stages of Delivery
127
We consider the following two problems in this section. • Problem P1: Minimizing the sum of the total delivery time and the total transportation cost, i.e., Dtotal + T C. • Problem P2: Minimizing the sum of the maximum delivery time and the total transportation cost, i.e., Dmax + T C. Tang et al. (2019) show that problem P1 is strongly NP -hard even if there is a single machine or a single customer. Problem P2 with a single machine can be solved in polynomial time when the number of customers k is fixed, whereas problem P2 with parallel machines is NP -hard because it contains the NP -hard classical parallel-machine makespan problem Pm ||Cmax as a special case. In the remainder of this section, we first present some optimality properties in Sect. 3.8.1, and then present solution algorithms for these two problems in Sects. 3.8.2 and 3.8.3, respectively. All these results are from Tang et al. (2019).
3.8.1 Optimality Properties There are five optimality properties derived by Tang et al. (2019). The first four apply to both problems, whereas the last one applies to problem 2 only. Since they are all straightforward, we do not show the proofs. Property 3.1 For both problems, there exists an optimal solution that satisfies all of the following: (i) There is no idle time between the jobs processed on any machine. (ii) The jobs from the same customer and processed on the same machine are processed in the shortest processing time first (SPT) sequence. (In the remainder of the chapter, we call this property group-SPT property.) (iii) The jobs in each v-shipment that are processed on the same machine are processed consecutively on the machine. (iv) For each v-shipment, its departure time from the plant to the pool point is equal to the completion time of the last job in this shipment. (v) For each s-shipment, its departure time from the pool point to its customer is equal to the arrival time of the last job in this shipment at the pool point. (vi) Jobs from each customer that arrive earlier at the pool point are delivered by ships no later than jobs from the same customer that arrive later at the pool point. Property 3.2 For both problems, there exists an optimal solution that satisfies the following: For each customer i ∈ K, at any time point t, if there are at least xi ≥ ci jobs from this customer waiting at the pool point, then there are ui = xi /ci full s-shipments carrying a total of ui ci jobs, or ui full s-shipments and 1 partial sshipment carrying a total of xi jobs that will depart immediately (i.e., at time t) from the pool point to the customer.
128
3 Integrated Production and Outbound Distribution Scheduling: Offline Problems
Based on Properties 3.1 and 3.2, Property 3.3 below characterizes all possible cases of the relationship between the number of jobs from each customer waiting at the pool point before a new v-shipment arrives at the pool point and the number of jobs from the same customer shipped away from the pool point after the v-shipment arrives at the pool point. For ease of presentation, we define the following three parameters for each i ∈ K: • Let hi denote the number of jobs from customer i waiting at the pool point immediately before a v-shipment arrives at the pool point. • Let qi denote the number of jobs from customer i in this v-shipment. • Let ei denote the number of jobs from customer i that are shipped away by sshipments from the pool point to customer i immediately after this v-shipment arrives at the pool point. Property 3.3 For both problems, there exists an optimal solution which satisfies one of the following cases, for each i ∈ K: (i) Immediately after the arrival of the v-shipment, ei = (hi + qi )/ci ci of the hi + qi jobs from customer i are shipped away from the pool point in (hi + qi )/ci s-shipments, and the remaining li = hi + qi − ei jobs from customer i are waiting at the pool point. (ii) Immediately after the arrival of the v-shipment, all the ei = hi + qi jobs from customer i are shipped away from the pool point in (hi + qi )/ci s-shipments, and there is no job from customer i waiting at the pool point. Property 3.4 For both problems, if there is only a single machine in the problems, then there exists an optimal solution in which jobs completed earlier in the plant are delivered by vehicles no later than those completed later in the plant. Property 3.5 For problem P2, there exists an optimal solution in which the jobs from customer i ∈ K are delivered by ni /ci s-shipments and all the s-shipments except possibly the last one are full. While Properties 3.1, 3.2, and 3.3 all hold for both problems under both the case with a single machine and the case with parallel machines, it can be shown that Property 3.5 does not hold for problem P1, and Property 3.4 does not hold for the case with parallel machines. Based on these properties, we assume throughout the remainder of this section that the jobs from each customer i ∈ K are indexed in SPT order such that p(i,1) ≤ p(i,2) ≤ · · · ≤ p(i,ni ) . In the following sections, we apply these properties to solve problems P1 and P2, respectively.
3.8 Problems with Two Stages of Delivery
129
3.8.2 Solving the Total Delivery Time Problem We first consider problem P1 with a single machine, denoted as P1-S, and solve it by a dynamic programming algorithm. This algorithm considers one v-shipment at each iteration and updates the state based on the time moment when the v-shipment arrives at the pool point. The formation and scheduling of each v-shipment follow from Properties 3.1 and 3.4. By Property 3.2, when a v-shipment arrives at the pool point, there are most ci − 1 jobs waiting for delivery to each customer. Algorithm TLC-DP1 Value Function F (j1 , . . . , jk ; l1 , . . . , lk ) is the minimum objective value of a partial schedule where for each customer i ∈ K, the first ji jobs, (i, 1), . . . , (i, ji ), have been processed on the machine and delivered from the plant to the pool point; the first ji − li jobs, (i, 1), . . . , (i, ji − li ), have been delivered from the pool point to customer i, and the remaining li jobs, (i, ji − li + 1), . . . , (i, ji ), are kept at the pool point to be delivered to customer i later. Initial Condition F (0, . . . , 0; 0, . . . , 0) = 0. Recurrence Relation For i = 1, . . . , k; ji = 0, . . . , ni ; li = 0, . . . , min{ji , ci − 1}: F (j1 , . . . , jk ; l1 , . . . , lk ) & = min F (j1 − q1 , . . . , jk − qk ; h1 , . . . , hk ) (q1 ,...,qk ;h1 ,...,hk )
+
⎛
⎛
⎝(hi + qi − li ) ⎝
i∈K
ju
⎞⎞ p(u,r) + t0 + ti ⎠⎠
u∈K r=1
+ f0 + (hi + qi − li )/ci fi |0
( 5 − 1)/2, then no other jobs will arrive. Otherwise, job 2 with p2 = 0 and t2 = 1 will arrive at time S + , where is positive but very close to 0. √ • In the first case where S > ( 5 − 1)/2, the optimal schedule is to start job 1 ∗ = 1, whereas the online at time 0, which gives optimal objective value Dmax algorithm H gives a solution with objective value Dmax (H ) = S + 1. Thus, for ∗ this √ case of the instance, the competitive ratio of H is Dmax (H )/Dmax = S +1 ≥ ( 5 + 1)/2. √ • In the second case where S ≤ ( 5−1)/2, the optimal schedule is to schedule job ∗ 2 before job 1 with both starting at time S + , which gives Dmax = S + 1 + , whereas H schedules job 1 before job 2 with their starting time S and S + 1, respectively, which gives Dmax (H ) = S + 2. Thus, the competitive √ ratio of H for this case of the instance is (S + 2)/(S + 1 + ), which is at least ( 5 + 1)/2 √ over the domain of S ≤ ( 5 − 1)/2, when approaches 0. √ • The two cases together show that the competitive ratio of H is at least ( 5+1)/2. It can be seen from the above proof of Hoogeveen and Vestjens (2000) that for any online algorithm that does not wait intentionally, i.e., starts to process an available job as soon as the machine is available and there is at least one available job (that has arrived but has not been processed), the competitive ratio is at least 2. This is because under such an algorithm, the starting time of job 1 is S = 0, and hence, the second case in the above discussion applies. This means that Rule S given in Sect. 3.3.1 achieves the best possible competitive ratio (which is 2) among all online algorithms that do not wait intentionally. It also means that to have a competitive ratio strictly less than 2, an online algorithm needs a strategy for intentional waiting. The intuition is that while waiting, new jobs may arrive, which can then give additional information to the algorithm and enable it to generate better solutions. Clearly, there is a tradeoff: if the intentional waiting is too long, then the machine capacity is wasted, which can lead to inferior solutions. So, it is important to find a good waiting strategy that balances machine capacity waste and new information gained. Every online algorithm discussed in this chapter employs some waiting strategy for processing jobs and/or delivering jobs. The critical ratio of an online algorithm strongly depends on the specific waiting strategy used. Hoogeveen and Vestjens (2000) √ give an online algorithm with the smallest possible competitive ratio, which is ( 5 + 1)/2, for problem 1|online, rj |V (∞, 1), iid |n|Dmax . Hence, their algorithm is an optimal (i.e., best possible) online algorithm for the problem. Their algorithm is a modified version of Rule S given in Sect. 3.3.1 with added intentional waiting whenever a certain condition is satisfied. The basic idea of the algorithm is the following: At any time when the machine is available and there is at least one available job (that has arrived but has not been processed), if none of the available jobs is big (i.e., has a long processing time, as defined below), then the job with the longest transportation time is scheduled, just as in Rule S; otherwise, various conditions are checked to determine whether to schedule the biggest job, schedule the job with the longest transportation time, or intentionally wait without scheduling any job.
142
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
We now describe their algorithm. First, we define some necessary terms and notations used in the algorithm: • P (X) denotes the total processing time of all jobs in set X. • Aτ is the set of the jobs that have arrived at or before time τ but have not been started by time τ . • Bτ is the set of the jobs that have arrived at or before time τ but have not been completed before the last idle time period before time τ ; if there is no idle time before time τ , then Bτ contains all the jobs that have arrived at or before time τ . • gτ is the job with the largest processing time in Aτ . • qτ is the job with the largest transportation time in Aτ . The job sets Aτ and Bτ are determined by the algorithm, where Bτ is the set of jobs in Aτ plus the jobs continuously scheduled between the last idle√time period before time τ and time τ . We call a job j ∈ Aτ big at time τ if pj > 5−1 2 P (Bτ ). √
> 1/2, and Aτ ⊂ Bτ , there is at most one big job at any We note that since 5−1 2 time. The following is the online algorithm given by Hoogeveen and Vestjens (2000) for problem 1|online, rj |V (∞, 1), iid|n|Dmax . Algorithm A4.1 Whenever the machine is idle and a job is available, let this time be τ and do the following. Otherwise, wait until the machine is idle and a job is available: Step 0: Determine job sets Aτ and Bτ , job√gτ , and job qτ . Step 1: If gτ is not a big job, i.e., pgτ ≤ 5−1 2 P (Bτ ), then start processing job qτ from time τ , let τ = τ + pqτ , and go to Step 0. If gτ is a big job, then check the condition of Step 2: if the condition of Step 2 is satisfied, go to Step 2; otherwise, go to Step 3. √ Step 2: If τ + P (Aτ ) > rgτ + 5+1 2 pgτ , then consider two cases as follows: √
• Case (i): If tqτ > 5−1 2 pgτ , then start processing job qτ from time τ , and let τ = τ + pqτ . Go to√Step 0. • Case (ii): If tqτ ≤ 5−1 2 pgτ , then start processing job gτ from time τ , and let τ = τ + pgτ . Go to Step 0.
Step 3: If τ + P (Aτ ) ≤ rgτ +
√
5+1 2 pgτ ,
then consider two cases as follows:
• Case (i): If qτ = gτ , then start processing job qτ from time τ , and let τ = τ + pqτ . Go to Step 0. • Case (ii): If qτ = gτ , then consider two further cases: if job gτ is not the only job in Aτ , then start processing any job j in Aτ but gτ from time τ , let τ = τ + pj , and go to Step 0; otherwise, do not start any job, let τ = τ + 1, and go to Step 0. By this algorithm, at any time point τ , if none of the available jobs is big, then the job with the longest transportation time is scheduled. Otherwise, it is checked
4.2 Online Problems with Individual and Immediate Delivery
143 √
whether the available jobs can keep the machine busy until time rgτ + 5+1 2 pgτ . If this is the case, then either the job with the longest transportation time or the big job is scheduled, depending on whether the job with the longest transportation time has a transportation time above some threshold or not. If the available jobs cannot √ p keep the machine busy until time rgτ + 5+1 gτ , then the job with the longest 2 transportation time is always scheduled unless this job is also the big job. In the case when the job with the longest transportation time is also the big job, then any other job is scheduled if there exists another job, or the machine waits if there are no other √ 5−1 jobs. In the latter case, the machine waits intentionally until time rgτ + 2 pgτ or until a new job arrives if sooner. Hoogeveen and Vestjens (2000) show that the competitive ratio of this algorithm √ is ( 5 + 1)/2 by contradiction where the concept of a smallest counterexample is used. A smallest counterexample is an instance of the problem with a minimum number of jobs, for √ which the algorithm generates a solution with the objective value more than ( 5 + 1)/2 times the optimal objective value of the corresponding offline instance. They show that if such a counterexample exists, then the solution generated by the algorithm for this instance satisfies some properties, which are then used to show that there is a contradiction and, hence, such a counterexample cannot exist. To understand this algorithm better, we illustrate the steps of the algorithm when it is applied to the following numerical example. Example 4.1 (Application of Algorithm 4.1) Consider a situation where four jobs arrive over time with the parameters given in the following table. j rj pj tj
1 1 5 10
2 4 9 7
3 10 2 3
4 10 1 12
Applying the algorithm, the first time point to consider is τ = 1 when job 1 arrives. At τ = 1, the algorithm runs the following steps: Step 0: Aτ = Bτ = {1}, gτ = qτ = 1. Step 1: Job 1 is a big job; the condition of Step 2 is not satisfied, and go to Step 3. Step 3: Case (ii); since job 1 is the only job in Aτ , do not start any job, let τ = 2, and go to Step 0. At τ = 2 and τ = 3, the algorithm yields the same results as above and hence no job is started. At τ = 4, the algorithm runs the following steps: Step 0: Aτ = Bτ = {1, 2}, gτ = 2, qτ = 1. Step 1: Job 2 is a big job; the condition of Step 2 is not satisfied, and go to Step 3. Step 3: Case (i); start processing job 1 from time 4; let τ = 4 + p1 = 9, and go to Step 0.
144
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
At τ = 9, the algorithm runs the following steps: Step 0: Aτ = {2}, Bτ = {1, 2}, gτ = qτ = 2. Step 1: Job 2 is a big job; the condition of Step 2 is not satisfied, and go to Step 3. Step 3: Case (ii); since job 2 is the only job in Aτ , do not start any job, let τ = 10, and go to Step 0. At τ = 10, the algorithm runs the following steps: Step 0: Aτ = {2, 3, 4}, Bτ = {2, 3, 4}, gτ = qτ = 2. Step 1: Job 2 is a big job; the condition of Step 2 is satisfied, and go to Step 2. Step 2: Case (i); start processing job 4 from time 10; let τ = 10 + p4 = 11, and go to Step 0. At τ = 11, the algorithm runs the following steps: Step 0: Aτ = {2, 3}, Bτ = {2, 3, 4}, gτ = 2, qτ = 4. Step 1: Job 2 is a big job; the condition of Step 2 is satisfied, and go to Step 2. Step 2: Case (i); start processing job 2 from time 11; let τ = 10 + p2 = 20, and go to Step 0. At τ = 20, the algorithm runs the following steps: Step 0: Aτ = {3}, Bτ = {2, 3, 4}, gτ = qτ = 3. Step 1: Job 3 is not a big job; start processing job 3 from time 20; let τ = 20 + p3 = 22. Go to Step 0. No new jobs arrive. Stop. The schedule generated by this algorithm in this example is (1, 4, 2, 3) with starting times of the jobs 4, 10, 11, 20, respectively. This gives D1 = 19, D2 = 27, D3 = 25, D4 = 23. Thus, Dmax = 27. It can easily be checked that this solution happens to be an optimal solution for the offline problem of the given instance. Several variants of problem 1|online, rj |V (∞, 1), iid|n|Dmax have been studied in the literature. Tian et al. (2008) and Liu et al. (2010) consider the same problem, except that each job’s transportation time is bounded. When each job’s transportation time tj is assumed to be no more than its processing √ time pj , Tian et al. (2008) give an online algorithm with a competitive ratio of 2 and show that this ratio is the best possible. When each job’s transportation time tj satisfies the condition: βtj ≤ pj , where β ≥ 1/2 is a given,constant, Liu et al. (2010) give an online algorithm with a competitive ratio of 12 ( 5 + β 2 + 2β + 1 − β) and show that this ratio is the best possible. It can be seen that when β = 1, the problem of Liu et al. (2010) reduces to that of Tian et al. (2008), and the competitive ratio of Liu et al.’s algorithm becomes the same as that of Tian et al.’s algorithm. Both their algorithms essentially follow the idea of Algorithm A4.1. Some other variants of the problem where the machine is a so-called parallel batching machine have also been studied. A parallel batching machine is one that can process multiple jobs as a batch simultaneously, and the processing requirement of the batch is determined by the job with the longest processing time. A wellknown application involving parallel batching machines is the scheduling of burn-in operations in semiconductor manufacturing (Lee & Uzsoy, 1999; Lee et al., 1992). Tian et al. (2012) study problem 1|online, rj |V (∞, 1), iid|n|Dmax with a parallel batching machine with an unbounded batch size and give an online algorithm with
4.2 Online Problems with Individual and Immediate Delivery
145
√ a competitive ratio of 2 2 − 1. Yuan et al. (2009) and Tian et al. (2011) consider similar problems where there are lower or upper bounds on the transportation times of the jobs.
4.2.2 Parallel-Machine Maximum Delivery Time Problem We consider problem P2 |online, rj |V (∞, 1), iid|n|Dmax in this section. Some offline problems related to this online problem are discussed in Sect. 3.3.3. For this online problem, Vestjens (1997) shows that any online algorithm has a competitive ratio of at least 3/2. Liu and Lu (2015) give the√following algorithm for this online problem and show that its competitive ratio is ( 5 + 1)/2 and this bound is tight. Algorithm √A4.2 Let α = ( 5 − 1)/2. Set τ = 0. Step 0: If there is no available job at time τ , then wait until a new job arrives, and reset τ to be this time. Step 1: If both machines are idle at time τ , then select an available job with the largest transportation time, and start to process the job at time τ on one of the machines. Go to Step 0. Step 2: If only one machine is idle at time τ , let j be the job being processed by the other machines at time τ and Cj be the completion time of this job, and consider the following two cases: Case (i): If τ ≥ α 2 Cj , then select an available job with the largest transportation time and start to process the job at time τ on the idle machine. Go to Step 0. Case (ii): If τ < α 2 Cj , then reset τ to be α 2 Cj . Go to Step 0. Step 3: If both machines are busy at time τ , reset τ to be the earliest time instant after τ at which at least one machine becomes idle. Go to Step 0. We give a numerical example in the following to illustrate the steps of this algorithm. Example 4.2 (Application of Algorithm A4.2) Consider an instance where five jobs arrive over time with the parameters given in the following table. j rj pj tj
1 1 5 10
2 4 16 7
3 7 12 3
4 7 6 12
5 10 8 9
Applying Algorithm A4.2, at τ = 0, the algorithm runs the following steps: Step 0: Since there is no available job at τ , wait until job 1 arrives, and reset τ = 1.
146
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Step 1: Since both machines are idle at τ , the only available job, which is job 1, is processed on machine 1 from time 1 to 6. At τ = 1, the algorithm runs the following steps: Step 0: Since there is no available job at τ , wait until job 2 arrives, and reset τ = 4. Step 2: Since only machine 2 is idle at τ , the job being processed by machine 1 at time τ is identified, which is job 1 with C1 = 6. Case (i) holds and the only available job, which is job 2, is processed on machine 2 from time 4 to 20. At τ = 4, the algorithm runs the following steps: Step 0: Since there is no available job at τ , wait until time 7 when jobs 3 and 4 arrive, and reset τ = 7. Step 2: Since only machine 1 is idle at τ , the job being processed by machine 2 at time τ is identified, which is job 2 with C2 = 20. Case (ii) holds, and reset τ = 20α 2 , which is greater than 7. At τ = 20α 2 , the algorithm runs the following steps: Step 0: Jobs 3 and 4 are available at τ . Step 2: Since only machine 1 is idle at τ , the job being processed by machine 2 at time τ is identified, which is job 2 with C2 = 20. Case (i) holds, and job 4 is selected and processed on machine 1 from time 20α 2 to 6 + 20α 2 . At τ = 20α 2 , the algorithm runs the following steps: Step 0: Job 3 is available at τ . Step 3: Since both machines are busy at time τ , reset τ = 6 + 20α 2 when machine 1 is available. At τ = 6 + 20α 2 , the algorithm runs the following steps: Step 0: Jobs 3 and 5 are available at τ . Step 2: Since only machine 1 is idle at τ , the job being processed by machine 2 at time τ is identified, which is job 2 with C2 = 20. Case (i) holds, and job 5 is selected and processed on machine 1 from time 6 + 20α 2 to 14 + 20α 2 . At τ = 6 + 20α 2 , the algorithm runs the following steps: Step 0: Job 3 is available at τ . Step 3: Since both machines are busy at τ , reset τ = 20 when machine 2 is available. At τ = 20, the algorithm runs the following steps: Step 0: Job 3 is available at τ . Step 2: Since only machine 2 is idle at τ , the job being processed by machine 1 at time τ is identified, which is job 5 with C5 = 14 + 20α 2 . Case (i) holds, and job 3 is processed on machine 2 from time 20 to 32. Stop. The schedule generated for this example is the following: machine 1 processed jobs 1, 4, and 5 with starting time 1, 20α 2 and 6 + 20α 2 , respectively, and machine 2 processed jobs 2 and 3 with the starting times 4 and 20, respectively. Thus, D1 = 16, D2 = 27, D3 = 35, D4 = 18 + 20α 2 , D5 = 23 + 20α 2 , and Dmax = 35. Although Algorithm A4.2 is quite straightforward, the competitive analysis given in Liu and Lu (2015) is not. We do not present their analysis here. They also conduct computational experiments, which show that the performance of this algorithm based on randomly generated instances is much better than the theoretical worstcase bound.
4.3 Online Problems with Batch Delivery to a Single Customer
147
It would be interesting to see whether the idea of this algorithm can be extended to the more general problem Pm |online, rj |V (∞, 1), iid|n|Dmax , where there are more than two machines. To our knowledge, there are no existing online algorithms for this problem.
4.3 Online Problems with Batch Delivery to a Single Customer All the problems considered in this section involve a single customer with the direct shipping delivery method. We consider two representative problems each with the objective functions Dmax , Dmax + T C, and Dj + T C in Sects. 4.3.1, 4.3.2, and 4.3.3, respectively.
4.3.1 Maximum Delivery Time Problems In this section, we consider two related problems 1|online, rj , pmtn|V (1, c), direct|1|Dmax and 1|online, rj |V (1, c), direct|1|Dmax . They both involve a single machine and a single capacitated vehicle delivering all the jobs in batches with the objective of minimizing Dmax , the time when all the jobs are delivered to the customer. The first problem allows preemption when processing jobs on the machine, whereas the second problem does not. In these problems, the single delivery vehicle can deliver at most c ≥ 1 jobs in each trip, and the travel time from the plant to the customer site and that from the customer site back to the plant are assumed to be identical and denoted as t. We first discuss briefly the offline counterparts of these problems in Sect. 4.3.1.1 and then discuss each of the online problems in Sects. 4.3.1.2 and 4.3.1.3, respectively.
4.3.1.1
Offline Counterparts
We are not aware of any existing papers that study the offline problems 1|rj , pmtn|V (1, c), direct|1|Dmax and 1|rj |V (1, c), direct|1|Dmax . However, Lu et al. (2008) consider the closely related problems 1|rj , pmtn|V (1, c), direct|1|Fmax and 1|rj |V (1, c), direct|1|Fmax , where the objective function Fmax = Dmax + t is the time when the vehicle returns to the plant after delivering the last batch of jobs. Since t is a given constant, the offline problems 1|rj , pmtn|V (1, c), direct|1|Dmax and 1|rj |V (1, c), direct|1|Dmax are equivalent to the offline problems studied by Lu et al. (2008), respectively, in the sense that optimal solutions to the former problems are also optimal for the latter problems and vice versa.
148
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
However, the optimal objective value of 1|rj , pmtn|V (1, c), direct|1|Fmax (resp. 1|rj |V (1, c), direct|1|Fmax ) differs from that of 1|rj , pmtn|V (1, c), direct|1|Dmax (resp. 1|rj |V (1, c), direct|1|Dmax ) by a constant, t. Several results derived by Lu et al. (2008) for 1|rj , pmtn|V (1, c), direct|1|Fmax are also valid for problem 1|rj , pmtn|V (1, c), direct|1|Dmax and are hence stated as properties for the latter problem in the following. For problem 1|rj , pmtn|V (1, c), direct|1|Dmax , it is optimal to process the jobs on the machine using the shortest remaining processing time (SRPT) rule, which, together with a simple tie-breaking rule, can be stated formally as follows: SRPT Rule At each time instant τ , process the job with the smallest remaining processing time among all the jobs that have arrived but have not been completed, with ties broken by giving priority to the job with the smallest index. Example 4.3 (Application of SRPT Rule) Apply the SRPT rule to the following instance where four jobs arrive over time with the following parameters. j rj pj
1 1 9
2 4 5
3 10 3
4 11 1
Job 1 is started at time 1 but preempted at time 4 by job 2. Job 2 is processed from time 4 without interruption until it is completed at time 9. Job 1 is resumed at time 9 but preempted at time 10 by job 3. Job 3 is processed for one time unit before it is preempted at time 11 by job 4. Job 4 is processed from time 11 without interruption, until it is completed at time 12. At time 12, job 1 has 5 units of processing time remaining, and job 3 has 2 units of processing time remaining. Thus, at time 12, job 3 is selected for processing and is completed at time 14. Finally, job 1 is processed from time 14 to time 19. In this solution, the job completion times are, in increasing order, C2 = 9, C4 = 12, C3 = 14, C1 = 19. Furthermore, for problem 1|rj , pmtn|V (1, c), direct|1|Dmax , there is an optimal solution where (i) a job with an earlier completion time is delivered no later than any job with a later completion time, and (ii) each delivery batch, except possibly the first batch, contains exactly c jobs. Based on these properties, the following polynomial-time algorithm solves problem 1|rj , pmtn|V (1, c), direct|1|Dmax to optimality. Algorithm A4.3 Step 1: Process the jobs following the SRPT rule. Reindex the jobs as [1], . . . , [n] in nondecreasing order of their completion times resulting from the application of SRPT rule. Step 2: Form n/c delivery batches such that the first batch consists of the first n − (n/c − 1)c consecutively completed jobs, and the ith batch consists of the c consecutively completed jobs, [x + 1], [x + 2], . . . , [x + c], where x = n − (n/c − 1)c + (i − 2)c, for i = 2, . . . , n/c. Deliver these batches
4.3 Online Problems with Batch Delivery to a Single Customer
149
one by one as soon as possible in the order of their completion times (which are the completion times of the last jobs in the batches). Lu et al. (2008) show that problem 1|rj |V (1, c), direct|1|Fmax is strongly NP hard, and give an approximation algorithm with a tight worst-case performance bound of 5/3. Clearly, problem 1|rj |V (1, c), direct|1|Dmax has exactly the same complexity as 1|rj |V (1, c), direct|1|Fmax and hence is also strongly NP -hard. However, if Lu et al.’s approximation algorithm is applied to our problem, the worst-case performance bound is not 5/3 because of the difference in the objective function. Instead, we have the following result. Remark 4.1 The worst-case performance bound of Lu et al.’s approximation algorithm, when applied to problem 1|rj |V (1, c), direct|1|Dmax , is no more than 7/3. ∗ , and F This is because of the fact that Fmax (H ) ≤ (5/3)Fmax max (H ) = Dmax (H )+t ∗ ∗ ∗ ∗ , where and Fmax = Dmax +t implies that Dmax (H ) ≤ 5Dmax /3+2t/3 ≤ (7/3)Dmax ∗ Dmax (H ) and Dmax (which is clearly at least t) are the maximum delivery times in the solution generated by Lu et al.’s approximation algorithm and in the optimal solution, respectively.
4.3.1.2
Algorithm for the Preemptive Problem
For the online problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax , since the SRPT rule described in Sect. 4.3.1.1 can be implemented online, applying this rule for processing the jobs on the machine is optimal. Therefore, the SRPT rule should be used for processing the jobs in any online algorithm for this problem. When c = 1, each job is delivered individually. Thus, for problem 1|online, rj , pmtn|V (1, 1), direct|1|Dmax , it is optimal to process the jobs using the SRPT rule and deliver the jobs one by one as soon as possible in the order of their completion times. However, when c ≥ 2, apparently a simple optimal solution cannot be identified because when c ≥ 2, a vehicle may deliver one or two jobs in a trip, and hence, a waiting strategy needs to be developed, which is not straightforward. In this case, Algorithm 4.3 given in Sect. 4.3.1.1 for the offline counterpart of this problem cannot be implemented online and hence cannot be used for the online problem. Ng and Lu (2012) study a closely related online problem 1|online, rj , pmtn|V (1, c), direct|1|Fmax , where the objective function Fmax = Dmax + t. They show that any deterministic online algorithm H for this problem with c ≥ 2 √ 5+1 has a competitive ratio of at least 2 , and develop an online algorithm with a √
competitive ratio of 5+1 2 . Their online algorithm can be applied to our problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax and generate exactly the same solution. However, since our problem has a different objective function from their problem, their algorithm also has a different competitive ratio when applied to our problem.
150
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
While writing this chapter, we contacted Dr. Chi To Ng of Hong Kong Polytechnic University, the lead author of the paper Ng and Lu (2012), about applying their online algorithm to our problem. In response to our inquiry, Ng and Lu (2020) show that for our problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax with c ≥ 2, any online algorithm H has a competitive ratio of at least 2 by constructing an instance of the problem. We modify their instance slightly to make it more straightforward as follows: • There are one or two jobs that will arrive, depending on what the algorithm does. Job 1 arrives at time 0 with p1 = 0. • If the vehicle delivers job 1 with departure time τ > t, then no other jobs arrive. In this case, Dmax (H ) > 2t. However, the optimal solution is to deliver job 1 at ∗ ∗ time 0, resulting in Dmax = t. Thus, Dmax (H )/Dmax > 2. • If the vehicle delivers job 1 with departure time τ ≤ t, then job 2 with p2 = 0 arrives at time τ + . In this case, Dmax (H ) ≥ τ + 3t. However, the optimal ∗ solution is to deliver both jobs at time τ + , resulting in Dmax = τ + + t. Thus, τ +3t 2t− ∗ Dmax (H )/Dmax ≥ τ ++t = 1 + τ ++t ≥ 2 when goes to 0. Ng and Lu (2020) propose the following online algorithm for solving problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax with any c ≥ 2. It is a modified version of the online algorithm given in Ng and Lu (2012) for problem 1|online, rj , pmtn|V (1, c), direct|1|Fmax with c ≥ 2. Algorithm A4.4 Step 1: At the production stage, process the jobs by the SRPT rule given in Sect. 4.3.1.1. Step 2: At the delivery stage, keep the vehicle idle until time t. Step 3: At any time point τ ≥ t, if there is at least one job that has completed processing but has not been delivered, then the vehicle carries as many completed jobs as possible and departs at time τ , set τ = τ +2t, and go to Step 3. Otherwise, set τ to be the earliest time after the current τ when a job completes processing, let the vehicle wait until time τ , and go to Step 3. Example 4.4 (Application of Algorithm A4.4) Apply Algorithm A4.4 to the instance given in Example 4.3 with vehicle capacity c = 2 and one-way transportation time t = 2. Given the SRPT schedule described in Example 4.3, we can see that the earliest time point to be considered is τ = 9 when the first job in the SRPT schedule is completed. At τ = 9, deliver job 2, and set τ = 9 + 2t = 13. At time τ = 13, job 4 is available for delivery and hence is delivered. Set τ = 13 + 2t = 17. At τ = 17, job 3 is available and is hence delivered. Set τ = 17 + 2t = 21. At time τ = 21, job 1 is available and hence delivered. This solution gives the delivery times of the jobs, in increasing order, D2 = 11, D4 = 15, D3 = 19, D1 = 23, and hence Dmax = 23. An optimal offline solution for this instance is to deliver jobs 2 and 4 together at time 12, and deliver jobs 1 and 3 together at time 19, which yields Dmax = 21.
4.3 Online Problems with Batch Delivery to a Single Customer
151
Ng and Lu (2020) show that for problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax , Algorithm A4.4 satisfies Lemma 3.2 given in Ng and Lu (2012). This lemma is stated and proved below. Lemma 4.1 For any given instance I of problem 1|online, rj , pmtn|V (1, c), H (I ) ≤ D ∗ (I ) + 2t, where D H (I ) is the maximum delivery direct|1|Dmax , Dmax max max ∗ (I ) is time in the solution generated by Algorithm A4.4 for the instance, and Dmax the maximum delivery time in the optimal offline solution for the instance. Proof For any given instance of the problem, let π and π ∗ be the solution generated by Algorithm A4.4, and the optimal offline solution, respectively. Since processing the jobs by the SRPT rule is optimal, we can assume that π and π ∗ have the same job processing schedule. Let [j ] denote the j th completed job in the job processing schedule of π and π ∗ , for j = 1, . . . , n. Suppose that there are b delivery batches in π and they are denoted as B1 , . . . , Bb , where a batch with a smaller index is delivered earlier than a batch with a larger index. Let d(Bi ) denote the departure time of batch Bi . By Algorithm A4.4, d(B1 ) = max{t, r[1] }. Let Bk be the earliest delivery batch such that Bk , . . . , Bb are delivered continH (I ) = d(B ) + 2t (b − k) + t. If uously without any vehicle idle time. Thus, Dmax k k = b, then the vehicle is idle between the time it returns to the plant after delivering batch Bb−1 and the time it departs from the plant carrying batch Bb , which is time d(Bb ). By the algorithm, this means that d(Bb ) is equal to the processing completion H (I ) = C + t. Clearly, time of the first job in it, denoted as time C0 . Thus, Dmax 0 ∗ H ∗ Dmax (I ) ≥ C0 + t. This implies that Dmax (I ) ≤ Dmax (I ). If k < b, then there are two cases to consider as follows. First, if all the batches Bk , . . . , Bb−1 contain c jobs, there are two further cases. If k = 1, H (I ) = max{t, r } + 2t (n/c) − t. Since then b = n/c ≤ b∗ . Thus, Dmax [1] ∗ H (I ) ≤ D ∗ (I ) + t. If k > 1, then the Dmax (I ) ≥ r[1] + 2t (n/c) − t, we have Dmax max vehicle is idle between the time it gets back to the plant after delivering batch Bk−1 , which is denoted as time E, and the time it departs from the plant carrying batch Bk , which is time d(Bk ). From the algorithm, this means that d(Bk ) is equal to the processing completion time of the first job in it, which further implies that c −1 jobs in Bk have a zero processing time. Let the completion time of the first job in Bk be H (I ) = C + 2t (b − k) + t. Furthermore, we can see that denoted as C0 . Thus Dmax 0 ∗ in π , there are at least (c(b − k) + 1)/c = b − k + 1 batches with a departure ∗ (I ) ≥ C + 2t (b − k) + t = D H (I ). time greater than or equal to C0 . Thus Dmax 0 max H ∗ Thus Dmax (I ) ≤ Dmax (I ). Second, suppose some batches Bk , . . . , Bb−1 contain less than c jobs. Let Bl be the last batch among these batches containing less than c jobs. There are two subcases. First, if l = b − 1, then all the jobs in Bb complete processing after time ∗ (I ) ≥ d(B H d(Bb−1 ). This means that Dmax b−1 ) + t, and Dmax (I ) = d(Bb−1 ) + 3t. H ∗ Thus, Dmax (I ) ≤ Dmax (I ) + 2t. Second, if l < b − 1, then every batch Bl+1 , . . . , Bb−1 contains c jobs and all the jobs in these batches complete processing after d(Bl ). Thus, there are at least (b −l −1)c +1 jobs in the batches Bl+1 , . . . , Bb . This implies that in π ∗ there are at least b − l delivery batches that depart after
152
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
∗ (I ) ≥ d(B ) + 2t (b − l − 1) + t. On the other hand, we know d(Bl ). Thus, Dmax l H H (I ) ≤ D ∗ (I ) + 2t. Dmax (I ) = d(Bl ) + 2t (b − l) + t. Thus, Dmax max H (I ) ≤ D ∗ (I ) + 2t, As shown above, in every possible case, we have Dmax max hereby establishing the lemma.
Based on this lemma, Ng and Lu (2020) show the following result. Theorem 4.1 For problem 1|online, rj , pmtn|V (1, c), direct|1|Dmax , the competitive ratio of Algorithm A4.4 is 2. ∗ (I ) ≥ 2t, then by Lemma 4.1, D H (I ) ≤ D ∗ (I ) + 2t. Thus, we Proof If Dmax max max H ∗ (I ). If D ∗ (I ) < 2t, then in the optimal offline solution, have Dmax (I ) ≤ 2Dmax max all the jobs complete processing at or before time t and all the jobs are delivered in one batch, which implies that c ≥ n. Since the SRPT schedule is optimal for processing the jobs even for the offline problem, the processing schedule in the solution generated by Algorithm A4.4 is the same as that in the optimal offline solution. This means that all the jobs complete processing at or before time t in the solution generated by Algorithm A4.4. Thus, from Step 3 of the algorithm, all H (I ) = 2t. Since the jobs are delivered together at time t, which implies that Dmax ∗ H ∗ Dmax (I ) ≥ t, we have Dmax (I ) ≤ 2Dmax (I ).
4.3.1.3
Algorithms for the Nonpreemptive Problem
Next, we consider the nonpreemptive problem 1|online, rj |V (1, c), direct|1|Dmax . Ng and Lu (2012) consider a closely related problem, 1|online, rj |V (1, c), direct |1|Fmax . They show that any deterministic online algorithm H for this problem √ 5+1 has a competitive ratio of at least 2 , and develop an online algorithm with a √
when c = 1, and an asymptotic competitive ratio of competitive ratio of 5+1 2 the same value when c ≥ 2. Their online algorithm can be applied to our problem 1|online, rj |V (1, c), direct|1|Dmax and generate the same solution with a different objective value. However, since our problem has a different objective function, their algorithm has a different competitive ratio when applied to our problem. In the following, we first apply Ng and Lu’s (2012) algorithm directly to solve our problem 1|online, rj |V (1, c), direct|1|D max and show that for our problem, this √ 5 when c = 1 and an asymptotic competitive algorithm has a competitive ratio of √ 5+1 ratio of 2 when c ≥ 2. We then present another algorithm that has a competitive ratio of 2.5 for our problem with any value of c. We first describe the algorithm from Ng and Lu (2012). We introduce some additional notation as follows: • P (S) denotes the total processing time of all the jobs in set S. • Aτ is the set of jobs that have arrived at or before time τ but have not started processing by time τ . • eτ is the earliest time such that the machine is always busy in time interval [eτ , τ ]. • Bτ is the set of jobs that are processed on the machine in time interval [eτ , τ ].
4.3 Online Problems with Batch Delivery to a Single Customer
153
• sτ is the job with the shortest processing time in Aτ . • lτ is the job with the longest processing time in Aτ . The algorithm consists of two phases: the first phase generates a production schedule, and the second phase generates a delivery schedule based on the production schedule from the first phase. Algorithm A4.5 Phase 1: At the production stage, assign the jobs for processing on the machine as √ follows. Set α = 5−1 , and τ = 0. 2 Step 1: If Aτ is empty, wait until the time a new job arrives and reset τ to be this time. If |Aτ | ≥ 2, go to Step 2. If |Aτ | = 1, then we denote the only job in Aτ as job sτ and consider two cases as follows. Case (i): If τ < rsτ + α(psτ + 2t), then wait until either the time a new job arrives or the time becomes rsτ + α(psτ + 2t), whichever is earlier. Reset τ to be this time. Go to Step 1. Case (ii): If τ ≥ rsτ + α(psτ + 2t), then start to process job sτ from time τ . Reset τ = τ + psτ . Go to Step 1. Step 2: If |Aτ | ≥ 2, consider two cases as follows: Case (i): If at least one of the following three conditions holds: (1) psτ ≤ 2t/c, (2) τ + psτ ≤ max{rlτ + α(plτ + 2t), α(P (Aτ ∪ Bτ ) + 2t)}, (3) plτ ≤ αP (Aτ ∪ Bτ ), then start to process job sτ from time τ . Reset τ = τ + psτ . Go to Step 1. Case (ii): Otherwise, start to process job lτ from time τ . Reset τ = τ + plτ . Go to Step 1. Phase 2: At the delivery stage, assign the finished jobs in Phase 1 for delivery by the vehicle as follows. Set τ = 0. Step 1: If there is at least one job that has completed processing but has not been delivered by time τ , then the vehicle carries as many completed jobs as possible and departs at time τ , set τ = τ + 2t, and go to Step 1. Otherwise, reset τ to be the earliest future time when a job is completed processing, let the vehicle wait until time τ , and go to Step 1. Example 4.5 (Application of Algorithm A4.5) Apply Algorithm A4.5 to the instance given in Example 4.3 with vehicle capacity c = 2 and one-way transportation time t = 2. Applying Phase 1 of the algorithm, the first time point to consider is τ = 1 when job 1 arrives. At τ = 1, the algorithm runs the following steps of Phase 1: Step 1: Aτ = {1}, Bτ is empty, sτ = lτ = 1; Case (i) is satisfied; wait until time 1 + α(9 + 4) = 1 + 13α or when the next job arrives, whichever is earlier. This means wait until time 4 when job 2 arrives. Set τ = 4. At τ = 4, the algorithm runs the following steps of Phase 1: Step 1: Aτ = {1, 2}, Bτ is empty, sτ = 2, lτ = 1; since |Aτ | ≥ 2, go to Step 2. Step 2: Since Condition (2) is satisfied, start to process job 2 at time 4. Set τ = 4 + 5 = 9. At τ = 9, the algorithm runs the following steps of Phase 1:
154
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Step 1: Aτ = {1}, Bτ = {2}, sτ = lτ = 1; Case (i) is satisfied; wait until time 1 + α(9 + 4) = 1 + 13α or time 10 when the next job arrives, whichever is earlier. Since 1 + 13α < 10, wait until time 1 + 13α < 10. Set τ = 1 + 13α. At τ = 1 + 13α, the algorithm runs the following steps of Phase 1: Step 1: Aτ = {1}, Bτ is empty, sτ = lτ = 1; Case (ii) is satisfied; start to process job 1 at time 1 + 13α. Set τ = 10 + 13α. At τ = 10 + 13α, the algorithm runs the following steps of Phase 1: Step 1: Aτ = {3, 4}, Bτ = {1}, sτ = 4, lτ = 3; since |Aτ | ≥ 2, go to Step 2. Step 2: Since Condition (1) is satisfied; start to process job 4 at time 10 + 13α. Set τ = 11 + 13α. At τ = 11 + 13α, the algorithm runs the following steps of Phase 1: Step 1: Aτ = {3}, Bτ = {1, 4}, sτ = lτ = 3; Case (ii) is satisfied; start to process job 3 at time 11 + 13α. Set τ = 14 + 13α. No new jobs arrive after that. Stop. Applying Phase 2 of the algorithm, the first time point to consider is τ = 9 when job 2 is completed. Deliver job 2 at time 9. Set τ = 9 + 2t = 13. Wait until job 1 is completed processing at time τ = 10 + 13α. Deliver job 1 at this time. Set τ = 10 + 13α + 2t = 14 + 13α. At this time, jobs 3 and 4 are both available. Deliver them together at this time. The solution generated has the objective value Dmax = 16 + 13α ≈ 24.03. An optimal offline solution is to schedule the jobs in the sequence (1, 3, 2, 4) without inserted idle time such that their completion times are C1 = 10, C3 = 13, C2 = 18, C4 = 19, and deliver jobs 1 and 3 together at time 13, and jobs 2 and 4 together at time 19. The optimal objective value is 21. Theorem 4.2 For problem √ 1|online, rj |V (1, c), direct|1|Dmax , Algorithm A4.5 has√a competitive ratio of 5 when c = 1 and has an asymptotic competitive ratio of 5+1 when c ≥ 2. 2 Proof Ng and Lu (2012) show that for any instance I of problem 1|online, rj | V (1, c), direct|1|F satisfies: max with c = 1, the solution from this algorithm √ √ 5+1 ∗ 5+1 H Fmax (I ) ≤ 2 Fmax (I ), i.e., the algorithm has a competitive ratio of 2 . This H (I ) + t ≤ means that Dmax √
√
5+1 ∗ 2 (Dmax (I ) + t). H (I ) we have: Dmax
√
H (I ) ≤ 5+1 D ∗ (I ) + Thus, Dmax max 2 √ ∗ ≤ ( 5)Dmax (I ). This establishes
∗ (I ), Since t ≤ Dmax the first half of the theorem. Ng and Lu (2012) also show that for any instance I of problem 1|online, rj | V (1, c), direct|1|F max with c ≥ 2, the solution from this algorithm satisfies: √ 5+1 ∗ H (I ) ≤ Fmax F max (I ) + (2t)(2c − 1)/c, i.e., the algorithm has an asymptotic 2 5−1 2 t.
√
H competitive ratio of 5+1 2 . This means that Dmax (I ) + t ≤ (2t)(2c − 1)/c. Thus,
H Dmax (I )
√ 5+1 ∗ ≤ (I ) + β, Dmax 2
√
5+1 ∗ 2 (Dmax (I )
+ t) +
4.3 Online Problems with Batch Delivery to a Single Customer
155
√
where β = 5−1 2 t + (2t)(2c − 1)/c is a fixed constant. This establishes the second half of the theorem. Theorem 4.2 does not show if Algorithm A4.5 has a constant competitive ratio for problem 1|online, rj |V (1, c), direct|1|Dmax with c ≥ 2. It is not known whether this algorithm has a constant competitive ratio for our problem with c ≥ 2. However, as we show next, there is another algorithm that can be proven to have a constant competitive ratio for the same problem with any value of c. This algorithm and the competitive ratio analysis presented below are from Ng (2021). Algorithm A4.6 Step 1: In the production stage, at any moment when the machine is available, process any job that has arrived. Step 2: Same as in Algorithm A4.4. Step 3: Same as in Algorithm A4.4. Example 4.6 (Application of Algorithm A4.6) Apply Algorithm A4.6 to the instance given in Example 4.3 with vehicle capacity c = 2 and one-way transportation time t = 2. Step 1: A production schedule (1, 2, 3, 4) is generated with C1 = 10, C2 = 15, C3 = 18, C4 = 19. Step 2: Keep the vehicle idle until time 2. Step 3: At time τ = 10, the first job, which is job 1, completes processing and is delivered. Reset τ = 10 + 2t = 14. At this time, there is no job available for delivery. Reset τ to be 15, the time when the next job, job 2, completes processing. At τ = 15, job 2 is delivered. Reset τ = 15 + 2t = 19. At τ = 19, both jobs 3 and 4 complete processing and hence are delivered together. This gives Dmax = 19 + 2 = 21, which happens to be the same as the optimal offline objective value, as calculated in Example 4.5. Theorem 4.3 For problem 1|online, rj |V (1, c), direct|1|Dmax with any value of vehicle capacity c, Algorithm A4.6 has a competitive ratio of 2.5. Proof Given any instance of the problem, let π be the solution generated by this algorithm, and π ∗ be the optimal solution for the offline version of the instance. We denote the maximum completion time of the jobs and the maximum delivery time of the jobs in π as Cmax (π ) and Dmax (π ), respectively. Similarly, we denote these measures in π ∗ as Cmax (π ∗ ) and Dmax (π ∗ ), respectively. We observe that Step 1 of the algorithm generates a production schedule with the minimum possible completion time of the last job, i.e., Cmax (π ) ≤ Cmax (π ∗ ). We can also observe that Dmax (π ∗ ) ≥ Cmax (π ∗ ) + t ≥ Cmax (π ) + t, ∗
Dmax (π ) ≥ 2t (n/c − 1) + t.
(4.1) (4.2)
156
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Suppose that in π there are h delivery batches with a departure time greater than or equal to Cmax (π ). Denote these batches as B1 , . . . , Bh . Since all the jobs have completed processing by Cmax (π ), each of the batches B1 , . . . , Bh−1 must contain c jobs, and batch Bh may contain c or fewer jobs. Thus, h ≤ n/c. We consider two cases about the relationship between Cmax (π ) and t as follows. Case 1 If Cmax (π ) ≤ t, then all the delivery batches in π have a departure time greater than or equal to Cmax (π ), which means h = n/c, and Dmax (π ) = t + 2t (h − 1) + t = 2t (n/c − 1) + 2t.
(4.3)
From (4.2) and (4.3), we have Dmax (π ) ≤ 2Dmax (π ∗ ).
(4.4)
Case 2 If Cmax (π ) > t, then from (4.1), we have Dmax (π ∗ ) ≥ Cmax (π ∗ ) + t ≥ 2t, which implies that t ≤ Dmax (π ∗ )/2.
(4.5)
Since in solution π there is at most one delivery batch for which the vehicle departs before time Cmax (π ) and returns to the production facility after time Cmax (π ), we have Dmax (π ) ≤ Cmax (π ) + 2t + 2t (h − 1) + t, which, along with (4.1) and (4.2), implies Dmax (π ) ≤ 2Dmax (π ∗ ) + t, which, along with (4.5), further implies Dmax (π ) ≤ 2.5Dmax (π ∗ ). The theorem then follows from (4.4) and (4.6).
(4.6)
4.3.2 Maximum Delivery Time and Transportation Cost Problems In this section, we consider two related problems 1|online, rj |V (∞, c), direct|1|Dmax + T C and Pm |online, rj |V (∞, c), direct|1|Dmax + T C. They involve a single machine or multiple parallel machines and a sufficient number
4.3 Online Problems with Batch Delivery to a Single Customer
157
of capacitated delivery vehicles, with the objective of minimizing the sum of the maximum delivery time of the jobs and the total delivery cost. We first briefly discuss their offline counterparts. The offline problem 1|rj |V (∞, c), direct|1|Dmax + T C can be solved easily as follows: Process the jobs in nondecreasing order of their release times, and deliver them at time Cmax using n/c full batches if n is an integer multiple of c, or using n/c full batches and one partial batch if n is not an integer multiple of c. However, the offline parallel-machine problem Pm |rj |V (∞, c), direct|1|Dmax + T C is much more difficult to solve; it is strongly NP -hard, since a special case of the problem, the classical machine scheduling problem without job delivery, Pm |rj |Cmax , is itself strongly N P -hard (Garey & Johnson, 1979). For the online problem 1|online, rj |V (∞, c), direct|1|Dmax + T C, Han et al. (2015)√ show that no online algorithm can have a competitive ratio less than 1 max{ 5+1 2 , 2 − c }, and give an online algorithm with a competitive ratio of 2. We present a modified version of their algorithm below and give a simpler proof than theirs for the competitive ratio result. Algorithm A4.7 Step 1: In the production stage, consider the jobs in the order of their arrival and start to process the next job as soon as the machine is available. Step 2: In the delivery stage, at any time point τ = lf where l = 1, 2, . . ., if there is no job being processed, then deliver all the jobs that have been completed but have not been delivered; otherwise, do not deliver any job. Theorem 4.4 For problem 1|online, rj |V (∞, c), direct|1|Dmax + T C, Algorithm A4.7 has a competitive ratio of 2. Proof Given any instance, let π be the solution generated by this algorithm, and π ∗ be the optimal solution for the offline version of the instance. Clearly, the way the arriving jobs are processed in this algorithm yields the shortest possible completion time of all the jobs. Thus, Cmax (π ) = Cmax (π ∗ ). Let Lf be the departure time of the last delivery batch in π , for some positive integer L. Clearly, Lf ≤ Cmax (π )+f . Thus Dmax (π ) = Lf +t ≤ Cmax (π )+t +f . Let x and y be the total number of full batches and the total number of partial batches delivered in π , respectively. Thus, T C(π ) = (x + y)f . From the algorithm, it can be seen that there is at most one partial batch at each time point lf , for l = 1, . . . , L. Thus, y ≤ L, and hence yf ≤ Cmax (π ) + f . Now, consider the optimal solution π ∗ . Clearly, Dmax (π ∗ ) ≥ Cmax (π ∗ ) + t, and T C(π ∗ ) ≥ (x + 1)f if y > 0 and T C(π ∗ ) ≥ xf if y = 0. If y = 0, then x ≥ 1. We have Dmax (π ) + T C(π ) Z(π ) = ∗ Z(π ) Dmax (π ∗ ) + T C(π ∗ ) ≤
Cmax (π ) + t + f + xf Cmax (π ∗ ) + t + xf
158
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
≤ 1+
f Cmax (π ∗ ) + t + xf
≤ 2. If y ≥ 1, we have Dmax (π ) + T C(π ) Z(π ) = Z(π ∗ ) Dmax (π ∗ ) + T C(π ∗ ) ≤
Cmax (π ) + t + f + (x + y)f Cmax (π ∗ ) + t + (x + 1)f
≤ 1+ ≤ 1+
yf Cmax
(π ∗ ) + t
+ (x + 1)f
Cmax (π ) + f Cmax (π ∗ ) + t + (x + 1)f
≤ 2. For the online problem Pm |online, rj |V (∞, c), direct|1|Dmax + T C, Han et al. (2015)√ also show that no online algorithm can have a competitive ratio less than 1 max{ 5+1 2 , 2 − c }, and give an online algorithm with a competitive ratio of 2. We present their algorithm, along with their competitive analysis of the algorithm. Algorithm A4.8 Step 1: In the production stage, process the arriving jobs following the online longest processing time (LPT) rule: whenever a machine becomes available, start to process the available job with the longest processing time. Step 2: In the delivery stage, at any time point τ = lf where l = 1, 2, . . ., if there is no job being processed on any machine, then deliver all the jobs that have been completed but have not been delivered using a minimum number of vehicles; otherwise, do not deliver any job. Example 4.7 (Application of Algorithm A4.8) Apply Algorithm A4.8 to the following instance where m = 2, f = 5, c = 2, t = 2, and there are five jobs that arrive over time with their parameters given in the following table. j rj pj
1 2 8
2 4 3
3 4 5
4 5 20
5 10 4
Denote the two machines as M1 and M2. Step 1 schedules jobs 1, 5, 2 on M1 in the time intervals [2, 10], [10, 14], and [14, 17], respectively, and jobs 3, 4 on M2 in the time intervals [4, 9], and [9, 29], respectively. This gives Cmax = 29. Step
4.3 Online Problems with Batch Delivery to a Single Customer
159
2 checks time points 5l for l = 1, 2, . . .. At time τ = 5l for l = 1, . . . , 5, since there is always at least one job being processed, no job delivery takes place. At time τ = 30, no job is being processed on any machine. Thus, at this time, all the jobs are delivered by a total of 3 vehicles. This means that Dmax = 30 + 2 = 32 and the total transportation cost is T C = 3f = 15. Thus, the objective value of the solution generated is 32 + 15 = 47. It can be easily verified that the following solution is optimal: Schedule jobs 1, 2, 3 and 5 on M1 in the time intervals [2, 10], [10, 13], [13, 18], and [18, 22], respectively, and job 4 on M2 in the time interval [5, 25]; deliver all the jobs at time 25 using 3 vehicles. The optimal objective value is 25 + 2 + 15 = 42. We note that for the classical online problem without the delivery part, i.e., problem Pm |online, rj |Cmax , Chen and Vestjens (1997) show that the online LPT rule has a competitive ratio of 3/2. This result is used by Han et al. (2015) in their competitive analysis of Algorithm A4.8, which we now discuss. Theorem 4.5 For problem Pm |online, rj |V (∞, c), direct|1|Dmax + T C, Algorithm A4.8 has a competitive ratio of 2. Proof Given any instance, let π be the solution generated by this algorithm, and π ∗ be an optimal solution for the offline version of the instance. In π , let Lf be the departure time of the last delivery batch in π , for some positive integer L, and Hf be the latest departure time before Lf at which no job is being processed. If there is no such departure time, then let H = 0. From the algorithm, it can be seen that Lf ≤ Cmax (π ) + f , and all the jobs processed after time Hf arrive after this time and are all delivered at the departure time Lf . Thus, if we only consider the jobs that arrive after Hf , by the result from Chen and Vestjens (1997), we obtain the following result: Cmax (π )−Hf ≤ 32 (Cmax (π ∗ )−Hf ). This means that Cmax (π ) ≤ Hf 3 ∗ 2 Cmax (π ) − 2 . Thus, Dmax (π ) = Lf + t ≤ Cmax (π ) + t + f ≤
3 Hf Cmax (π ∗ ) − + t + f. 2 2
(4.7)
In π , we further let x and y denote the total number of full batches and the total number of partial batches delivered at time Hf or earlier, and let u denote the total number of batches delivered at the departure time Lf . Clearly, y ≤ H , and among the u batches that depart at Lf , at most one of them is a partial batch. Thus, T C(π ) = (x + y + u)f . Based on the above definitions, we can see that in π ∗ , Cmax (π ∗ ) ≥ H F and T C(π ∗ ) ≥ (x + u)f . By (4.7), we have Z(π ) Dmax (π ) + T C(π ) = Z(π ∗ ) Dmax (π ∗ ) + T C(π ∗ ) ≤
Hf 3 ∗ 2 Cmax (π ) − 2 + f Cmax (π ∗ ) + t
+ t + (x + y + u)f + (x + u)f
160
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
≤ 1+ ≤ 1+ ≤ 1+
Hf 1 ∗ 2 Cmax (π ) − 2 + f + yf Cmax (π ∗ ) + t + (x + u)f Hf 1 ∗ 2 Cmax (π ) + 2 + f Cmax (π ∗ ) + t + (x + u)f Cmax (π ∗ ) + f Cmax (π ∗ ) + t + (x + u)f
≤ 2.
In addition to the two problems discussed above, Han et al. (2015) also consider a number of other online problems with a closely related objective function Fmax + T C, where Fmax = Dmax + t, including problems 1|online, rj |V (1, c), direct|1|Fmax + T C and Pm |online, rj |V (1, c), direct|1| Fmax + T C where there is a single delivery vehicle only. They propose online algorithms for these problems and conduct competitive analyses. As discussed in Sect. 4.3.1.1, Fmax is the time when the vehicle returns to the plant after delivering the last batch of jobs. By a similar argument to the one in Sect. 4.3.1.3, the online algorithm given by Han et al. (2015) for 1|online, rj |V (1, c), direct|1|Fmax + T C (resp., Pm |online, rj |V (1, c), direct|1| Fmax + T C) can be applied to 1|online, rj |V (1, c), direct|1|Dmax + T C (resp., Pm |online, rj |V (1, c), direct|1|Dmax + T C) and generates exactly the same solution. However, the competitive ratio result for 1|online, rj |V (1, c), direct|1|Fmax + T C (resp., Pm |online, rj |V (1, c), direct|1|Fmax + T C) is not the same for 1|online, rj |V (1, c), direct|1|Dmax + T C (resp., Pm |online, rj |V (1, c), direct|1| Dmax + T C) because of the difference in the objective value.
4.3.3 Total Delivery Time and Transportation Cost Problems In this section, we consider two related problems 1|online, rj , pmtn|V (∞, c), direct|1| Dj + T C and 1|online, rj |V (∞, c), direct|1| Dj + T C. Both involve a single machine and the use of batch delivery to a single customer. There are a sufficient number of capacitated delivery vehicles with the objective of minimizing the sum of the total delivery time of the jobs and the total delivery cost. The first problem allows preemption when processing jobs on the machine, whereas the second problem does not. We first briefly discuss some closely related offline and online problems in Sect. 4.3.3.1 and then describe an algorithm for 1|online,rj , pmtn|V (∞, c), direct|1| Dj + T C and 1|online, rj |V (∞, c), direct|1| Dj + T C, respectively, in Sects. 4.3.3.2 and 4.3.3.3.
4.3 Online Problems with Batch Delivery to a Single Customer
4.3.3.1
161
Closely Related Problems
We first note that the offline problems without delivery corresponding to these , pmtn| Cj online problems are the classical machine scheduling problems 1|r j and 1|rj | Cj , respectively. The latter problem is strongly NP -hard (Lenstra et al., 1977), whereas the earlier problem is solved by applying the SRPT rule defined in Sect. 4.3.1.1 (Schrage, 1968). Clearly, the offline problem with delivery 1|rj |V (∞, c), direct|1| Dj + T C is more general than that without delivery 1|rj | Cj and hence is also strongly N P -hard. However, the offline problem with delivery and preemption 1|rj , pmtn|V (∞, c), direct|1| Dj + T C can be solved in polynomial time. It can be seen that for this problem, the SRPT rule is optimal for processing the jobs. Given the processing schedule, a dynamic programming algorithm can be designed to find a delivery schedule to minimize the objective function. Averbakh (2010) provides such an algorithm. As can be seen, the SRPT rule can be implemented online and hence is optimal for the online problem 1|online, r , pmtn| C . For the nonpreemptive j j online problem, 1|online, rj | Cj , Hoogeveen and Vestjens (1996) show that any deterministic online algorithm has a competitive ratio of at least 2. Lu et al. (2003) propose a so-called shifted shortest processing time (SSPT) rule for this problem and show that it achieves a competitive ratio of 2. The SSPT rule can be formally stated as follows: SSPT Rule Whenever a job j arrives, shift its arrival time rj to a later time rj , where rj is an arbitrary number in the interval [max{rj , pj }, rj + pj ]. At each time instant τ when the machine becomes available, process the job with the shortest processing time among all the jobs that are available (based on rj ), with ties broken by giving priority to the job with the smallest index. Example 4.8 (Application of the SSPT Rule) Apply the SSPT rule to the following instance where there are four jobs that arrive over time with their parameters given in the table below. j rj pj
1 2 5
2 4 3
3 6 1
4 8 6
At time 2, job 1 arrives and its arrival time is shifted to 6 (∈ [5, 7]). At time 4, job 2 arrives, but its arrival time remains as 4 (∈ [4, 7]). Thus, job 2 is processed in time interval [4, 7]. At time 6, job 3 arrives and its arrival time remains as 6 (∈ [6, 7]). At time 7 when the machine becomes available next, there are two available jobs {1, 3}. Job 3 is picked and processed in interval [7, 8]. At time 8, job 4 arrives and its arrival time is shifted to 14 (∈ [8, 14]). At time 8, job 1 is picked and processed
162
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
in interval [8, 13]. At time 13, no job is available. At time 14, job 4 is picked and processed in interval [14, 20]. To analyze the competitive ratio of the SSPT rule for problem 1|online, rj | Cj , Lu et al. (2003) show some preliminary results. Since these results are also used later in Sect. 4.3.3.3, we describe them here, but without providing proofs. For any given instance I of the problem 1|online, rj | Cj , let σ be a solution produced by the SSPT rule. We define another instance of the problem I (σ ) as follows. Definition 4.1 Given an instance I and a solution σ generated by the SSPT rule, an instance I (σ ) is defined as consisting of the same n jobs, where each job j has the same processing time pj as in I , but its ready time is shifted to r¯j = min{Sj , 2rj + pj }, where Sj is the starting time of job j in solution σ . Lemma 4.2 For any instance I of 1|online, rj | Cj , the corresponding solution σ for instance I produced by the SSPT rule, and the corresponding instance I (σ ) that can be constructed based on I and σ , as described above, we have: (i) Z ∗ (I (σ )) ≤ 2Z ∗ (I ), where Z ∗ (I (σ )) and Z ∗ (I ) are the optimal objective val ues of the instance I (σ ) and I of the offline problem 1|rj | Cj , respectively. (ii) The solution that can be generated by applying the SRPT rule to the instance I (σ ) is the same as solution σ . Based on the results in this lemma, Lu et al. (2003) prove the following result. Lemma 4.3 For problem 1|online, rj | Cj , the SSPT rule has a competitive ratio of 2. Proof Since SSPT does not allow preemption, there is no job preemption in solution σ . Part (ii) of Lemma 4.2 means that although the SRPT rule allows preemption, when applying the SRPT rule to the instance I (σ ), no job is preempted. As discussed earlier, the SRPT rule is optimal for both the offline and online problems with preemption: 1|rj , pmtn| Cj and 1|online, rj , pmtn| Cj . Thus, from part (ii) of Lemma 4.2, we can conclude that solution σ is optimal for instance I (σ ) of both the offline and online problems with preemption. Since there is no preemption in solution σ , this solution is also optimal for instance I (σ ) of both the offline and online problems without preemption. Thus, the objective value of σ is equal to Z ∗ (I (σ )). This, together with part (i) of Lemma 4.2, implies that for problem 1|online, rj | Cj , the SSPT rule has a competitive ratio of 2.
4.3.3.2
Algorithm for the Preemptive Problem
We consider problem 1|online, rj , pmtn|V (∞, c), direct|1| Dj + T C in this section. Averbakh (2010) gives an online algorithm for this same problem but with the objective of minimizing the sum of the total flow time of the jobs and the total transportation cost. The flow time of a job j is defined as Dj − rj . Averbakh (2010)
4.3 Online Problems with Batch Delivery to a Single Customer
163
shows that his algorithm has a competitive ratio of 2 and that no online algorithm can achieve a better competitive ratio. His algorithm as well as the competitive ratio analysis given in his paper can be directly applied to the problem considered here. However, the instance he uses to show that no algorithm can have a competitive ratio lower than 2 cannot be applied to our problem. The idea of Averbakh’s algorithm is the following. First, it can be shown that the SRPT rule given in Sect. 4.3.1.1 is optimal for processing the jobs. Thus, the problem is reduced to making delivery batching decisions. If there are already c jobs that have completed processing but have not been delivered, then they need to be delivered immediately as a full batch. But if there are fewer than c jobs available for delivery, there are two options: (i) wait and do not deliver any job, and (ii) deliver all the jobs together in a batch immediately. The algorithm uses a concept called the total delay time of finished but undelivered jobs to determine which of the two options to use. At any given time point τ , the delay time of a finished but undelivered job j is equal to τ − Cj . If the total delay time is equal to the delivery cost of a batch f , the algorithm chooses option (ii); otherwise, it chooses option (i). We now describe Averbakh’s algorithm below. Algorithm A4.9 Step 1: At the production stage, process the jobs by the SRPT rule given in Sect. 4.3.1.1. Step 2: At the delivery stage, at any time point, if at least one of the following conditions is satisfied (a) there are c finished but undelivered jobs, (b) the total delay time of the finished but undelivered jobs is equal to f , then deliver all the jobs together in a batch. Before we analyze the performance of this algorithm, we define some terms and notations. Definition 4.2 A delivery batch is called saturated if it is full, i.e., it contains c jobs; otherwise, it is called unsaturated. Given the solution σ generated by Algorithm A4.8, the last delivery batch in σ is always considered unsaturated even if it contains c jobs. Let k ≥ 1 be the total number of unsaturated batches in σ , and let τ1 < · · · < τk be the times when the k unsaturated batches depart from the processing plant. Let τ0 = 0. Define k time intervals Ω1 = [τ0 , τ1 ], and Ωi = (τi−1 , τi ], for i = 2, . . . , k. Let Z(σ ) be the objective value of σ . Theorem 4.6 For problem 1|online, rj , pmtn|V (∞, c), direct|1| Dj + T C, the competitive ratio of Algorithm A4.9 is 2. Proof Let σ ∗ be an optimal solution and Z(σ ∗ ) the optimal objectivevalue for the offline version of the problem, i.e., 1|rj , pmtn|V (∞, c), direct|1| Dj + T C. For this problem, as discussed in Sect. 4.3.1.1, the SRPT schedule is optimal for processing the jobs. Thus, we can assume that the job processing schedule in σ ∗ is the same as that in σ .
164
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
We first focus on the solution σ generated by the algorithm. Consider any time interval Ωi , for i = 1, . . . , k. Let qi ≥ 0 be the number of saturated batches that depart during Ωi in σ . Let τ˜i denote the time when the last saturated batch departs, where τ˜i = τi−1 if qi = 0. Thus, there are a total of qi + 1 batches that depart during Ωi . Let φ(σ, Ωi ) be the total contribution of the jobs that complete processing in interval Ωi under solution σ , defined as the sum of the total delay time of the jobs that complete processing in interval Ωi and the total delivery cost of the batches that depart during interval Ωi . From Step 2 of the algorithm, the total delay time of the jobs in each batch that departs during Ωi is no more than f . Thus, φ(σ, Ωi ) ≤ 2f (qi + 1). Now, consider the optimal solution σ ∗ for the offline problem. Consider the same time interval Ωi . Since qi c jobs are completed during the interval (τi−1 , τ˜i ], in σ ∗ , there must be at least qi delivery batches that depart during this interval. If in σ ∗ there is no batch that departs during the interval (τ˜i , τi ], then the total delay time of the jobs completed in this interval is at least f . Therefore, the total contribution of the jobs completed in interval Ωi in σ ∗ , denoted as φ(σ ∗ , Ωi ), is at least f (qi + 1). Let Cj be the completion time of job j in the SRPT schedule and t be the delivery time from the processing plant to the customer location. The delivery time Dj of job j is thus equal to the sum of Cj , its delay time, and t. Based on this, we have Z(σ ) =
n k n k (Cj + t) + φ(σ, Ωi ) ≤ (Cj + t) + 2f (qi + 1) (4.8) j =1
Z(σ ∗ ) =
i=1
j =1
i=1
n k n k (Cj + t) + φ(σ ∗ , Ωi ) ≥ (Cj + t) + f (qi + 1). (4.9) j =1
i=1
j =1
i=1
From (4.8) and (4.9), we can see that Z(σ ) ≤ 2Z(σ ∗ ). This shows that the competitive ratio of the algorithm is bounded by 2. It is apparently not known whether Algorithm A4.9 is optimal (i.e., best possible) for problem 1|online, rj , pmtn|V (∞, c), direct|1| Dj + T C.
4.3.3.3
Algorithm for the Nonpreemptive Problem
Now, we consider problem 1|online, rj |V (∞, c), direct|1| Dj +T C. Feng et al. (2016) give an online algorithm for this problem with a competitive ratio of 3. Their algorithm combines the idea of Lu et al. (2003) for scheduling job processing and the idea of Averbakh (2010) for scheduling job delivery. Their algorithm can be described as follows. Algorithm A4.10 Step 1: At the production stage, process the jobs by the SSPT rule given in Sect. 4.3.3.1.
4.3 Online Problems with Batch Delivery to a Single Customer
165
Step 2: At the delivery stage, at any time point, if at least one of the following conditions is satisfied (a) there are c finished but undelivered jobs, (b) the total delay time of the finished but undelivered jobs is equal to 2f , then deliver all the jobs together in a batch. Example 4.9 (Application of Algorithm A4.10) Apply this algorithm to the instance given in Example 4.8 with the additional parameters: t = 0, c = 2, f = 3. Given the SSPT schedule shown in Example 4.8 for this instance, Step 2 of the algorithm generates the following delivery schedule: at time 8, condition (a) is satisfied, and hence, jobs 2 and 3 are delivered together at time 8; at time 19, the total delay time of job 1 becomes 2f = 6 (i.e., condition (b) is satisfied), and hence, job 1 is delivered; at time 26, the total delay time of job 4 becomes 2f , and hence, job 4 is delivered. In this solution, D2 = D3 = 8, D1 = 19, and D4 = 26, and there are 3 delivery batches. The objective value of this solution is 8 + 8 + 19 + 26 + 3f = 70. It can be verified that the following solution is optimal for the offline version of the instance: schedule the jobs on the machine in the order of 1, 3, 2, 4 without inserted idle time, which yields D1 = 7, D3 = 8, D2 = 11, D4 = 17, and deliver jobs 1 and 3 at time 8, deliver job 2 at time 11, and deliver job 4 at time 17. This solution has an objective value of 8 + 8 + 11 + 17 + 3f = 53. Before we analyze the performance of this algorithm, we introduce some new notation. For any given instance I of the problem, let σ denote the solution generated by Algorithm A4.10, and F (I ) be the objective value of this solution. Let σp and σd denote the production schedule and delivery schedule of solution σ , respectively. Let σ ∗ be the optimal offline solution for instance I , and σp∗ and σd∗ the production schedule and delivery schedule of σ ∗ , respectively. Let F ∗ (I ) be the objective value of σ ∗ , and T Tσ ∗ and T Cσ ∗ be the total delivery time of the jobs and the total delivery cost in this solution, respectively. Thus, F ∗ (I ) = T Tσ ∗ + T Cσ ∗ . Given instance I and solution σ , we construct a corresponding instance I (σ ) in exactly the same way as in Definition 4.1 given in Sect. 4.3.3.1. For the constructed instance I (σ ), we construct a solution σ¯ that allows preemption during job processing, as follows: (1) apply the SRPT rule in the production stage, and let σ¯ p denote the production schedule generated; (2) follow the same configuration as in σd∗ to schedule the delivery, and denote the delivery schedule generated as σ¯ d . By Lemma 4.2(ii), production schedule σ¯ p is the same as σp and hence does not involve job preemption. Suppose that in σd∗ for instance I there are s delivery batches and their departure times are at the completion times of the i1 st, . . ., is th completed jobs, respectively. Then in σ¯ d for instance I (σ ), there are also s delivery batches with departure times at the completion times of the i1 st, . . ., is th completed jobs, respectively. Let F¯ be the objective value of solution σ¯ for instance I (σ ), and T Tσ¯ and T Cσ¯ be the total delivery time of the jobs and the total delivery cost in this solution, respectively. Thus, F¯ = T Tσ¯ + T Cσ¯ . Lemma 4.4 F¯ + T Cσ¯ ≤ 2F ∗ (I ). Proof It is clear that T Cσ¯ = T Cσ ∗ . Thus, we can prove this lemma by showing that T Tσ¯ ≤ 2T Tσ ∗ . To this end, we construct another solution π for instance I based on
166
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
σ ∗ as follows: (1) let the starting time of each job j be Sj = 2Cj∗ − pj , where Cj∗ is the completion time of job j in schedule σp∗ ; (2) use the same delivery batches as in σd∗ (i.e., use the same number of batches and deliver exactly the same jobs in each batch), but with the departure time of each batch determined by the completion time of the last job in the batch. It can easily be shown that π is a feasible solution to instance I (σ ) and that the departure time of each batch in π is twice that of the same batch in σ ∗ . Thus, the total delivery time of the jobs in π , T Tπ = 2T Tσ ∗ . Since the production schedule in σ¯ is generated by the SRPT rule, it contains the most jobs that have completed processing by any time t for the instance I (σ ), compared to any other schedule for the same instance (Pruhs et al., 2004). Furthermore, the delivery configuration in σ¯ is the same as that in σ ∗ and π , which implies that for instance I (σ ), the departure time of the ith batch in σ¯ is no later than that of the ith batch in π , for i = 1, . . . , s. Hence, T Tσ¯ ≤ T Tπ = 2T Tσ ∗ . This, along with the result that T Cσ¯ = T Cσ ∗ , implies that F¯ + T Cσ¯ ≤ 2F ∗ (I ). We are now ready to evaluate the performance of Algorithm A4.10. The following result is proved by Feng et al. (2016). Theorem 4.7 For problem 1|online, rj |V (∞, c), direct|1| Dj + T C, Algorithm A4.9 is 3-competitive. Proof We apply some terms and notations usedin Sect. 4.3.3.2. Given any instance I of problem 1|online, rj |V (∞, c), direct|1| Dj + T C, and the corresponding solution σ generated by Algorithm A4.10, we define the concept of saturated and unsaturated batches as in Definition 4.2 (see Sect. 4.3.3.2), as well as the following terms and notations, as before. Let k ≥ 1 be the total number of unsaturated batches in σ . The last batch in σ is always treated as unsaturated even if it contains c jobs. Let the departure times of these batches in σ be τ1 , . . . , τk , respectively. Let the number of jobs in these batches in σ be v1 , . . . , vk , respectively. Create k time intervals, Ω1 = [τ0 , τ1 ], where τ0 = 0, and Ωi = (τi−1 , τi ], for i = 2, . . . , k. We say a job j is in Ωi if its completion time Cj is in this interval. Let qi ≥ 0 be the number of saturated batches that depart during interval Ωi in solution σ . Define the delay time of a job as in Sect. 4.3.3.2. Let g(Ωi ) be the total delay time of the jobs that complete processing in interval Ωi in solution σ . In solution σ , for each i = 1, . . . , k, there are a total of qi + 1 delivery batches— q saturated and 1 unsaturated—that depart during each interval Ωi . Thus, T Cσ = i k (q + 1)f . By the algorithm, the total delay time of the jobs in each batch is i=1 i no more than 2f . Hence, g(Ωi ) ≤ 2f (qi + 1) for each interval Ωi . Therefore, we have F (I ) = T Tσ + T Cσ ⎞ ⎛ k k ⎝ = Cj + g(Ωi )⎠ + (qi + 1)f i=1
j ∈Ωi
i=1
(4.10)
4.3 Online Problems with Batch Delivery to a Single Customer
=
k i=1 j ∈Ωi
≤
k i=1 j ∈Ωi
Cj +
k
g(Ωi ) +
i=1
Cj + 3
k
167
k (qi + 1)f i=1
(qi + 1)f.
(4.11)
i=1
Now, consider solution σ¯ , which is constructed for instance I (σ ) in the paragraph before Lemma 4.2. As discussed there, the production schedule in σ¯ (i.e., σ¯ p ) is the same as the production schedule in σ (i.e., σp ) and hence does not involve job preemption. Thus, σ¯ is also a feasible solution to instance I of problem 1|online, rj |V (∞, c), direct|1| Dj + T C. For each job j , let C¯ j and D¯ j be the completion time and delivery time of j in σ¯ . Thus, C¯ j = Cj . Let T Tσ¯i and T Cσi¯ denote the total delivery time and total delivery cost of the jobs in σ¯ that complete processing in interval Ωi and have a departure time also in this interval. Consider interval Ωi . Since qi c + vi jobs complete processing in this interval, there are at least qi delivery batches made in this interval in solution σ¯ . We consider two cases as follows. Case 1: There are at least batches made in Ωi in solution σ¯ . In this qi + 1 delivery case, clearly, T Tσ¯i ≥ j ∈Ωi C¯j = j ∈Ωi Cj , and T Cσi¯ ≥ (qi + 1)f . Case 2: There are exactly qi batches delivered in Ωi in solution σ¯ . In this case, there must be less than (qi + 1)c jobs that complete processing in Ωi in σ¯ p . From the fact that σ¯ p = σp , we conclude that in σ the last batch that departs in Ωi , which has a departure time τi , contains less than c jobs. Thus, by Algorithm A4.9, in solution σ , at time τi , the total delay of the jobs in the batch that departs at time τi is equal to 2f . Clearly, in solution σ¯ , the qi delivery batches made in interval Ωi contain a total of no more than qi c jobs. This means that all the jobs contained in the batch that departs at τi in solution σ are delivered in batches that depart after time τi in solution σ¯ . Thus, the total delay time of these jobs in solution σ¯ is greater than or equal to that in solution σ (which is 2f ). This means that T Tσ¯i ≥ j ∈Ωi C¯j +2f = i j ∈Ωi Cj + 2f , and T Cσ¯ ≥ qi f . From the above two cases, we have, for i = 1, . . . , k, Cj + 2(qi + 1)f. T Tσ¯i + 2T Cσi¯ ≥ j ∈Ωi
This, along with (4.11), gives F (I ) ≤
k i=1 j ∈Ωi
⎞ ⎛ k k 3 ⎝ Cj + 3 (qi + 1)f < Cj + 2(qi + 1)f ⎠ 2 i=1
i=1
j ∈Ωi
3 3 (T Tσ¯i + 2T Cσi¯ ) = (F¯ + T Cσ¯ ). 2 2 k
≤
(4.12)
i=1
From (4.12) and Lemma 4.4, we have F (I ) ≤ 3F ∗ (I ).
168
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Apparently, it is not known whether there are online algorithmswith a competitive ratio less than 3 for problem 1|online, rj |V (∞, c), direct|1| Dj + T C.
4.4 Online Problems with Batch Delivery to Multiple Customers Online IPODS problems with multiple customers are considerably more challenging than those with a single customer. There are very few results in the existing literature on online IPODS problems with multiple customers. We have derived some new results for two problems with the objective function of Dmax + T C, which are given in Sect. 4.4.1. We also present results from the literature on another two problems with the objective function of Dj + T C in Sect. 4.4.2. Following the notation defined in Sect. 3.5.1, in all the problems considered in this section, the set of customers is denoted as K = {1, . . . , k}, where k ≥ 1 is the number of customers, the set of jobs from customer i ∈ K is denoted as Ni = {(i, 1), . . . , (i, ni )}, where (i, j ) is the j th job from customer i, and ni is the number of jobs from customer i, which is not known in advance in an online setting. The processing time of job (i, j ) is denoted as pij , and the transportation time and cost from the plant to customer i ∈ K are denoted as ti and fi , respectively.
4.4.1 Maximum Delivery Time and Transportation Cost Problems We consider two related problems in this section: 1|online, rj , pmtn|V (∞, c), direct|k|Dmax + T C and 1|online, rj |V (∞, c), direct|k|Dmax + T C. The corresponding offline problem without preemption 1|rj |V (∞, c), direct|k|Dmax + T C is strongly N P -hard because a special case of this problem, where there are n customers each having one job and the transportation costs fi are all 0, is equivalent to problem 1|rj |V (∞, 1), iid|n|Dmax , which is shown to be strongly N P -hard in Sect. 3.3.1. However, the corresponding offline problem with preemption 1|rj , pmtn|V (∞, c), direct|k|Dmax + T C can be solved in polynomial time by the following simple procedures: (1) process the jobs using the longest transportation time (LTT) rule, as described below, and (2) deliver all the jobs from customer i ∈ K at the completion time of the last job from customer i. LTT Rule At each time instant τ whenever a new job arrives, process the job with the longest transportation time among all the jobs that have arrived but have not been completed, including the jobs that have been partially processed, with ties broken by giving priority to the job with the smallest customer index among the jobs from different customers, and to the job with the smallest job index among the jobs from the same customer.
4.4 Online Problems with Batch Delivery to Multiple Customers
169
The optimality of the LTT rule can be proved by a simple job exchange argument. Clearly, the LTT rule can be implemented in an online fashion. We first propose an online algorithm for problem 1|rj , pmtn|V (∞, c), direct|k| Dmax + T C. The algorithm uses the LTT rule to process the jobs and allows shipments of jobs to depart only at some pre-specified time points when a condition described below is satisfied. Algorithm A4.11 Step 1: At the production stage, process the arriving jobs by the LTT rule, as described above. √ Step 2: At the delivery stage, for each i ∈ K, at each time point τli = l( kfi ), for l = 1, 2, . . ., if all the jobs from customer i that arrived before this time have completed processing, then deliver them all to customer i using a minimum number of vehicles. Otherwise, do not deliver any jobs from customer i. Example 4.10 (Application of Algorithm A4.11) We apply Algorithm A4.11 to the instance with five jobs that arrive over time with their parameters shown in the table below. The vehicle capacity is c = 2. It is also known in advance that there are 2 customers (i.e., k = 2) with t1 = f1 = 5 and t2 = f2 = 10. Arrival index From customer i Job index (i, j ) rij pij
1 1 (1,1) 2 4
2 2 (2, 1) 4 2
3 1 (1, 2) 10 6
4 1 (1, 3) 12 2
5 2 (2, 2) 15 3
Step 1 creates the following schedule for processing the jobs. Job (1,1) is started at time 2 but preempted at time 4 when job (2, 1) arrives because the latter has a longer transportation time. Job (2, 1) is completed at time 6. Job 1 is then resumed at time 6 and completed at time 8. No job is processed from time 8 to 10. Job 3 is started at time 10 but is preempted at time 15 by job (2, 2) because the latter has a longer transportation time. Job (2, 2) is completed at time 18. Job 3 resumes at time 18 and is completed at time 19. Finally, job 4 is started at time 19 and completed at time 21. In this schedule, the job completion times, in increasing order, are C21 = 6, C11 = 8, C22 = 18, C12 = 19, C13 = 21. √ Step 2 checks the jobs from customer 1 at time points τl1 = 5l 2, for l = √ 1, 2, . . ., and checks the jobs from customer 2 at time points τl2 = 10l 2, for l = 1, 2, . . .. At τ11 and τ21 , not all jobs from customer 1 that have arrived have completed processing. Hence, there is no delivery to customer 1 at these time points. At time τ31 , all jobs from customer 1 that have arrived have been √ completed. Thus, all the jobs (1, 1), (1, 2), (1, 3) are delivered at time τ31 = 15 2 using two delivery batches. For jobs from customer 2, at time τ12 , the only job from customer 2 that has arrived, i.e., job (2,1), has been completed and hence is delivered. At time τ22 , the other job from customer 2, i.e., job (2,2), has been completed and hence is delivered. This
170
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
√ solution gives Dmax = τ22 + 10 = 20 2 + 10 and the total transportation cost √ T C = 2f1 + 2f2 = 30. Thus, the objective value of this solution is 20 2 + 40. For the offline version of this instance, as discussed above, the job processing schedule generated by the LTT rule is optimal. Given this schedule, an optimal delivery schedule is as follows: deliver all the jobs from customer 1 at time 21, when all of them have completed processing, and deliver all the jobs from customer 2 at time 18. This gives the optimal objective value 28 + 2f1 + f2 = 48. We now evaluate the performance of Algorithm A4.11. Theorem 4.8 For problem 1|online, rj , pmtn|V (∞, c), direct|k|Dmax + T C, √ Algorithm A4.11 is ( k + 1)-competitive. Proof For any given instance of the problem, let π be the solution generated by i , D this algorithm. Let Cmax max (π ), and T C(π ) be the completion time of the last job from customer i, the maximum delivery time, and the total transportation cost ∗ in solution π , respectively. Similarly, let Dmax and T C ∗ be the maximum delivery time and the total transportation cost in an optimal solution, respectively. Since LTT gives an optimal production schedule for the problem, we can assume without loss of generality that in an optimal solution, the completion time of the last job from i . customer i is the same as that in π , i.e., Cmax i Let τhi be the departure time of the last shipment for customer i in solution π , i i ≤ τhi i . Thus, Cmax ≥ for some integer hi ≥ 1. From the algorithm, τhi i −1 ≤ Cmax √ i τhi − kfi , and we have i Dmax (π ) = max{τhi i + ti } ≤ max{Cmax + i∈K
i∈K
∗ i Dmax = max{Cmax + ti }.
√
kfi + ti },
(4.13) (4.14)
i∈K
Clearly, T C ∗ ≥ maxi∈K {fi }. Thus, the above relations (4.13) and (4.14) imply that ∗ + Dmax (π ) ≤ Dmax
√ kT C ∗ .
(4.15)
Now, let xi and yi be the number of full batches and the number of partial batches delivered to customer i in solution π , respectively. Thus, T C(π ) =
(xi + yi )fi .
(4.16)
i∈K
Clearly, there is at most one partial batch at each departure time. Thus yi ≤ hi . The total number of batches delivered to customer i in an optimal solution is at least xi + δi , where δi = 0 if yi = 0 and δi = 1 if yi ≥ 1. Thus, T C∗ ≥
i∈K
(xi + δi )fi .
(4.17)
4.4 Online Problems with Batch Delivery to Multiple Customers
171
Furthermore, we have yi − δi ≤ hi − 1, which implies that √ ∗ 1 i 1 i (hi − 1)fi = √ τhi −1 ≤ √ Cmax ≤ kDmax . k i∈K k i∈K i∈K i∈K (4.18) From (4.15) - (4.18), we have
(yi − δi )fi ≤
√ ∗ Dmax + kT C ∗ + i∈K (xi + yi )fi Dmax (π ) + T C(π ) ≤ ∗ ∗ Dmax + T C∗ Dmax + T C∗ √ kT C ∗ + i∈K (xi + yi )fi − T C ∗ = 1+ ∗ Dmax + T C∗ √ kT C ∗ + i∈K (xi + yi )fi − i∈K (xi + δi )fi ≤ 1+ ∗ Dmax + T C∗ √ kT C ∗ + i∈K (yi − δi )fi = 1+ ∗ Dmax + T C∗ √ √ ∗ √ kT C ∗ + kDmax ≤ 1+ ≤ 1 + k. ∗ ∗ Dmax + T C We next propose an online algorithm for the nonpreemptive problem 1|online, rj |V (∞, c), direct|k|Dmax + T C. Since preemption is not allowed, the LTT rule can no longer be used for processing the jobs. Instead, the algorithm schedules any available job whenever the machine is available. Algorithm √ A4.12 1+ 1+4k Let α = . 2 Step 1: At the production stage, process any available job whenever the machine becomes available. Step 2: At the delivery stage, for each i ∈ K, at each time point τli = l(αfi ), for l = 1, 2, . . ., if all the jobs from customer i that arrived before this time have completed processing, then deliver them all to customer i using a minimum number of vehicles. Otherwise, do not deliver any jobs from customer i. Example 4.11 (Application of Algorithm A4.12) Apply Algorithm A4.12 to the instance given in Example 4.10. First of all, given k = 2, we have α = 2. We observe that Step 1 provides a lot of flexibility. Suppose that it schedules the jobs in the order of their arrival. This gives the following job completion times, in increasing order: C11 = 6, C21 = 8, C12 = 16, C13 = 18, C22 = 21. Step 2 checks the jobs from customer 1 at time points τl1 = 10l, for l = 1, 2, . . ., and checks the jobs from customer 2 at time points τl2 = 20l, for l = 1, 2, . . .. For the jobs from customer 1, at time 10, job (1,1) is delivered; and at time 20, jobs (1,2) and (1,3) are delivered
172
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
together. Similarly, for the jobs from customer 2, at time 20, no job delivery takes place, but at time 40, jobs (2,1) and (2,2) are delivered together. This solution gives Dmax = 40 + t2 = 50 and the total transportation cost T C = 2f1 + f2 = 20. Thus, the objective value of this solution is 70. For the offline version of this instance, an optimal solution is to process the jobs in the following order (1, 1), (2, 1), (1, 2), (2, 2), (1, 3). This gives C11 = 6, C21 = 8, C12 = 16, C22 = 19, C13 = 21. Given this schedule, an optimal delivery schedule is as follows: deliver all the jobs from customer 1 at time 21, and deliver all the jobs from customer 2 at time 19. This gives Dmax = 29, and the optimal objective value 29 + 2f1 + f2 = 49. Theorem 4.9 For problem 1|online, rj |V (∞, c), direct|k|Dmax + T C, Algorithm A4.12 is (1 + α)-competitive. Proof For any given instance of the problem, let π be the solution generated by i (π ) and C i this algorithm. Let Cmax max be the completion time of the last job from customer i in solution π and in an optimal solution, respectively. In general, they are not the same. We follow the same notation defined in the proof of Theorem 4.8 for all other parameters. In addition, we define Cmax to be the completion time of i }, and the completion time the last job in solution π . Clearly, Cmax = maxi∈K {Cmax of the last job in an optimal solution is also Cmax . ∗ The relation between Dmax (π ) and Dmax given in (4.15) in the proof of Theorem 4.8 no longer holds partly because the possible time points at which a delivery can occur in Algorithm A4.12 differ from those in Algorithm A4.11. To derive their relationship, first we observe that i Dmax (π ) = max{τhi i + ti } ≤ max{Cmax (π ) + αfi + ti } i∈K
i∈K
≤ Cmax + α max{fi } + max{ti }, i∈K
∗ Dmax
i∈K
≥ max{Cmax , max{ti }}, i∈K
∗
T C ≥ max{fi }. i∈K
The above relations imply that ∗ + αT C ∗ . Dmax (π ) ≤ 2Dmax
(4.19)
We still have the same relationship between yi and δi as in the proof of Theorem 4.8, i.e., yi − δi ≤ hi − 1. Thus, we have the following result, which is similar to (4.18). i∈K
(yi − δi )fi ≤
i∈K
(hi − 1)fi =
1 i 1 i k ∗ τhi −1 ≤ Cmax (π ) ≤ Dmax . α α α i∈K i∈K (4.20)
4.4 Online Problems with Batch Delivery to Multiple Customers
173
From (4.19), (4.20), and the two results (4.16) and (4.17) shown in the proof of Theorem 4.8, we have ∗ 2Dmax + αT C ∗ + i∈K (xi + yi )fi Dmax (π ) + T C(π ) ≤ ∗ ∗ Dmax + T C∗ Dmax + T C∗ ∗ Dmax + αT C ∗ + i∈K (xi + yi )fi − T C ∗ = 1+ ∗ Dmax + T C∗ D ∗ + αT C ∗ + i∈K (yi − δi )fi ≤ 1 + max ∗ Dmax + T C∗ ≤ 1+
∗ ∗ Dmax + αk Dmax + αT C ∗ ≤ 1 + α. ∗ Dmax + T C∗
The last inequality above is due to the fact that α = 1 + αk , which is implied by the given value of α. For problem 1|online, rj |V (∞, c), direct|k|Dmax +T C, from Theorem 4.9, the competitive ratio of Algorithm A4.12 is 2.618 (respectively, 3) if k = 1 (resp., k = 2).
4.4.2 Total Delivery Time and Transportation Cost Problems We consider rj , pmtn|V (∞, c), two related problems in this section: 1|online, direct|k| Dj +T C and 1|online, rj |V (∞, c), direct|k| Dj +T C. The corresponding offline problem without preemption 1|rj |V (∞, c), direct|k| Dj + T C is strongly N P -hard because it contains a strongly NP -hard classical problem without the delivery component, 1|rj | Cj (Lenstra et al., 1977), as a special case. However, the complexity of thecorresponding offline problem with preemption 1|rj , pmtn|V (∞, c), direct|k| Dj + T C remains open (Chen, 2010). The corresponding online problems with a single customer are discussed in Sects. 4.3.3.2 and 4.3.3.3, where an online algorithm with a competitive ratio of 2 for the problem with preemption and an online algorithm with a competitive ratio of 3 for the problem without preemption are given, respectively. Below, we first present the online algorithm given by Averbakh (2010) for problem 1|online, rj , pmtn|V (∞, c), direct|k| Dj + T C. This algorithm extends directly from Algorithm A4.9 given in Sect. 4.3.3.2 for the corresponding problem with a single customer. At any given time point, we define the delay time of a finished but undelivered job exactly as in Sect. 4.3.3.2.
174
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Algorithm A4.13 Step 1: At the production stage, schedule the arriving jobs by the SRPT rule given in Sect. 4.3.1.1. Step 2: At the delivery stage, for each customer i ∈ K, as soon as one of the following two conditions is satisfied: (i) there are c finished but undelivered jobs from customer i; (ii) the total delay time of the finished but undelivered jobs from customer i is equal to fi , deliver all the finished but undelivered jobs from customer i together in one batch to customer i. Theorem 4.10 For problem 1|online, rj , pmtn|V (∞, c), direct|k| Dj + T C, Algorithm A4.13 is (2γ )-competitive, where γ = min{c, 1 + (1 − 1c )( fmin = mini∈K fi .
i∈K
fmin
fi
)} and
Proof We provide a sketch of the proof given by Averbakh (2010). For any given instance of the problem, let π be the solution generated by this algorithm and π ∗ be an optimal offline solution. Let τ1 < τ2 < · · · < τq be the consecutive departure times of delivery batches in π ∗ . Note that at each of these time points there may be multiple deliveries to the same or different customers. Consider another solution π1 obtained as follows: jobs are scheduled by the SRPT rule, as in Algorithm A4.12, and deliveries are scheduled at time points τ1 , . . . , τq . At each time point τj , use a minimum number of delivery batches to deliver all the jobs that are finished in time interval (τj −1 , τj ] such that there is no more than one partial delivery batch to any customer. Let T D(σ ), T C(σ ), and Z(σ ) = T D(σ ) + T C(σ ) be the total delivery time, the total transportation cost, and the objective value of a given solution σ , respectively. Averbakh (2010) proves the theorem by showing the following three results: (i) Z(π ) ≤ 2Z(π1 ), (ii) T D(π1 ) ≤ T D(π ∗ ), and (iii) T C(π1 ) ≤ γ T C(π ∗ ). Result (i) can be proved by arguments similar to the proof of Theorem 4.6. Result (ii) can be proved by the following fact: for any time point τ , the production schedule generated by the SRPT rule yields at least as many completed jobs in the time interval [0, τ ] as in any other production schedule including the production schedule in solution π ∗. To show result (iii), Averbakh (2010) first shows some results about the number of delivery batches in π ∗ and that in π1 . Let xi be the number of delivery batches to customer i in solution π ∗ , and y1i , y2i be the number of full and partial delivery i i batches to customer i in solution π1 . Clearly, cy1 + y2 ≤ cxi , for i ∈ K. Also, since i∈K xi ≥ q and in π1 there is at most one partial delivery to customer i at each departure time τ1 , . . . , τq , we have y2i ≤ i∈K xi , for i ∈ K. Based on these results, it can be shown that ⎞ ⎛ 1 xj ⎠ . y1i + y2i ≤ ⎝cxi + (c − 1) c j ∈K
From this inequality, result (iii) can be proved.
4.5 Online Problems with Two Stages of Delivery
175
Next, we present the online algorithm given by Feng et al. (2016) for problem 1|online, rj |V (∞, c), direct|k| Dj + T C. This algorithm extends directly from Algorithm A4.10 given in 4.3.3.3 for the corresponding problem with a single customer. Algorithm A4.14 Step 1: At the production stage, process the jobs by the SSPT rule given in Sect. 4.3.3.1. Step 2: At the delivery stage, for each customer i ∈ K, as soon as one of the following two conditions is satisfied: (i) There are c finished but undelivered jobs from customer i. (ii) The total delay time of the finished but undelivered jobs from customer i is equal to fi , deliver all the finished but undelivered jobs from customer i together in one batch to customer i. Theorem 4.11 For problem 1|online, rj |V (∞, c), direct|k| Dj + T C, Algorithm A4.14 is (2γ )-competitive, where γ is defined in Theorem 4.10. Proof We provide a sketch of the proof given by Feng et al. (2016). For any given instance of the problem, let π be the solution generated by this algorithm and π ∗ be the optimal offline solution. Let Z(π ) and Z(π ∗ ) be the objective values of π and π ∗ , respectively. Let τ1 < τ2 < · · · < τq be the consecutive departure times of delivery batches in π ∗ . Note that at each of these time points there may be multiple deliveries to the same or to different customers. Consider a solution π1 for the preemptive version of the problem as follows: jobs are scheduled by the SRPT rule, as in Algorithm A4.12, and deliveries are scheduled at time points 2τ1 , . . . , 2τq . At each time point 2τj , use a minimum number of delivery batches to deliver all the jobs that are finished in time interval (2τj −1 , 2τj ] ˜ 1) such that there is no more than one partial batch delivery to any customer. Let Z(π be the objective value of solution π1 for the preemptive version of the problem instance. Feng et al. (2016) prove this theorem by showing the following two results: (1) ˜ 1 ) ≤ γ Z(π ∗ ) and (2) Z(π ) ≤ 2Z(π ˜ 1 ). These results can be proved using Z(π similar arguments as in the proofs of Theorem 4.10, Lemma 4.3, and Theorem 4.7.
4.5 Online Problems with Two Stages of Delivery In Sect. 3.8, we consider two offline integrated production and distribution scheduling problems involving two stages of delivery, namely, problem P1 with the objective of minimizing Dj + T C, and problem P2 with the objective of minimizing Dmax + T C. In both problems, a given set of jobs is first processed on a single machine or m parallel machines in a plant, and then delivered from the
176
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
plant to a pool point and from the pool point to the corresponding customer sites. It is shown in Sect. 3.8 that these problems are generally NP -hard, but they can be solved in polynomial time when there are only a single machine and a fixed number of customers. In this section, we consider the online version of these two problems where jobs arrive over time and are not known until they arrive. However, all necessary information about the customers from whom the jobs originate, including the number of customers and their locations, is known in advance. Since the difficulty of a problem and the corresponding competitive analysis for the problem are mainly determined by the number of machines (i.e., m) and the number of customers (i.e., k) involved in the problem, we consider four different cases of the online problems as follows: • Online problem P1 with a single machine and a single customer, which is denoted as OP1 with m = 1 and k = 1. • Online problem P1 with a general number of parallel machines and a general number of customers, which is denoted as OP1 with m ≥ 1 and k ≥ 1. • Online problem P2 with a general number of parallel machines and a single customer, which is denoted as OP2 with m ≥ 1 and k = 1. • Online problem P2 with a general number of parallel machines and a general number of customers, which is denoted as OP2 with m ≥ 1 and k ≥ 1. Tang et al. (2019) propose an online algorithm and conduct a competitive analysis of the algorithm for each of these four problems. We present their algorithms and competitive analysis results in the following without giving the proofs. We refer the interested reader to Tang et al.’s paper for all the technical details. We use the notation introduced in Sect. 3.8. Specifically, the following symbols defined in Sect. 3.8 are explicitly used in this section: (i, j ) denotes the j th job from customer i, r(i,j ) its arrival time, and p(i,j ) its processing time. In a given schedule, we use C(i,j ) to denote the completion time of job (i, j ) at the plant. The shipment capacity, transportation time, and transportation cost from the plant to the pool point are denoted as c0 , t0 , and f0 , respectively, and those from the pool point to customer i are denoted as ci , ti , and fi , respectively. Shipments from the plant to the pool point are called v-shipments, and shipments from the pool point to the customers are called s-shipments. For problem OP1 with m = 1 and k = 1, Tang et al. (2019) propose the following online algorithm and show that its competitive ratio is 4. Algorithm A4.15 Step 1. At the production stage, schedule the arriving jobs by the SSPT rule given in Sect. 4.3.3.1. Step 2. At the first delivery stage, at any time point τ from 0 onward, do the following. Let h be the number of completed jobs waiting at the plant and q be the number of jobs waiting at the pool point. • If the sum of the total delay time of the h jobs waiting at the plant, the total delay time of the q jobs waiting at the pool point, and qt0 is equal to f0 + f1 ,
4.5 Online Problems with Two Stages of Delivery
177
then deliver all these h jobs to the pool point using h/c0 v-shipments, where the delay time of a job (i, j ) waiting at the plant is defined as τ − C(i,j ) , and that of a job (i, j ) waiting at the pool point is defined as τ − C(i,j ) − t0 . • Otherwise, deliver only the first h/c0 c0 of these h jobs to the pool point using h/c0 v-shipments. Step 3. At the second delivery stage, at any time point τ from 0 onward, let q be the number of jobs waiting at the pool point. • If the total delay time of the q jobs is equal to f0 + f1 , then deliver all these q jobs to the customer using q/c1 s-shipments. • Otherwise, deliver only the first q/c1 c1 of the q jobs to the customer using q/c1 s-shipments. Example 4.12 (Application of Algorithm A4.15) We apply Algorithm A4.15 to the instance given in the table below, which also shows the jobs’ shifted arrival times rj ∈ [max{rj , pj }, rj + pj ] following the SSPT rule in Step 1 of the algorithm. The other parameters of the instance include m = 1, k = 1 and t0 = 1, t1 = 3, f0 = 2, f1 = 5, c0 = 2, c1 = 3. j rj pj rj
1 2 5 6
2 4 3 4
3 6 1 6
4 8 6 14
5 15 2 15
In Step 1, the SSPT rule schedules the jobs in the order (2, 3, 1, 4, 5) with the starting time Sj and completion time Cj of each job as follows: S2 = 4, C2 = 7, S3 = 7, C3 = 8, S1 = 8, C1 = 13, S4 = 14, C4 = 20, S5 = 20, C5 = 22. Check any time τ from 0 onward. Steps 2 and 3 need to be considered simultaneously because Step 2 involves jobs waiting at the plant as well as the jobs waiting at the pool point. At time τ = 12, Step 2 finds that there are h = 2 jobs (jobs 2 and 3) waiting at the plant and q = 0 jobs waiting at the pool point, and their total delay time is 7, which is equal to f0 + f1 . Thus, a v-shipment carrying jobs 2 and 3 departs at time 11 from the plant and arrives at the pool point at time 12. At time τ = 12, Step 3 finds that there are q = 2 jobs (job 2 and 3) waiting at the pool point and their total delay time is 7 (= f0 + f1 ). Thus, an s-shipment carrying these jobs departs at time 12 and arrives at the customer site at time 15. At time τ = 20, Step 2 finds that the total delay time of the two jobs (jobs 1 and 4) waiting at the plant is 7. Thus, they are delivered by a v-shipment with departure time 20 and arrive at the pool point at time 21. At time τ = 21, Step 3 finds that the total delay time of the two jobs (jobs 1 and 4) waiting at the pool point is 7. Thus, they are delivered by an s-shipment with departure time 21 and arrive at the customer site at time 24. At time τ = 29, Step 2 finds that the total delay time of the job (job 5) waiting at the plant is 7. Thus, it is delivered by a v-shipment with departure time 29 and
178
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
arrives at the pool point at time 30. At time τ = 30, Step 3 finds that the total delay time of the job (job 5) waiting at the pool point is 7. Thus, it is delivered by an s-shipment with departure time 30 and arrives at the customer site at time 33. It can be seen that in the above described schedule Dj = 2(15)+2(24)+33 = 111, and T C = 3f0 + 3f1 = 21. Thus, the total cost of this schedule is 132. It can also be verified that the following solution is optimal for this instance: schedule the jobs on the machine in the order (1, 3, 2, 4, 5) with the starting time Sj and completion time Cj of each job as follows: S1 = 2, C1 = 7, S3 = 7, C3 = 8, S2 = 8, C2 = 11, S4 = 11, C4 = 17, S5 = 17, C5 = 19. Jobs 1 and 3 are delivered in a v-shipment with departure time 8 from the plant; they arrive at the pool point at time 9, and then are delivered in an s-shipment immediately with arrival time 12 at the customer site, i.e., D1 = D3 = 12. Job 2 is delivered in a v-shipment with departure time 11 and arrival time 12 at the pool point and is delivered in an sshipment immediately from the pool point with arrival time 15 at the customer site, i.e., D2 = 15. Finally, jobs 4 and 5 are delivered in a v-shipment with departure time 19 from the plant and arrival time 20 at the pool point and then are delivered in an s-shipment immediately with arrival time 23 at the customer site (i.e., D4 = D5 = 23). In this solution, Dj = 2(12) + 15 + 2(23) = 85, and T C = 3f0 + 3f1 = 21. Thus, the total cost of this solution is 106. We observe that problem 1|online, rj |V (∞, c), direct|1| Dj + T C considered in Sect. 4.3.3.3 is a special case of problem OP1 with m = 1 and k = 1 with a single delivery stage. It is shown there that Algorithm A4.10 given there for this problem has a competitive ratio of 3. We can see that the first two steps of Algorithm A4.15 here are somewhat similar to Algorithm A4.10, in that both employ a delay strategy. For the more general problem OP1 with m ≥ 1 and k ≥ 1, Tang et al. (2019) propose the following online algorithm and show that its competitive ratio is cmax + 1, where cmax = max{ci |0 ≤ i ≤ k}. Algorithm A4.16 Step 1. At the production stage, reset the arrival time r(i,j ) of each arriving job (i, j ) to be max{r(i,j ) , p(i,j ) }. Whenever there is a machine available, schedule an available job (based on the reset arrival times) with the shortest processing time on this machine. Step 2. At the first delivery stage, at any time point τ , do the following. For each customer i ∈ K, let hi be the number of completed jobs from customer i waiting at the plant. Check if the following condition is satisfied: the total delay time of these hi jobs is equal to max{f0 /c0 , fi /ci }. • If this condition is satisfied for customer i, then deliver all these hi jobs to the pool point using hi /c0 v-shipments. • For the customers for which the above condition is not satisfied, let l be the total number of completed jobs waiting at the plant that belong to these customers. Deliver the first l/c0 c0 of these l jobs from the plant to the pool point using l/c0 v-shipments.
4.5 Online Problems with Two Stages of Delivery
179
Step 3. At the second delivery stage, at any time point τ , for each customer i ∈ K, let qi be the number of jobs from customer i waiting at the pool point. • If the total delay time of these qi jobs is greater than or equal to max{f0 /c0 , fi /ci }, then deliver all these qi jobs to customer i using qi /ci s-shipments. • Otherwise, deliver only the first qi /ci ci of the qi jobs to customer i using qi /ci s-shipments. We observe that problem 1/online, rj |V (∞, c), direct|k| Dj + T C considered in Sect. 4.4.2 is a special case of problem OP2 with m = 1, k ≥ 1 and identical ci and with a single delivery stage. It is shown there that Algorithm A4.14 given there for 1/online, rj |V (∞, c), direct|k| Dj + T C has a competitive ratio that depends on problem parameters. For problem OP2 with m ≥ 1 and k = 1, Tang et al. (2019) propose an online algorithm and show that the competitive ratio of their algorithm is 2 and that this is the best possible competitive ratio that any online algorithm can achieve for this problem. In the following, we provide a modified version of their algorithm, where the procedure for the first stage of delivery is made more similar to Algorithm A4.7 and Algorithm A4.18 given below. Algorithm A4.17 Step 1. At the production stage, whenever there is a machine available, schedule an available job with the longest processing time on this machine. Step 2. At the first delivery stage, at each time point τ = l(f0 +f1 ), for l = 1, 2, . . ., let h be the number of completed jobs waiting at the plant. If both of the following two conditions are satisfied: (1) there are no new jobs arriving at the plant at this time point and (2) the jobs that arrived before this time point have all completed processing by this time point, then deliver all these h jobs to the pool point using h/c0 v-shipments. Step 3. At the second delivery stage, at any time point τ , if there are any v-shipments that arrive at the pool point, then let q be the number of jobs at the pool point after the arrival of these v-shipments, and deliver all these q jobs to the customer using q/c1 s-shipments. We note that problem Pm |online, rj |V (∞, c), direct|1|Dmax + T C considered in Sect. 4.3.2 is a special case of problem OP2 with m ≥ 1, k = 1 and a single stage of delivery. It is shown there that Algorithm A4.8 given there has a competitive ratio of 2 for this problem. Finally, for problem OP2 with m ≥ 1 and k ≥ 1, Tang et al. (2019) propose the following online algorithm. They show that the competitive ratio of this algorithm is k + 2. Algorithm A4.18 Step 1. At the production stage, whenever there is a machine available, schedule an available job with the longest processing time on this machine.
180
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
Step 2. At the first delivery stage, at each time point τ = lf0 , for l = 1, 2, . . ., let h be the number of completed jobs waiting at the plant. If both of the following two conditions are satisfied: (1) there are no new jobs arriving at the plant at this time point and (2) the jobs that arrived before this time point have all completed processing, then deliver all these h jobs to the pool point using h/c0 v-shipments. Otherwise, deliver only the first h/c0 c0 of the h jobs to the pool point using h/c0 v-shipments. Step 3. At the second delivery stage, at any time point τ , for each customer i ∈ K at each time point τi = lfi for l = 1, 2, . . ., let qi be the number of jobs from this customer waiting at the pool point. If both of the following two conditions are satisfied: (1) there are no new jobs from this customer arriving at the plant at this time point and (2) the jobs from this customer that arrived before this time point have all been completed processing and delivered to the pool point, then deliver all these qi jobs to the customer using qi /ci s-shipments. Example 4.13 (Application of Algorithm A4.18) We apply Algorithm A4.18 to the instance given in the table below, where there are m = 2 parallel machines and k = 2 customers. The other parameters of the instance include t0 = 1, t1 = 2, t2 = 3, f0 = 4, f1 = 6, f2 = 9, c0 = 2, c1 = c2 = 3. j Customer rj pj
1 2 4 3
2 1 5 5
3 1 6 1
4 2 13 5
5 2 15 2
Step 1 generates the following schedule for processing the jobs on the two machines: machine 1 processes jobs 1, 3, 4 in this order with their starting times and completion times as follows: S1 = 4, C1 = 7, S3 = 7, C3 = 8, S4 = 13, C4 = 18; machine 2 processes jobs 2 and 5 in this order with S2 = 5, C2 = 10, S5 = 15, C5 = 17. Step 2 checks the jobs waiting at the plant at time points τ = 4l, for l = 1, 2, . . ., and at each time point determines whether to deliver some jobs from the plant to the pool point. At τ = 4, it does nothing because none of the jobs have been completed (i.e., h = 0). At τ = 8, h = 2 (jobs 1 and 3), but neither of the two conditions is satisfied. However, since c0 = h, these two jobs are delivered together in a vshipment with arrival time 9 at the pool point. At τ = 12, h = 1 (job 2), and the two conditions are satisfied. Thus, job 2 is delivered to the pool point with arrival time 13. At τ = 16, h = 0. At τ = 20, h = 2 (jobs 4 and 5), and the two conditions are satisfied. Thus, jobs 4 and 5 are delivered to the pool point with arrival time 21. Step 3 checks the jobs from customer 1 waiting at the pool point at time points τ = 6l, for l = 1, 2, . . ., and checks the jobs from customer 2 waiting at the pool point at time points τ = 9l, for l = 1, 2, . . .. First, consider customer 1. At time τ = 6, q1 = 0. At time τ = 12, q1 = 1 (job 3), but condition (2) is not satisfied for customer 1 because job 2 has not been delivered to the pool point. At time τ = 18,
4.6 Online or Offline Algorithms?
181
q1 = 2 (jobs 2 and 3), and both conditions are satisfied for customer 1. Thus, jobs 2 and 3 are delivered to customer 1 with arrival time 20. Now consider customer 2. At time τ = 9, q2 = 1 (job 1), and both conditions are satisfied for customer 2. Thus, job 1 is delivered to customer 2 with arrival time 12. At time τ = 18, q2 = 0. At time τ = 27, q2 = 2 (jobs 4 and 5), and both conditions are satisfied. Thus, jobs 4 and 5 are delivered to customer 2 with arrival time 30. It can be seen that in the above described schedule, Dmax = 30 and T C = 3f0 + f1 + 2f2 = 36. Thus, the total cost of this schedule is 66. It can also be verified that the following solution is optimal for this instance: schedule the jobs on the two machines the same way as in the solution described above. At the first stage of delivery, deliver jobs 1 and 3 at time 8 to the pool point with arrival time 9; deliver job 2 at time 10 to the pool point with arrival time 11; deliver jobs 4 and 5 at time 18 to the pool point with arrival time 19. At the second stage of delivery, deliver jobs 2 and 3 at time 11 to customer 1 with arrival time 13; deliver jobs 1, 4, and 5 at time 19 to customer 2 with arrival time 22. This solution has Dmax = 22 and T C = 3f0 + f1 + f2 = 27 and hence a total cost of 49. We note that problem 1|online, rj |V (∞, c), direct|k|Dmax + T C considered in Sect. 4.4.1 is a special case of problem OP2 with m = 1, k ≥ 1, and a single stage of delivery. It is shown there that Algorithm A4.12 given there has a competitive ratio √ 3+ 1+4k of for this problem. 2 Comparing the four algorithms, Algorithms A4.15–A4.18, we observe the following similarities and differences: • The algorithms for the two cases of problem OP1, where the objective function is Dj + T C, i.e., Algorithms A4.15 and A4.16 both use an SPT based strategy to schedule the jobs in the production stage and use a strategy based on the total delay time of the waiting jobs to schedule job delivery in both delivery stages. Similar strategies are also used in Algorithms A4.9, A4.10, A4.13, and A4.14 for similar problems but with a single stage of delivery. • The algorithms for the two cases of problem OP2, where the objective function is Dmax + T C, i.e., Algorithms A4.17 and A4.18 both use an LPT based strategy to schedule the jobs in the production stage and use a strategy that periodically checks the status of the system to schedule job delivery in both delivery stages. Similar strategies are also used in Algorithms A4.8, A4.11, and A4.12 for similar problems but with a single stage of delivery.
4.6 Online or Offline Algorithms? As discussed in Sect. 4.1, to solve an online problem, the decision maker can either follow a rolling horizon approach in which the underlying problem is treated and solved as an offline problem within each planning horizon using an offline algorithm, or treat and solve the problem in an online fashion using an online algorithm.
182
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
However, all the existing studies on online IPODS problems develop online algorithms to solve the underlying online problems, and only one study, discussed below, also uses rolling horizon based offline algorithms. Furthermore, the most existing studies on online IPODS problems evaluate the performance of online algorithms by performing competitive analysis, which compares the solutions generated by the online algorithms with the optimal offline solutions in the worst case. This is not necessarily the most reasonable way of evaluating online algorithms because optimal offline solutions for a problem are obtained under the assumption that one has the complete information of all the problem parameters in advance. A fairer, or at least more practical, way of evaluating online algorithms is to compare their solutions with the best possible solutions that can be generated by offline algorithms that use the same amount of information as the online algorithms. Tang et al. (2019) is the only paper on online IPODS problems that uses both online and rolling horizon based offline algorithms to solve the underlying online problems. They evaluate the performance of their online algorithms by doing theoretical worst-case based competitive analysis, which is discussed in Sect. 4.5, as well as comparing with rolling horizon based offline algorithms. For the two online problems, OP1 with m ≥ 1 and k ≥ 1 and OP2 with m ≥ 1 and k ≥ 1, described in Sect. 4.5, in addition to the online algorithms described in Sect. 4.5, Tang et al. (2019) also propose two offline approaches, denoted as OFF4 and OFF1, as follows. Suppose that in the online problems, jobs arrive over time in a given planning horizon [0, T ]: • OFF4: The problem is solved four times at time point T /4, T /2, 3T /4, and T , respectively, and at each time it is treated as an offline problem with all the information available up to this time point. The heuristics for the offline problems, described in Sect. 3.8, are used to solve these offline problems. • OFF1: The problem is solved only once after all the jobs have arrived, i.e., at time T , using the same heuristics of Sect. 3.8. Clearly, online algorithms make real-time decisions and, hence, have the highest decision frequency, whereas OFF1 makes decisions only once for all the jobs together and has the lowest decision frequency. The decision frequency of OFF4 is somewhere in between. Their computational tests show that among the three approaches (online algorithms, OFF1 and OFF4), OFF4 performs the best for most test instances. For the problems studied in Tang et al. (2019), because jobs do not have delivery deadlines, and there are infinitely many delivery vehicles that can be used at any time point, we can choose to solve the problem in any way we want. For example, we can choose any number of time points within the planning horizon in any way and solve the corresponding offline problem at each chosen time point with the information available up to this time. However, in various applications, there are constraints on delivery times (e.g., a job must be delivered to its customer site by a pre-specified time) and/or constraints on vehicle availability (e.g., there are only a limited number of vehicles available, and they are available only at certain time points). In these
4.7 Future Research
183
situations, we have to choose the time points in a way that guarantees problem feasibility if we want to solve the problem by solving the corresponding offline problem at the chosen time points.
4.7 Future Research For future research directions, first there are several open questions from the previous sections of this chapter that need to be clarified. They include: • As discussed in Sect. 4.2.2, there is no existing online algorithm for problem Pm |online, rj |V (∞, 1), iid|n|Dmax with a general number of machines. One can try to extend Algorithm A4.2 to this problem and perform a competitive analysis. • As discussed in Sect. 4.3.1.3, for problem 1|online, rj |V (1, c), direct|1|Dmax with c ≥ 2, Algorithm A4.5 is shown to have an asymptotic competitive ratio √ 5+1 of 2 , whereas Algorithm A4.6 is shown to have a competitive ratio of 2.5. These two ratios differ significantly. Thus, there are two questions that can be investigated. First, can we show tighter competitive ratios for these algorithms? √ and Second, is there another algorithm with a competitive ratio between 5+1 2 2.5? • As discussed in Sect. 4.3.2, Han et al. (2015) give an online algorithm (i.e., Algorithm A4.8) with a competitive ratio of 2 for problem Pm |online, rj |V (∞, 1), direct|n|Dmax +T C, but show that no online algorithm √ 1 can have a competitive ratio less than max{ 5+1 2 , 2 − c }. A question that remains is whether there is another algorithm for this problem that has a smaller competitive ratio than Algorithm A4.8. • A similar question remains for problem 1|online, rj |V (∞, c), direct|1| Dj + T C. Is there an alternative algorithm for this problem that has a smaller competitive ratio than Algorithm A4.10? Similarly, for problem 1|online, rj |V (∞, c), direct|k|Dmax + T C, is there another algorithm with a smaller competitive ratio than Algorithm A4.12?
While a wide variety of offline IPODS problems have received a significant amount of research attention in the last two decades, online IPODS problems have received much less attention. As discussed in the previous sections of this chapter, the existing research on O-IPODS problems has been mostly focused on a small subset of problems only. We believe that more research is needed on the following classes of O-IPODS problems: • Problems with a limited number of delivery vehicles. Most O-IPODS problems that have been studied involve a sufficient number of vehicles such that vehicle availability is not a constraint. In such problems, each vehicle is used at most
184
•
•
•
•
•
4 Integrated Production and Outbound Distribution Scheduling: Online Problems
for one trip. However, in real-world situations, there is often limited vehicle availability such that a vehicle may need to be used for multiple trips. Problems with fixed delivery departure dates. We are not aware of any existing results on online problems where vehicle departure dates are fixed in advance. We can consider the online versions of several such offline problems discussed in Sect. 3.6. Problems with multiple customers. Section 4.4 has discussed several O-IPODS problems with multiple customers. However, all these problems involve the direct shipping method where each shipment goes to one customer only. Apparently, no existing studies have considered online problems with a “routing” delivery method where a shipment is allowed to cover multiple customers. Clearly, such online problems will be more difficult to solve. We suggest that research should start with the online version of the problem discussed in Sect. 3.5.2 with a single machine, i.e., problem 1|online, rj |V (∞, c), routing|k| Dj + T C. Problems with objective functions other than Dmax , Dmax + T C, Dj , Dj + T C. Almost all the existing O-IPODS problems involve one of these objective functions. In reality, jobs may have different importance weights, due dates that can be violated with a penalty, and deadlines that cannot be violated. This means that objective functions such as the total weighted delivery time, maximum lateness, the total tardiness, and a total number of tardy jobs may be relevant and should also be studied. Semi-online problems. Unlike in a purely online environment where nothing about the future (including the number of jobs to arrive in the future, and any parameters about a future job) is known, in a semi-online setting, some information about the future is known in advance. For example, in practice, although we may not know everything about the jobs that will arrive in the future, we may know some information about the jobs, e.g., specific time points when new jobs may arrive (Hall et al., 2009), bounds of the job processing times, bounds of the transportation times, etc. Another example is that we may know everything about the jobs that will arrive in the near future, although we may know nothing about the jobs that will arrive in the distant future. A handful of existing studies (Averbakh & Baysan, 2012, 2013; Liu et al., 2010; Tian et al., 2008) have considered some semi-online IPODS problems. More research is certainly needed on such problems, especially given that real-world situations are more likely to be semi-online than purely online. Alternative approaches for solving online problems. As discussed in Sect. 4.6, for online problems, online algorithms may not be the best approaches. Instead, rolling horizon based offline approaches could generate better solutions. It will be valuable to investigate whether similar approaches can beat online algorithms for the other online IPODS problems covered in this chapter.
Chapter 5
Coordinated Product Pricing and Scheduling Decisions
Abstract In this chapter, we discuss various coordinated product pricing and production scheduling problems that commonly arise in make-to-order environments. We first briefly discuss some practical situations where such problems arise, followed by an investigation of two classes of such problems, namely problems with a single time period and problems with multiple periods. For each class of problems, various exact and approximation algorithms and heuristics, their performance, and related managerial insights are discussed. For several problems, we also evaluate the benefit of pricing–scheduling coordination.
5.1 Introduction It has long been recognized in practice that operations issues such as capacity management, production planning, and inventory policies often interplay closely with marketing decisions such as demand management, pricing, and sales promotion decisions. Therefore, marketing and production decisions should be made in a coordinated manner in order to maximize system-wide efficiency and profitability in the supply chain. Coordinated product pricing and production planning or/and inventory decisions have received significant research attention in the past three decades. Comprehensive literature surveys are provided by Eliashberg and Steinberg (1993), Yano and Gilbert (2004), Tang (2010), and Chen and Simchi-Levi (2012). A majority of the existing joint pricing–production models consider production decisions from an aggregate planning point of view. That is, the detailed scheduling of each individual order is not considered. Furthermore, these models consider aggregate planning costs—setup, production, and finished product inventory holding costs. However, it is relevant to consider detailed order-by-order scheduling decisions and individual order based costs in many practical environments. We provide several examples, as follows: • For perishable products and many make-to-order products, each order typically has a short due date by which the order must be delivered. As a result, the total cost and overall service level measures depend on how each individual order © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_5
185
186
5 Coordinated Product Pricing and Scheduling Decisions
is scheduled. Costs and service level measures from aggregate planning models are not accurate because they assume simultaneous delivery of all completed orders at the end of a planning time period and fail to consider individual order performance. • In many make-to-order production systems for time-sensitive products, there is little or no finished product inventory, and hence finished product inventory cost is negligible when considering the total cost. However, in such systems, a significant amount of components is kept as work-in-process (WIP) inventory and the associated costs can be significant. Here, an aggregate planning approach is not sufficiently precise, since the WIP inventory cost depends on when each order is scheduled. • In a production system involving multiple production lines or multiple stages, such as a flowshop (Pinedo, 2016), capacity usage cannot be estimated accurately without knowing a detailed order-by-order schedule. This is particularly problematic in a joint pricing–production model, since in such a model available capacity should be considered during the pricing decision. Therefore, an aggregate planning approach cannot efficiently plan capacity usage. • In some make-to-order systems, each arriving customer is quoted a price with a certain delivery lead time guarantee, and based on the given quotation, the customer decides whether to place an order or not (So & Song, 1998; Celik & Maglaras, 2008). The lead time of an order is determined by the completion time of the order and hence can only be calculated accurately when detailed order-byorder scheduling is considered. By considering scheduling costs and service performance at the individual order (or item) level, more complete and more accurate measurements of production costs and service levels are obtained. This in turn provides more accurate estimates of the benefit from coordinated pricing and production decisions relative to uncoordinated decision making. Motivated by the practical relevance discussed above, a growing number of studies (Charnsirisakskul et al., 2006; Chen & Hall, 2010; Liu et al., 2012, 2020; Lu et al., 2013; Wang & Wang, 2019; Yue et al., 2019) have investigated coordinated pricing and production scheduling (CPPS) decisions. This chapter is dedicated to CPPS problems. Such problems extend traditional production scheduling problems, as well as traditional pricing and price quotation problems. Traditional production scheduling assumes that a set of available orders is given and needs to be processed at minimum cost subject to capacity constraints without considering the revenue from the orders, whereas coordinated product pricing and production scheduling considers the impact of pricing decisions on available orders, the associated revenue, and the required capacity. Traditional pricing and price quotation ignore production capacity constraints or treat production decisions in an aggregate way without considering detailed order-by-order scheduling, whereas coordinated product pricing and production scheduling considers the interdependence of pricing, capacity and detailed scheduling decisions, and their impact on revenue and cost.
5.2 Single-Period Product Based Problems
187
The objective functions of CPPS problems involve costs or/and service levels that can only be calculated by looking into the detailed schedule of the incoming orders. Thus, making detailed scheduling decisions is a necessary part of these problems. Existing CPPS problems can be divided into two classes: (1) problems with a single period where the pricing decision is static (i.e., it is made once for the entire planning horizon), and (2) problems with multiple periods where the pricing decision is dynamic (i.e., it is made multiple times over the planning horizon). Most of the problems studied by Chen and Hall (2010), Liu et al. (2012, 2020), Lu et al. (2013), and Wang and Wang (2019) involve a single period, whereas the problems considered by Charnsirisakskul et al. (2006) and Yue et al. (2019) involve multiple periods. Among the problems involving a single period, the problems of Chen and Hall (2010) and Wang and Wang (2019) differ from those of Liu et al. (2010, 2012) and Lu et al. (2013) mainly in their modeling of demand. Chen and Hall (2010) and Wang and Wang (2019) assume that there are a number of known products and the demand for a product is a deterministic function of the price set for the product. We call such problems single-period product based problems. However, in the problems considered by Liu et al. (2012, 2020) and Lu et al. (2013), it is assumed that there are a number of known order inquiries and there is a probability that an order is actually placed, where this probability of order placement is a function of the price set for the order. We call such problems single-period order based problems. In Sects. 5.2–5.4, we discuss the three single-period product based problems studied by Chen and Hall (2010), some of the single-period order based problems considered by Liu et al. (2012) and Lu et al. (2013), and the three multi-period problems studied by Yue et al. (2019), respectively. Finally, in Sect. 5.5, we highlight some future research topics. Figure 5.1 provides an overview of the topics discussed in this chapter.
5.2 Single-Period Product Based Problems We discuss the three single-period problems considered in Chen and Hall (2010). All these problems share the same sequence of events as follows: • The decision maker makes a pricing decision for each product at the beginning of the period. • The demand realizes, given the prices. • The decision maker schedules the incoming orders for processing. We apply the notation and problem definitions given in Chen and Hall (2010). There are n available products, N = {1, . . . , n}. For each product j ∈ N, the decision maker can set the price of the product using one of the mj allowable prices for the product. Let q1j > · · · > qmj ,j denote these allowable prices. We assume knowledge of a deterministic, nonincreasing discrete demand for product j ∈ N as a function gj (qij ) of the price qij set for this product, for i =
188
5 Coordinated Product Pricing and Scheduling Decisions
Section 5.2: Single-Period Product Based Problems: single-machine completion time problem; single-machine lateness problem; flowshop makespan problem; exact algorithms; NP-hardness proofs; fully polynomial time approximation schemes; heuristics; computational results; managerial insights.
Chapter 5: Coordinated Product Pricing and Scheduling Decisions
Section 5.3: Single-Period Order Based Problems: problems with discrete allowable prices; problems with continuous allowable prices; simultaneous quotation; sequential quotation; exact algorithms; heuristics; computational results; managerial insights.
Section 5.4: Multi-Period Problems: multiple products made from a base product; modular pricing; problem with total weighted completion time; problem with tardiness allowed; problems with order rejection allowed; exact algorithms; NP-hardness proofs; fully polynomial time approximation schemes; computational results; managerial insights. Fig. 5.1 Overview of the topics covered in Chap. 5
1, . . . , mj , where gj (qij ) denotes the number of orders (or items) of product j that are demanded at price qij . We assume that q1j is a sufficiently high price that gj (q1j ) = 0. This is a reasonable assumption since in many practical situations, setting the price high enough that there is no demand is an available noption. We let Qj = {q1j , . . . , qmj ,j }, mmax = max1≤j ≤n {mj }, and M = j =1 mj . We also let g¯ j = gj (qmj ,j ) denote the maximum possible demand for product j , and g¯ max = max1≤j ≤n {g¯ j }. It follows that the revenue for product j at price qij is Rj (qij ) = qij gj (qij ). The assumption that there are a finite number of allowable prices that can be used for a product is commonly adopted in the dynamic pricing literature (e.g., Chen & Chen, 2015) and can be easily justified from a practical point of view, as follows. Although in theory the price of a product can be any number within a certain interval, there are some price points at which customers are more willing to purchase, and hence companies often use a small set of popular prices for a product (see, e.g., Anderson & Simester, 2003). After setting the prices for the products, orders arrive and need to be scheduled for processing in a given production environment. We consider a production envi-
5.2 Single-Period Product Based Problems
189
ronment with either a single-machine configuration, where all incoming orders are processed, or a two-machine flowshop configuration, where all incoming orders are first processed on the first machine M1 and then processed on the second machine M2 . In a single-machine environment, we let pj > 0 denote the processing time of an order of product j . Alternatively, in a two-machine flowshop environment, we let p1j > 0 and p2j > 0 denote the processing time of an order for product j on machines M1 and M2 , respectively. Some problems that we consider also have a weight wj > 0 or a due date dj > 0, for each order of product j . We assume throughout that all pj , dj , and wj are known integers. We further assume that all the orders are available for processing at the start of the planning horizon. Since price is a decision variable in our work, and the demand function is deterministic, the decision maker effectively chooses the demand. Therefore, it is reasonable to assume that the demand which is implied by the pricing decision for each product must be satisfied in full. This assumption is particularly realistic where the demand function has many discrete points, which enables the decision maker to choose the demand precisely. The results in this section can be easily extended to the case where part or all of incoming demand can be rejected. A solution σ to a problem consists of a price xj ∈ Qj for each product j ∈ N and a schedule π of all the incoming orders. Given a solution σ , we define the following parameters: R(σ ) =
j ∈N
Rj (xj ), the total revenue of the incoming orders;
the completion time of the i th order of productj, for i = 1, . . . , gj (xj ), j ∈ N; Cij (σ ) = ⎧ ⎨1, if C (σ ) > d ij j Uij (σ ) = , for i = 1, . . . , gj (xj ), j ∈ N. ⎩0, otherwise. where the solution being used is clear from the context, we simplify R(σ ), Cij (σ ), and Uij (σ ) to R, Cij , and Uij , respectively. We consider three specific problems as follows: • Single-machine completion time problem: single-machine production environment with the objective of maximizing the net profit, defined as the total revenue minus the total weighted completion time of the orders, i.e., j ∈N Rj (xj ) − gj (xj ) j ∈N i=1 wj Cij , where xj ∈ Qj is the price for product j . • Single-machine lateness problem: single-machine production environment with the objective of maximizing the net profit, defined as the total revenue minus gj (xj ) the total weight of late orders, i.e., j ∈N Rj (xj ) − j ∈N i=1 wj Uij , where xj ∈ Qj is the price for product j . • Flowshop makespan problem: two-machine flowshop production environment with the objective of maximizing the net profit, defined as the total revenue minus the makespan Cmax (i.e., the completion time of the last order), i.e., j ∈N Rj (xj ) − Cmax , where xj ∈ Qj is the price for product j , and Cmax = max1≤i≤gj (xj ), 1≤j ≤n {Cij }.
190
5 Coordinated Product Pricing and Scheduling Decisions
For ease of presentation, we may write the objective functions of these problems simply as R − wj Cij , R − wj Uij , and R − Cmax , respectively. We assume that the revenue function is normalized to match the time-based units of the scheduling cost incurred in these problems. The total weighted completion time represents the work-in-process inventory cost (Pinedo, 2016). Also, it is appropriate to use the total weight of late orders as the scheduling cost in situations where orders can be delivered late but with a reduction in the revenue, such as a late fee or a required discount. Finally, the makespan of a schedule represents overhead and capacity cost. Although these problems do not consider production cost, a linear production cost can easily be incorporated into the objective functions by redefining the price qij to be qij − cj , where cj is the unit production cost for processing an order of product j . The assumption of linearity for production costs is very common in the operations management literature. Chen and Hall (2010) show that all these problems can be solved by pseudopolynomial time dynamic programming algorithms and further show that these problems are all ordinarily NP-hard, even when pj = 1 and wj = 1 for all j ∈ N for the single-machine completion time problem and when both dj ’s and wj ’s are identical for all j ∈ N for the single-machine lateness problem. They develop fast heuristics and estimate the value of coordinating pricing and scheduling decisions. Finally, they develop fully polynomial time approximation schemes (FPTASs) for the problems. We organize this section as follows, based on the work of Chen and Hall (2010). Section 5.2.1 describes the pseudo-polynomial time algorithms for finding optimal solutions for all these problems. Section 5.2.2 shows the NP -hardness proofs for all these problems. Section 5.2.3 presents the FPTAS for two of the problems. Section 5.2.4 describes the heuristics for all the problems. Finally, Sect. 5.2.5 reports the computational results and related insights.
5.2.1 Exact Algorithms The exact dynamic programming algorithms given by Chen and Hall (2010) are all based on an optimality property that, for the underlying scheduling problems without the pricing decisions, it is optimal to schedule the orders in a particular pre-specified sequence. More specifically, for the single-machine completion time problem, it is optimal to schedule the orders by the shortest weighted processing time (SWPT) rule, in which the orders are sequenced by nonincreasing ratio of weight to processing time (Smith, 1956). For the single-machine lateness problem, it is optimal to schedule the orders by the earliest due date (EDD) rule, in which the orders are sequenced by nondecreasing due date (Jackson, 1955). For the flowshop makespan problem, it is optimal to schedule the orders by the sequencing rule of Johnson (1954), which is elaborated below.
5.2 Single-Period Product Based Problems
191
The following algorithms SMCT, SML, and FSM solve the single-machine completion time problem, single-machine lateness problem, and flowshop makespan problem, respectively. All these algorithms consider the products in the corresponding sequence (SWPT, EDD, or the sequence specified by Johnson’s rule) and enumerate all possible prices for a product. Algorithm SMCT Input Given qij , gj (qij ), i = 1, . . . , mj , j = 1, . . . , n; pj , wj , j = 1, . . . , n. Initialization Index the products in SWPT order. Value Function fj (t) = maximum net profit from the orders of products 1, . . . , j , given that after the orders of product j are scheduled, the makespan of the schedule is t. Boundary Condition f0 (0) = 0; fj (t) = −∞, for t < 0, j = 1, . . . , n. Optimal Solution Value max {fn (t)}. n 0≤t≤
j =1 g¯ j pj
Recurrence Relation fj (t) = max1≤i≤mj {qij gj (qij ) − wj gj (qij )[t − pj gj (qij )] − wj pj gj (qij )[gj (qij ) + 1]/2 + fj −1 (t − pj gj (qij ))}. Algorithm SMCT considers each product in turn in SWPT sequence and chooses the optimal number of orders of that product for the demand and the schedule. The second term in the recurrence relation is the increment to total cost that results from starting gj (qij ) orders of product j at time [t − pj gj (qij )]. The third term is the additional cost of scheduling those orders individually. Chen and Hall (2010) show that Algorithm SMCT finds an optimal schedule for the single-machine completion time problem in O(M nj=1 g¯ j pj ) time. We now describe the algorithm for the single-machine lateness problem. Algorithm SML Input Given qij , gj (qij ), i = 1, . . . , mj , j = 1, . . . , n; pj , wj , dj , j = 1, . . . , n. Initialization Index the products in EDD order. Value Function fj (t) = maximum net profit from products 1, . . . , j , given that after product j is scheduled, the makespan of the schedule of on-time orders is t. Boundary Condition f0 (0) = 0; fj (t) = −∞, for t > dj or t < 0, j = 1, . . . , n. Optimal Solution Value max {fn (t)}. n
0≤t≤
j =1 g¯ j pj
192
5 Coordinated Product Pricing and Scheduling Decisions
Recurrence Relations fj (t) = max
1≤i≤mj , 0≤X≤gj (qij )
{qij X + (qij − wi )(gj (qij ) − X) + fj −1 (t − Xpj )},
if t ≤ dj .
Algorithm SML considers each product in turn in EDD sequence and chooses the optimal price and the optimal number of orders, X, to schedule on time. In the recurrence relation, the first term is the revenue from scheduling orders on time, and the second term is the revenue from scheduling orders late. Chen and Hall (2010) show that Algorithm SML findsan optimal schedule for the single-machine lateness problem in O(( nj=1 mj g¯ j )( nj=1 g¯ j pj )) time. Finally, we describe Chen and Hall’s algorithm for the flowshop makespan problem. As discussed above, the products are scheduled in the sequence proposed by Johnson (1954). That is, the products are first partitioned into two sets, S1 = {j |p1j ≤ p2j } and S2 = {j |p1j > p2j }. The orders of the products in S1 are scheduled first in nondecreasing p1j sequence, followed by the orders of the products in S2 in nonincreasing p2j sequence. To illustrate how Johnson’s sequencing rule works, we provide a numerical example as follows. Example 5.1 (Application of Johnson’s Rule) We apply Johnson’s rule to the instance with 5 products shown in the table below: j p1j p2j
1 3 6
2 4 4
3 5 3
4 8 5
5 7 2
The products are divided into two sets S1 = {1, 2} and S2 = {3, 4, 5}. Since p11 ≤ p12 , the products in S1 are sequenced in the order (1, 2). Similarly, since p42 > p32 > p52 , the products in S2 are sequenced in the order (4, 3, 5). The overall sequence of the products is (1, 2, 4, 3, 5) on both machines. All the orders of a product are sequenced consecutively. In the dynamic programming algorithm below, we also use the following concept. Definition 5.1 The profile of a partial schedule is defined as the difference between the completion time of the last order on machine M2 and that on machine M1 . Algorithm FSM Input Given qij , gj (qij ), i = 1, . . . , mj , j = 1, . . . , n; p1j , p2j , j = 1, . . . , n. Initialization Index the products in the sequence proposed by Johnson (1954). Value Function fj (δ) = maximum net profit from products 1, . . . , j , given that after product j is scheduled, the profile of the schedule is δ.
5.2 Single-Period Product Based Problems
193
Boundary Condition j f0 (0) = 0; fj (δ) = −∞, for δ < p2j or δ > i=1 p2i , j = 1, . . . , n. Optimal Solution Value max {fn (δ)}. n 0≤δ≤
j =1 g¯ j p2j
Recurrence Relations (i) If δ > p2j fj (δ) ⎧ ⎪ if p1j ≤ p2j max qij gj (qij ) − p2j gj (qij ) + fj −1 (δ + (p1j − p2j )gj (qij )) , ⎪ ⎪ 1≤i≤m ⎪ j ⎨ qij gj (qij ) − p2j gj (qij ) max = ⎪ 1≤i≤mj | gj (qij )≤[δ+gj (qij )(p1j −p2j )−p2j ]/(p1j −p2j ) ⎪ ⎪ ⎪ ⎩ + fj −1 (δ + (p1j − p2j )gj (qij )) , if p1j > p2j .
(ii) If δ = p2j fj (p2j ) ⎧ max qij gj (qij ) − p2j gj (qij ) + fj −1 (δ + (p1j − p2j )gj (qij )) , if p1j ≤ p2j ⎪ ⎪ ⎪ 1≤i≤mj ⎪ ⎨ qij gj (qij ) − p1j gj (qij ) − p2j max = j −1 ⎪ 0≤δ ≤ k=1 g¯ k p2k , 1≤i≤mj | gj (qij )>(δ −p2j )/(p1j −p2j ) ⎪ ⎪ ⎪ ⎩ + δ + fj −1 (δ ) , if p1j > p2j .
Algorithm FSM considers each product in the sequence proposed by Johnson (1954) and chooses the optimal price for that product. There are two cases for the profile δ. Consider the first case, where δ > p2j . If p1j ≤ p2j , then no additional idle time is created on machine M2 by the scheduling of gj (qij ) orders of product j . Alternatively, if p1j > p2j , then the profile is reduced by scheduling gj (qij ) orders of product j ; however, this case only occurs if gj (qij ) is small enough that no additional idle time is created on machine M2 . Now, consider the second case, where δ = p2j . If p1j ≤ p2j , then the above argument for the same condition still applies. Alternatively, if p1j > p2j , then the new profile of p2j can only be achieved if gj (qij ) is large enough that the completion time of the last order on machine M1 is no earlier than the completion time of the second last order on machine M2 . Chen and Hall (2010) show that Algorithm FSM finds an optimal schedule for the flowshop makespan problem in O(M nj=1 g¯ j p2j ) time.
194
5 Coordinated Product Pricing and Scheduling Decisions
5.2.2 N P -Hardness Proofs Chen and Hall (2010) prove that all the three problems discussed above are ordinarily N P -hard. We present their proofs below. Theorem 5.1 The single-machine completion time problem is ordinarily NP-hard, even when p1 = · · · = pn and w1 = · · · = wn . Proof We show below that this problem is at least ordinarily NP -hard, by a reduction from the Partition problem, which is known to be binary NP-complete. This, together with the pseudo-polynomial time algorithm SMCT given in Sect. 5.2.1, implies that this problem is exactly ordinarily NP -hard. The Partition problem can be described as follows: Partition (Garey & Johnson, 1979): given t elements with integer sizes a1 , . . . , at , where ti=1 does there exist a partition S1 , S2 of the index set {1, . . . , t} ai = 2A, such that i∈S1 ai = i∈S2 ai = A? Consider the following instance of the recognition version of the single-machine completion time problem: n = t, = 1, pj = 1, wj = 2, mj = 2A, q1j = A + 1/2, q2j gj (q1j )= 0, gj (q2j )= aj , Z = A2 /2,
j j j j j j j
= 1, . . . , n = 1, . . . , n = 1, . . . , n = 1, . . . , n = 1, . . . , n = 1, . . . , n = 1, . . . , n
where Z denotes the threshold net profit. We prove that there exists a feasible schedule for this instance of the singlemachine completion time problem with R − wj Cij ≥ Z if and only if there exists a solution to Partition. (⇒) Assume that there exists a solution S1 , S2 to Partition. For each product j ∈ S1 , set the price equal to q2j , and schedule aj incoming orders consecutively. For the other products, set the price equal to q1j , and hence there are no orders to schedule. Therefore, the net profit is R−
wj Cij = (A + 1/2)
aj −
j ∈S1
= A2 + A/2 −
j ∈S1
= Z.
⎡ ⎣aj (aj + 1)/2 + aj
j ∈S1
i∈S1 ,i 0, is an FPTAS for the single-machine completion time problem, with O(n3 mmax /) running time. Proof We start by analyzing the net profit of the solution delivered by Algorithm CAS . The proof is by induction on the number of products that have been considered for scheduling. The induction hypothesis is as follows: • Given any state (j, t, v) that is obtained under the exact dynamic program, Algorithm CAS generates a state (j, t˜, v), ˜ where t˜ ≤ t and v˜ ≥ v − j Δ. The hypothesis clearly holds for j = 0. Suppose that the hypothesis holds for j = 0, 1, . . . , k. Let (k, t, v) define a state in the exact dynamic program. We assume that the exact dynamic program prices product k + 1 at qi,k+1 , for some 1 ≤ i ≤ mk+1 , and therefore that gk+1 (qi,k+1 ) orders of product k + 1 are scheduled. We further assume that, in the exact dynamic program, this yields a state (k + 1, t , v ). From the induction hypothesis, we have a state (k, t˜, v) ˜ in the approximate dynamic program where t˜ ≤ t and v˜ ≥ v − kΔ. The trial state, S, that is generated from (k, t˜, v) ˜ by pricing product k + 1 at qi,k+1 and scheduling gk+1 (qi,k+1 ) orders of product k +1 in Algorithm CAS is denoted by (k +1, t˜ , v˜ ). We prove the following two claims about this state: (i) t˜ ≤ t . From the induction hypothesis, t˜ ≤ t. Moreover, the same orders are added in the approximate and exact dynamic programs, and therefore the increase in makespan is the same, i.e., t˜ − t˜ = t − t. Combining these inequalities establishes the claim.
200
5 Coordinated Product Pricing and Scheduling Decisions
(ii) v˜ ≥ v − (k + 1)Δ. From the induction hypothesis, v˜ ≥ v − kΔ. Now, Rk+1 = qi,k+1 gk+1 (qi,k+1 ) in both the exact and approximate dynamic programs. Since state (k + 1, t , v ) is generated from state (k, t, v), we have v = v + Rk+1 − tgk+1 (qi,k+1 )wk+1 − gk+1 (qi,k+1 )[gk+1 (qi,k+1 ) + 1]pk+1 wk+1 /2.
(5.2) ˜ we have Similarly, since state (k + 1, t˜ , v˜ ) is generated from state (k, t˜, v), v˜ = v˜ + Rk+1 − t˜gk+1 (qi,k+1 )wk+1 − gk+1 (qi,k+1 )[gk+1 (qi,k+1 ) + 1]pk+1 wk+1 /2.
(5.3) Equations (5.2) and (5.3), together with the induction hypothesis, imply that v˜ ≥ v − kδ > v − (k + 1)δ. It follows from claims (i) and (ii) that if trial state S exists in Algorithm CAS , then the induction argument is complete. However, trial state S may be eliminated by another trial state S = (k+1, τ1 , τ2 ), where τ1 ≤ t˜ and τ2 ≥ v˜ − Δ, where the last bound holds because S and S have the same label. If this happens, then we have: (i) τ1 ≤ t˜ ≤ t and (ii) τ2 ≥ v˜ − Δ ≥ v − (k + 1)Δ for S . Thus, the induction hypothesis holds. We now show that Algorithm CAS delivers a solution with the required performance guarantee. Let the state (n, t, v ∗ ) correspond to an optimal solution with value v ∗ . Then, the above induction argument shows that Algorithm CAS generates a solution σ˜ and a corresponding final state (n, t˜, v) ˜ with value v, ˜ where v˜ ≥ v ∗ − nΔ. Therefore, (R(σ ∗ ) −
wj Cij (σ ∗ )) − (R(σ˜ ) − wj Cij (σ˜ )) nΔ ≤ R(σ ∗ ) − wj Cij (σ ∗ ) R(σ ∗ ) − wj Cij (σ ∗ ) ≤ ,
where the last inequality follows from the specification of Δ in the Initialization step and from Lemma 5.1. Finally, we analyze the time complexity of Algorithm CAS . We first evaluate the number of different labels that are used in the Trial State Labeling step. There are O(n) values of j + 1. From the specification of Δ in the Initialization step and from Lemma 5.1, there are O(n2 /) possible labels for Δ(v ). Thus, the total number of labels is O(n3 /). Each state generates at most O(mmax ) trial states. It follows that the overall time complexity of Algorithm CAS is O(n3 mmax /).
5.2.3.2
FPTAS for the Flowshop Makespan Problem
Chen and Hall’s (2010) FPTAS for the flowshop makespan problem is based on a dynamic programming algorithm with states (j, h, v), indicating that products
5.2 Single-Period Product Based Problems
201
1, . . . , j have been considered, and the schedule has profile h and net profit v. Given two partial schedules for the orders of products 1, . . . , j , with similar net profit values, the partial schedule with a smaller profile is eliminated. This FPTAS requires partitioning the range of possible net profit values into intervals of geometrically increasing width Δ, Δ2 , . . ., where Δ = 1 + /2n,
(5.4)
which implies the inequality Δn ≤ 1 + ,
for 0 ≤ ≤ 2.
(5.5)
Within each interval, only one partial schedule is retained and the others are discarded. This enables the dynamic program to run in a polynomial number of steps, while controlling the loss of accuracy by adjusting the value of Δ. For a value of x such that Δi ≤ x < Δi+1 , we define the label Δ(x) = Δi . Algorithm MAS Initialization: Index the products in the sequence according to Johnson’s rule (Johnson, 1954). Set Δ = 1 + /2n. State Variables: (j, h, v) corresponds to a partial schedule that has considered products 1, . . . , j , where the schedule has profile h and net profit v. Initial State: (0, 0, 0). Trial State Generation: For each state (j, h, v), generate mj +1 trial states (j + 1, h , v ) by pricing product j + 1 at qi,j +1 and then scheduling the resulting demand of gj +1 (qi,j +1 ) orders, for i = 1, . . . , mj +1 . Trial State Labeling: For each trial state (j + 1, h , v ), attach the label (j + 1, Δ(v )). Trial State Elimination: For each pair of trial states (j + 1, h , v ) and (j + 1, h , v ) with identical labels, eliminate the second state if h ≥ h , and eliminate the first state otherwise. Termination Test: If j + 1 < n, then set j = j + 1 and return to the Trial State Generation step. ˜ v) Otherwise, select a state (n, h, ˜ for which v˜ is largest, and backtrack to find the corresponding schedule σ˜ . Theorem 5.5 The family of algorithms {MAS }, for > 0, is an FPTAS for the flowshop makespan problem, with O(n2 mmax log(n max1≤j ≤n,1≤i≤mj {qij gj (qij )})/ ) running time. Proof We start by analyzing the cost of the solution delivered by Algorithm MAS . Our proof uses induction on j . The induction hypothesis is that, given any state
202
5 Coordinated Product Pricing and Scheduling Decisions
(j, h, v) that is obtained under the exact dynamic program, Algorithm MAS ˜ v), generates a state (j, h, ˜ where h˜ ≥ h and v˜ ≥ v/Δj . The hypothesis clearly holds for j = 0. Suppose that the hypothesis holds for j = 0, 1, . . . , k. Let (k, h, v) define a state in the exact dynamic program. We assume that the exact dynamic program prices product k + 1 at qi,k+1 , for some 1 ≤ i ≤ mk+1 , and therefore that gk+1 (qi,k+1 ) orders of product k + 1 are scheduled. We further assume that, in the exact dynamic program, this yields ˜ v) a state (k + 1, h , v ). From the induction hypothesis, we have a state (k, h, ˜ in k ˜ the approximate dynamic program, where h ≥ h and v˜ ≥ v/Δ . The trial state, S, ˜ v) that is generated from (k, h, ˜ by pricing product k + 1 at qi,k+1 and scheduling gk+1 (qi,k+1 ) orders of product k+1 in Algorithm MAS is denoted by (k+1, h˜ , v˜ ). We prove the following two claims about this state. (i) h˜ ≥ h . From the induction hypothesis, h˜ ≥ h. The state (k + 1, h˜ , v˜ ) in the ˜ v) approximate dynamic program is generated from (k, h, ˜ by adding the same set of orders as those that are added when (k + 1, h , v ) is generated from (k, h, v) in the exact dynamic program. The fact that h˜ ≥ h then implies that h˜ ≥ h . (ii) v˜ ≥ v /Δk+1 . From the induction hypothesis, v˜ ≥ v/Δk . Now, Rk+1 = qi,k+1 gk+1 (qi,k+1 ) in both the exact and approximate dynamic programs. By the same argument as in the proof of claim (i), it follows that the increase in makespan that results from the scheduling of product k + 1 is no larger in the approximate dynamic program than in the exact dynamic program. Combining these facts, we have v˜ − v˜ ≥ v − v ≥ v /Δk − v/Δk . This implies that v˜ ≥ v˜ + v /Δk − v/Δk ≥ v /Δk ≥ v /Δk+1 , where the second inequality follows from the induction hypothesis. It follows from claims (i) and (ii) that if trial state S exists in Algorithm MAS , then the induction argument is complete. However, trial state S may be eliminated by another trial state S = (k+1, τ1 , τ2 ), where τ1 ≥ h˜ , and τ2 ≥ v˜ /Δ, and where the second bound holds because S and S have the same label. Then, we have: (i) τ1 ≥ h˜ ≥ h and (ii) τ2 ≥ v˜ /Δ ≥ v /Δk+1 for S . Thus, the presence of trial state S in Algorithm MAS establishes that the induction hypothesis holds. We now show that Algorithm MAS delivers a solution with the required performance guarantee. Let the state (n, h, v) correspond to an optimal solution with value v ∗ . Then, the above induction argument shows that Algorithm MAS ˜ v) generates a solution σ˜ and a corresponding final state (n, h, ˜ with value v, ˜ where ∗ n v˜ ≥ v /Δ . Therefore, [(R(σ ∗ ) − Cmax (σ ∗ )) − (R(σ˜ − Cmax (σ˜ ))]/[R(σ ∗ ) − Cmax (σ ∗ )] ≤ 1 − 1/Δn ≤ 1 − 1/(1 + ) ≤ ,
where the second last inequality follows from (5.5). Finally, we analyze the time complexity of Algorithm MAS . We first evaluate the number of different labels that are used in the Trial State Labeling step. There are O(n) values of j + 1. Since an upper bound on optimal net profit is given by
5.2 Single-Period Product Based Problems
203
n max1≤j ≤n,1≤i≤mj {qij gj (qij )}, the number of possible values for the label Δ(v ) is no more than logΔ (n
max
1≤j ≤n,1≤i≤mj
{qij gj (qij )}) = log(n
max
1≤j ≤n,1≤i≤mj
≤ (1 + 2n/) log(n
{qij gj (qij )})/ log Δ max
1≤j ≤n,1≤i≤mj
{qij gj (qij )}),
where the last inequality follows from (5.4) and the inequality log x ≥ (x − 1)/x for all x > 1. Thus, the total number of labels is O(n2 log(n max1≤j ≤n,1≤i≤mj qij gj (qij ) )/). Each state generates at most O(mmax ) trial states. Thus, the overall time complexity of Algorithm MAS is O(n2 mmax log(n max1≤j ≤n,1≤i≤mj {qij gj (qij )}) /).
5.2.4 Heuristics Chen and Hall (2010) develop three heuristics with an increasing level of coordination between pricing and scheduling decisions and use them to evaluate the value of pricing–scheduling coordination through a computational experiment. The three heuristics are: • An uncoordinated Heuristic H1 where pricing and scheduling decisions are made independently, • A partially coordinated Heuristic H2 that uses only basic information about scheduling that a marketing department typically knows, • A simple Heuristic H3 for solving the coordinated problem. They are described in this section. In Sect. 5.2.5, we describe the computational experiments performed by Chen and Hall (2010) that compare the solutions generated by these heuristics and the optimal solutions generated by the exact algorithms given earlier and report the related managerial insights. In the first Heuristic, H1, there is no coordination between pricing and scheduling decisions. The pricing decision is made first by maximizing the total revenue without considering its impact on scheduling costs. Since scheduling is not considered, the pricing decision can be made separately for each product. Given the demand, which is determined by the pricing decision, the scheduling decision is then made by minimizing the total scheduling cost. A formal description follows. Heuristic H1 Step 1: For j = 1, . . . , n, choose price qkj ,j for product j , where kj = arg max1≤i≤mj {qij gj (qij )}. Step 2: Given gj (qkj ,j ) orders of product j , for j = 1, . . . , n, schedule these orders optimally to minimize the total scheduling cost. More specifically, for the singlemachine completion time problem, it is optimal to schedule the given orders in
204
5 Coordinated Product Pricing and Scheduling Decisions
SWPT order (Smith, 1956). Similarly for the flowshop makespan problem, it is optimal to schedule the orders by Johnson’s rule (Johnson, 1954). However, the single-machine lateness problem in Step 2 is NP -hard (Karp, 1972). Therefore, we use the pseudo-polynomial time dynamic program of (Lawler & Moore, 1969) to solve this problem. In the second Heuristic, H2, there is partial coordination between pricing and scheduling decisions. The pricing decision is again made separately for each product, but the cost of scheduling the demand for that product alone is considered when the pricing decision is made. However, the contribution of that product to the scheduling cost of the other products and the contribution of the other products to the scheduling cost of that product are both ignored. Heuristic H2 Step 1: For j = 1, . . . , n, choose price qkj ,j for product j , where kj = arg max1≤i≤mj {qij gj (qij ) − zj (gj (qij ))}, where zj (gj (qij )) is the cost of scheduling gj (qij ) orders of product j , starting from time 0. The scheduling cost zj (gj (qij )) is calculated assuming that there are no other products on the machine(s). For the single-machine completion time problem and the flowshop makespan problem, the scheduling cost zj (gj (qij )) can easily be calculated because all the orders of a product are identical. However, for the single-machine lateness problem, we first schedule as many orders as possible on time subject to the due date constraint and then compute the cost of scheduling the remaining orders after the due date. Step 2: The same as Step 2 of Heuristic H1. In contrast to Heuristics H1 and H2 where there is either no coordination or only partial coordination, the exact algorithms SMCT, SML, and FSM described in Sect. 5.2.1 jointly optimize the pricing and scheduling decisions. However, it may be difficult to implement these complex and relatively time-consuming algorithms in practice. Therefore, Chen and Hall (2010) propose a third heuristic, H3, that considers the pricing and scheduling decisions jointly but is much easier to implement and runs much faster than the exact dynamic programming algorithms. If the marketing and manufacturing departments fully coordinate their operations, knowledge of the production sequence is available to the marketing department and hence may be used in its pricing decisions. Thus in H3, the products are considered in a sequence that is optimal with respect to the scheduling cost, and the heuristic pricing decision for each product is made based on both revenue and scheduling cost information. Heuristic H3 Step 0: Index the products in SWPT order, EDD order, or the order prescribed by Johnson’s rule (Johnson, 1954), for the single-machine completion time problem, the single-machine lateness problem, and the flowshop makespan problem, respectively. Step 1: For j = 1, . . . , n, choose price qkj ,j for product j , where kj = arg max1≤i≤mj {qij gj (qij ) − yj (gj (qij )}, where yj (gj (qij )) is the cost of scheduling gj (qij ) orders of product j , after the g1 (qk1 1 ) orders of product 1, . . .,
5.2 Single-Period Product Based Problems
205
gj −1 (qkj −1 ,j −1 ) orders of product j − 1, that have been scheduled earlier. The cost function yj (gj (qij )) is computed similarly to zj (gj (qij )) in Heuristic H2. However, whereas zj (gj (qij )) in H2 assumes that the orders start at time 0, yj (gj (qij )) in H3 considers the processing time of orders that have already been scheduled. Note that the decisions about qij made in this way are locally optimal, in that the net profit of the current product j , but not of the whole schedule, is being maximized. Step 2: The same as Step 2 of Heuristic H1. To illustrate how these heuristics work, we apply them to a simple instance of the single-machine completion time problem below. Example 5.2 (Application of Heuristics H1, H2, and H3) We apply Heuristics H1, H2, and H3 to the following instance of the single-machine completion time problem with 3 products. Product j pj wj Allowable prices Qj Corresponding demand gj
1 1 2 {5, 10, 20} {5, 2, 1}
2 2 1 {15, 25} {3, 2}
3 4 1 {20, 35} {3, 1}
First, we apply H1 to this instance. Step 1 chooses an allowable price for each product that maximizes the revenue of this product. This means that for products 1, 2, and 3, allowable prices 5, 25, and 20 are chosen, respectively. This results in 5, 2, and 3 orders of products 1, 2, and 3, respectively. Step 2 schedules these orders in the SWPT sequence of the products, which is (1, 2, 3). In this solution, the total revenue is 5(5) + 25(2) + 20(3) = 135, and the total weighted completion time of the orders is 2(1 + 2 + 3 + 4 + 5) + 1(7 + 9) + 1(13 + 17 + 21) = 97. Thus, the net profit is 135 − 97 = 38. Next, we apply H2. Step 1 chooses an allowable price for each product that maximizes the revenue of this product minus the total weighted completion time of the orders of this product, without considering the orders of other products. For product 1, if allowable price 5 is chosen, then the net profit of this product is 5(5) − 2(1 + 2 + 3 + 4 + 5) = −5; if allowable price 10 is chosen, then the net profit is 10(2) − 2(1 + 2) = 14; and if allowable price 20 is chosen, then the net profit is 20(1) − 2(1) = 18. Thus, allowable price 20 is used for product 1 with a demand of 1 order. Similarly, we can find that for product 2 allowable price 25 is chosen with a demand of 2 orders, and for product 3 allowable price 20 is chosen with a demand of 3 orders. Step 2 schedules these orders in the SWPT sequence. In this solution, the total revenue is 20(1) + 25(2) + 20(3) = 130, and the total weighted completion time of the orders is 2(1) + 1(3 + 5) + 1(9 + 13 + 17) = 49. Thus, the net profit is 130 − 49 = 81. Finally, we apply H3. Step 1 chooses an allowable price for each product that maximizes the revenue of this product minus the total weighted completion time
206
5 Coordinated Product Pricing and Scheduling Decisions
of the orders of this product, taking into account the orders of the other products that have already been scheduled. For product 1, since no other products have been considered, the same allowable price as in H2 is chosen, i.e., allowable price 20 is used for product 1 with a demand of 1 order. For products 2 and 3, however, when choosing the best allowable price, the cost contribution of the product is calculated based on a starting time equal to the total processing time of the orders that have already been scheduled. Thus, for product 2, the starting time for any order is 1, not 0, because 1 order of product 1 has been scheduled. If allowable price 15 is chosen, then the net profit of this product is 15(3) − 1(3 + 5 + 7) = 30, and if allowable price 25 is chosen, then the net profit is 25(2) − 1(3 + 5) = 42. Thus for product 2, allowable price 25 is chosen with a demand of 2. Now for product 3, the starting time is 5. It can be easily verified that for product 3, allowable price 35 is chosen with a demand of 1. This solution has a total revenue 20(1) + 25(2) + 35(1) = 105 and a total weighted completion time of the orders 2(1)+1(3+5)+1(9) = 19. Thus the net profit of this solution is 105 − 19 = 86. This heuristically derived solution happens to be an optimal one. The computational results from Chen and Hall (2010) are reported in the next subsection. These results show that for all the three problems, on average, H3 performs better than H2 which performs better than H1. In fact, Chen and Hall (2010) prove more strongly that for the single-machine completion time problem, the performance of H3 dominates that of H2 which dominates that of H1 for every instance. This is shown in the theorem below. However, for the other two problems, their computational results show that there exist problem instances for which H1 performs better than H2, and there exist problem instances for which H2 performs better than H3. Theorem 5.6 For any instance of the single-machine completion time problem, the profit generated by Heuristic H3 is at least as large as the profit generated by Heuristic H2, which is at least as large as the profit generated by Heuristic H1. Proof Let kj 1 , kj 2 , kj 3 ∈ {1, . . . , mj } denote the price level chosen for product j ∈ N by Heuristics H1, H2, and H3, respectively. By comparing the ways in which these heuristics choose prices for the products, it is evident that gj (qkj 1 ,j ) ≥ gj (qkj 2 ,j ) ≥ gj (qkj 3 ,j ), and hence kj 1 ≤ kj 2 ≤ kj 3 , for j ∈ N. Let zj i denote the cost of scheduling gj (qkj i ,j ) orders of product j , starting from time 0, for i = 1, 2, 3 and j ∈ N . Let Rj i = qkj i ,j gj (qkj i ,j ), for i = 1, 2, 3. Let F1 , F2 , and F3 denote the net profit of the solution generated by H1, H2, and H3, respectively. We have Fi =
j ∈N
Rj i −
j ∈N
zj i −
⎡ ⎣wj gj (qkj i ,j )
j ∈N
j −1
⎤ pv gv (qkvi ,v )⎦ , for i = 1, 2, 3.
v=1
(5.6) From Step 1 of Heuristic H2, Rj 2 − zj 2 ≥ Rj 1 − zj 1 , for j ∈ N.
(5.7)
5.2 Single-Period Product Based Problems
207
The fact that gj (qkj 1 ,j ) ≥ gj (qkj 2 ,j ), for j ∈ N, implies that
wj gj (qkj 1 ,j )
j −1
pv gv (qkv1 ,v )
v=1
≥ wj gj (qkj 2 ,j )
j −1
pv gv (qkv2 ,v ), for j ∈ N.
(5.8)
v=1
Then, from (5.6), (5.7), and (5.8), we have F2 ≥ F1 . Furthermore, from Step 1 of Heuristic H3, Rj 3 − zj 3 − wj gj (qkj 3 ,j )
j −1
pv gv (qkv3 ,v )
v=1
≥ Rj 2 − zj 2 − wj gj (qkj 2 ,j )
j −1
pv gv (qkv3 ,v ), for j ∈ N.
(5.9)
v=1
The fact that gj (qkj 2 ,j ) ≥ gj (qkj 3 ,j ), for j ∈ N, implies that
wj gj (qkj 2 ,j )
j −1 v=1
pv gv (qkv2 ,v ) ≥ wj gj (qkj 2 ,j )
j −1
pv gv (qkv3 ,v ), for j ∈ N.
v=1
Then, from (5.6), (5.9), and (5.10), we have F3 ≥ F2 .
(5.10)
5.2.5 Computational Results and Managerial Insights We summarize the computational experiments performed by Chen and Hall (2010) and the associated results and insights. Their computational experiments are conducted to address the following questions: (i) how much improvement in net profit can be achieved between the uncoordinated Heuristic H1, the partially coordinated Heuristic H2, the fully coordinated Heuristic H3, and the optimally coordinated algorithm? (ii) how do these improvements vary with problem parameters? and (iii) what other solution characteristics change as the level of coordination increases? Following guidelines about the design of computational experiments from Hall and Posner (2001), Chen and Hall (2010) generate a large set of test instances to cover a wide variety of practical situations. The number of products varies from 10 to 50, the number of allowable prices for each product ranges from 2 to 12, a linear demand function gj (qij ) = max{0, αj −βj qij } is used with varying ranges for αj and βj , and all other parameters such as order processing times, weights, and due dates are generated from varying intervals. We show in Table 5.1 the overall average
208
5 Coordinated Product Pricing and Scheduling Decisions
Table 5.1 Comparison of heuristics and optimal solutions
Problem Single-machine completion time problem Single-machine lateness problem Flowshop makespan problem
Profit gap % H1 Mean Stdev 32.32 15.66
H2 Mean 25.94
Stdev 12.30
H3 Mean 4.44
Stdev 2.38
Demand gap % H1 H2 H3 Mean Mean Mean 32.29 28.89 11.45
7.35
3.75
5.38
3.07
2.02
1.66
16.53
13.53
0.03
15.96
7.81
4.09
3.37
2.84
3.33
21.77
−7.84
−2.05
of each performance measure for each problem, as reported in Chen and Hall (2010). Each row in Table 5.1 is based on thousands of instances tested. In this table, the columns under “Profit gap” show the relative gap (expressed as a percentage) in net profit between the solutions generated by Heuristics H1, H2, and H3 described in Sect. 5.2.4 and the optimal coordinated solution generated by the corresponding dynamic programming algorithm described in Sect. 5.2.1, respectively. The columns under “Demand gap” show the relative gap (expressed as a percentage) in total realized demand of all the products (i.e., the total number of orders) between the solution of H1, H2, and H3 and the optimal coordinated solution. The columns “Mean” and “Stdev” represent the mean and standard deviation of the results over a large number of random instances, respectively. Chen and Hall (2010) find that each heuristic takes less than 10 CPU seconds and each dynamic programming algorithm takes less than 100 CPU seconds to solve any test problem on a 1 GHz personal computer. We first discuss the overall performance of the three heuristics. The value of partial coordination in Heuristic H2 compared to no coordination in Heuristic H1 can be seen in reduced mean profit gaps in all the three problems. Further significant improvements are offered by full coordination in Heuristic H3 for the three problems, respectively. Moreover, for all the three problems, the standard deviations of the profit gaps associated with H3 are significantly smaller than those associated with H2, which are smaller than those associated with H1. This implies that the performance of H3 is more robust than that of H2, which is more robust than that of H1. Since Heuristic H3 routinely delivers solutions that are close to optimal, we recommend it as a faster and simpler alternative to the implementation of the optimal dynamic programming algorithms described in Sect. 5.2.1. Chen and Hall (2010) also report the following sensitivity analysis results regarding total net profit: 1. For all the three problems, when demand is more sensitive to price, all three heuristics show much larger profit gaps under every configuration of the other parameters. This is because high sensitivity of demand to price magnifies heuristic errors in price choices.
5.2 Single-Period Product Based Problems
209
2. For the single-machine completion time and lateness problems, when the order weights (wj ) are larger, all three heuristics show much larger profit gaps under every configuration of the other parameters. Similarly, for the flowshop makespan problem, when processing times (p1j , p2j ) are larger, all three heuristics show much larger profit gaps under every configuration of the other parameters. This is because Heuristics H1 and H2 fail to fully consider the scheduling costs that are more significant when wj in the first two problems and p1j and p2j in the last problem are larger. 3. For the single-machine lateness problem, when due dates are tighter, Heuristics H1 and H2 show much larger profit gaps under every configuration of the other parameters. This is because difficulty in meeting the due dates magnifies the cost of heuristic errors in scheduling choices. On the contrary, the performance of Heuristic H3 does not vary much with the tightness of due dates and hence is more robust than H1 and H2. Chen and Hall (2010) also make the following observations about the total demand scheduled by the three heuristics and the optimal algorithm. Since it does not consider cost, Heuristic H1 receives substantially more orders than the optimal algorithm. Since Heuristic H2 partially considers cost, the excess demand it receives compared to the optimal algorithm is less than that in the case of H1 for the first two problems, respectively. However, for the flowshop makespan problem, H2 results in a demand shortfall compared to the optimal algorithm, due to overestimation of the increase in flowshop makespan when an order is added. Since Heuristic H3 evaluates cost more accurately, it produces a much lower excess demand than the other heuristics for the single-machine completion time problem and gets very close to the same total demand as the optimal algorithm for the other two problems. Based on the above discussions, Chen and Hall (2010) offer the following insights that can be useful for practitioners: 1. In situations where demand is sensitive to price or where profit margins are relatively small, the coordination of pricing and scheduling decisions is particularly important. For managers who require a solution that is easier to implement, we recommend using Heuristic H3, which routinely provides nearoptimal coordinated solutions for all the three problems studied here. 2. In situations where communication between marketing and production is poor and full coordination is therefore impossible, it is still valuable to use the partially coordinated Heuristic H2, since it provides a significant improvement in average profit over the uncoordinated Heuristic H1. 3. While profit is in many cases the primary objective, an important secondary objective is market share, as measured by the percentage of realized demand enjoyed by the company. Here, the heuristics generally perform well; however, Heuristic H2 does not typically achieve a good market share for the flowshop makespan problem. 4. For consistent success, it is best to align the incentives of the marketing and production departments. Therefore, performance incentives within the marketing department should be based on net profit rather than revenue. Implementing such
210
5 Coordinated Product Pricing and Scheduling Decisions
incentives requires communication of detailed schedules and their costs between the production and marketing departments.
5.3 Single-Period Order Based Problems Liu et al. (2012) and Lu et al. (2013) study single-period coordinated price quotation and scheduling problems involving the following sequence of events: • a known set of order inquiries arrive simultaneously at the beginning of the time period; • the decision maker (DM) quotes a price to every order either simultaneously or sequentially; • each order is placed with a certain probability as a function of the quoted price; • the decision maker schedules the placed orders for processing on a single machine. Two schemes for price quotation are studied. Under a simultaneous quotation scheme, the DM quotes a price for every order inquiry simultaneously and waits for a confirmation from the customer of each inquiry that the order is either placed or not. Liu et al. (2012) explain that in practice, order inquiries arrive dynamically over time, but the manufacturer often postpones the quotation decisions until a sufficient number of order inquiries have arrived or the deadline for quotation is reached. This enables the manufacturer to use a simultaneous quotation scheme for a set of order inquiries that have arrived over a given period of time. Under a sequential quotation scheme, the DM handles order inquiries that have arrived one by one and quotes a price for an inquiry after knowing the customers’ decisions on all the inquiries that have been quoted before that. Clearly, sequential quotation benefits the DM because more information is available when a price quotation is made. In the problem studied in Lu et al. (2013), there is a discrete set of allowable prices that can be quoted for each order, whereas in the problem studied in Liu et al. (2012) any price from a given interval can be quoted. There are two major differences between these problems and those studied in Chen and Hall (2010) and discussed in Sect. 5.2: (i) in the former problems, the size of an order is known beforehand and independent of the price quoted for the order, whereas in the latter problems the order size for a product is a function of the price set for this product and (ii) in the former problems, whether an order is placed or not is uncertain, with its probability as a function of the price quoted, whereas in the latter problems each order is placed with certainty. As a result, the latter problems are stochastic and their objective functions involve the expected total profit, whereas the former problems are deterministic and their objective functions involve the total profit. In Sects. 5.3.1 and 5.3.2 below, we discuss the problems considered in Lu et al. (2013) and Liu et al. (2012), respectively.
5.3 Single-Period Order Based Problems
211
5.3.1 Discrete Allowable Prices We use the notation given in Lu et al. (2013) to describe the problem they study. A manufacturer receives a set of n order inquiries N = {1, . . . , n} at the beginning of the planning horizon and needs to quote a price to every order simultaneously. There are mj allowable prices that can be quoted for inquiry j ∈ N . Let q1j > · · · > qmj ,j denote these allowable prices. The probability that inquiry j materializes as a firm order (i.e., the order is actually placed), which we call the placement probability, is a known decreasing function of the price quoted. Let πij be the placement probability if the price quoted is qij . If inquiry j becomes a firm order after it is quoted a price Rj ∈ {q1j , . . . , qmj ,j }, then the manufacturer needs to process it, which takes the manufacturer pj time units to complete and earns a revenue of Rj . Each order inquiry j is associated with a weight wj . If inquiry j materializes and its order completes processing at time Cj , then the cost contribution of this inquiry is its weighted completion time, i.e., wj Cj . The manufacturer’s decision problem is to make price quotations as discussed above to maximize its expected net profit, which is the expected total revenue minus the expected total weighted completion time of the given n order inquiries. We note that in this problem the order size, as represented by its processing time pj , is not a function of the quoted price, unlike in the problems of Chen and Hall (2010). To solve this problem, we first make two observations. First, for each order inquiry j ∈ N , given the one-to-one relationship between each allowable price qij that can be quoted and the corresponding placement probability πij , for i = 1, . . . , mj , finding optimal price quotations for the given inquiries is equivalent to finding the placement probabilities for these inquiries. Second, since the cost contribution of each order inquiry is its weighted completion time, it is thus optimal to schedule the placed orders in the shortest weighted processing time (SWPT) order (Smith, 1956). Thus, without loss of generality, we assume that the order inquiries are indexed such that p1 /w1 ≤ p2 /w2 ≤ · · · ≤ pn /wn . Lu et al. (2013) provide the following results. Since these results are fairly straightforward, we do not show their proofs. Theorem 5.7 For any given placement probabilities for the n inquiries, π1 , . . . , πn , where πj ∈ {π1j , . . . , πmj ,j }, for j ∈ N, the expected total weighted completion is equal to n
⎛ ⎞ j −1 πj wj ⎝ πi pi + pj ⎠
j =1
(5.11)
i=1
and is also equal to n j =1
⎛ πj pj ⎝
n i=j +1
⎞ πi wi + wj ⎠ .
(5.12)
212
5 Coordinated Product Pricing and Scheduling Decisions
Lu et al. (2013) point out that this problem contains a known NP -hard scheduling problem with rejection (Engels et al., 2003) as a special case and hence is at least ordinarily NP -hard. They give a pseudo-polynomial time dynamic programming algorithm for solving the problem. The pseudo-polynomial time complexity of the algorithm relies on the following practical assumption: Assumption: The placement probabilities of orders, πij , for i = 1, . . . , mj and j ∈ N, can all be expressed as integer multiples of a small positive fractional number δ. This assumption holds automatically if all πij values are rational numbers. Under this assumption, if the placement probabilities of the first j inquiries are π1 , . . . , πj , respectively, then the total expected processing time incurred by these inquiries, j i=1 πi pi , is an integer multiple of δ, which as shown below guarantees that the computational time of the algorithm is pseudo-polynomial. Now we describe the algorithm of Lu et al. (2013). Algorithm TWCP Input Given mj , pj , wj , qij , πij for i = 1, . . . , mj and j = 1, . . . , n. Initialization Index the order inquiries in the SWPT order. Value Function f (j, r) = maximum expected profit from order inquiries 1, . . . , j , given that the expected total processing time of the orders corresponding to these inquiries is j r (i.e., i=1 πi pi = r if the placement probabilities of these inquiries are π1 , . . . , πn ). Boundary Condition f (0, r) = 0, if r = 0; and −∞, if r = 0. Optimal Solution Value max f (n, r), where P = j ∈N pj .
r∈{0,δ,2δ,...,P −δ,P }
Recurrence Relation For j = 1, . . . , n and r = 0, δ, 2δ, . . . , P − δ, P : f (j, r) = max f (j − 1, r − πij pj ) + πij qij − πij wj (r − πij pj + pj ) . i=1,...,mj
In the recurrence equation of the algorithm, every allowable price for inquiry j is compared to maximize the expected profit from the first j inquiries, given that the expected total processing time resulting from these inquiries is r. The term πij qij is the expected revenue from inquiry j , r − πij pj is the expected total processing time from the first j − 1 inquiries, and πij wj (r − πij pj + pj ) is the expected weighted completion time contributed by inquiry j . Lu et al. (2013) show that the time complexity of this algorithm is O(nmmax P /δ), where mmax = max{mj |j ∈ N}.
5.3 Single-Period Order Based Problems
213
By Theorem 5.7, the expected total cost can also be written as (5.12). Based on this, Lu et al. (2013) provide a second dynamic programming algorithm for solving their problem. It is presented below. It uses the same input and initialization step as Algorithm TWCP. Algorithm TWCW Value Function f (j, r) = maximum expected profit from order inquiries 1, . . . , j , given that the expected total weight of the orders corresponding to these inquiries is r (i.e., j i=1 πi wi = r if the placement probabilities of these inquiries are π1 , . . . , πn ). Boundary Condition f (n + 1, r) = 0, if r = 0; and −∞, if r = 0. Optimal Solution Value max f (1, r), where W = j ∈N wj .
r∈{0,δ,2δ,...,W −δ,W }
Recurrence Relations For j = n − 1, . . . ,1 and r = 0, δ, 2δ, . . . , W − δ, W : f (j, r) = max f (j + 1, r − πij wj ) + πij qij − πij pj (r − πij wj + wj ) . i=1,...,mj
Lu et al. (2013) show that the time complexity of this algorithm is O(nmmax W/δ). Furthermore, for the special case of the problem where the weights of the order inquiries wj are identical (i.e., the cost function in the problem becomes the expected total completion time of the order inquiries), this algorithm has a polynomial time complexity O(n2 mmax /δ). This is because in this case, W = nw, where w is the identical weight for all the order inquiries, and for any j = 1, . . . , n, only the states (j, r) with r = 0, wδ, 2wδ, . . . , W − wδ, W need to be considered in the dynamic program. We highlight some of the computational results and insights derived by Lu et al. (2013). • They show that both algorithms TWCP and TWCW are very efficient and can solve large instances of the problem quickly. • In their problem, it is assumed that there is a finite number of allowable prices that can be quoted for each order inquiry. They investigate the potential profit loss caused by a limit on the number of allowable prices (mj ), by varying mj from 2 to 50. In practice, a company may limit the number of allowable prices it uses in order to simplify its decision process. They find that the expected profit loss relative to the maximum possible expected profit that can be achieved when mj = 50 decreases rapidly from more than 10% to less than 1% as mj increases from 2 to 10. However, it approaches a constant level near 0 when mj ≥ 15. This suggests that the benefit of considering more possible prices to quote diminishes once mj ≥ 15. • In their problem, the manufacturer can quote a distinct price for each order. Although price discrimination may not be illegal, quoting different prices to different customers could be perceived as unfair. They therefore investigate the expected profit loss if an identical unit price scheme is used across different
214
5 Coordinated Product Pricing and Scheduling Decisions
orders. With an identical unit pricing scheme, the manufacturer can choose a unit price R and quote price Rj = Rpj for each order inquiry j ∈ N . In addition, the manufacturer also has the option to reject an order inquiry. In other words, an inquiry j is either rejected or quoted a price Rj = Rpj , where the unit price R is a decision to be made and can be chosen from a discrete set of allowable prices. Their computational results show that the expected profit loss from identical unit pricing increases as customers (or orders) become more heterogeneous. Moreover, even when customers are quite similar, the profit loss is quite significant, especially when the price probability function is nonlinear.
5.3.2 Continuous Allowable Prices Liu et al. (2012) study two problems with continuous allowable prices, one with simultaneous price quotation and the other with sequential quotation. For ease of presentation, we denote these problems as SIMQ and SEQ, respectively. We discuss these two problems in Sects. 5.3.2.1 and 5.3.2.2, respectively.
5.3.2.1
Simultaneous Quotation
Problem SIMQ is similar to the problem described in Sect. 5.3.1 with the following two differences: (i) the price that can be quoted for inquiry j can be any value from an interval, and (ii) the placement probability is a linear function of the quoted price for every inquiry. For convenience of analysis, Liu et al. (2012) treat the placement probability for each inquiry j , πj , as a decision to be made by the manufacturer, and given this decision, the corresponding unit price that is quoted to inquiry j is a function of πj , denoted as Rj (πj ). This function is assumed to be linear, with the inquiry independent coefficients: Rj (πj ) = aπj + b,
(5.13)
where a and b are given coefficients with a < 0 and b ≥ |a| and 0 ≤ πj ≤ u for a positive constant u ≤ 1. Liu et al. (2012) make the following assumption about some of the problem parameters: Assumption wmax < min{−2a, b}, where wmax = max{wj |j ∈ N }. This is a reasonable assumption for the following reasons. By (5.13), the price pj can vary from au + b to b, and hence the price range is −au ≤ −a. Thus, the assumption that wmax < −2a means that the unit scheduling cost wj cannot be too large relative to the price range. Similarly, the assumption that wmax < b ensures that the unit scheduling cost is not too large relative to the order revenue. The problem is to find placement probabilities π1 , . . . , πn such that the expected total profit, defined as the expected total revenue minus the expected total weighted
5.3 Single-Period Order Based Problems
215
completion time, is maximized subject to the constraint that 0 ≤ πj ≤ u for j ∈ N, where u ≤ 1 is the maximum placement probability possible and corresponds to the minimum possible price that can be quoted. Without loss of generality, the inquiries are indexed in SWPT order. We can derive the total expected profit as a function of the placement probabilities π1 , . . . , πn as follows. Given π1 , . . . , πn , the total expected revenue of the n inquiries is n
πj pj Rj (πj ),
j =1
and the total expected weighted completion time of the inquiries is n
⎡
⎛ ⎞⎤ j −1 ⎣wj πj ⎝ πi pi + pj ⎠⎦ .
j =1
i=1
With each quoted unit price Rj (πj ) defined in (5.13), we have the expected total profit, denoted as G(π1 , . . . , πn ), as follows: G(π1 , . . . , πn ) =
n
⎡
⎛ ⎞⎤ j −1 ⎣apj πj2 + bpj πj − wj πj ⎝ πi pi + pj ⎠⎦ .
j =1
i=1
Let H (π1 , . . . , πn ) = −G(π1 , . . . , πn ), then the problem is equivalent to max{H (π1 , . . . , πn ) | 0 ≤ πj ≤ u, j ∈ N}.
(5.14)
Liu et al. (2012) show the results stated in the following theorem. Theorem 5.8 Function H (π1 , . . . , πn ) is strictly convex and the formulation (5.14) can be solved as a convex quadratic program in polynomial time. Proof We first prove that the Hessian matrix of function H is positive definite. The first-order partial derivatives of H are as follows: ⎛ ⎞ j −1 n ∂H = −(2apj πj + bpj ) + wj ⎝ πi pi + pj ⎠ + pj wi πi , ∂πj i=j +1
i=1
and the second-order partial derivatives are ⎧ ⎨ w k pj ∂ 2H = −2apj ⎩ ∂πj ∂πk w j pk
if j < k, if j = k, if j > k.
216
5 Coordinated Product Pricing and Scheduling Decisions
Let the Π denote the vector (π1 , . . . , πn )T . The function H can be rewritten as H (Π ) = 12 Π T AΠ + sΠ , where matrix A = (aj k )n×n and vector s = (s1 , . . . , sn ) 2
H , and sj = (wj − b)pj , for j, k = 1, . . . , n. are given as follows: aj k = ∂π∂j ∂π k Given the assumption wmax < −2a, we can see that matrix A is positive definite, and hence function H is strictly convex. Consequently, the formulation (5.14) is a convex quadratic program, which can be solved in polynomial time (Bazaraa et al., 2013).
We use the following numerical instance to illustrate the formulation (5.14) and Theorem 5.8. Example 5.3 (Illustration of Function H ) Consider an example with n = 2 order inquiries with p1 = 5, p2 = 4, w1 = 2, w2 = 1, Rj (πj ) = −2πj + 3, for 0 ≤ πj ≤ 1, for j = 1, 2. For this example, the total expected profit as a function of placement probabilities, π1 , π2 , is G(π1 , π2 ) = p1 π1 R1 (π1 ) + p2 π2 R2 (π2 ) − [w1 π1 p1 + w2 π2 (p1 π1 + p2 )] = 5π1 (3 − 2π1 ) + 4π2 (3 − 2π2 ) − (10π1 + π2 (5π1 + 4)) = −10π12 + 5π1 − 8π22 + 8π2 − 5π1 π2 . Thus, H (π1 , π2 ) = −G(π1 , π2 ) = 10π12 + 8π22 + 5π1 π2 − 5π1 − 8π2 . It can easily be verified that the Hessian matrix of H is A and H (π1 , π ) = 12 Π T AΠ + sΠ , where Π = (π1 , π2 )T , and A and s are as follows: " A=
# 20 5 , 5 16
s = (−5, −8).
Clearly, A is a positive definite matrix, and hence H is a strictly convex function. For the special case where all the order inquiries have an identical weight, i.e., wj = w for j ∈ N, Liu et al. (2012) show that the optimal unit prices to quote satisfy R1∗ ≥ · · · ≥ Rn∗ , where the inquiries are indexed by the shortest processing time (SPT) rule, i.e., p1 ≤ · · · ≤ pn . This means that when all of the customers are equally important, as reflected by the identical weight, the manufacturer should quote a lower price to an inquiry with a larger order, which is equivalent to giving a discount that increases with the order size. For the special case where the order weight is proportional to the order size, i.e., wj = wpj for some constant w, for j ∈ N, Liu et al. (2012) show that the optimal unit prices to quote satisfy R1∗ ≤ · · · ≤ Rn∗ , where the inquiries are indexed by the SPT rule. This means that when larger orders have larger cost weights, larger orders are less attractive and should be priced higher.
5.3 Single-Period Order Based Problems
5.3.2.2
217
Sequential Quotation
With sequential quotation, order inquiries are handled one by one such that when making the quotation decision for an order, the manufacturer knows the responses from all the inquiries that have been quoted for earlier. Two sequences need to be determined in a sequential quotation scheme: (i) what sequence to use for price quotation of inquiries? and (ii) what sequence to use for processing confirmed orders? Liu et al. (2012) consider two types of sequential quotation, namely, consistent quotation and general quotation, defined as follows. Definition 5.2 Consistent quotation requires that price quotation and order processing follow the same sequence, whereas general quotation does not require these two actions to follow the same sequence. Consistent quotation has the following positive feature: during quotation it can provide the customer the start and completion times of the order if the order materializes. General quotation, however, provides the manufacturer the most flexibility and hence the highest expected profit. For ease of presentation, we use SEQC and SEQG to denote the sequential quotation problem with consistent quotation and that with general quotation, respectively. We observe that although inquiries are handled sequentially in both problems SEQC and SEQG, all the order inquiries arrive simultaneously at the beginning of the planning horizon, and no new inquiries arrive over time. Even though in these problems the underlying decisions are made in a sequential multi-stage fashion, these problems are still essentially single-period problems and hence differ from the multi-period problems discussed in Sect. 5.4 where orders come in over time and pricing decisions for the same products are made repeatedly over time. Next, we discuss how the problem SEQC can be solved. Suppose that N1 is the set of remaining order inquiries to be handled, and t is the total processing time of the firm orders that have resulted from the inquiries that have already been handled, i.e., the inquiries in N \ N1 . By Definition 5.2 about consistent quotation, the orders that result from the order inquiries of N1 can only be processed starting from time t. Thus, the optimal quotation and scheduling decisions for the inquiries in N1 depend on t and N1 only and do not depend on any other specific characteristics of the inquiries in N \ N1 or the confirmed orders from these inquiries. Based on this observation, Liu et al. (2012) develop the following dynamic programming algorithm for solving the problem SEQC with general revenue functions Rj (πj ) and general cost functions fj (Cj ). Since linear revenue functions and/or special cost functions such as weighted completion time do not reduce the complexity of the problem, this same algorithm is needed to solve the problem with a linear revenue function and the total weighted completion time as the cost function.
218
5 Coordinated Product Pricing and Scheduling Decisions
Algorithm DP-SEQC Input: Given pj , fj (), Rj (), for j ∈ N. Value Function: F (t, N1 ) = maximum expected total profit from the inquiries in N1 , given a start time t. Boundary Condition: F (t, φ) = 0. Maximum Expected Profit: F (0, N). Recurrence Relation: F (t, N1 ) = max max πj pj Rj (πj ) − fj (t + pj ) + F (t + pj , N1 \ {j }) j ∈N1
0≤πj ≤u
+ [(1 − πj )F (t, N1 \ {j })]
.
In the recurrence relation, any inquiry j from N1 and any possible placement probability of this inquiry πj are considered. Given inquiry j , the recurrence relation considers two possibilities: the order materializes with probability πJ , or the order does not materialize with probability 1 − πj . Liu et al. (2012) show that this algorithm solves problem SEQC to optimality in O(n2 2n ) time, if an optimal πj can be found via a constant number of computations for given j in the recurrence equation. This algorithm is therefore computationally efficient for small values of n. Finally, we discuss how the more general problem SEQG can be solved. Suppose that N1 is the set of remaining order inquiries to be handled, and among the inquiries N \ N1 that have been handled, J is the subset of inquiries that have resulted in firm orders. By Definition 5.2 about general quotation, the order processing sequence can be different from the price quotation sequence. This means that the orders in J can be processed later than the orders arising from price quotation decisions for the inquiries in N1 . Thus, we cannot make scheduling decisions for the inquiries in N1 alone without considering the orders in J . Therefore, the optimal quotation decisions for the inquiries in N1 depend on which specific orders are in J . However, which specific prices are quoted for the orders in J does not have an impact on quotation decisions for the inquiries in N1 . Based on these observations, Liu et al. (2012) develop the following algorithm for solving the problem SEQG with general revenue functions Rj (πj ) and general cost functions fj (Cj ). Algorithm DP-SEQG Input: Given pj , fj (), Rj (), for j ∈ N. Initialization: For any subset of orders J ∈ N, find the minimum cost, denoted as g(J ), of processing the orders in J with a start time 0.
5.3 Single-Period Order Based Problems
219
Value Function: F (J, N1 ) = maximum expected total profit of the problem, given that price quotation decisions have already been made for the order inquiries in N \ N1 , the orders in J ⊆ N \ N1 have materialized, and the remaining order inquiries in N1 have not been quoted for. Boundary Condition: F (J, φ) = g(J ) for any J ⊆ N. Maximum Expected Profit: F (φ, N). Recurrence Relation: For any subset of firm orders J ⊆ N and any subset of inquiries N1 ⊆ N such that J ∩ N1 = φ, considered in the following sequence: |J | = n, . . . , 1, 0, and |N1 | = 0, 1, . . . , n, F (J, N1 ) = max j ∈N1
max
0≤πj ≤u
πj pj Rj (πj ) + F (J ∪ {j }, N1 \ {j }) + [(1 − πj )F (J, N1 \ {j })]
.
In the recurrence equation, every inquiry j ∈ N1 and every possible order placement probability πj are considered for price quotation decisions. The two possible events, an order placed with probability πj and no order placed with probability 1 − πj , are considered in the expected revenue calculation. The recurrence equation considers the expected revenue explicitly, whereas the scheduling cost is included in the boundary condition. Liu et al. (2012) show that algorithm DP-SEQG optimally solves the general sequential quotation problem in O(n3n ) time, if an optimal πj can be found via a constant number of computations for given j in the recurrence equation. Given the exponential time complexity of the algorithms DP-SEQC and DPSEQG, it is unlikely that they can solve large instances of problems SEQC and SEQG, respectively. Liu et al. (2012) therefore propose a heuristic algorithm. The heuristic first fixes a sequence for price quotation and order processing, and given this sequence finds an optimal price quotation solution. Heuristic SEQ-FIX Input: Given pj , fj (), Rj (), for j = 1, . . . , n, where inquiries are indexed according to a pre-specified sequence. Value Function: F (t, j ) = maximum expected total profit from the inquiries j, . . . , n with a start time t. Boundary Condition: F (t, n + 1) = 0. Maximum Expected Profit: F (0, 1).
220
5 Coordinated Product Pricing and Scheduling Decisions
Recurrence Relation: For t = P , . . . , 0, and j = n, . . . , 1: F (t, j ) = max j ∈N1
max
0≤πj ≤u
πj pj Rj (πj ) − fj (t + pj ) + F (t + pj , j + 1) + [(1 − πj )F (t, j + 1)]
.
It can be seen that the time complexity of this algorithm is O(n2 P ) if an optimal πj can be found via a constant number of computations for given j in the recurrence equation. Liu et al. (2012) conduct computational experiments of the above discussed algorithms for the corresponding problems where all the orders have the same weights, i.e., w1 = · · · = wn = w. Their computational results show that the expected profit of an optimal solution of problem SEQC is quite close to that of the problem SEQG, based on a variety of test instances. This means that the advantage of the general quotation scheme over the consistent quotation scheme is small. However, the optimal expected profit of problem SIMQ often deviates a lot from those of problems SEQC and SEQG. This means that there is a big advantage to using sequential quotation over simultaneous quotation. Liu et al. (2012) also test the performance of heuristic SEQ-FIX with shortest processing time (SPT) or longest processing time (LPT) sequence of the orders as the pre-specified sequence. The performance of the heuristic is mixed. Specifically, when w is small, the heuristic with SPT as the pre-specified sequence performs very well and can generate expected profit close to that of the optimal expected profit of problem SEQC. However, when w gets larger, the performance of the heuristic with SPT as the pre-specified sequence deteriorates. The performance of the heuristic with LPT as the pre-specified sequence is the opposite: it performs very well when w is large, but it performs poorly when w is small.
5.4 Multi-Period Problems In this section, we discuss several CPPS problems with multiple periods studied by Yue et al. (2019). We first discuss the practical setting where their problems arise. Many manufacturers using a make-to-order strategy do not make customized products from scratch. Instead, they make customized products after receiving customer orders by customizing the last few steps of production based on a base product that is already made beforehand (Simchi-Levi et al., 2008). Motivated by this, Yue et al. (2019) assume that in their problems, a manufacturer makes multiple customized products from a common base product. They further assume that the price for each customized product is the price for the base product plus a given
5.4 Multi-Period Problems
221
differential for the specific customization involved, such that once the price for the base product is set, the price for each customized product is also set accordingly. The manufacturer uses dynamic pricing to match capacity with demand over a planning horizon consisting of multiple time periods. It needs to determine simultaneously a price for the base product and a production schedule for incoming orders at the beginning of each period over a given planning horizon, with the goal of maximizing its revenue while considering customer service. Yue et al. (2019) give an example of the operations of a real company to justify their model assumptions. This company makes and sells a variety of customized canvas bags, mugs, T-shirts, and other consumer products and customizes its products by adding features to what it calls basic products, e.g., basic canvas bags and mugs without images printed on them. Customers can customize their orders at the company’s website by choosing a basic product and specifying whether or not to have an image printed on the product and whether the image should be printed on one side or both sides of the product in case an image is needed. In order to achieve timely delivery, the company keeps a sufficient inventory of basic products, based on which customized products can be made quickly by adding customized features. The company uses a modular pricing scheme for most of its products such that the price for a customized product is equal to the price for the basic product plus the price for the added customized feature(s). Each available customized feature has a price that is often fixed and does not vary over time. For example, the price for having an image printed on one side of a bag is 17 RMB, whereas the price for having an image printed on both sides of a bag is 27 RMB. These prices remain unchanged regardless of how the basic product is priced. Thus, if the company prices a basic canvas bag at X, then it prices the same bag with an image printed on one side of the bag and the same bag with an image printed on both sides of the bag at X + 17, and X + 27, respectively. The company adjusts the prices for its products two to three times in each season, based on their demand forecasts and available capacity. To manage each product category, the company needs to adjust the price of the basic product involved (based on which all products in the category are made) periodically and create a production schedule so as to maximize its revenue subject to on-time delivery of orders. The modular pricing scheme used by this company is also common practice in several other industries. For example, although automobile dealers may adjust the prices of the cars that they sell from time to time, they often fix prices for additional features that they sell, e.g., $750 for a sun roof and $2500 for a technology add-on. This means that if a basic car model without any add-ons is priced at $X, then the same car with a sun roof and technology add-on is priced at $X + 3250. Modular pricing schemes are easy to implement and simple for customers to understand. However, we are not aware of any existing models in the dynamic pricing literature (e.g., Elmaghraby & Keskinocak, 2003, Talluri & van Ryzin, 2004, and Chen & Chen, 2015) that study such pricing schemes. To define the problems considered by Yue et al. (2019) precisely, we adopt the notation used in their paper. A manufacturer produces n customized products, 1, . . . , n, based on a common base product over a planning horizon with T time
222
5 Coordinated Product Pricing and Scheduling Decisions
periods, 1, . . . , T , where the starting time of the horizon is zero and the length of each period is L time units (e.g., days), for some positive integer L. At the beginning of each period t, the manufacturer sets a price for the base product, which in turn determines the price for each customized product. Given the prices of the customized products, customers place orders at the beginning of the period. Let p1 > · · · > pm denote the m allowable prices that can be set for the base product in each period t. Suppose that Pt ∈ {p1 , . . . , pm } is the price chosen by the manufacturer for the base product in period t. For product j (j = 1, . . . , n), an additional price vj is charged for the customization, where vj is fixed and is not a decision variable. As a result, the actual price of product j in period t is Pt + vj . Given the prices of the n products in period t, the demand for each product j in this period is a function of these prices. Since Pt + vj is determined by Pt for all products j = 1, . . . , n, the demand for each product j in period t is then simply a function of the price of the base product Pt , denoted as dtj (Pt ), which is assumed to be a nonnegative integer. All the incoming orders in a period arrive at the beginning of the period. Each product j may be associated with an importance weight wj . Each incoming order that arrives at time Z may be assigned a due date Z + kL, where kL (i.e., k time periods) can be viewed as the delivery lead time promised for the order. This represents a typical practice used by companies operating in a maketo-order business mode, which often promise a common delivery lead time for all incoming orders. The manufacturer may or may not accept all the incoming orders. If an incoming order of product j is accepted, then each unit of the order must be processed nonpreemptively for qj time units on a single machine. Following common business practice, it is assumed that orders that arrive in an earlier period are always processed before orders that arrive in a later period. Note that the manufacturer makes the last pricing decision at the beginning of period T (i.e., at time (T −1)L), whereas the production process continues until all accepted orders in the last period are completed. The parameters defined here wj , k, qj are all positive integers. Yue et al. (2019) consider the following three specific coordinated production pricing and scheduling problems with different order acceptance rules and objective functions: • Problem with total weighted completion time: the manufacturer accepts and processes all incoming orders with the objective of maximizing the total revenue minus the total weighted completion time of the orders. • Problem with tardiness allowed: the manufacturer accepts all incoming orders, but some incoming orders are allowed to be completed after their due dates with tardiness penalties. If an order is completed after its due date, there is a penalty of β units per unit of tardiness. The objective is to maximize the total profit, defined as the total revenue less the total tardiness penalty. • Problem with order rejection allowed: the manufacturer is allowed to reject some incoming orders of each product, but all accepted orders must be completed no
5.4 Multi-Period Problems
223
later than their due dates. The objective is to maximize the total revenue from accepted orders. Example 5.4 (An Instance and a Feasible Solution for Each Problem) We provide a numerical instance and a corresponding solution to illustrate each of the above defined problems. Consider an instance with T = 3 periods, each with L = 24 time units, n = 2 products, m = 3 allowable prices, which are p1 = 100, p2 = 80, and p3 = 60. The demand for each product j is time-invariant and hence is written as dj (Pt ), where Pt is the price of the base product set for period t. The parameters wj , vj , qj , and dj (pi ) are given in the following table. Let k = 1, i.e., the common delivery lead time is L time units, which means that orders arriving at the beginning of period t (t = 1, 2, 3) have a due date equal to the end of the period. Let the unit tardiness penalty be β = 10. Product j 1 2
vj 5 10
wj 2 3
qj 1 2
dj (p1 ) 5 3
dj (p2 ) 8 6
dj (p3 ) 10 10
Given this instance, we construct a feasible solution to each of the three problems as follows. For all the problems, we set the price for each period t = 1, 2, 3 as P1 = p3 = 60, P2 = p2 = 80, and P3 = p1 = 100, respectively. Given these prices, in each period t = 1, 2, 3, the demand realizations for the two products over each period are as follows: Product j 1 2
dj (P1 ) 10 10
dj (P2 ) 8 6
dj (P3 ) 5 3
For the first two problems, for which all the incoming orders must be processed, we use the following production schedule: in each period, after the remaining orders from previous periods are completed, we process the incoming orders of product 1 first, followed by the incoming order of product 2. In this solution, the total revenue is 2j =1 3t=1 (Pt + vj )dj (Pt ) = [(60 + 5)(10)+(80+5)(8)+(100+5)(5)]+[(60+10)(10)+(80+10)(6)+(100+10)(3)] = 1855 + 1570 = 3425. For the first problem, the total weighted completion time of the orders can be calculated as follows: • In period 1, 10 incoming orders of product 1 are processed from time 0 to 10, and 10 incoming orders of product 2 are processed from time 10 to 30. Thus, the total completion time of the 10 orders of product 1 is 1 + 2 + · · · + 10 = 55. Similarly, the total completion time of the 10 orders of product 2 is 12+14+· · ·+30 = 210.
224
5 Coordinated Product Pricing and Scheduling Decisions
Thus, the total weighted completion time of the orders that arrive in the first period is 55w1 + 210w2 = 55(2) + 210(3) = 740. • In period 2, eight incoming orders of product 1 are processed from time 30 to 38, and six incoming orders of product 2 are processed from time 38 to 50. Thus, the total completion time of the eight orders of product 1 is 31 + 32 + · · · + 38 = 276 and that of the six orders of product 2 is 40 + 42 + · · · + 50 = 270. Thus, the total weighted completion time of the orders that arrive in the second period is 276w1 + 270w2 = 276(2) + 270(3) = 1362. • In period 3, five incoming orders of product 1 are processed from time 50 to 55, and three incoming orders of product 2 are processed from time 55 to 61. Thus, the total completion time of the five orders of product 1 is 51+52+· · ·+55 = 265 and that of the three orders of product 2 is 57 + 59 + 61 = 177. Thus, the total weighted completion time of the orders that arrive in the third period is 265w1 + 177w2 = 265(2) + 177(3) = 1061. Thus, the total weighted completion time of all the orders is 740 + 1362 + 1061 = 3163. Therefore, for the first problem, the total profit of this solution is 3425 − 3163 = 262. For the second problem, the total tardiness penalty can be calculated as follows. As calculated above, the completion time of the last order that arrives at the beginning of period 1 is 30, which implies that the last three orders of product 2 that arrive in the first period are tardy, each with a tardiness of 2, 4, and 6 units, respectively. Similarly, we can observe that the last order of product 2 that arrives in the second period is tardy with a tardiness of 2. None of the orders that arrive in the third period is tardy. Thus, the total tardiness penalty is β(2 + 4 + 6 + 2) = 140. Thus, for the second problem, the total profit of this solution is 3425 − 140 = 3285. For the third problem, we may have to reject some incoming orders so that all accepted orders complete processing by their due dates. Given the prices and the demand realizations as discussed above, some orders would be tardy if all the orders were accepted, as shown above. We construct a feasible solution as follows. Reject the last three orders of product 2 that arrive in the first period and accept all other incoming orders and use the same scheduling policy as above, i.e., in each period, accepted orders of product 1 are processed before those of product 2. This results in a completion time of 24 for the last order that arrives in the first period and a completion time of 44 for the last order that arrives in the second period. The orders that arrive in the third period must be processed from time 48 to 59. We can observe that this is a feasible solution. Thus, the total revenue of this solution for the third problem is [(60 + 5)(10) + (80 + 5)(8) + (100 + 5)(5)] + [(60 + 10)(7) + (80 + 10)(6) + (100 + 10)(3)] = 1855 + 1360 = 3215. Yue et al. (2019) provide pseudo-polynomial time algorithms for solving all these problems and show that they are all NP -hard in the ordinary sense even with a single product, i.e., n = 1. They further provide an FPTAS for each of these problems. In Sects. 5.4.1, 5.4.2, and 5.4.3, we present the exact pseudo-polynomial time algorithms for all the problems, the NP -hardness proofs for two of the problems, and the FPTAS for one of the problems, respectively. In Sect. 5.4.4, we show some computational results and related managerial insights derived by Yue et al. (2019).
5.4 Multi-Period Problems
225
5.4.1 Exact Algorithms In this section, we describe some optimality properties derived by Yue et al. (2019) for the three problems and the optimal pseudo-polynomial time dynamic programming algorithms developed by them for these problems based on these properties. The following optimality properties for these problems are fairly straightforward and hence are stated without proofs. Lemma 5.2 (i) For the problem with total weighted completion time, the shortest weighted processing time (SWPT) rule is optimal for processing all incoming orders in each time period. (ii) For the problem with tardiness allowed, it is optimal to process incoming orders in each period by the shortest processing time (SPT) rule. (iii) For the problem with order rejection allowed, accepted orders in each period can be processed in an arbitrary sequence. The problem with total weighted completion time can be solved by the following dynamic programming algorithm. Algorithm MP-DP1 Input: Given qj , vj , wj , for j = 1, . . . , n; and pi , for i = 1, . . . , m. Define St as the latest possible starting time for processing incoming orders in period t for t = 1, . . . , T . The value of St can be calculated recursively as follows: S1 = 0, and St = max{(t − 1)L, St−1 + nj=1 dtj (pm )qj }, for t = 2, . . . , T . Initialization: Reindex the products in SWPT order. Value Function: ft (h) as the maximum total profit (i.e., the total revenue minus the total weighted completion time) from period t through period T , given that h is the starting time for processing incoming orders in period t. Boundary Condition: fT +1 (h) = 0, for h > 0; ft (h) = −∞, if h < (t − 1)L or h > St , for t = 1, . . . , T . Optimal Solution Value: f1 (0). Recurrence Relation: For t = 1, . . . , T , and (t − 1)L ≤ h ≤ St , ft (h) = max
⎧ n ⎨
1≤i≤m ⎩
j =1
⎛
⎧ ⎨
dtj (pi )(pi + vj ) − Whit + ft+1 ⎝max h + ⎩
n j =1
⎫⎞⎫ ⎬ ⎬ dtj (pi )qj , tL ⎠ , ⎭ ⎭
226
5 Coordinated Product Pricing and Scheduling Decisions
where Whit is the total weighted completion time of the orders that arrive in period t if the price is set at pi in period t and the starting time for processing these orders is h. The value of Whit is calculated as follows: Whit =
n j =1
⎛
⎞
dtj (pi )
wj ⎝
Chij rt ⎠ ,
r=1
where Chij rt denotes the completion time of the rth incoming order for product j in period t if the price is set at pi and the starting time is h, for i = 1, . . . , m, j = 1, . . . , n, r = 1, . . . , dtj (pi ), and t = 1, . . . , T , and is calculated as Chij rt = j −1 h + l=1 dtl (pi )ql + rqj . The recurrence relation in Algorithm MP-DP1 compares all the m allowable n prices for period t based on the total profit. Given price pi , the term is the total revenue from the incoming orders in period t, j =1 dtj (pi )(pi + vj ) and the term max{h + nj=1 dtj (pi )qj , tL} is the starting time for processing the incoming orders in period t + 1. Yue et al. (2019) show that Algorithm MP-DP1 finds an optimal solution for the problem with total weighted completion time in O(mT ST2 ) time. This is therefore a pseudo-polynomial time algorithm. In Sect. 5.4.2 below, we show that the problem with the weighted completion time is NP -hard. This implies that Algorithm MPDP1 is the best type of result achievable for this problem, unless P = NP . Next, we describe the dynamic programming algorithm for the problem with tardiness allowed given in Yue et al. (2019). Algorithm MP-DP2 Input: Given qj , vj , for j = 1, . . . , n; and pi , for i = 1, . . . , m. Define St as the latest possible starting time for processing incoming orders in period t, for t = 1, . . . , T . The value of St can be calculated in exactly the same way as in Algorithm MP-DP1. Initialization: Reindex the products in SPT order. Value Function: Define ft (h) as the maximum total revenue minus the total tardiness penalty from period t through period T , given that the starting time for processing the incoming orders in period t is h. Boundary Condition: fT +1 (h) = 0, for h > 0; ft (h) = −∞, if h < (t − 1)L or h > St , for t = 1, . . . , T . Optimal Solution Value: f1 (0). Recurrence Relation: For t = 1, . . . , T , and (t − 1)L ≤ h ≤ St , ft (h) = max
⎧ n ⎨
1≤i≤m ⎩
j =1
⎛
⎧ ⎨
dtj (pi )(pi + vj ) − βghit + ft+1 ⎝max (h + ⎩
n j =1
⎫⎞⎫ ⎬ ⎬ dtj (pi )qj , tL ⎠ , ⎭ ⎭
5.4 Multi-Period Problems
227
where ghit is the total tardiness of the orders that arrive in period t when the price is set at pi and the starting time for processing the incoming orders is h. As in j −1 Algorithm MP-DP1, define Chij rt = h + l=1 dtl (pi )ql + rqj as the completion time of the rth incoming order for product j in period t when the price is set at pi and the starting time is h, for r = 1, . . . , dtj (pi ), j = 1, . . . , n, t = 1, . . . , T , and i = 1, . . . , m. Thus, based on the fact that the due date of incoming orders in period dtj (pi ) t is (t − 1 + k)L, we have ghit = nj=1 r=1 max{0, Chij rt − (t − 1 + k)L}. The recurrence relation of Algorithm MP-DP2 compares the net profits of all the m allowable prices for period t based on the total profit. Given price pi , the term n d (p )(p i + vj ) is the total revenue from the incoming orders in period t, j =1 tj i and the term max{h + nj=1 dtj (pi )qj , tL} is the starting time for processing the incoming orders in period t + 1. Yue et al. (2019) show that Algorithm MP-DP2 finds an optimal solution for the problem with tardiness allowed in O(mT ST2 ) time. Below in Sect. 5.4.2, we show that the problem with tardiness allowed is NP -hard. This implies that Algorithm MP-DP2 is the best type of result achievable for this problem, unless P = NP . In the following, we describe the dynamic programming algorithm given in Yue et al. (2019) for finding an optimal solution to the problem with order rejection allowed. Algorithm MP-DP3 Input: Given qj , vj , for j = 1, . . . , n; and pi , for i = 1, . . . , m. Initialization: Index the products in an arbitrary order. Value Function: Define ft (h) = maximum total revenue from period t through period T , given that the starting time for processing the accepted orders in period t is h. Boundary Condition: fT +1 (h) = 0, for h > 0; ft (h) = −∞, if h < (t − 1)L or h > (t − 2 + k)L, for t = 1, . . . , T . Optimal Solution Value: f1 (0). Recurrence Relation: For t = 1, . . . , T , and (t − 1)L ≤ h ≤ (t − 2 + k)L, & ft (h) = max
1≤i≤m
max
0≤τhit ≤τ¯hit
g(τhit ) + ft+1 (max{h + τhit , tL})
'
,
are defined as follows: τ where the parameters τhit , τ¯hit , g(τhit ), and τhit hit is the maximum possible total processing time of accepted orders when the price set in period t is pi and the processing starting time is h, τ¯hit is an upper bound of τhit , defined as τ¯hit = min{ nj=1 dtj (pi )qj , (t −1+k)L−h}, g(τhit ) is the total revenue from accepted orders in period t when the total processing time of accepted orders is the resulting total processing time of accepted is no greater than τhit , and τhit orders. Given τhit , the value of g(τhit ) is the optimal objective value of the following
228
5 Coordinated Product Pricing and Scheduling Decisions
bounded knapsack problem, where decision variable xj t is the number of accepted orders for product j in period t. max
n
(pi + vj )xj t
j =1
s.t.
n
qj xj t ≤ τhit
j =1
0 ≤ xj t ≤ min{dtj (pi ), kL/qj }, xj t integer, for j = 1, . . . , n. This knapsack problem can be solved using the dynamic programming algorithm given in (Kellerer et al., 2004, p. 190). Given the optimal solution of this knapsack n = problem xj∗t , τhit j =1 qj xj t . The recurrence relation of Algorithm MP-DP3 compares all the m allowable prices for period t based on the total revenue of accepted orders. Given price pi , the algorithm selects an optimal maximum total processing time τhit for accepted orders and determines the optimal number of accepted orders xj t for each product by solving the above defined bounded knapsack problem. Finally, all accepted orders are scheduled in arbitrary order. In the recurrence relation, the term , tL} is the starting time for processing the accepted orders in period max{h + τhit is the completion time of the accepted orders in period t. t + 1, where h + τhit n Define V = min max1≤t≤T j =1 dtj (pm )qj , kL . It can be seen that V is an upper bound on τ¯hit . To solve the bounded knapsack problem, the dynamic programming algorithm given in Kellerer et al. (2004) has a running time of O(nV log V ). Yue et al. (2019) show that Algorithm MP-DP3 finds an optimal solution for the problem with order rejection allowed in O(mnkLT V 2 log V ) time. As in the case for Algorithms MP-DP1 and MP-DP2, this algorithm is the best type of result achievable for this problem unless P = NP .
5.4.2 N P -Hardness Proofs We show below the NP -hardness proofs given by Yue et al. (2019) for the first two problems. The NP -hardness of the third problem can be proved similarly to the second problem and hence is not provided. Theorem 5.9 The problem with total weighted completion time is ordinarily NP hard, even if the manufacturer produces only a single product, i.e., n = 1.
5.4 Multi-Period Problems
229
Proof We show below that this problem is at least ordinarily NP -hard, which, together with the pseudo-polynomial time algorithm MP-DP1 given in Sect. 5.4.1, implies that this problem is exactly ordinarily NP -hard. We use a reduction from the partition problem, a well-known NP -hard problem (Garey & Johnson, 1979). Partition Problem: Given a set of u elements U = {1, . . . , u}, a positive integer aj associated with each element j ∈ U , and uj=1 aj = A, do there exist two disjoint subsets U1 and U2 of U such that j ∈U1 aj = j ∈U2 aj = 12 A? Construct an instance of the problem with a single product as follows: • The number of time periods is T = u, with the length of each period L = A time units. • The number of allowable prices in each period is m = 2, with prices p1 = A2 + 2A + 2 and p2 = A2 + 2A. • Demand corresponding to each price pi in period t is denoted as Dti , for i = 1, 2 and t = 1, . . . , u. Let Dt1 = Aat and Dt2 = (A + 2)at , for t = 1, . . . , u. • Each order of the product has a processing time q = 1. • For the product, the additional charge is v = 12 , and the unit weight of completion time is w = 1. • Threshold value for the total profit is Z = 12 A4 + 2A3 + 52 A2 . We first formulate the objective function. Since there is only one product, all incoming orders in each period can be processed in an arbitrary sequence. Also, since the demand in each period under any price is greater than the length of the period, all orders over the planning horizon are processed consecutively without any idle time. Let Pt and dt (Pt ) be the price and the demand in period t, respectively, and let Cj t denote the completion time of the j th order in period t, for j = 1, . . . , dt (Pt ) and t = 1, . . . , u. The total weighted completion time over u time periods can be written as ⎤ ⎡ u d u t−1 t (Pt ) 1 ⎣dt (Pt ) Cj t = dj (Pj ) + dt (Pt )(dt (Pt ) + 1)⎦ 2 t=1 j =1
j =1
t=1
=
u 1 dt (Pt ) 2
2
1 dt (Pt ). 2 u
+
t=1
t=1
Thus, the objective function is u t=1
(Pt + v)dt (Pt ) −
u d t (Pt ) t=1 j =1
Cj t =
u t=1
u 1 Pt dt (Pt ) − dt (Pt ) 2
2
.
(5.15)
t=1
In the following, we prove that there is a solution to the above instance of our problem with the objective value greater than or equal to Z if and only if there is a solution to the instance of the Partition Problem.
230
5 Coordinated Product Pricing and Scheduling Decisions
(⇒) If there exist two disjoint subsets U1 and U2 of U such that j ∈U1 aj = 1 j ∈U2 aj = 2 A, we construct a solution to the instance of our problem as follows. Set the price Pt for period t as Pt = p1 if t ∈ U1 and Pt = p2 if t ∈ U2 , for t = 1, . . . , u. Thus, by (5.15), the objective value of this solution is
p1 Dt1 +
t∈U1
=
t∈U2
⎤2 ⎡ 1 ⎣ p2 Dt2 − Dt1 + Dt2 ⎦ 2 t∈U1
Aat (A + 2A + 2) + 2
t∈U1
t∈U2
t∈U2
⎡ ⎤2 1 ⎣ (A + 2)at (A + 2A) − Aat + (A + 2)at ⎦ 2 2
t∈U1
t∈U2
1 5 = A4 + 2A3 + A2 = Z. 2 2
(⇐) In a solution to the instance of our problem with the total profit greater than or equal to Z, let U1 denote the set of periods that are priced at p1 and U2 denote the set of periods that are priced at p2 . Thus, there are Aat incoming orders in each period t ∈ U1 and (A + 2)at incoming orders in each period t ∈ U2 . Let E = j ∈U2 aj . Then, by (5.15), the total profit in this solution is t∈U1
Aat (A2 + 2A + 2) +
⎤2 ⎡ 1 ⎣ 2 (A + 2)at (A + 2A) − Aat + (A + 2)at ⎦ 2 t∈U2 t∈U1 t∈U2
1 = A4 + 2A3 + 2A2 + 2(A2 + A)E − (A2 + 2E)2 2 #2 " A −E . =Z−2 2
Since the total profit has to be greater than or equal to Z, we have −2( A2 − E)2 ≥ 0, which implies that E = 12 A and j ∈U1 aj = j ∈U2 aj = 12 A. This completes the proof. Next, we provide a similar result for the problem with tardiness allowed, but with a quite different proof technique. Theorem 5.10 The problem with tardiness allowed is ordinarily NP -hard, even if there is only a single customized product, i.e., n = 1. Proof We show below that this problem is at least ordinarily NP -hard, which, together with the pseudo-polynomial time algorithm MP-DP2 given in Sect. 5.4.1, implies that this problem is exactly ordinarily NP -hard. We use a reduction from the Subset Sum (SS) problem, another well-known NP -hard problem (Garey & Johnson, 1979).
5.4 Multi-Period Problems
231
SS: Given a set of u elements, U = {1, . . . , u}, a positive integer aj associated with each element j ∈ U , and a positive integer B, does there exist a subset S of U such that j ∈S aj = B? Let A = j ∈U aj and H = M 1 + M 2 + · · · + M u + B, where M is a sufficiently large positive integer (e.g., M = Au ) such that M > uA and M i > M 1 + 2M 2 + · · · + (i − 1)M i−1 + B, for any i = 2, . . . , u. We construct an instance of our problem with a single product based on the above instance of SS as follows: • The number of time periods is T = u with the length of each period L = H time units. • The number of allowable prices in each period is m = 2u, with prices p2i−1 = 1 + 12 and p2i = H +M1 i +a + 12 , for i = 1, . . . , u. H +M i i • Demand corresponding to each allowable price is time-invariant and denoted as Dj for price pj , j = 1, . . . , 2u, where D2i−1 = H +M i and D2i = H +M i +ai , for i = 1, . . . , u. • Each order has a processing time of q = 1 time unit. The due date of an order that arrives at the beginning of time period t is (t + 1)L, for t = 1, . . . , T , i.e., k = 2. • The additional charge for the product is v = 12 . • The penalty per time unit of tardiness is β = (u + 1)H + u. • Threshold value for the total revenue minus the total tardiness penalty is Z = (u + 1)H + u. Clearly, the above instance can be constructed in polynomial time. In this instance, by construction, the following hold: p1 > · · · > p2u , D1 < · · · < D2u , and (p1 + v)D1 < · · · < (p2u + v)D2u . In the following, we prove that there is a solution to the above instance of our problem with the total profit greater than or equal to Z if and only if there is a solution to the instance of SS. (⇒) If there is a subset S of U such that j ∈S aj = B, we construct a solution to the instance of our problem as follows. Set the price in period i as Pi = p2i−1 if i ∈ / S and Pi = p2i if i ∈ S, for i = 1, . . . , T . Process all the incoming orders in an arbitrary sequence. It can be seen that in the constructed solution, none of the orders that arrive in the first T − 1 periods are tardy. The total demand over T time periods is i∈S
D2i +
i∈U \S
D2i−1 =
(H + M i + ai ) +
(H + M i )
i∈U \S
i∈S
= uH + (M + M + · · · + M u ) + B = (u + 1)H. 1
2
Thus, the completion time of the last order is equal to (T + 1)L, which is the due date of the orders that arrive in the last period. Hence, none of these orders are tardy.
232
5 Coordinated Product Pricing and Scheduling Decisions
The total revenue of the orders processed is thus
(p2i + v)D2i +
i∈S
=
(p2i−1 + v)D2i−1
i∈U \S
(H + M i + ai + 1) +
i∈S
(H + M i + 1)
i∈U \S
= (u + 1)H + u = Z. Since there is no tardiness penalty, the total profit of the constructed solution for the instance of our problem is equal to the threshold value Z. (⇐) If there is a solution to the instance of our problem with a total profit greater than or equal to Z, we prove by induction that for each i = 1, . . . , u, there is exactly one period where one of the two prices p2i−1 and p2i is used. We first prove the result for i = u by contradiction. Suppose that none of the two prices p2u−1 and p2u are used. In each period, the maximum revenue earned is at most (p2u−2 + v)D2u−2 = H + M u−1 + au−1 + 1. Thus, the total revenue is at most uH + uM u−1 + uA + u < Z. This shows that at least one of these two prices is used for some period. Now, suppose that there are at least two periods where one of these prices is used. This results in a total demand of at least uH + 2M u > (u + 1)H . Since the due date of the last batch of orders (that arrive at the beginning of the last period) is (u + 1)H , this implies that some orders are tardy. Given the large unit tardiness penalty β, this means that the total profit is less than Z. By contradiction, this shows that there is exactly one period where one of the two prices p2u−1 and p2u is used. Now, suppose that, for some 1 ≤ j ≤ u − 1, there is exactly one period where one of the two prices p2i−1 and p2i is used, for each i = u, . . . , j + 1. We prove that the same result holds for i = j . The total demand over the u − j time periods where one of the2(u − j ) prices p2u , p2u−1 , . . . , p2j +2 , p2j +1 is used is at least e1 = H (u−j )+ ui=j +1 M i , and the total revenue over these periods is at most e2 = H (u − j ) + ui=j +1 M i + (u − j )(A + 1). Suppose that there is no period where one of the two prices p2j −1 and p2j is used. The revenue earned in any of the j time periods where a price pi with i < 2j −1 is used is less than H +M j −1 +A+1. Thus, the total revenue across all time periods is at most e2 +Hj +j M j −1 +j (A+1) < Z. Now suppose that there are at least two periods where one of the two prices p2j −1 and p2j is used. The total demand over the j time periods where a price other than p2u , p2u−1 , . . . , p2j +2 , p2j +1 is used is at least j H + 2M j . Thus, the total demand across all the time periods is at least e1 + j H + 2M j > (u + 1)H . This implies that some orders are tardy. Given the value of unit tardiness penalty β, this means that the total profit is less than Z. This shows that there is exactly one period where one of the two prices p2j −1 and p2j is used. Therefore, by induction, we have proved that there is exactly one period where one of the two prices p2i−1 and p2i is used for each i = 1, . . . , u.
5.4 Multi-Period Problems
233
Define a subset S ⊆ U such that for each i ∈ S, price p2i is used in some period in the given solution for the instance of our problem. The subset U \ S includes the indices i such that price p2i−1 is used in some period. The total revenue of the solution is (H +M i +ai +1)+ (H + M i + 1) = uH +(M 1 +. . .+M u )+u+ ai . i∈U \S
i∈S
i∈S
Since this total revenue is at least Z, we can conclude that i∈S ai ≥ B, and there are no tardy orders in the solution. The total demand in this solution is
(H + M i + ai ) +
(H + M i ) = uH + (M 1 + . . . + M u ) +
i∈U \S
i∈S
ai .
i∈S
Since there are no tardy orders, the total demand must be no more than the largest due date (u+1)H . This means that i∈S ai ≤ B, and hence we have i∈S ai = B.
5.4.3 Approximation Algorithm In this section, we describe the FPTAS developed by Yue et al. (2019) for the problem with total weighted completion time. The FPTASs they develop for the other two problems use similar techniques and hence are not presented here. We first describe a preliminary result without showing the proof. Let F ∗ be the optimal profit for the problem with total weighted completion time. Lemma 5.3 In the problem with total weighted completion time, the optimal profit F ∗ satisfies F0 ≤ F ∗ ≤ T F0 , where F0 =
max
1≤i≤m,1≤t≤T
⎧ n ⎨ ⎩
dtj (pi )(pi + vj ) − Wit
j =1
⎫ ⎬ ⎭
,
and Wit =
n j =1
⎡ wj ⎣
dtj (pi )
r=1
⎛ ⎝(t − 1)L +
j −1
⎞⎤ dtl (pi )ql + rqj ⎠⎦
l=1
is the total weighted completion time of the orders that arrive in a single period t if price pi is used in this period and the starting time for processing the orders is the beginning time of period t (i.e., time (t − 1)L).
234
5 Coordinated Product Pricing and Scheduling Decisions
The idea of the FPTAS provided by Yue et al. (2019) for the problem with total weighted completion time is similar to that of the FPTAS given in Sect. 5.2.3.1 for the problem with a single period studied there. The FPTAS is based on a redesigned dynamic programming algorithm for the problem and applies a state space trimming technique to ensure that the DP can run in polynomial time. The new dynamic programming algorithm differs from Algorithm MP-DP1 by defining states differently and using a labeling scheme to handle the states. The new DP algorithm uses state (t, C, R) to indicate a partial schedule where periods 1, . . . , t have been considered, the completion time of the last order is C, and the profit is R. For states (t, C, R), we label them based on the value of profit R. Given multiple states (t, C1 , R), (t, C2 , R), . . . with the same t and same label (i.e., the same profit value R), we only keep the state with the smallest completion time of the last order and eliminate all the other such states. Algorithm MP-APP Input: all parameters of the problem with total weighted completion time and the approximation precision parameter > 0. State Variables: (t, C, R) corresponds to a partial schedule that has considered periods 1, . . . , t and has the total completion time (or makespan) C and profit R. Initialization: Reindex the products in SWPT order. Define F0 as in Lemma 5.3, and partition the profit dimension R in the state space into intervals with equal length Δ = F0 /T . Initial State: (0, 0, 0). Forward Recursion: For t = 0, . . . , T − 1, run the following steps: (1) State Generation. For each state (t, C, R), generate m trial states (t + 1, C , R ) by pricing the base product in period t +1 at pi and then scheduling all the incoming orders in SWPT order, for i = 1, . . . , m. (2) State Labeling. For each state (t + 1, C , R ), attach the label (t + 1, Δi) if the value of the profit R satisfies iΔ ≤ R < (i + 1)Δ, where i = 0, 1, . . .. (3) State Elimination. For any two partial schedules (t + 1, C1 , R1 ) and (t + 1, C2 , R2 ) with identical labels, i.e., R1 = R2 , eliminate the second schedule if C1 ≤ C2 and the first schedule otherwise. Optimal Solution: Select a state (T , C, R) for which R is the largest, and backtrack the forward recursion process to find the corresponding solution σ . In Algorithm MP-APP, the initialization step sets the value of Δ such that T F0 = ΔT 2 /, where from Lemma 5.3, F0 is a lower bound on the optimal profit. For each period t = 1, . . . , T , the forward recursion step first generates trial states by choosing the price and scheduling all incoming orders, then labels each trial state based on the profit value, and finally eliminates trial states by comparing the makespan of all trial states with the same label, keeping one with the smallest value, and discards all the others. The final step obtains the optimal solution by selecting a state with the largest total profit over all time periods and backtracking the forward recursion process.
5.4 Multi-Period Problems
235
Theorem 5.11 For any > 0, Algorithm MP-APP is an FPTAS for the problem with total weighted completion time with O(n log n + mT 3 /) running time. Proof We prove the theorem by induction on the number of time periods t. The induction hypothesis is that, given any state (t, C, R) that is obtained under the exact dynamic program Algorithm MP-DP1, Algorithm MP-APP generates a state ˜ R), ˜ where C˜ ≤ C and R˜ ≥ R − tΔ. The hypothesis clearly holds for t = 0. (t, C, Suppose that the hypothesis holds for t = 0, 1, . . . , l. Now, we prove that for any state (l + 1, C , R ) generated in Algorithm MP-DP1, there is a state (l + 1, C˜ , R˜ ) generated by Algorithm MP-APP such that C˜ ≤ C and R˜ ≥ R − (l + 1)Δ. Let (l, C, R) be the state in Algorithm MP-DP1 from which (l + 1, C , R ) is generated by applying price pi , for some 1 ≤ i ≤ m, and scheduling all the dl+1 (pi ) ˜ R) ˜ orders in period l + 1. From the induction hypothesis, we have a state (l, C, generated in the approximate program where C˜ ≤ C and R˜ ≥ R − lΔ. In Algorithm ˜ R) ˜ by pricing MP-APP, for a trial state (l + 1, C˜ , R˜ ) that is generated from (l, C, in period l + 1 at pi and scheduling dl+1 (pi ) orders, we prove the following two claims. Claim (i): C˜ ≤ C . Since C˜ ≤ C and the same orders are added in Algorithm MPDP1 and Algorithm MP-APP, the increase in the makespan in Algorithm MP-APP is no more than that in Algorithm MP-DP1, i.e., C˜ ≤ C . This proves Claim (i). Claim (ii): R˜ ≥ R − (l + 1)Δ. In both Algorithm MP-DP1 and Algorithm MP-APP, the total revenue of incoming orders in period l + 1 is δ = n ˜ j =1 dl+1,j (pi )(pi + vj ). Let W and W be the total weighted completion time in period l + 1 under Algorithm MP-DP1 and Algorithm MP-APP, respectively. Then, according to the trial state generation process, for state (l + 1, C , R ), we have R = R + δ − W . For state (l + 1, C˜ , R˜ ), we have R˜ = R˜ + δ − W˜ . Due to the fact that C˜ ≤ C and the same orders are added in Algorithm MPDP1 and Algorithm MP-APP, we have W˜ ≤ W . These relations, together with the induction hypothesis R˜ ≥ R − lΔ, imply that R˜ ≥ R − (l + 1)Δ. This proves Claim (ii). If the trial state (l + 1, C˜ , R˜ ) is not eliminated, then this state is what we need in our induction proof and satisfies C˜ ≤ C and R˜ ≥ R − (l + 1)Δ. If this ¯ R) ¯ such that C¯ ≤ C˜ and state is eliminated, then there is another state (l + 1, C, ¯ R) ¯ is what R¯ ≥ R˜ − Δ. Thus, C¯ ≤ C and R¯ ≥ R − (l + 1)Δ, and state (l + 1, C, we need in our induction proof. We now show that Algorithm MP-APP delivers a solution with the required performance guarantee. Let the state (T , C ∗ , R ∗ ) correspond to an optimal solution σ ∗ with total profit R ∗ in Algorithm MP-DP1. Then, the above induction argument shows that Algorithm MP-APP generates a solution σ and a corresponding state ˜ R) ˜ with total profit R, ˜ where R˜ ≥ R ∗ − T Δ. From Lemma 5.3 and the (T , C, ∗ ∗ ≤ T Δ/R ∗ ≤ . Therefore, according to the ˜ definition of Δ, we have (R − R)/R Optimal Solution step of Algorithm MP-APP, the optimal profit R˜ ∗ in the optimal solution σ∗ generated by Algorithm MP-APP satisfies (R ∗ − R˜ ∗ )/R ∗ ≤ . Finally, we analyze the time complexity of Algorithm MP-APP. First, Algorithm MP-APP sequences all products in SWPT order, which requires O(n log n) time.
236
5 Coordinated Product Pricing and Scheduling Decisions
Next, we evaluate the number of states (i.e., labels) in the forward recursion step. In this step, for each period, from the definition of Δ and Lemma 5.3, the number of labels to generate trial states is no more than T 2 / and each label generates at most m trial states. Since there are T periods, the total number of labels is bounded by O(mT 3 /). Hence, the overall time complexity of the approximation algorithm is O(n log n + mT 3 /), which is a polynomial function of n, m, T , and 1/.
5.4.4 Computational Results and Managerial Insights In this section, we summarize the computational results obtained by Yue et al. (2019) on the performance of the exact dynamic programming algorithms and FPTAS for the three problems studied. We also present managerial insights from these results. For ease of presentation, we denote the three problems—the problem with total weighted completion time, the problem with tardiness allowed, and the problem with order rejection allowed—as TWC, TA, and ORA, respectively. Yue et al. (2019) conduct an extensive set of computational experiments on randomly generated test instances of all the three problems with a number of time periods T varying from 4 to 8, a number of products n from 5 to 20, and a number of price levels m from 2 to 6. Half of the instances have a small demand, which involves, on average, 11 to 3 incoming orders for each product in each period when n goes from 5 to 20. The other half of the instances have a large demand, which involves, on average, 18 to 5 incoming orders for each product in each period when n goes from 5 to 20. Their computational results show that for any test instance of the first two problems TWC and TA, their exact algorithms given in Sect. 5.4.2 find optimal solutions quickly. This means that we can rely on these algorithms to solve the first two problems and do not need to use approximation algorithms when the problem instance has a similar size or even slightly larger size than those tested by Yue et al. (2019). For problem ORA, however, their test results show that the exact algorithm MPDP3 given in Sect. 5.4.2 can be very time-consuming, especially for instances with a large demand and a large number of time periods. They therefore conduct further computational experiments to evaluate the performance of their FPTAS for problem ORA. Their test results show that (1) the FPTAS takes significantly less time than the optimal DP algorithm for all test instances, (2) the FPTAS with the allowed error = 20% generates solutions within 10% optimality gap for all test instances with a small demand and most test instances with a large demand, and (3) the FPTAS with the allowed error = 40% generates solutions within 15% optimality gap for all test instances with a small demand and most test instances with a large demand. Consequently, it can be concluded that the FPTAS developed for the problem ORA generates near-optimal solutions in much shorter times than the exact algorithm MP-DP3.
5.4 Multi-Period Problems
237
For managerial insights, we first discuss the relationship between the number of price levels (i.e., m) and the total profit over the planning horizon. In their experiments, the number of price levels tested varies from 1 to 7. The average percentage gap of the total profit under a smaller value of m relative to the total profit under a larger value of m is calculated. The average gaps based on test instances with T = 8, n = 20 and large demand are shown in Table 5.2, where each percentage gap value shown for row m = x and column m = y is the relative percentage deviation of the optimal total profit of the problem with m = x, compared to that of the same problem with m = y. Similar experimental results are observed across other values of the parameters T and n and other sizes of demand. From Table 5.2, we can make the following observations. For problems TWC and TA, when the number of price levels m increases from 1 to 2 or higher or from 2 to 3 or higher, there is a significant increase in the total profit, more than 45% for problem TWC in most cases and more than 15% for problem TA in many cases. However, when m increases from 3 or 4 to a higher value, there is only a small increase in the total profit, less than 5% in most cases of TWC and TA. For problem ORA, when m increases from 1 to a higher value, the total profit shows a big increase, but when m increases from 2 or more to a higher value, there is little change in total profit. For all the three problems, when there are three price levels, the total profit that can be generated is already very close to the profit that can be generated when there are more price levels. Therefore, in practice, using three price levels (e.g.,
Table 5.2 Percentage gap of total profits under different values of m m=1
m=2
m=3
m=4
m=5
m=6
Problem TWC TA ORA TWC TA ORA TWC TA ORA TWC TA ORA TWC TA ORA TWC TA ORA
m=2 0.9% 5.0% 7.6%
m=3 45.7% 15.2% 8.5% 45.1% 10.2% 1.0%
m=4 46.3% 16.8% 10.2% 45.8% 11.9% 2.8% 1.1% 1.7% 1.9%
m=5 47.8% 17.6% 11.2% 47.3% 12.7% 3.9% 3.5% 2.5% 2.9% 2.5% 0.9% 1.1%
m=6 48.4% 18.5% 12.3% 47.8% 13.7% 5.0% 4.5% 3.5% 4.1% 3.4% 1.9% 2.2% 1.0% 1.1% 1.2%
m=7 49.0% 18.7% 12.4% 48.4% 14.0% 5.1% 6.0% 3.8% 4.2% 5.0% 2.2% 2.4% 2.5% 1.3% 1.4% 1.6% 0.3% 0.2%
238
5 Coordinated Product Pricing and Scheduling Decisions
Table 5.3 Benefits of dynamic pricing compared with constant pricing T =4 Problem Demand n = 5 TWC Small 10.4% Large 14.1% TA Small 5.9% Large 5.4% ORA Small 4.3% Large 3.9%
n = 10 31.3% 13.7% 6.3% 3.9% 13.1% 9.1%
n = 20 27% 17.1% 4.5% 5.3% 16.2% 8.9%
T =6 n=5 40.2% 10.1% 7.8% 13.5% 12.5% 10.3%
n = 10 11% 20% 9.2% 7.8% 10.8% 5.3%
n = 20 14.8% 27.8% 10.4% 4.4% 14.2% 11.5%
T =8 n=5 19% 19% 8.1% 13.5% 5.8% 12.2%
n = 10 35.3% 20.1% 6.2% 10.6% 5.1% 7.7%
n = 20 29.7% 18.5% 5.3% 23.1% 7.5% 6.7%
a low price, a medium price, and a high price) should be sufficient to generate a near-optimal total profit. In fact, in practice, practitioners may prefer to use a small number of price levels for several reasons. With a small number of price levels, it is generally not as time-consuming to solve the problem as with a large number of price levels. Also, the solution obtained with a small number of price levels generally involves less frequent price changes over time and hence is easier to implement and less annoying to customers, as compared to the solution for the case with a large number of price levels. Finally, we discuss the benefits of dynamic pricing policy by comparing the total profit that can be generated in the current problems where dynamic pricing is used and the total profit that can be generated in the same problems using a constant pricing policy. Under a constant pricing policy, a single price is used for all the time periods, and the allowable price that yields the maximum total profit is adopted. Table 5.3 shows the average percentage gap between the total profit generated from the constant pricing policy and the total profit generated from the current problems, as reported in Yue et al. (2019). We observe that for all the three problems, compared to the constant pricing policy, the dynamic pricing policy generates more profit for firms under any parameter combination of T , n, and demand size. Dynamic pricing yields an average of 20% more profit for problem TWC and an average of 10% more profit for both problems TA and ORA. Table 5.4 shows the average number of price changes over the planning horizon in the optimal solution of the current problems. It can be seen that in the optimal solution of these problems, the price is indeed dynamically adjusted over time. Specifically, on average, one or two price changes occur over the planning horizon for the problem TWC, and two or three price changes occur for the problems TA and ORA. These results indicate that when a is faced with a production capacity limit and changing demand over time, dynamic pricing is a useful tool to match supply with demand and achieve satisfactory performance.
5.5 Future Research
239
Table 5.4 Average number of price changes T =4 Problem Demand n = 5 TWC Small 1.8 Large 1.6 TA Small 2.2 Large 1.6 ORA Small 1.6 Large 2.1
n = 10 1.8 1 1.6 1.9 1.9 1.2
n = 20 1.3 0.7 1.9 1.8 1.8 2.5
T =6 n=5 1.9 0.9 3 2.9 2.9 2.2
n = 10 2 0.8 3.2 2.4 2.4 2.5
n = 20 1.9 1.5 3.1 2.3 2.3 2.9
T =8 n=5 1.9 1.1 3.9 2.4 2.4 3.7
n = 10 2.2 0.2 2.3 4 4 4.6
n = 20 3.3 1.4 4 3.3 3.3 5.7
5.5 Future Research Most existing models on coordinated pricing and scheduling involve independent products or orders with simple demand functions, special scheduling cost functions such as total weighted completion time, and a single-machine production environment. In the following, we highlight some possible new problem classes as future research topics. • Problems with a parallel-machine or a job-shop production environment have not been studied. For problems with a parallel-machine environment, when the number of parallel machines is fixed, it is likely that the algorithms presented in Sects. 5.2 and 5.4 can be extended and may still be computationally efficient. However, when the number of machines is arbitrary, most of the ordinarily NP hard problems shown earlier may become strongly NP -hard. • In make-to-order environments, where customers are waiting to receive their completed orders, tardiness is an important customer service measure, and hence tardiness related cost functions deserve more research. For example, one can consider the total weighted tardiness of orders as the cost function in the singleperiod problem setting studied in Sect. 5.2. Another example is that one can use the weighted number of late orders as the cost function in the multi-period problem setting considered in Sect. 5.4. • Problems with stochastic or unknown demand functions have received little attention. One can borrow some existing demand models for multiple products from the dynamic pricing literature (e.g., Chen & Chen, 2015). Demand for a product can be stochastic with a known probability distribution as a function of the prices of the products or can be uncertain with limited information (e.g., only the support of the demand distribution is known). In the latter case, robust optimization may be used to address the underlying problem (e.g., Chen & Chen, 2018). It would be valuable to see how some of the existing multi-product dynamic pricing models can be extended to include job scheduling decisions. • Problems where different products or orders are correlated, e.g., substitutable or complementary, have not been studied. In reality, however, it is common that
240
•
•
•
•
5 Coordinated Product Pricing and Scheduling Decisions
demand for one product is often correlated with the demand for another product. In such cases, the demand functions are much more complex. One can use some existing models from the dynamic pricing literature (e.g., Chen & Chen, 2015) for multiple products that are inter-dependent. Problems involving multiple stages of price quotation decisions have not been considered. Such problems extend from the single-stage price quotation problems discussed in Sect. 5.3. In addition to price quotation, one could also consider due date quotation in combination with scheduling decisions. Such models, which integrate price and due date quotation with scheduling, would be more difficult to solve. There are existing models on joint due date quotation and scheduling (e.g., Panwalkar et al., 1982, Kaminsky & Kaya, 2008). One could investigate how existing solution methods from this literature can be used to solve the more complex problems discussed here. From a supply chain perspective, it would also be valuable to coordinate decisions such as distribution in combination with pricing and scheduling. One could incorporate pricing decisions into the integrated production and distribution scheduling problems studied in Chap. 3. Finally, it would be interesting to investigate the online version of many of the problems studied in the previous sections and those discussed here.
In addition, from a solution methodology point of view, most existing solution methods in the literature have been dynamic programming algorithms. The design and worst-case analysis of simple heuristics for intractable coordinated pricing and scheduling problems remains an open area. Another possible area of research is the design of branch-and-bound algorithms for such problems.
Chapter 6
Joint Subcontracting and Scheduling Decisions
Abstract In this chapter, we discuss centralized supply chain scheduling problems that involve an in-house processing facility and one or more subcontractors by which jobs can also be processed. The decision maker needs to determine jointly a subset of jobs to be subcontracted and a schedule for the jobs processed in-house, and in some situations may also need to construct a schedule for the subcontracted jobs. We discuss several representative problems, and for each problem considered, we study its complexity and describe exact or heuristic solution algorithms, analyze the performance of these algorithms, and present relevant practical insights.
6.1 Introduction The problems considered in the previous three chapters involve two different stages of a supply chain (i.e., production and distribution) or two different functional areas of a firm (i.e., production and marketing), where the centralized decision maker needs to take into consideration the inter-dependency of the multiple supply chain stages or functional areas when making decisions. There is another class of centralized supply chain scheduling problems that involve multiple production facilities where jobs can be processed. Scheduling problems involving multiple facilities are commonly encountered in practice. We describe two practical situations where such problems arise. • First, a large number of manufacturing firms have multiple in-house production facilities. Due to the time urgency of received orders, the company many need to utilize more than one of its facilities to process incoming orders. Section 3.7 discusses integrated production and distribution scheduling problems involving multiple processing plants owned by a single firm. In such problems, the firm is responsible for both assigning the jobs to the plants and creating a schedule for processing the assigned jobs at each plant. • Second, it is a common practice in many industries for a manufacturer to subcontract some operations or outsource an entire line of production because of the many advantages this practice can bring to the firm. The global market for © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_6
241
242
6 Joint Subcontracting and Scheduling Decisions
outsourced services in 2019 was more than $92 billion (Statista, 2021). When a firm subcontracts out some of its tasks or outsources an entire set of operations, it allows the firm to concentrate on its core competencies. Subcontracting lowers investment requirements, and hence the financial risk of the firm. It also helps the firm improve its response to customer demand and lower the risk associated with fluctuating demand. Clearly, scheduling problems that arise in such a setting involve multiple facilities, including an in-house plant and the plants of the subcontractors involved. Since Sect. 3.7 covers several problems with multiple in-house plants, in this chapter, we focus on problems with an in-house plant and one or more subcontractors. The subcontractors may process jobs at a faster rate but with a higher production cost. In some cases, the jobs processed by the subcontractors may need to be delivered back to the in-house facility, which incurs an additional transportation cost and time. The firm needs to determine (1) a subset of jobs to be outsourced to each subcontractor, (2) a processing schedule for the in-house facility, and (3) possibly also a delivery schedule to send the completed jobs from each subcontractor to the in-house facility. In most such problems, it is assumed that the decision maker is not responsible for creating schedules for subcontractors because they do not belong to the same entity. However, there are also some situations where the decision maker needs to create schedules for subcontractors. We consider several subclasses of joint subcontracting and scheduling (JSS) problems and related issues in the following subsections. • In Sect. 6.2, we consider a JSS problem where the decision maker can subcontract some jobs to multiple available subcontractors with the objective of minimizing the total subcontracting cost, subject to a lead time performance guarantee on the jobs. Some variants of the problem are also considered. • In Sect. 6.3, we investigate the value of subcontracting based on the problems discussed in Sect. 6.2 by comparing the objective value of a problem with and without the subcontracting option. • In Sect. 6.4, we study JSS problems where there is a budget constraint on the total subcontracting cost. • All the problems considered in the other sections involve a production environment where a job only has one processing stage. In Sect. 6.5, we consider JSS problems involving a flowshop production environment where each job consists of multiple operations. • In Sect. 6.6, we consider JSS problems where the decision maker needs to schedule both the in-house jobs as well as the subcontracted jobs and the subcontracted jobs must be delivered to the in-house facility after completion. The problems considered in all the other sections do not involve such complications. • Finally, in Sect. 6.7 we consider JSS problems where the subcontractor employs a quantity discount scheme for the subcontracting cost. The subcontracting cost structure in the problems considered here is more general than those studied in Sects. 6.2 through 6.6.
6.2 Problem with a Lead Time Performance Guarantee
Section 6.2: Problem with a Lead Time Performance Guarantee: linear programming relaxation for the problem; a related problem of minimizing weighted sum of makepan and total cost; NP-hardness proof; heuristic; worst-case and asymptotic analysis.
Section 6.3: Value of Subcontracting: quantifying value of subcontracting; asymptotic analysis; computational results; managerial insights.
Chapter 6: Joint Subcontracting and Scheduling Decisions
Section 6.7: Problems with a More Complex Subcontracting Cost Structure: quantity discount; piecewise linear subcontracting cost functions; problem with incremental discount; exact algorithms; heuristic; worst-case analysis.
243
Section 6.4: Problems with a Subcontracting Budget Constraint: total completion time problem; maximum tardiness problem; total tardiness problem; exact algorithms; heuristics.
Section 6.5: Problems with a Flow Shop Environment: two-stage flowshop; proportionate flowshop; NP-hardness proof; exact algorithm; polynomially solvable cases.
Section 6.6: Problems Requiring Delivery of Subcontracted Jobs: problems with a single in-house machine and a single subcontractor; total completion time; maximum lateness; number of late jobs; problems with a two-stage flowshop; exact algorithms.
Fig. 6.1 Overview of the topics covered in Chap. 6
Figure 6.1 provides an overview of the topics discussed in this chapter. Several decentralized supply chain scheduling problems involving subcontracting decisions are studied in Sects. 8.7, 9.2, and 9.3. These problems are modeled as cooperative or noncooperative games, unlike the problems studied in this chapter, which are modeled as centralized optimization problems.
6.2 Problem with a Lead Time Performance Guarantee We first consider a problem studied by Chen and Li (2008). At the beginning of a planning horizon, a manufacturer has received a set of jobs, and can either process each of them on one of the multiple identical machines available in-house, or subcontract it to one of the multiple subcontractors available. The objective of the model is to minimize the total cost of production and subcontracting, subject to a constraint on the delivery lead time of the orders. Below, we define the model following the notation introduced in Chen and Li (2008), and discuss the results developed there, including the computational complexity of the model, a heuristic algorithm, and worst-case and asymptotic performance of the heuristic. We also discuss a related problem.
244
6 Joint Subcontracting and Scheduling Decisions
6.2.1 Problem Definition A manufacturer receives a set of n jobs N = {1, . . . , n} at the beginning of a planning horizon. For each job, the manufacturer has two options: It can either process the job at its own plant or subcontract it to a subcontractor for processing. There are m identical parallel machines M = {1, . . . , m} available at the manufacturer’s plant, such that if a job is processed at the manufacturer’s plant, it only needs to be processed by one of the machines. There are k subcontractors K = {1, . . . , k} available. Each job is assumed to be indivisible; that is, it has to be processed entirely by an in-house machine or subcontracted to one of the subcontractors entirely. This assumption is justified by convenience of accounting, packaging, and delivery purposes. If job j ∈ N is processed at the manufacturer’s own plant, a processing time p0j is required and the cost to the manufacturer is q0j . If job j ∈ N is subcontracted to subcontractor h ∈ K, then the delivery lead time is phj (i.e., it takes subcontractor phj units of time to complete the job and deliver the job to the in-house plant) and the cost incurred is qhj dollars. We do not explicitly define the workload or size of each job. However, if necessary, the workload of a job j ∈ N can be easily incorporated into the time and cost parameters defined here. We can set these parameters such that they are proportional to the workload of job j . For example, if the workload of job j is wj , a possible instance of these parameters can be pij = αi wj , and qhj = βi wj for i ∈ 0, 1, . . . , k and j ∈ N , where αi , βi > 0 are facility-dependent parameters. We further assume that for each subcontractor h ∈ K, the delivery lead time phj and subcontracting cost qhj for a job j ∈ N are independent of the total workload of the subcontractor. This assumption is made and justified in the literature. For example, Bertrand and Sridharan (2001) and Bukchin and Hanany (2007) make the same assumption on the subcontracting lead time of a job. Bukchin and Hanany (2007) assume that the subcontractor has an unlimited capacity and that the subcontracting lead time of a job is a constant factor multiplied by the in-house processing time of the job. They point out that the assumption that the subcontractor has unlimited capacity is reasonable when the subcontractor’s available capacity is significantly higher than the manufacturer’s required capacity, and in this case, a contract can be signed that clearly defines a due date commitment on the subcontractor’s side. In the models of Chung et al. (2005), Bukchin and Hanany (2007), and Qi (2008), it is also assumed that the subcontracting cost of a job is independent of the other jobs processed by the same subcontractor. This assumption is appropriate if each subcontractor makes independent offers to the individual jobs from the manufacturer with a promise to deliver a finished job within a certain deadline at a certain cost. The manufacturer needs to determine (1) a subset of jobs to be subcontracted to each of the k subcontractors, and (2) a production schedule for the jobs processed on the m machines at its own plant, such that the total production cost is minimized, subject to the constraint that the makespan (i.e., the maximum completion time of the jobs) is no more than a given threshold. Each subcontractor determines its own production schedule for the jobs subcontracted from the manufacturer and
6.2 Problem with a Lead Time Performance Guarantee
245
delivers completed jobs to the manufacturer by the pre-specified lead times. The delivery time and cost are not explicitly considered, but can be viewed as already incorporated into phj and qhj , respectively. In a solution to this problem, let Cj denote the completion time of job j ∈ N . If job j ∈ N is subcontracted to a subcontractor h ∈ K, then Cj = phj . If job j ∈ N is processed in-house, then Cj is determined by the schedule for the jobs processed in-house. Define the makespan of all the jobs to be the maximum completion time of the jobs, and denote it as Cmax = max{Cj |j ∈ N}. Here, Cmax represents the time when all the customer orders are completed. By imposing a constraint on Cmax , we guarantee that all jobs are completed within a given time limit. Let G denote the total cost of a given solution, including the production costs at the manufacturer’s plant and the subcontracting costs. The problem is to minimize the total cost G subject to the constraint Cmax ≤ C, where C is a pre-specified threshold value. We denote this problem as min{G | Cmax ≤ C}. This problem can be used to determine all Pareto-optimal solutions with respect to G and Cmax if we solve this problem repeatedly for different values of C. Remark 6.1 The problem described above can be viewed as a generalized version of the classical parallel-machine scheduling problems, for example, Pm ||Cmax . In classical parallel-machine scheduling problems, no production costs are involved, while some performance measure of job completion times is optimized. In our problem, the objective is to minimize the total operating cost, and each subcontractor h ∈ K can be viewed as having a sufficient number (e.g., n) of identical parallel machines, such that each of these machines only needs to handle at most one job.
6.2.2 Complexity and Heuristic Analysis We first show that problem min{G | Cmax ≤ C} is at least ordinarily NP -hard even with a special structure. Then, we propose a heuristic and analyze its performance. All the results are from Chen and Li (2008). Theorem 6.1 Problem min{G | Cmax ≤ C} is at least ordinarily NP -hard even if there is only a single machine at the manufacturer, there is a single subcontractor, and the in-house production costs are proportional to the production times. Proof Clearly, this problem contains the classical parallel-machine makespan problem Pm ||Cmax as a special case. Thus, when there is an arbitrary number of machines, the problem is strongly NP -hard because Pm ||Cmax with an arbitrary m is known to be strongly NP -hard (Garey & Johnson, 1978). In the remainder of the proof, we show that the special case of the problem with a single machine at the manufacturer, and a single subcontractor, where in-house production costs are proportional to the production times, is ordinarily NP -hard. To this end, we first show that this special case of the problem is at least ordinarily NP hard by a reduction from the Subset Sum problem, a known NP -complete problem
246
6 Joint Subcontracting and Scheduling Decisions
(Garey & Johnson, 1979). After this, we show that there is a pseudo-polynomial time algorithm to solve the problem to optimality. The Subset Sum (SS) problem can be defined as follows: Given a set of items V = {1, 2, . . . , v}, a size aj ∈ Z + for each item j ∈ V , and a positive integer A, the problem asks if there is a subset U ∈ V such that j ∈U aj = A. We define B = a . We can assume B ≥ A + 1 because otherwise A = B and the j j ∈V problem is trivial. Given an instance of SS, we construct the following instance for our problem min{G | Cmax ≤ C}: • • • • • • • • •
Number of machines at the manufacturer, m = 1. Number of subcontractors, k = 1. Number of jobs, n = v + 1, and job set: N = V ∪ {v + 1}. Processing time at the manufacturer: p0j = Laj for j ∈ N, and p0,v+1 = LB, where L is any positive integer. Delivery lead time if subcontracted: p1j = Laj for j ∈ N, and p1,v+1 = LA. Production cost if processed in-house: q0j = aj for j ∈ N, and q0,v+1 = B. Production cost if subcontracted: q1j = 2aj for j ∈ N, and q1,v+1 = 2A. Constraint for the makespan: C = LA. Threshold for the objective value: Z0 = A + 2B.
Since in the above instance q0j = p0j /L for all j ∈ N, in-house production costs are proportional to the processing times. We prove that there is a feasible solution to the constructed instance of our problem with objective value no more than Z0 if and only if there is a solution to SS. (⇒) Given a solution to SS, we construct a solution to our problem as follows: Subcontract all the jobs in N \ U to the only subcontractor available, and process the jobs in U in-house in any sequence. Clearly, in this solution Cmax = LA = C and G = A + 2B = Z0 . (⇐) Given a solution to our problem with an objective value G no more than Z0 , let H denote the subset of the jobs processed in-house. Clearly, v + 1 ∈ / H , because otherwise Cmax ≥ LB ≥ L(A + 1), implying that the objective value exceeds Z0 . Thus, Cmax = p1,v+1 = LA = C. Also, j ∈H aj ≤ A, because otherwise Cmax ≥ L(A + 1) > C. If j ∈H aj < A, then the total cost is G= q0j + q1j = aj + 2A + 2aj j ∈H
j ∈N \H
= 2A + 2B −
j ∈H
j ∈H
j ∈V \H
aj > A + 2B = Z0 ,
which is a contradiction. This implies that j ∈H aj = A. Finally, we briefly show that a pseudo-polynomial time dynamic programming algorithm can be constructed to solve the special case of the problem to optimality. We design a DP algorithm that considers jobs 1, . . . , n in the sequence of their indices one by one, and for each job j , tries to process it in-house, or subcontract it. Define value function F (j, E1 , E2 ) as the minimum total cost of a solution for jobs
6.2 Problem with a Lead Time Performance Guarantee
247
1, . . . , j , where the makespan of the in-house jobs is E1 and the longest lead time of a subcontracted job is E2 . Then, the recurrence relation of the dynamic program is the following: F (j, E1 , E2 ) = min{F (j − 1, E1 − p0j , E2 ) + q0j , Z + q1j }, where
⎧ if E2 ≥ p1j ⎨ F (j − 1, E1 , E2 ), Z = min{F (j − 1, E1 , x) | x ≤ p1j }, if E2 = p1j ⎩ ∞, if E2 < p1j
The optimal solution is found by solving the problem: min{F (n, E1 , E2 ) | E1 ≤ C, E2 ≤ C}. Clearly this algorithm has a pseudo-polynomial running time. We now discuss the heuristic proposed by Chen and Li (2008). This heuristic is based on an integer programming formulation of the problem and exploits a special property of the LP-relaxation of the IP formulation. For each job j ∈ N, we find all the subcontractors that can process job j with a delivery time no later than the required threshold of the makespan, C. Denote the subset of such subcontractors as Sj . Thus, Sj = {h ∈ K | phj ≤ C}. Define V = {j ∈ N | Sj = ∅} to be the set of jobs that can be subcontracted. For each j ∈ V , define a subcontractor sj = arg minv∈Sj {qvj }, which is the subcontractor that can process job j at a minimum cost with a delivery time no later than C. With this additional notation defined, the problem can then be formulated as the following mixed integer program, where each binary variable xij is defined to be 1 if job j is assigned to machine i ∈ M at the manufacturer’s own plant, and 0 otherwise; variable yj is defined to be 1 if job j is assigned to subcontractor sj , and 0 otherwise; and variable Cmax is the makespan. I P (C) :
Minimize
n m
q0j xij +
qsj ,j yj
(6.1)
xij + yj = 1, for j ∈ V ,
(6.2)
xij = 1, for j ∈ N \ V
(6.3)
i=1 j =1
j ∈V
subject to m i=1 m i=1
Cmax ≥
n
p0j xij , for i ∈ M,
(6.4)
j =1
Cmax ≤ C,
(6.5)
xij ∈ {0, 1}, for i ∈ M and j ∈ N
(6.6)
yj ∈ {0, 1}, for j ∈ V .
(6.7)
248
6 Joint Subcontracting and Scheduling Decisions
In the above formulation, objective function (6.1) is the total production and subcontracting cost. Constraints (6.2) and (6.3) ensure that each job j ∈ V is either assigned to an in-house machine or subcontracted to sj , and that each job j ∈ N \ V is assigned to an in-house machine. Constraints (6.4) and (6.5) define the makespan and ensure that the threshold on the makespan is met. We focus on the LP-relaxation problem of I P (C), denoted as LP (C), which is the same formulation as I P (C) except that variables xij and yj are allowed to take any nonnegative values. Constraints (6.2) and (6.3) enforce these variables to take values between 0 and 1. We have the following result about problem LP (C). Lemma 6.1 If n ≥ m, then in an optimal basic solution of LP (C), at least n − m of the variables xij and yj take the value 1. Proof There are n + m + 1 constraints in LP (C) in addition to the nonnegativity constraints. Hence, in an optimal basic solution, no more than n + m + 1 variables take positive values. Given that variable Cmax must take a positive value, at most n + m of the xij and yj variables take positive values in an optimal basic solution. Given an optimal basic solution of LP (C), let Ωj denote the subset of variables among x1j , x2j , . . . , xmj , yj that take a nonzero value when j ∈ V , or the subset of variables among x1j , x2j , . . . , xmj that take a nonzero value when j ∈ N \ V . Define N1 = {j ∈ N | |Ωj | = 1} and N2 = {(j ∈ N | |Ωj | ≥ 2}. If j ∈ N1 , then there is only one nonzero variable among the variables x1j , x2j , . . . , xmj , yj . Constraints (6.2) and (6.3) imply that this nonzero variable must have a value 1. Clearly, each Ωj contains a distinct set of variables, i.e., Ωj ∩ Ωj = ∅ if j = j . Thus, n + m ≥ |N1 | + 2|N2 | = |N1 | + 2(n − |N1 |) = 2n − |N1 |, which implies that |N1 | ≥ n − m.
From Lemma 6.1, we can conclude that in an optimal basic solution of LP (C), there are at most m jobs with fractional values assigned to the corresponding xij or yj variables. We show in the following that we do not have to use a linear programming algorithm to obtain an optimal basic solution of LP (C). Instead, there is a simple strongly polynomial-time algorithm that can find an optimal basic solution of LP (C) with at most m jobs having fractional values of the corresponding xij or yj variables. We first consider the following auxiliary problem, denoted as PAU X , which is a subproblem in the procedure to solve problem LP (C) given below. We are given a set of h jobs H = {1, . . . , h} to be scheduled on the m parallel identical machines in-house, where each job j ∈ H has a processing time aj . Each job j can be split into subjobs, where each subjob has a processing time less than aj such that the total processing time of all subjobs of job j is equal to aj . The subjobs of a job are mutually independent and can be processed on different machines simultaneously if needed. Problem PAU X is to split at most m jobs into subjobs and find a schedule for all the resulting subjobs and unsplit jobs on the m identical parallel machines, such that the makespan of the schedule is equal to AH = m1 j ∈H aj .
6.2 Problem with a Lead Time Performance Guarantee
249
Problem PAU X can be solved by the following procedure. The idea is to assign the jobs sequentially to the machines and divide a job into subjobs whenever necessary in order to make the total processing time of each machine equal to AH . Procedure PRO1 for Problem PAU X Step 1: Assign jobs 1, 2, . . . one by one to machine 1. Suppose job u1 is the first job such that it is assigned to machine 1, the total processing time on machine after 1 1, i.e., uj =1 aj becomes greater than or equal to AH . Job u1 is divided into two subjobs u1 [1] and u1 [2] such that the total processing time of jobs 1, . . . , u1 − 1 and u1 [1] is exactly AH . Let the processing time of subjob u1 [2] be denoted as au1 [2] . Call u1 [2] the leftover subjob from machine 1. Step 2: For i = 2, . . . , m, assign the leftover subjob ui−1 [2] from machine i − 1, and the remaining jobs ui−1 + 1, ui−1 + 2, . . . one by one to machine i. There are two cases: Case If aui−1 [2] < AH , then let job ui be the first job such that aui−1 [2] + u(i): i j =ui−1 +1 aj ≥ AH . Divide job ui into two subjobs ui [1] and ui [2] such that the total processing time of jobs ui−1 [1], ui−1 +1, . . . , ui −1 and ui [1] is exactly AH . Denote the processing time of subjob ui [2] by aui [2] . Call ui [2] the leftover subjob from machine i. Case (ii): If aui−1 [2] ≥ AH , then subjob ui−1 [2] is divided further into two subjobs, denoted as ui [1] and ui [2], such that the processing time of ui [1] is equal to AH and that of ui [2], denoted as aui [2] , is equal to aui−1 [2] − AH . Call subjob ui [2] the leftover job from machine i. the above procedure, in Step 1, the processing time of subjob u1 [2] is au1 [2] = uIn 1 in Case (i) of Step 2, the processing time of subjob ui [2] is j =1 aj − AH , and ui aui [2] = aui−1 [2] + j =ui−1 +1 aj − AH . Furthermore, there is at most one new job that is split going from machine i to machine i + 1. Thus, it results in a total of at most m − 1 split jobs. It is not difficult to check that this procedure takes O(h + m) time. Example 6.1 (Application of Procedure PRO1) We apply Procedure PRO1 to the following instance of problem PAU X : Assign 8 jobs H = {1, . . . , 8} with the processing times a1 = a2 = a3 = 4, a4 = a5 = 5, a6 = 8, a7 = a8 = 6 to m = 3 identical parallel machines such that the makespan of the schedule is equal to AH = ( 8j =1 aj )/3 = 42/3 = 14. For this example, in Step 1, we assign jobs 1, 2, 3, 4 to machine 1 with u1 being job 4. Split job 4 into two parts u1 [1] with processing time 2 and u1 [2] with processing time 3 such that the total processing time of jobs 1, 2, 3, and u1 [1] is 14. In Step 2, for machine 2, we assign subjob u1 [2] and jobs 5 and 6 to machine 2 with u2 being job 6. Split job 5 into two parts u2 [1] with processing time 6 and u2 [2] with processing time 2. As a result, the total processing time of jobs u1 [2], 5, u2 [1] is equal to 14. The remaining jobs, u2 [2], 7, 8 are assigned to machine 3 with total processing time 14.
250
6 Joint Subcontracting and Scheduling Decisions
Next, we present a procedure that either concludes that the linear relaxation problem LP (C) is infeasible or finds an optimal solution of the problem if it is feasible. We first define some of the notation used in this procedure: • U denotes the set of in-house jobs and subjobs. • N1 and N2 denote the set of unsplit and split jobs, respectively, as defined in the proof of Lemma 6.1. • W denotes the set of jobs that have not been subcontracted but can be subcontracted if needed. Procedure PRO2 for LP (C) Step 1: Initialize U = N, N1 = ∅, and N2 = ∅. For each job j ∈ V , if qsj ,j ≤ q0j , then assign job j to subcontractor sj , i.e., set yj = 1 and xij = 0 for i ∈ M, and set U = U \ {j }, and N1 = N1 ∪ {j }. Set W = U ∩ V . Step 2: If m1 j ∈U p0j ≤ C, then all the jobs in U are assigned to the manufacturer’s in-house plant. Define auxiliary problem PAU X involving the jobs in U and the m in-house machines. Call Procedure PRO1 to schedule these jobs on the m machines. This results in at most m − 1 jobs being split into subjobs. These jobs are added to set N2 . The other jobs are added to set N1 . For each job j ∈ U ∩ N1 , let xij = 1, where i is the machine to which job j is assigned. For each job j ∈ U ∩ N2 and each machine i ∈ M, let xij = τij /p0j , where τij is the total processing time of the subjobs of job j assigned to machine i. Stop. Step 3: If m1 j ∈U p0j > C and W is empty, then LP (C) is infeasible, and stop. Step 4: If m1 j ∈U p0j > Cand W is not empty, then some jobs in W must be subcontracted. Let Δ = j ∈U p0j − mC, which is the total processing time of jobs in W that need to be subcontracted in an optimal solution of LP (C). Suppose that there are w jobs in W . Reindex the jobs in W as [1], [2], . . . , [w] such that qs[1] ,[1] −q0,[1] p0,[1]
≤
qs[2] ,[2] −q0,[2] p0,[2]
≤ ··· ≤
qs[w] ,[w] −q0,[w] . p0,[w]
Set v = 1, and consider the following two cases: (a) If Δ = 0, then define auxiliary problem PAU X involving the jobs in U and the m in-house machines and call Procedure PRO1 to schedule the jobs in U on the m in-house machines. This results in at most m − 1 split jobs. These jobs are added to set N2 . The other jobs are added to set N1 . For each job j ∈ U ∩ N1 , set xij = 1, where i is the machine to which job j is assigned. For each job j ∈ U ∩ N2 and each machine i ∈ M, let xij = τij /p0j , where τij is the total processing time of the subjobs of job j assigned to machine i. Stop. (b) If Δ > 0, then consider the following two subcases: (i) If Δ < p0,[v] , then split job [v] into two subjobs g1 ([v]) and g2 ([v]) with a processing time p0,[v] − Δ and Δ, respectively. Assign subjob g2 ([v]) to subcontractor s[v] (and let y[v] = Δ/p0,[v] ). Set U = (U \ {[v]}) ∪ g1 ([v]). Define auxiliary problem PAU X involving the jobs in U (including subjob g1 ([v])) and the m in-house machines and call Procedure PRO1 to schedule the jobs in U on the m in-house machines. This results in at most m split
6.2 Problem with a Lead Time Performance Guarantee
251
jobs, including job [v]. These jobs are added to set N2 . All the other jobs are added to set N1 . For each job j ∈ U ∩ N1 , set xij = 1, where i is the machine to which job j is assigned. For each job j ∈ U ∩ N2 and each machine i ∈ M, let xij = τij /p0j , where τij is the total processing time of the subjobs of job j assigned to machine i. Stop. (ii) If Δ ≥ p0,[v] , then assign job [v] to subcontractor s[v] . Let y[v] = 1, and add job [v] to N1 . Update Δ = Δ − p0,[v] and U = U \ {[v]}. If v < w, then set v = v + 1 and repeat Steps 4(a) and 4(b). If v = w and Δ = 0, then repeat Step 4(a) and stop. If v = w and Δ > 0, then LP (C) is infeasible, and stop. We briefly explain the validity of the above procedure. Clearly, for each job j ∈ V , if qsj ,j ≤ q0j , then job j should be subcontracted to subcontractor sj in an optimal solution. This is part of what Step 1 does. Steps 2, 3, and 4 consider three possible cases. Step 4 subcontracts the jobs in W one by one following the sequence [1], . . . , [w]. Here the following rule is used for subcontracting jobs: The remaining job in W with the smallest ratio (qs[j ],[j ] − q0,[j ] )/p0,[j ] is subcontracted first. This rule minimizes the total subcontracting cost. We state the following result without a detailed proof. Interested readers are referred to Chen and Li (2008). Lemma 6.2 If LP (C) is infeasible, then Procedure PRO2 validates that this problem is infeasible. If LP (C) is feasible, then Procedure PRO2 finds an optimal solution to LP (C) with no more than m split jobs in O(n log n + m) time. Now, we describe the heuristic of Chen and Li (2008) for solving problem min{G | Cmax ≤ C}. The heuristic assigns each job either to an in-house machine or to a subcontractor based on the solution of LP (C) obtained by Procedure PRO2, which generates a set of unsplit jobs N1 and a set of split jobs N2 . The heuristic assigns each job j ∈ N1 with xij = 1 for some i ∈ M to in-house machine i, and each job j ∈ N1 ∩ V with yj = 1 to subcontractor sj . This creates a schedule σ1 for jobs in N1 . Next, each job in N2 is either assigned to a subcontractor or an in-house machine based on its cost parameters and the workload of each in-house machine in schedule σ1 . Heuristic H 1 for Problem min{G | Cmax ≤ C} Step 1: Solve LP (C) by Procedure PRO2. If LP (C) is infeasible, then problem min{G | Cmax ≤ C} is infeasible and stop. Otherwise, based on the solution of LP (C), define Ji = {j ∈ N1 |xij = 1} for i ∈ M. Step 2: For each i ∈ M, assign each job j ∈ Ji to machine i at the manufacturer. Schedule the jobs on each machine in an arbitrary sequence. For each job j ∈ N1 ∩ V with yj = 1 assign job j to subcontractor sj . Denote the resulting schedule (containing the jobs from N1 only) by σ1 . Define the workload of each in-house machine under solution σ1 as the total processing time of the jobs assigned to this machine in σ1 . Step 3: For each j ∈ N2 , do the following. If Sj = ∅ and qsj ,j ≤ q0j , then assign job j to subcontractor sj . If Sj = ∅ and qsj ,j > q0j , or if Sj = ∅, then assign job j to an in-house machine with the minimum workload under solution σ1 and update the workload of this machine accordingly. Denote the final schedule as σ .
252
6 Joint Subcontracting and Scheduling Decisions
In the above heuristic H 1, determining S1 , S2 , . . . , Sn and s1 , s2 , . . . , sn takes O(nk) time, where k is the number of subcontractors in the problem. Once these values are known, Steps 2 and 3 of the heuristic require O(n) time. Since LP (C) involved in Step 1 of the heuristic is solved by Procedure PRO1 in O(n log n + m) time, the overall time complexity of the heuristic is O(nk + n log n). Example 6.2 (Application of Heuristic H1) We apply Heuristic H1 to the following instance of problem min{G | Cmax ≤ C}: m = 2, k = 2, n = 6, where pij and qij are given in the following table. Consider two cases of the threshold value of Cmax : C = 10 or C = 15. j p0j p1j p2j q0j q1j q2j qsj ,j
1 5 10 6 2 5 4 4
2 5 6 4 4 3 3 3
3 8 9 8 2 4 3 3
4 6 6 7 5 6 7 6
5 5 7 8 5 6 6 6
6 3 4 5 3 2 4 2
In the table, the qsj ,j values are added as the last row. It can be seen that in both cases of C, every job can be subcontracted if needed, i.e., V = N. We first apply Heuristic H1 to the case with C = 10. Step 1. Use Procedure PRO2 to solve problem LP (C). • Step 2 of this procedure subcontracts jobs 2 and 6 because qs2 ,2 ≤ q02 and qs6 ,2 ≤ q06 . Thus, U = {1, 3, 4, 5}, N1 = {2, 6}, and W = U . • Since m1 j ∈U p0j = 12 > C, Step 4 of Procedure PRO2 is run next. Compute Δ = j ∈U p0j − mC = 4. For each j ∈ W , calculate the ratio (qsj ,j − q0j )/p0j . Job 3 has the smallest ratio 1/8. – Since Δ < p03 , Case (i) of Step 4(b) applies. Job 3, denoted as [1], is thus split into two subjobs, g1 ([1]), g2 ([1]), each with a length of 4 units. Job g2 ([1]) is subcontracted, while job g1 ([1]) is kept for in-house processing. Update U = {1, g1 ([1]), 4, 5}. Call Procedure PRO1 to schedule the jobs inU on the two in-house machines. Applying Procedure PRO1, ET = ( j ∈U p0j )/2 = 10. The solution generated is as follows: Split job 4 into two parts such that part 1 is 1 unit long, while part 2 is 5 units long; assign job 1, g1 ([1]) and part 1 of job 4 to machine 1 (which gives the total processing time of 10), and assign part 2 of job 4 and job 5 to machine 2 (which also gives the total processing time 10). Now return to Step 1 of the heuristic. Based on the solution of LP (C) generated by Procedure PRO2, J1 = {1}, J2 = {5}, and N2 = {3, 4}.
6.2 Problem with a Lead Time Performance Guarantee
253
Step 2. Assign job 1 to machine 1 and job 5 to machine 2. Subcontract jobs 2 and 6. This gives a partial solution σ1 . The workload of each machine in this solution is 5. Step 3. Assign job 3 to machine 1 and job 4 to machine 2. This gives the final solution. The Cmax value of this solution is 13, and hence no feasible solution is found. Next we apply Heuristic H1 to the case with C = 15. Step 1. Use Procedure PRO2 to solve problem LP (C). • Step 2 of this procedure is the same as that in the case with C = 10. Thus, U = {1, 3, 4, 5}, N1 = {2, 6}, and W = U . • Since m1 j ∈U p0j = 12 < C, Step 3 of Procedure PRO2 is run next. Call Procedure PRO1 to schedule the jobs in U on the two in-house machines with ET = 1/2 j ∈U p0j = 12. The solution generated is as follows: Split job 3 into two parts such that part 1 is 7 units long, while part 2 is 1 unit long; assign job 1 and part 1 of job 3 to machine 1 (which gives the total processing time of 12), and assign part 2 of job 3 and job 4 and 5 to machine 2 (which also gives the total processing time 12). • Now return to Step 1 of the heuristic. Based on the solution of LP (C) generated by Procedure PRO2, J1 = {1}, J2 = {4, 5}, and N2 = {3}. Step 2. Assign job 1 to machine 1 and job 4 and 5 to machine 2. Subcontract job 2 and 6. This gives a partial solution σ1 . In this solution, the workload of machine 1 is 5, while that of machine 2 is 11. Step 3. Assign job 3 to machine 1. This gives the final solution. The Cmax of this solution is 13 and hence this solution is feasible. In fact, this solution is optimal. If problem LP (C) is infeasible (which can be detected by Step 1 of heuristic H 1), then problem min{G | Cmax ≤ C} is infeasible as well. If problem min{G | Cmax ≤ C} is feasible, then problem LP (C) is feasible and heuristic H 1 generates schedule σ . However, schedule σ generated by H 1 may not always be feasible for problem min{G | Cmax ≤ C} even if this problem is feasible, as stated in the following lemma. Lemma 6.3 There does not exist a polynomial-time heuristic which can always generate a feasible schedule for every feasible instance of min{G | Cmax ≤ C}, unless P = N P . Proof We prove the lemma by contradiction. If there is such a heuristic H , then this heuristic can always find a feasible schedule for every feasible instance of the following special case of the problem: All in-house production costs are zero (i.e., q0j = 0 for all j ∈ N), all subcontracting costs are strictly positive (i.e., qij > 0 for all i ∈ M and j ∈ N), and the threshold C is the minimum makespan of the jobs if all the jobs are processed in-house. It can be seen that finding a feasible schedule for this problem is equivalent to finding an optimal schedule for the classical parallel-
254
6 Joint Subcontracting and Scheduling Decisions
machine makespan minimization problem Pm ||Cmax , which is known to be NP hard (Garey & Johnson, 1978). Thus, heuristic H can be used to solve this NP -hard problem optimally, hence P = NP . We show below that when the given threshold of the makespan C satisfies a certain condition, then schedule σ generated by Heuristic H 1 is guaranteed to be feasible for problem min{G | Cmax ≤ C}. Theorem 6.2 If C ≥ m1 j ∈N p0j + p0,max , where p0,max = max{p0j |j ∈ N }, then the solution generated by Heuristic H 1 is a feasible solution to problem min{G | Cmax ≤ C}. Proof We first show that if C ≥ m1 j ∈N p0j + p0,max , then problem min{G | Cmax ≤ C} is feasible. We construct a feasible solution to the problem as follows: Process all the jobs by the m in-house machines using the following scheduling rule: For j = 1, 2, . . . , n, schedule job j to a machine with the minimum workload and update the workload of that machine accordingly. In the resulting schedule π , let Cmax denote the makespan and C i denote the total processing time of the jobs assigned to machine i, for i ∈ M. By this scheduling rule, it is clear that the start time of the last job on each machine must be no more than m1 j ∈N p0j . Thus, C i ≤ m1 j ∈N p0j + p0,max for every i ∈ M, which implies that Cmax = max{C i |i ∈ M} ≤
1 p0j + p0,max ≤ C. m j ∈N
Thus, schedule π is feasible. This means that problem min{G | Cmax ≤ C} has a feasible solution and, hence, LP (C) is feasible. It is evident that schedule σ1 generated in Step 2 for the jobs in N1 is feasible. Let C i (σ1 ) denote the total processing time of the jobs assigned to machine i, i.e., the total workload of machine i, in schedule σ1 . Define Δi (σ1 ) = C − C i (σ1 ) to be the slack of machine i, for i ∈ M. We can see that a schedule is feasible if the slack of every machine is nonnegative. The fact that σ1 is feasible means that Δi (σ1 ) ≥ 0, for all i ∈ M. Since some jobs of N1 may be subcontracted in schedule σ1 , we have m
C i (σ1 ) ≤
j ∈N1
i=1
The fact that C ≥ m i=1
1 m
j ∈N
Δi (σ1 ) = mC −
p0j =
j ∈N
p0j −
p0j .
(6.8)
j ∈N2
p0j + p0,max , along with (6.8), implies that m i=1
C i (σ1 ) ≥ mp0,max +
j ∈N2
p0j .
(6.9)
6.2 Problem with a Lead Time Performance Guarantee
255
Let N3 denote the subset of the jobs in N2 that are assigned to an in-house machine by Step 3 of the heuristic. Define w = |N3 | as the number of jobs in N3 . Clearly, w ≤ m. Let [h] denote the index of the hth job of N3 added to an in-house machine in Step 3 of H 3, for h = 1, 2, . . . , w. By the scheduling rule used in Step 3, whenever a job in N3 is added to an in-house machine, it is added to a machine with the minimum workload, i.e., a machine with the maximum slack. Let ih denote the in-house machine where job [h] of N3 is added, for h = 1, 2, . . . , w. Thus, immediately before job [1] is added, machine i1 has the minimum total workload under schedule σ1 . From (6.9), this means that Δi1 (σ1 ) ≥ p0,max . This implies that after job [1] is added, the updated total workload of machine i1 is no more than C, and hence the resulting schedule remains feasible. From (6.9), we can see that after job [1] is added, the total updated slack of the m machines is m
Δi (σ1 ) ≥ mp0,max +
i=1
p0j .
(6.10)
j ∈N2 \{[1]}
Next, we consider job [2]. By a similar argument and using (6.10), we can prove that immediately after job [2] is added to an in-house machine, the resulting schedule remains feasible, and the total updated slack of the m machines is m i=1
Δi (σ1 ) ≥ mp0,max +
p0j .
j ∈N2 \{[1],[2]}
Repeatedly applying this argument, we can conclude that the schedule remains feasible after all the jobs of N3 are added to the schedule. Remark 6.2 The usefulness of the result in Theorem 6.2 is that whether the condition C ≥ m1 j ∈N p0j + p0,max holds or not can be checked from the data, without running the heuristic. If the condition is satisfied, then we know that running the heuristic will deliver a feasible solution. Clearly, it is not meaningful to discuss worst-case or asymptotic performance of a heuristic if the solution generated by the heuristic maynot even be feasible. However, by Theorem 6.2, when the condition that C ≥ m1 j ∈N p0j + p0,max is satisfied, Heuristic H 1 is guaranteed to generate a feasible solution. Hence, we study the worst-case and asymptotic performance of our heuristic under this condition. Let Z H 1 denote the total cost of the schedule σ generated by H 1, and Z ∗ denote the optimal total cost of problem min{G | Cmax ≤ C}. We have the following results for the worst-case and asymptotic performance of our heuristic. Theorem 6.3 Z H 1 ≤ 2Z ∗ for any instance of problem min{G | Cmax ≤ C} with 1 C ≥ m j ∈N p0j + p0,max . Proof Heuristic H 1 generates a partial schedule σ1 before generating the final schedule σ . Let Z(σ1 ) denote the total cost of schedule σ1 , and Z(N2 ) the total
256
6 Joint Subcontracting and Scheduling Decisions
cost of the jobs in N2 in schedule σ . Let ZLP (C) denote the optimal total cost of problem LP (C). Clearly, ZLP (C) is a lower bound of Z ∗ . Since σ1 generated in Step 2 of the heuristic only includes the jobs in N1 , we have Z(σ1 ) ≤ ZLP (C) . In Step 3 of Heuristic H 1, each job in N2 is assigned to a subcontractor or an in-house machine in a way that it incurs the minimum cost. Thus, Z(N2 ) ≤ Z ∗ . Therefore, Z H 1 = Z(σ1 ) + Z(N2 ) ≤ ZLP (C) + Z ∗ ≤ 2Z ∗ . This completes the proof.
Theorem 6.4 For problem min{G | Cmax ≤ C} with C ≥ j ∈N p0j + p0,max , if the processing times and production costs of the jobs are distributed over the intervals [X1 , X2 ] and [Y1 , Y2 ], respectively, where 0 < X1 < X2 < ∞ and 0 < Y1 < Y2 < ∞, and if m and k are fixed, then, as n approaches infinity, the solution σ generated by Heuristic H 1 is asymptotically optimal. 1 m
Proof Since m is fixed, the contribution of the jobs in N2 to the total cost of a schedule is always bounded from above. On the other hand, the optimal total cost of any schedule approaches infinity as n goes to infinity. Therefore, Z(N2 ) = 0. n→∞ Z ∗ lim
(6.11)
As we have shown in the proof of Theorem 6.3, Z(σ1 ) ≤ Z ∗ . This, along with (6.11), implies that Z(σ ) − Z ∗ Z(σ1 ) + Z(N2 ) − Z ∗ ≤ lim n→∞ n→∞ Z∗ Z∗ Z(σ1 ) − Z ∗ = lim ≤ 0. n→∞ Z∗ lim
This completes the proof.
The result in Theorem 6.4 shows the asymptotic performance of the heuristic and provides motivation for studying its computational performance in the following section.
6.2.3 Computational Results Chen and Li (2008) conduct computational experiments to evaluate the performance of Heuristic H 1. We summarize their experiments and corresponding results below. A large number of test problems are generated randomly as follows: • Number of jobs n ∈ {50, 100, 200, 400}, number of in-house parallel machines m ∈ {2, 4, 8}, and number of subcontractors k ∈ {1, 3, 9}. We note that a small (large) m relative to k means a relative small (large) in-house capacity compared
6.2 Problem with a Lead Time Performance Guarantee
257
to available subcontracting options. The nine possible combinations of m and k here represent a wide range of this relative relationship. • Job processing times p0j are drawn from the discrete uniform distribution over the interval [1, 100], and p1j , p2j , . . . , pkj are drawn from the discrete uniform distribution over the interval [1, 100μ], where μ ∈ {1, 2, 4}. These values of μ represent situations where the delivery lead time of a subcontracted job is about the same as, twice, or four times the processing time of the job if it is processed in-house. • Production costs of jobs q0j are drawn from the discrete uniform distribution over the interval [1, 100], and q1j , q2j , . . . , qkj follow the discrete uniform distribution over the interval [1, 100ν], where ν ∈ {0.5, 1, 4}. These values of ν represent situations in which the production cost of a job charged by a subcontractor is about half, the same as, or four times the in-house production cost of the job. • The makespan threshold value C is set as α( j ∈N p0j )/m + p0,max , where α ∈ {0.3, 0.6, 1.0}. With C generated this way, typically at least (1 − α) × 100% of the jobs have to be subcontracted in order to satisfy the given constraint on the makespan. For each possible combination of the values of parameters n, m, k, μ, ν, and α, 10 random test instances are generated. It is found that Heuristic H 1 can solve every test instance in less than 1 CPU second on a 2-GHz processor. Therefore, we do not report CPU times for the test instances. The LP-relaxation problem LP (C) is infeasible for some of the test problems. Even if LP (C) is feasible for a test problem, the test problem itself may not be feasible; and even if the test problem is feasible, the solution generated by the heuristic may not be feasible. We report in Table 6.1 the percentage of test instances Table 6.1 Percentage of test instances of min{G | Cmax ≤ C} for which Heuristic H 1 generates feasible/optimal solutions n 50
100
200
400
m 2 4 8 2 4 8 2 4 8 2 4 8
k=1 α = 0.3 90.0% 88.9% 67.4% 100% 90.0% 73.3% 83.3% 100% 100% 90.9% 90.9% 90.9%
α = 0.6 100% 95.0% 73.8% 100% 100% 100% 95.2% 100% 90.9% 100% 100% 100%
k=3 α = 0.3 100% 96.7% 83.6% 100% 90.0% 95.0% 85.7% 100% 100% 100% 100% 95.2%
α = 0.6 96.0% 100% 92.8% 91.7% 92.3% 93.1% 100% 87.5% 91.7% 100% 100% 90.9%
k=9 α = 0.3 95.7% 96.1% 87.3% 100% 91.7% 82.9% 100% 95.2% 95.0% 100% 100% 100%
α = 0.6 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
258
6 Joint Subcontracting and Scheduling Decisions
for which H 1 generates a feasible solution among all the test problems where LP (C) is feasible. Since a problem may still be infeasible even if the corresponding LP (C) is feasible, the percentage reported in Table 6.1 is a lower bound on the percentage of feasible problems for which the heuristic generates a feasible solution. Each entry in the table corresponds to a given combination of n, m, k, and α based on 90 test problems, i.e., 9 combinations of μ and ν, and 10 test problems for each combination. By Theorem 6.2, when α = 1.0, the solution generated by the heuristic is always feasible. Hence, only the problems with = 0.3 or 0.6 are reported in Table 6.1. From this table, we conclude that the heuristic often (with an overall probability of more than 90%) generates a feasible solution when the given problem instance is feasible. We also observe that Heuristic H 1 tends to be more successful in generating feasible solutions when α = 0.6 than when α = 0.3. This is because, when α is larger, the test instances generated are more likely to be feasible. More importantly, among those test instances where Heuristic H 1 generates feasible solutions, the heuristic solution values are always equal to the optimal objective values of the corresponding LP (C) solutions. In other words, for all of our test problems, if the solution generated by the heuristic is feasible, then it is optimal. This means that Heuristic H 1 is highly effective at solving problem min{G | Cmax ≤ C}.
6.2.4 A Related Problem In the problem considered in Sects. 6.2.1–6.2.3, there is a pre-specified threshold value C on the makespan of the schedule. This problem represents applications where there is an explicit overall service level constraint. However, for some other applications, a different problem variant may be more appropriate. In this section we discuss such a problem that is studied by Chen and Li (2008). The problem has the same setting as in problem min{G | Cmax ≤ C}, but with a different objective, which is to minimize a weighted sum of makespan and the total cost, i.e., λCmax + (1 − λ)G, where 0 ≤ λ ≤ 1, without a constraint on service level. Denote this problem as min{λCmax + (1 − λ)G}. This problem is motivated by a situation where the manufacturer wants to achieve a balance between the lead time performance Cmax and the total production and subcontracting cost G. The manufacturer can choose a weighting parameter λ ∈ [0, 1] and consider the weighted sum of the two measures Cmax and G. By a reduction from the Subset Sum problem with a similar construction to that in the proof of Theorem 6.1, it is not difficult to show that when 0 < λ < 1, this problem is at least ordinarily NP -hard even if there is only a single machine at the manufacturer, there is a single subcontractor, and the in-house production costs are proportional to the production times. To solve this problem, Chen and Li (2008) propose a heuristic algorithm. The heuristic divides the problem into a number of subproblems and then uses a similar idea to the heuristic developed in Sect. 6.2.2 to solve each subproblem.
6.2 Problem with a Lead Time Performance Guarantee
259
Suppose that there are L, L ≤ nk, distinct values among all delivery lead times {phj |j ∈ N, h ∈ K} specified by the subcontractors. Let π1 , π2 , . . . , πL denote these L values, where π1 > π2 > · · · > πL . Define πL+1 = 0. We consider L + 1 subproblems. For l = 1, 2, . . . , L + 1, subproblem l is defined to be the original problem with two additional requirements: • Requirement (i): The maximum delivery lead time among all of the subcontracted jobs is no more than πl . • Requirement (ii): The makespan Cmax is calculated as the maximum of πl and the completion time of the last job completed at the manufacturer’s own plant. Clearly, any feasible solution to the original problem is also a feasible solution to at least one of the subproblems with the same objective value. Thus, the minimum of the optimal objective values of the subproblems is the optimal objective value of the original problem. This means that we can solve the original problem by solving these L + 1 subproblems. For each job j ∈ N and each l = 1, 2, . . . , L + 1, define a subset of subcontractors Slj = {h ∈ K|phj ≤ πl }, which are the subcontractors that can process job j with a delivery time no later than πl . Define Vl = {j ∈ N | Slj = ∅}, which is the set of jobs that can be subcontracted in subproblem l. For each j ∈ Vl , define a subcontractor slj = arg minv∈Slj {qvj }, which is the subcontractor that can process job j at a minimum cost with a delivery lead time no later than πl . Requirements (i) and (ii) of subproblem l imply that if a job j ∈ Vl is to be subcontracted, it is optimal to subcontract it to subcontractor slj . In subproblem L + 1, since πL+1 = 0, no job can be subcontracted and, hence, VL+1 = ∅. For l = 1, . . . , L + 1, subproblem l can be formulated as the following mixed integer program which is similar to the formulation I P (C) given in Sect. 6.2.2: I Pl :
Minimize λCmax + (1 − λ)
n m
q0j xij + (1 − λ)
i=1 j =1
subject to m
xij + yj = 1, for j ∈ Vl ,
i=1 m
xij = 1, for j ∈ N \ Vl
i=1
Cmax ≥
n
p0j xij , for i ∈ M,
j =1
Cmax ≥ πl , xij ∈ {0, 1}, for i ∈ M and j ∈ N yj ∈ {0, 1}, for j ∈ Vl .
j ∈Vl
qslj ,j yj
260
6 Joint Subcontracting and Scheduling Decisions
We study the LP-relaxation problem of I Pl , denoted as LPl . By a similar proof to that of Lemma 6.1, we can show that in an optimal basic solution of LPl , if n ≥ m, then at least n − m of the xij and yj variables take the value of 1. Therefore, in an optimal basic solution of LPl , there are at most m jobs with some fractional values assigned to the xij or yj variables. An efficient procedure similar to Procedure PRO2 given in Sect. 6.2.2 can be designed to find an optimal solution to problem LPl with at most m split jobs. Based on this optimal solution, a heuristic similar to Heuristic H 1 given in Sect. 6.2.2 can be designed to solve subproblem l. The heuristic for the overall problem min{λCmax + (1 − λ)G} can then be summarized as follows. Heuristic H 2 for Problem min{λCmax + (1 − λ)G} Step 1: For l = 1, 2, . . . , L + 1, solve subproblem l by a heuristic similar to H 1 (as discussed above) and obtain the solution σl . Step 2: Choose the solution with the minimum objective value among the L + 1 solutions σ1 , σ2 , . . . , σL+1 generated in Step 1. Chen and Li (2008) show that (i) the worst-case performance ratio of Heuristic H 2 is 2 and this bound is tight, and (ii) under similar conditions to those in Theorem 6.4, the solution generated by Heuristic H 2 is asymptotically optimal as n approaches infinity. Remark 6.3 Note that Heuristic H 2 always generates a feasible solution to problem min{λCmax + (1 − λ)G}. Thus, although both problems min{λCmax + (1 − λ)G} and min{G | Cmax ≤ C} are NP -hard, it is easier to obtain a feasible solution with a worst-case performance guarantee for the former problem than obtaining a feasible solution for the latter problem. Chen and Li (2008) test the performance of Heuristic H 2 using various test problems similar to those described in Sect. 6.2.3. They report that the average relative error among all test instances equals 0.62%, indicating that Heuristic H 2 is highly effective overall. Their computational results also show that the relative error of the heuristic decreases as n increases, and it approaches 0 as n tends to infinity. This is consistent with the fact that the heuristic is asymptotically optimal.
6.3 Value of Subcontracting The value of subcontracting is well understood in a qualitative sense (e.g., Bazinet et al., 1998, Craumer, 2002, Kolawa, 2004). In contrast, few works have quantitatively evaluated the value of subcontracting. Chen and Li (2005, 2008) are apparently the first such studies in the context of detailed operations scheduling. They build on the problems min{G | Cmax ≤ C} and min{λCmax + (1 − λ)G} discussed in Sect. 6.2 to evaluate the possible benefits that can be obtained by using the subcontracting option. In the following, we describe the analysis and results from Chen and Li (2005, 2008). Their analysis provides a tool for deriving various
6.3 Value of Subcontracting
261
managerial insights and performing sensitivity analysis in practice, for example, how the solution with or without the subcontracting option changes with various parameters of the problem. Let ω and Z(ω) denote the optimal solution and optimal objective value of a problem without the subcontracting option, respectively. Similarly, let σ and Z(σ ) denote the optimal solution and optimal objective value to the same problem but with the subcontracting option, respectively. We investigate the relative reduction in the objective value that can be achieved when subcontracting is an available option. The relative reduction in the objective value is given as Z(ω) − Z(σ ) Z(σ ) =1− . Z(ω) Z(ω)
(6.12)
With the subcontracting option, we can apply a Heuristic H to obtain a solution σ H whose objective value Z(σ H ) is an upper bound on the optimal objective value Z(σ ). Then (6.12 ) implies that Z(ω) − Z(σ ) Z(σ H ) ≥1− . Z(ω) Z(ω)
(6.13)
Thus, given a problem instance, the right-hand side of (6.12) provides a lower bound on the relative cost reduction that can be achieved. In the following Sects. 6.3.1 and 6.3.2, respectively, we describe the results from Chen and Li (2008) based on problem min{G | Cmax ≤ C} and the results from Chen and Li (2005) based on problem min{λCmax + (1 − λ)G}.
6.3.1 Value of Subcontracting in the Total Cost Problem Without the subcontracting option, all of the jobs are processed on the m inhouse machines. Hence, the total production cost is fixed and independent of how the jobs are scheduled. Therefore, for problem min{G | Cmax ≤ C}, Z(ω) in (6.13) is j ∈N q0j . We use Heuristic H 1 given in Sect. 6.2.2 to solve problem min{G | Cmax ≤ C}, which means that Z(σ H ) in (6.13) is equal to the total cost of the solution obtained by Heuristic H 1. We use the same set of test instances with α = 1.0 generated in the experiments reported in Sect. 6.2.3. The instances with α = 0.3 or 0.6 are not used here because the problem without the subcontracting option is likely to be infeasible with those values of α. With α = 1.0, the problem without the subcontracting option is always feasible, and Heuristic H 1 is also guaranteed to generate a feasible solution. We report in Tables 6.2 and 6.3 both the average relative cost reduction and the minimum relative cost reduction, in terms of n and k, and in terms of ν, respectively. Since the relative cost reduction due to subcontracting does not change much with the number of machines m or the average subcontractors’ processing
262
6 Joint Subcontracting and Scheduling Decisions
Table 6.2 Relative cost reduction due to the subcontracting option based on problem min{G | Cmax ≤ C}: results in terms of n and k
n 50
100
200
400
k 1 3 9 1 3 9 1 3 9 1 3 9
Avg reduction (%) 34.7% 53.8% 71.8% 34.1% 53.0% 72.2% 33.1% 53.0% 72.0% 32.8% 52.6% 72.6%
Min reduction (%) 4.6% 12.4% 37.8% 4.4% 16.0% 43.2% 7.1% 17.1% 43.6% 7.3% 18.1% 44.9%
Table 6.3 Relative cost reduction due to the subcontracting option based on problem min{G | Cmax ≤ C}: results in terms of ν ν 0.5 1 4
Avg reduction (%) 74.5% 57.9% 25.8%
Min reduction (%) 52.1% 28.0% 4.4%
time (represented by μ), we do not report the results in terms of m or μ. The results in Table 6.2 are based on 90 test problems with m = 4 (10 for each of the 9 combinations of the values of μ and ν). The results in Table 6.3 are based on 360 test problems with μ = 2, i.e., 10 for each of the 36 combinations of the values of n, m, and k. The results in these tables demonstrate that there is a significant cost reduction from using the subcontracting option for almost every problem tested. The relative cost reduction increases quickly with the number of subcontractors k and decreases quickly with the average subcontracting cost (represented by ν).
6.3.2 Value of Subcontracting in the Weighted Sum of Makespan and Total Cost Problem For problem min{λCmax + (1 − λ)G} without the subcontracting option, since all of the jobs are processed on the m in-house machines, in the optimal objective value Z(ω) = λCmax (ω) + (1 − λ)G(ω), the total production cost G(ω) is equal to j ∈N q0j , and the makespan of the jobs Cmax (ω) is the minimum makespan of the jobs when they are all processed on the m in-house machines.
6.3 Value of Subcontracting
263
Since the parallel-machine makespan minimization problem is NP -hard, it is impractical to find the exact value of Cmax (ω). We usethe following lower bound on Cmax (ω) to replace Cmax (ω) in Z(ω): LB(ω) = m1 j ∈N p0j . If the subcontracting option is available, we can apply Heuristic H 2 given in Sect. 6.2.4 to obtain a solution σ H 2 . Clearly, the objective value of σ H 2 , i.e., λCmax (σ H 2 ) + (1 − λ)G(σ H 2 ), is an upper bound on the optimal objective value λCmax (σ ) + (1 − λ)G(σ ). This implies that (6.13) can be rewritten as Z(ω) − Z(σ ) λCmax (σ H 2 ) + (1 − λ)G(σ H 2 ) ≥1− . Z(ω) λLB(ω) + (1 − λ)G(ω)
(6.14)
Hence, given any problem instance, the right-hand side of (6.14) provides a lower bound for the relative cost reduction that can be computed efficiently. Next, we provide an asymptotic analysis on the relative cost reduction that can be achieved by subcontracting as the number of jobs in the problem approaches infinity. We make the following assumption about the problem parameters: Assumption A All parameters in a problem instance are integers, and independent and uniformly distributed as follows: (i) (ii)
p0j ∼ U [P0l , P0u ] and q0j ∼ U [Q0l , Q0u ], for all j ∈ N , and phj ∼ U [P1l , P1u ] and qhj ∼ U [Q1l , Q1u ], for all h ∈ K and j ∈ N,
where P0l , P0u , Q0l , Q0u , P1l , P1u , Q1l , Q1u are integers and satisfy 0 < P0l < P0u < ∞, 0 < Q0l < Q0u < ∞, 0 < P1l < P1u < ∞, and 0 < Q1l < Q1u < ∞. We note that it is a common assumption in the literature that job processing times follow uniform distributions (e.g., Tsai, 1992; Cheng & Liu, 2004). For ease of presentation, we define the following notation: • qmin,j = min{qhj |h ∈ K}, for j ∈ N. • P rob(x, y, z) = probability that a job j ∈ N satisfies p0j = x, qmin,j = y, and q0j = z. • δS (x, y, z) = 1 if λx > (1 − λ)(y − z)m, and 0 otherwise. • δM (x, y, z) = 1 if λx ≤ (1 − λ)(y − z)m, and 0 otherwise. Q0u • RS (x, y) = z=Q P rob(x, y, z) · δS (x, y, z). Q1u 0l • RM (x, z) = y=Q1l P rob(x, y, z) · δM (x, y, z). The exact formula for P rob(x, y, z), for all integers x, y, and z satisfying P0l ≤ x ≤ P0u , Q1l ≤ y ≤ Q1u and Q0l ≤ z ≤ Q0u , can be derived as follows: P rob(x, y, z) = P r(p0j = x) · P r(qmin,j = y) · P r(q0j = z) = P r(p0j = x) · [P r(qmin,j ≥ y) − P r(qmin,j ≥ y + 1)] · P r(q0j = z) " # #k " Q1u − y + 1 k Q1u − y 1 · − = P0u − P0l + 1 Q1u − Q1l + 1 Q1u − Q1l + 1 ·
1 . Q0u − Q0l + 1
264
6 Joint Subcontracting and Scheduling Decisions
1 Note that as k goes to infinity, P rob(x, y, z) approaches [(P0u −P0l +1)(Q 0u −Q0l +1)] if y = Q1l , P0l ≤ x ≤ P0u , and Q0l ≤ z ≤ Q0u , and it approaches 0, otherwise. Chen and Li (2005) show the following result.
Theorem 6.5 For problem min{λCmax + (1 − λ)G}, under Assumption A, if m is fixed, then as the number of jobs n approaches infinity, the relative cost reduction achieved by subcontracting satisfies the following: lim
n→∞
Z(ω) − Z(σ ) Z(ω) λ m
=1−
P 0u
Q 0u
xRM (x, z) + (1 − λ)
x=P0l z=Q0l
P 0u x=P0l
λ 2m (P0l
+ P0u ) +
Q 1u
yRS (x, y) +
y=Q1l 1−λ 2 (Q0l
Q 0u
zRM (x, z)
z=Q0l
+ Q0u )
,
(6.15) almost surely (a.s.). Proof Without the subcontracting option, the optimal solution ω satisfies the following two properties: (i) m1 j ∈N p0j ≤ Cmax (ω) ≤ m1 j ∈N p0j + P0u , and (ii) G(ω) = j ∈N q0j . Since p0j ∼ U [P0l , P0u ] and q0j ∼ U [Q0l , Q0u ] for all j ∈ N and they are all independent, by the Law of Large Numbers, we have 1 Cmax (ω) 1 P0l + P0u = lim , p0j = n→∞ n m n→∞ n 2m lim
a.s.
(6.16)
j ∈N
G(ω) 1 Q0l + Q0u = lim , q0j = n→∞ n n→∞ n 2 lim
a.s.
(6.17)
j ∈N
We now focus on the case with the subcontracting option. We propose the following simple rule to derive a solution: Heuristic Rule For each j ∈ N, if λp0j > (1−λ)(qmin,j −q0j )m, then subcontract job j to subcontractor sj = arg minh∈K {qhj }, otherwise assign job j to the earliest available machine at the in-house facility. We denote the solution generated as σ . In the following, we show that σ is asymptotically optimal and characterize the objective value of σ and thus also the optimal objective value of the problem in the asymptotic sense. Consider any solution ρ for the case with the subcontracting option. Let NM and NS denote the subset of the jobs processed in-house and the subset of the jobs subcontracted, respectively, in ρ. Let T (ρ) = j ∈NM p0j be the total
6.3 Value of Subcontracting
265
processing time of the jobs processed in-house in ρ. Clearly, G(ρ) = q and min,j j ∈NS
& ' 1 1 T (ρ) ≤ Cmax (ρ) ≤ max T (ρ) + P0u , P1u . m m
j ∈NM
q0j +
(6.18)
This, along with the fact that limn→∞ (P0u /n) = limn→∞ (P1u /n) = 0, implies that Z(ρ) λCmax (ρ) + (1 − λ)G(ρ) = lim = lim n→∞ n n→∞ n→∞ n lim
λ m T (ρ) + (1 − λ)G(ρ)
n
,
or equivalently, ⎤ " # λp Z(ρ) 1 0j = lim ⎣ + (1 − λ)q0j + (1 − λ)qmin,j ⎦ . lim n→∞ n n→∞ n m ⎡
j ∈NM
j ∈NS
It is evident that the proposed heuristic rule minimizes the right-hand side of the above equation. Therefore, solution σ is asymptotically optimal. Next, we characterize the objective value of σ . By the proposed heuristic rule and the definition of RS (x, y), it is easy to see that RS (x, y) is the probability that a given job j is assigned to a subcontractor and satisfies p0j = x and qmin,j = y. Similarly, RM (x, z) is the probability that a given job j is assigned to a machine at the manufacturer and satisfies p0j = x and q0j = z. Define: nS (x, y) = number of jobs j with p0j = x and qmin,j = y that are subcontracted; nM (x, z) = number of jobs j with p0j = x and q0j = z that are processed in-house. Clearly, by the Law of Large Numbers, nS (x, y) = RS (x, y), a.s. n nM (x, z) = RM (x, z), a.s. lim n→∞ n lim
n→∞
(6.19) (6.20)
The total production cost of solution σ is given as G(σ ) =
P0u Q1u x=P0l y=Q1l
y · nS (x, y) +
P0u Q0u x=P0l z=Q0l
z · nM (x, z),
(6.21)
266
6 Joint Subcontracting and Scheduling Decisions
where the first term is the contribution of the subcontracted jobs, and the second term is the contribution of the jobs processed in-house. From (6.19), (6.20), and (6.21), we have Q1u Q0u P0u P0u G(σ ) nS (x, y) nM (x, z) = lim + lim y· z· n→∞ n→∞ n→∞ n n n
lim
x=P0l y=Q1l
=
P0u Q1u
x=P0l z=Q0l
P0u Q0u
yRS (x, y) +
x=P0l y=Q1l
zRM (x, z),
a.s.
(6.22)
x=P0l z=Q0l
In solution σ , the total processing time of the jobs processed at the manufacturer is given by
T (σ ) =
P0u Q0u
x · nM (x, z).
x=P0l z=Q0l
Applying (6.18) to σ , we have, 1 Cmax (σ ) T (σ ) = lim n→∞ n m n→∞ n lim
=
Q0u P0u Q0u P0u nM (x, z) 1 1 x· xRM (x, z), a.s. (6.23) lim = m n→∞ n m x=P0l z=Q0l
x=P0l z=Q0l
From (6.22) and (6.23), we have Z(σ ) λCmax (σ ) + (1 − λ)G(σ ) = lim n→∞ n→∞ n n lim
=
P0u Q0u λ xRM (x, z) m x=P0l z=Q0l
+(1 − λ)
P0u x=P0l
⎛ ⎝
Q1u y=Q1l
yRS (x, y) +
Q0u
⎞ zRM (x, z)⎠, a.s.
z=Q0l
This, along with (6.16) and (6.17) and the fact that σ is asymptotically optimal, completes the proof of the theorem. Remark 6.4 Note that in Theorem 6.5, we do not assume that the number of subcontractors, k, is fixed. Thus, the asymptotic result (6.15) holds for both the case with a fixed k and the case with k approaching infinity. From the proof of Theorem 6.5, we can see that the terms in Eq. (6.15) represent the average
6.3 Value of Subcontracting
267
contributions to Cmax and the total production cost as follows. The terms (P0l + 1 ) and (Q + Q )/2 (denoted as G ¯ 1 ) are the average P0u )/2m (denoted as C¯ max 0l 0u contribution per job to Cmax and the average contribution per job to the total production cost (as n approaches infinity) in the case with no subcontracting P0u Q0u 2 ) and xRM (x, z) (denoted as C¯ max option. Similarly, the terms m1 x=P Q1u Q0u 0l z=Q0l P0u ¯2 x=P0l ( y=Q1l yRS (x, y) + z=Q0l zRM (x, z)) (denoted as G ) are the corresponding average contributions per job in the case with the subcontracting option. Theorem 6.5 and the associated average contribution terms observed in the 1 , C 2 , G ¯ max ¯ 1 , and G ¯ 2 ) enable us to estimate the following above remark (i.e., C¯ max performance measures for problems with a large number of jobs (e.g., n ≥ 500): (i) The makespan in the optimal solution with or without the subcontracting 1 2 . option, which is nC¯ max or nC¯ max (ii) The total production cost in the optimal solution with or without the subcon¯ 1 or nG ¯ 2. tracting option, which is nG (iii) The benefit of subcontracting, which is given by (6.15). Given the number of machines (i.e., m), the number of subcontractors (i.e., k), the ranges of processing times (i.e., P0l , P0u , P1l , and P1u ), the ranges of production costs (i.e., Q0l , Q0u , Q1l , and Q1u ), and the weighting parameter λ, measurements (i), (ii), and (iii) can be calculated easily using the functions P rob(x, y, z), RM (x, z), and RS (x, y). Furthermore, the result of Theorem 6.5, along with the above observations, can be used to perform sensitivity analysis in practice. For example, in situations where the manufacturer is faced with a large number of jobs, the manufacturer can use the results derived here to answer a number of important managerial questions, such as: 1. How will the makespan and total production cost change if some additional subcontractors are used and/or some additional machines are added for in-house processing? 2. How will the benefit of subcontracting change if some problem parameters change? Some general insights can also be obtained from the result of Theorem 6.5. It can be easily proved that the relative cost reduction given in Theorem 6.5 increases with the number of subcontractors k and the weighting parameter λ, but decreases with the number of machines m. These insights are intuitively correct (as explained below where some computational results are reported), but we can use the result of Theorem 6.5 to verify those insights analytically. Finally, we describe the computational results about the value of subcontracting reported in Chen and Li (2005) based on problem min λCmax + (1 − λ)G. For problem instances with a finite n, the lower bound on the relative cost reduction given in (6.14) is used. For problem instances with an infinite n, the asymptotic relative cost reduction derived in Theorem 6.5 is used. For the case with a finite n, test instances are randomly generated in the same way as those used in the
268
6 Joint Subcontracting and Scheduling Decisions
Table 6.4 Relative cost reduction due to the subcontracting option based on problem min{λCmax + (1 − λ)G} n 50
100
200
400
∞
m 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8
k=1 Avg red 42.97% 37.24% 32.61% 44.06% 38.96% 35.32% 44.20% 39.18% 35.87% 44.22% 39.22% 35.96% 44.46% 39.51% 36.31%
Min red 5.14% 4.73% 4.23% 4.73% 4.55% 4.46% 7.70% 7.33% 7.17% 8.08% 7.57% 7.41% 11.06% 8.53% 8.39%
k=3 Avg red 59.82% 54.19% 47.15% 61.37% 56.52% 53.00% 62.27% 57.80% 54.79% 62.45% 58.12% 55.26% 62.80% 58.54% 55.76%
Min red 13.63% 12.91% 8.67% 16.92% 16.26% 16.03% 18.42% 17.68% 17.38% 19.00% 18.49% 18.27% 23.17% 22.46% 22.13%
k=9 Avg red 75.38% 70.54% 58.45% 77.89% 74.04% 69.17% 78.73% 75.32% 71.66% 79.75% 76.63% 74.35% 80.20% 77.26% 75.16%
Min red 40.15% 38.34% 26.54% 45.68% 44.32% 41.25% 45.72% 44.54% 43.96% 47.18% 45.94% 45.41% 49.44% 48.37% 47.86%
computational experiment reported in Sect. 6.2.3, except that slightly different values of λ, ν are used here: λ ∈ {0.2, 0.5, 0.8}, ν ∈ {1, 2, 4}. For the case with n = ∞, the only relevant parameters are m, k, P0l , P0u , Q0l , Q0u , Q1l , Q1u , and λ. We generate these parameters as in the case with a finite n. We report in Table 6.4 both average and minimum relative cost reductions due to the subcontracting option. For each combination of (n, m, k) with a finite n reported in the table, the results are based on 270 test problems (10 for each of the 27 combinations of the values of μ, ν, and λ). Each entry in the columns Avg red (Min red) is the average (minimum) relative cost reduction over the 270 test problems for the corresponding (n, m, k) combination. In the case with n = ∞, the lower bounds derived in Theorem 6.5 are reported for each row based on the 27 lower bounds, one for each combination of μ, ν, and λ. The results in Table 6.4 demonstrate that there is a significant reduction in cost by using the subcontracting option for almost every problem tested. The relative cost reduction increases quickly with the number of subcontractors k, increases slightly with the number of jobs n, and decreases slightly with the number of machines m at the manufacturer. This can be explained intuitively. As k increases, there is more flexibility in using the subcontracting option; hence, the overall cost should go down. On the other hand, as m decreases or n increases, the capacity of the manufacturer becomes tighter, and the relative value of subcontracting becomes larger. Note that the cost reduction does not change much when n increases from 50 to ∞ for fixed m and k. This means that the subcontracting option is beneficial even if the manufacturer is faced with a small number of jobs. Although no results are explicitly reported as a function of λ in the table, Chen and Li (2005) discuss
6.4 Problems with a Subcontracting Budget Constraint
269
how their results show that the value of subcontracting increases with λ. This can be explained as follows. The impact of Cmax on the overall objective function increases with λ, and this measure decreases if more jobs are subcontracted. As a result, one can typically expect that as λ increases, more jobs should be subcontracted. In summary, we conclude that the value of subcontracting mainly depends on the availability of subcontractors (k), the in-house capacity (m), and the weighting parameter in the objective function (λ).
6.4 Problems with a Subcontracting Budget Constraint Lee and Sung (2008a,b) consider several scheduling problems with subcontracting options where there is a budget constraint on the total subcontracting cost. In all their problems, a single in-house machine and a single subcontractor are available. We first define the problems of Lee and Sung (2008a,b), following most of the notation introduced in their work. A manufacturer needs to process a set of n given jobs N = {1, . . . , n} using either a single machine in-house or a subcontractor. If a job j ∈ N is processed on the in-house machine, the processing time required is pj ; but if it is subcontracted to the subcontractor, the lead time (i.e., the completion time) of the job is lj regardless of how many jobs are handled by the subcontractor. Furthermore, if a job j ∈ N is subcontracted, there is a subcontracting cost sj , which can be viewed as the additional cost incurred due to subcontracting relative to the in-house processing cost (which is not explicitly considered). Each job j ∈ N has a due date dj . In a given schedule, let S denote the set of subcontracted jobs, and SC = j ∈S sj the total subcontracting cost. There is a given budget B such that the total subcontracting cost cannot exceed this budget, i.e., it is required that SC ≤ B in a feasible schedule. Given a schedule, let Cj denote the completion time of job j , which is lj if job j is subcontracted, and the total processing time of all the jobs scheduled before it on the in-house machine plus pj if it is processed in-house. Let Tj = max{0, Cj − dj } be the tardiness of job j . Three scheduling measures are considered, namely, • Total completion time of the jobs, denoted as Cj , which is equal to j ∈N Cj . • Maximum tardiness of the jobs, denoted as Tmax , which is equalto maxj ∈N {Tj }. • Total tardiness of the jobs, denoted as Tj , which is equal to j ∈N Tj . Lee and Sung (2008a,b) consider three specific objective functions: 1. Weighted sum of the total completion time of the jobs and the total subcontracting cost, denoted as α Cj + (1 − α)SC, where the weighting parameter α ∈ [0, 1] represents the relative importance between the two measures involved from the manufacturer’s point of view. 2. Weighted sum of the maximum tardiness the jobs and the total subcontracting cost, denoted as αTmax + (1 − α)SC. 3. Weighted sumof the total tardiness of the jobs and the total subcontracting cost, denoted as α Tj + (1 − α)SC.
270
6 Joint Subcontracting and Scheduling Decisions
For ease of presentation, we simply call the corresponding problems with these objective functions the total completion time problem, the maximum tardiness problem, and the total tardiness problem, respectively. Lee and Sung (2008a,b) show that all these problems are ordinarily NP -hard. We do not present their NP -hardness proofs. Instead, we focus on how these problems can be solved either exactly or heuristically. In the following Sects. 6.4.1, 6.4.2, and 6.4.3, we discuss exact and heuristic algorithms for each of these problems, respectively. All the results are from Lee and Sung (2008a,b).
6.4.1 The Total Completion Time Problem For this problem, since the total completion time of the jobs is a part of the objective function to be minimized, it is optimal to schedule the jobs that are processed on the in-house machine in the shortest processing time first (SPT) order. Lee and Sung (2008b) propose a pseudo-polynomial time dynamic programming algorithm to solve this problem with time complexity O(n2 B). We describe this algorithm below. Algorithm DP-TCT Initialization Reindex the jobs in SPT order, i.e., p1 ≤ · · · ≤ pn . Value Function f (j, m, b) = the minimum total completion time of a partial schedule for jobs j, . . . , n where m (m ≤ n − j + 1) of these jobs are subcontracted and the total subcontracting cost of these jobs is b. Boundary Conditions f (n + 1, 0, 0) = 0. Recurrence Relation For j = n, . . . , 1, m = 1, . . . , n−j +1, and b = 0, 1, . . . , B:
f (j, m, b) =
⎧ ⎪ (n − j + 1)pj + f (j + 1, m, b) ⎪ ⎪ ⎪ ⎪ ⎪ ∞ ⎪ ⎪ ⎪ ⎨ l + f (j + 1, m − 1, b − s ) j
j
if m = 0, if n − j + 1 = m and sj > b, if n − j + 1 = m and sj ≤ b, if n − j + 1 > m > 0 and sj > b,
⎪ (n − j − m + 1)pj + f (j + 1, m, b) ⎪ ⎪ ⎪ ⎪ ⎪ min{(n − j − m + 1)pj + f (j + 1, m, b), ⎪ ⎪ ⎪ ⎩ lj + f (j + 1, m − 1, b − sj )} if n − j + 1 > m > 0 and sj ≤ b.
Optimal Solution Value The optimal solution value is found by solving the following problem: min
0≤m≤n,0≤b≤B
{αf (1, m, b) + (1 − α)b)}.
The recurrence relation compares all five possible cases of (j, m, b): (1) m = 0, where all the jobs j, . . . , n are processed in-house; (2) m = n − j + 1, where all the
6.4 Problems with a Subcontracting Budget Constraint
271
jobs j, . . . , n are subcontracted out, and sj > b; (3) m = n − j + 1 and sj ≤ b; (4) n − j + 1 > m > 0, where some of the jobs j, . . . , n are processed in-house and some are subcontracted out, and sj > b; (5) n − j + 1 > m > 0, and sj ≤ b. Case (2) is not possible and hence the value function is ∞. In Cases (1) and (4), job j must be processed in-house, whereas in Case (3), job j must be subcontracted out. In Case (5), job j can either be processed in-house or subcontracted out. In addition, Lee and Sung (2008b) give two heuristics and a branch-and-bound exact algorithm for the total completion time problem. We describe one of their heuristics. The idea is first to solve the problem without considering the budget constraint, which may result in a solution with too many jobs subcontracted out, and then gradually remove some of the jobs from the set of the subcontracted jobs until the budget constraint is satisfied. Before presenting this heuristic, we first discuss how the total completion time problem without the budget constraint can be solved. Lee and Sung (2008b) give a polynomial-time exact dynamic programming algorithm with time complexity O(n2 ) to solve this problem. This algorithm is described in the following. Algorithm DP-TCT-NB Initialization Reindex jobs in SPT order, i.e., p1 ≤ · · · ≤ pn . Value Function f (j, m) = the minimum objective value of a partial schedule for jobs j, . . . , n where m (m ≤ n − j + 1) of these jobs are subcontracted out. Boundary Conditions f (n + 1, 0) = 0. Recurrence Relation For j = n, . . . , 1, and m = 1, . . . , n − j + 1: ⎧ α(n − j + 1)pj + f (j + 1, 0) ⎪ ⎪ ⎨ αlj + (1 − α)sj + f (j + 1, m − 1) f (j, m) = ⎪ min{α(n − j − m + 1)pj + f (j + 1, m), ⎪ ⎩ αlj + (1 − α)sj + f (j + 1, m − 1)}
if m = 0, if n − j + 1 = m, if n − j + 1 > m > 0.
Optimal Solution Value The optimal solution value is found by solving the following problem: min0≤m≤n {f (1, m)}. Now we describe the heuristic. It generates three feasible schedules and chooses the one with the lowest objective value as the solution. Heuristic TCT Step 1: Solve the total completion time problem without the budget constraint by Algorithm DP-TCT-NB. Let the solution be denoted as π , and let the set of the subcontracted jobs be denoted as S(π ). If j ∈S(π ) sj ≤ B, then π is also an optimal solution to the original problem with the budget constraint, and stop. Step 2: Let S1 = S2 = S3 = S(π ). Generate three solutions based on π as follows.
272
6 Joint Subcontracting and Scheduling Decisions
1. Remove the jobs with the shortest processing times from S1 , one by one, until j ∈S1 sj ≤ B. Construct a feasible solution as follows: The jobs in the final set S1 are subcontracted out, and the rest are processed in-house in SPT order. Let π1 denote this solution, and f (π1 ) denote its objective value. 2. Remove the jobs with the largest subcontracting costs from S2 , one by one, until j ∈S2 sj ≤ B. Construct a feasible solution as follows: The jobs in the final set S2 are subcontracted out, and the rest are processed in-house in SPT order. Let π2 denote this solution, and f (π2 ) denote its objective value. 3. Remove the jobs with the longest leadtimes provided by the subcontractor (i.e., lj ) from S3 , one by one, until j ∈S3 sj ≤ B. Construct a feasible solution as follows: The jobs in the final set S3 are subcontracted out, and the rest are processed in-house in SPT order. Let π3 denote this solution, and f (π3 ) denote its objective value. Step 3: Select the solution with the lowest objective value among π1 , π2 , π3 as the heuristic solution. The computational results reported in Lee and Sung (2008b) show that this heuristic performs well, particularly when the budget B is relatively large. Example 6.3 (Application of Heuristic TCT) We apply Heuristic TCT to the following instance of the total completion time problem: α = 0.5, B = 9, and pj , lj , sj are given in the following table. j pj lj sj
1 2 4 8
2 4 3 4
3 6 2 4
4 8 2 6
Step 1. Solve the problem without the budget constraint by Algorithm DP-TCTNB. The optimal solution π is as follows: process jobs 1 and 2 in-house, but subcontract jobs 3 and 4 (i.e., S(π ) = {3, 4}). This solution has an objective value of 11. The total subcontracting cost of this solution is 10, which violates the budget constraint. Step 2. S1 = {3, 4}. Since job 3 has a shorter processing time than job 4, job 3 is removed from S1 . After this, j ∈S1 sj = s4 = 6 < B, and a feasible solution π1 is generated in which job 4 is subcontracted, but jobs 1, 2 and 3 are processed in-house. The objective value of this solution is 14 with the total subcontracting cost of 6. Step 3. S2 = {3, 4}. Since job 4 has a larger subcontracting cost than job 3, job 4 is removed from S2 . After this, j ∈S2 sj = s3 = 4 < B, and a feasible solution π2 is generated in which job 3 is subcontracted, but jobs 1, 2 and 4 are processed in-house. The objective value of this solution is 16 with the total subcontracting cost of 4.
6.4 Problems with a Subcontracting Budget Constraint
273
Step 4. This step generates the same solution as in Step 3. Step 5. π1 is selected as the solution for this example. An optimal solution for this example is to subcontract jobs 2 and 3, and process jobs 1 and 4 in-house. This solution has an objective value of 12.5 with total subcontracting cost of 8.
6.4.2 The Maximum Tardiness Problem Since in this problem the maximum tardiness of the jobs is a part of the objective function to be minimized, it is optimal to schedule the jobs that are processed on the in-house machine in earliest due date first (EDD) order. Thus, we only need to consider the EDD order for the jobs processed in-house in any solution. Lee and Sung (2008a) propose a pseudo-polynomial time dynamic programming algorithm to solve this problem with time complexity O(nBP ), where P = p . We describe this algorithm below. j ∈N j Algorithm DP-MT Initialization Reindex the jobs in EDD order, i.e., d1 ≤ . . . ≤ dn . Value Function f (j, t, b) = the minimum maximum tardiness of a partial schedule for jobs 1, . . . , j where the total processing time of the jobs processed in-house is t and the total subcontracting cost of these jobs is b. Boundary Conditions f (0, 0, 0) = 0 Recurrence Relation For j = 1, . . . , n, t = 1, . . . , P , and b = 0, 1, . . . , B: ⎧ ⎪ ∞ ⎪ ⎪ ⎪ ⎪ ⎪ max{max{0, lj − dj }, f (j − 1, t, b − sj )} ⎨ f (j, t, b) = max{max{0, t − dj }, f (j − 1, t − pj , b)} ⎪ ⎪ ⎪ ⎪ min{max{max{0, t − dj }, f (j − 1, t − pj , b)}, ⎪ ⎪ ⎩ max{max{0, lj − dj }, f (j − 1, t, b − sj )}}
if pj > t and sj > b, if pj > t and sj ≤ b, if pj ≤ t and sj > b, if pj ≤ t and sj ≤ b.
Optimal Solution Value The optimal solution value is found by solving the following problem: min
0≤t≤P ,0≤b≤B
{αf (n, t, b) + (1 − α)b)}.
The logic of this algorithm is very similar to that of Algorithm DP-TCT given in Sect. 6.4.1.
274
6 Joint Subcontracting and Scheduling Decisions
Lee and Sung (2008a) give two heuristics, one of which is similar to Heuristic TCT given in the previous subsection for the total completion time problem. We do not describe these heuristics here.
6.4.3 The Total Tardiness Problem Lee and Sung (2008a) propose a pseudo-polynomial time dynamic programming algorithm to solve this problem with time complexity O(n3 BP ), where P = j ∈N pj . The idea of their algorithm is based on the well-known pseudopolynomial dynamic programming algorithm given by Lawler (1977) for the classical single-machine total tardiness problem without subcontracting options, i.e., problem 1|| Tj , which can be viewed as a special case of the total tardiness problem studied here. Lawler’s algorithm for problem 1|| Tj is based on the following important property. Consider a problem of scheduling any given subset of l jobs i1 , . . . , il . Find an optimal schedule starting at a given time t that minimizes the total tardiness of the jobs. Suppose the jobs are indexed in EDD order, i.e., di1 ≤ . . . ≤ dil . Let ik be the job with the longest processing time, i.e., pik = max{pi1 , . . . , pil }. Lawler (1977) proves the following property. Lemma 6.4 There exists some job iq ∈ {ik+1 , . . . , il } such that there is an optimal schedule for the problem that starts at time t and is a concatenation of the following three segments: (i) Some sequence of jobs i1 , . . . , ik−1 , ik+1 , . . . , iq . (ii) Followed by job ik . (iii) Followed by some sequence of jobs iq+1 , . . . , il . Clearly, to have an overall optimal schedule, both the sequence of the first segment (i.e., the sequence for the jobs i1 , . . . , ik−1 , ik+1 , . . . , iq ) and the sequence of the third segment (i.e., the sequence for the jobs iq+1 , . . . , il ) must be optimal. This provides the foundation for a dynamic programming based algorithm. Below, we briefly summarize the main idea of Lawler’s DP algorithm, since essentially the same idea is used by Lee and Sung (2008a) to design their algorithm for the problem with subcontracting options. Lawler’s DP algorithm uses a job set as a part of a DP state. Suppose that all the jobs 1, . . . , n are reindexed in EDD order, i.e., d1 ≤ · · · ≤ dn . For any j, l, k with j ≤ l, define a job set J (j, l, k) to be the subset of jobs in {j, j +1, . . . , l −1, l}\{k} with processing times less than or equal to pk , i.e., J (j, l, k) = {i ∈ {j, j + 1, . . . , l − 1, l} \ {k}|pi ≤ pk } We note that although J (j, l, k) is a set, the members in J (j, l, k) are uniquely determined by three numbers, j, l, k. Thus, keeping track of this set in a DP algo-
6.4 Problems with a Subcontracting Budget Constraint
275
rithm is equivalent to keeping tracking of j, l, k, which requires only polynomial time. With J (j, l, k) defined as above, Lawler’s DP algorithm uses value function V (J (j, l, k), t) to denote the minimum total tardiness of the jobs in the set J (j, l, k), given that the processing of the first job starts at time t. Let k ∗ = arg maxi∈J (j,l,k) {pi }. Then by Lemma 6.4 described earlier, V (J (j, l, k), t) can be computed recursively as follows: V (J (j, l, k), t) = ∗min {V (J (j, q, k ∗ ), t) + max(0, Ck ∗ (q) − dk ∗ ) k ≤q≤l
+V (J (q + 1, l, k ∗ ), Ck ∗ (q)))}, ∗ where Ck ∗ (q) = i∈J (j,q,k ∗ ) pi + pk ∗ is the completion time of job k . This 4 algorithm has a time complexity O(n P ), and hence is pseudo-polynomial. This, together with the NP -hardness proof given by Du and Leung (1990), implies that problem 1|| Tj is ordinarily NP -hard. Now we consider the problem with subcontracting options. Clearly, for the jobs processed in-house, the property stated in Lemma 6.4 holds. Based on this fact, Lee and Sung (2008a) propose the following DP algorithm for solving this problem. The algorithm can be viewed as an extension of Lawler’s (1977) algorithm. Algorithm DP-TT Initialization Reindex jobs in EDD order, i.e., d1 ≤ · · · ≤ dn . Value Function f (J (j, l, k), a, b, c) = the minimum objective value of a schedule for jobs in the set J (j, l, k) where the jobs processed in-house are processed in the interval [a, b] and the total subcontracting cost of the jobs subcontracted out is c. Boundary Conditions f (∅, 0, 0, 0) = 0. Recurrence Relation For j = 1, . . . , n, l = j, . . . , n, k = 1, . . . , n, a = 0, . . . , P , b = a, . . . , P , and c = 0, . . . , B: ⎧ ∞ ⎪ ⎪ ⎨ f1 (V (j, l, k), a, b, c) f (V (j, l, k), a, b, c) = ⎪ f (V (j, l, k), a, b, c) ⎪ ⎩ 2 f3 (V (j, l, k), a, b, c)
if pk ∗ if pk ∗ if pk ∗ if pk ∗
> b − a and sk ∗ > b − a and sk ∗ ≤ b − a and sk ∗ ≤ b − a and sk ∗
where k ∗ = arg maxi∈J (j,l,k) {pi }, and f1 (V (j, l, k), a, b, c) = f (V (j, l, k ∗ ), a, b, c − sk ∗ ) +α max(0, lk ∗ − dk ∗ ) + (1 − α)sk ∗
> c, ≤ c, > c, ≤ c,
276
6 Joint Subcontracting and Scheduling Decisions
f2 (V (j, l, k), a, b, c)
⎫ ⎧ ⎬ ⎨ f (J (j, q, k ∗ ), a, a + u, v) = ∗ min + α max(0, a + u + pk ∗ − dk ∗ ) ⎭ k ≤q≤l,0≤u≤b−a−pk ∗ ,0≤v≤c ⎩ + f (J (q + 1, l, k ∗ ), a + u + pk ∗ , b, c − v)
f3 (V (j, l, k), a, b, c) ⎧ ⎪ f (J (j, l, k ∗ ), a, b, c − sk ∗ ) + α max(0, lk ∗ − dk ∗ ) + (1 − α)sk ∗ , ⎪ ⎪ ⎫ ⎧ ⎪ ⎨ ⎪ ⎪ f (J (j, q, k ∗ ), a, a + u, v) ⎬ ⎨ = min ⎪ ∗ min . ∗ ∗ + α max(0, a + u + pk − dk ) k ≤q≤l,0≤u≤b−a−pk ∗ ,0≤v≤c ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎩ ⎩ ∗ + f (J (q + 1, l, k ), a + u + pk ∗ , b, c − v)
Optimal Solution Value The optimal solution value is found by solving the following problem: min0≤b≤P ,0≤c≤B {f (N, 0, b, c)}. The recurrence relation of the above DP algorithm considers four possible cases: (i) pk ∗ > b − a and sk ∗ > c, (ii) pk ∗ > b − a and sk ∗ ≤ c, (iii) pk ∗ ≤ b − a and sk ∗ > c, and (iv) pk ∗ ≤ b − a and sk ∗ ≤ c. Case (i) is infeasible because job k ∗ cannot be processed in-house or subcontracted. Case (ii) means that job k ∗ must be subcontracted. Case (iii) means that job k ∗ must be processed in-house during the interval [a + u, a + u + pk ∗ ]. Case (iv) means that job k ∗ can be processed in-house or subcontracted, depending on whichever option gives a lower cost. Lee and Sung (2008a) also give heuristics and a branch-and-bound algorithm. We do not elaborate on these procedures here.
6.5 Problems with a Flowshop Environment In this section, we discuss a joint subcontracting and scheduling problem studied by Lee and Choi (2011) that arises in a two-stage flowshop production environment. In a two-stage flowshop, each given job needs to undergo two processing operations— it is processed first on a machine in the first stage, and then on a machine in the second stage. In Lee and Choi’s problem, the in-house plant has two machines which can process the stage-one and stage-two operations of any given job, respectively. One or both operations of a job can be subcontracted at a cost that is proportional to the processing time of the operation(s) involved. The objective is to minimize the sum of the makespan of the jobs processed in-house and the total subcontracting cost. It is implicitly assumed that the subcontracted job operations are completed instantaneously so that they do not delay the remaining operations of the jobs involved. This essentially means that we can treat a subcontracted operation of a job as if it is processed in-house but with zero processing time.
6.5 Problems with a Flowshop Environment
277
We now define the problem. There is a given set of n jobs N = {1, . . . , n} to be processed. Each job j consists of two operations, denoted as (1, j ) as its stage-one operation and (2, j ) as its stage-two operation, respectively. There are two in-house machines, M1 and M2 , which can process stage-one operations and stagetwo operations, respectively. Either or both operations of a job can be processed in-house or subcontracted. For i = 1, 2 and j ∈ N , if operation (i, j ) is processed in-house, it requires a processing time of pij on machine Mi ; if this operation is subcontracted, it costs αi pij , where αi is the subcontracting cost per unit of in-house processing time. Let Cij denote the completion time of operation (i, j ) if it is processed in-house, for i = 1, 2, j ∈ N. Let Cj denote the completion time of job j if at least one of its two operations is processed in-house, for j ∈ N. If only the second-stage operation (2, j ) or both operations of job j are processed in-house, then Cj = C2j . If only the first-stage operation (1, j ) of job j is processed in-house, then Cj = C1j . The problem is to find a set of jobs S1 whose stage-one operations are subcontracted, a set of jobs S2 whose stage-two operations are subcontracted, and a schedule σ for the operations processed in-house such that the following objective function is minimized: F (S1 , S2 , σ ) = Cmax (σ ) + α1 p1j + α2 p2j , j ∈S1
j ∈S2
where Cmax (σ ) = max{Cj |j ∈ σ } is the makespan of schedule σ (i.e., the completion time of the last operation in-house). Given S1 and S2 , the problem is reduced to finding a schedule σ for the two inhouse machines to process the operations kept in-house with a minimum makespan Cmax (σ ). Since this problem is the classical two-machine flowshop makespan minimization problem, a schedule given by Johnson’s rule (Johnson, 1954, also see Sect. 5.2.1) is optimal. For ease of presentation, in the remainder of this section, we use (S1 , S2 , σ ) to denote a solution of the problem, where S1 , S2 , σ are defined as above. Lee and Choi (2011) provide the following results: • If α1 + α2 > 1, and α1 < 1, α2 < 1, then the problem is at least ordinarily N P -hard. • If α1 + α2 > 1, and max{α1 , α2 } ≥ 1, min{α1 , α2 } < 1, then the problem is at least ordinarily NP -hard. • If α1 +α2 > 1, and α1 ≥ 1, α2 ≥ 1, then the problem can be solved in polynomial time. • If α1 + α2 ≤ 1, then the problem can be solved in polynomial time. We show that there is a pseudo-polynomial time algorithm for solving the general case of the problem. Thus, the problem under the first two cases above is ordinarily N P -hard. In addition, Lee and Choi (2011) provide a polynomial-time heuristic for the problem with α1 + α2 > 1, and α1 < 1, α2 < 1 and show that its worst-case performance ratio is bounded by a constant. They also consider the problem where
278
6 Joint Subcontracting and Scheduling Decisions
the two operations of each job have the same processing time (i.e., p1j = p2j , for all j ∈ N). The corresponding flowshop environment is called a proportionate flowshop (see e.g., Pinedo, 2016, Section 8.3.7). In the following, we present an N P -hardness proof for the problem with max{α1 , α2 } ≥ 1, min{α1 , α2 } < 1 in Sect. 6.4.1, discuss the two cases that can be solved in polynomial time in Sect. 6.4.2, and finally discuss the problem with the proportionate flowshop in Sect. 6.4.3. We refer the reader to Lee and Choi (2011) for an NP -hardness proof for the problem with α1 + α2 > 1, and α1 < 1, α2 < 1, and for their heuristic and related analysis for the problem with α1 + α2 > 1, and α1 < 1, α2 < 1.
6.5.1 N P -Hardness Proof We first consider the problem with max{α1 , α2 } ≥ 1 and min{α1 , α2 } < 1. Lee and Choi (2011) prove the following result. Theorem 6.6 The problem with max{α1 , α2 } ≥ 1 and min{α1 , α2 } < 1 is at least ordinarily N P -hard. Proof We show that the problem with any given values of α1 , α2 satisfying α1 < 1 and α2 ≥ 1 is NP -hard by a reduction from Partition Problem (PP), a known NP hard problem (Garey & Johnson, 1979). In PP, we are given h integers, a1 , . . . , ah such that hj=1 aj = A. The question asks whether there is a subset Q ⊆ {1, . . . , h} such that j ∈Q = A/2. Given an instance of PP, construct an instance of our problem as follows: n = h + 2 jobs, with the processing times pij given below, and a threshold Z = 2A + A2 α1 on the objective value.
p1j
⎧ ⎨ aj , if j = 1, . . . , h = 3A , if j = h + 1 ⎩ 2 0, if j = h + 2
p2j
⎧ ⎨ 0, if j = 1, . . . , h = 0, if j = h + 1 ⎩ 2A, if j = h + 2
Below, we show that there exists a solution (S1 , S2 , σ ) to the above constructed instance of our problem with objective value T (S1 , S2 , σ ) ≤ Z if and only if there is a solution to PP. (⇒) If there exists a subset Q ⊆ {1, . . . , h} such that j ∈Q = A/2, we construct the following solution (S1 , S2 , σ ) for the instance of our problem: Let S1 = Q, S2 = ∅, and schedule the operations kept in-house following Johnson’s rule (see Sect. 5.2.1). Since p2j = 0 for j = 1, . . . , h + 1 and p1,h+2 = 0, the completion times of the operations on M1 do not have any impact on those on M2 . Let S¯1 = {1, . . . , h + 2} \ Q. We have Cmax (σ ) = max{
j ∈S¯1
p1j , p2,h+2 } = max{2A, 2A} = 2A.
6.5 Problems with a Flowshop Environment
279
Thus, the objective value of the solution is F (S1 , S2 , σ ) = Cmax (σ ) + α1
p1j = 2A + α1 (A/2) = Z.
j ∈S1
(⇐) If there is a solution (S1 , S2 , σ ) for the instance of our problem with F (S1 , S2 , σ ) ≤ Z, we first show that both operations (1, h + 1) and (2, h + 2) must be processed in-house, i.e., h + 1 ∈ / S1 and h + 2 ∈ / S2 . We prove this by contradiction. There are two cases. First, if (2, h + 2) is subcontracted, then its contribution to the objective value is 2Aα2 ≥ 2A, and the contribution from any stage-one operation (1, j ), for j = 1, . . . , h + 2, is at least α1 p1j , regardless of whether it is subcontracted or processed in-house. This means that if (2, h +2) is subcontracted, then the objective value of the solution is at least 2A + α1 h+2 j =1 p1j = 2A + (5A/2)α1 > Z, a contradiction. Alternatively, if (1, h + 1) is subcontracted, then its contribution to the objective value is (3A/2)α1 . The contribution of operation (2, h + 2) is at least 2A, regardless of whether it is subcontracted or processed in-house. This means that if (1, h + 1) is subcontracted, then the objective value of the solution is at least 2A + (3A/2)α1 > Z, a contradiction. Therefore, both operations (1, h + 1) and (2, h + 2) are processed in-house in the solution (S1 , S2 , σ ). Thus, the objective value of this solution is F (S1 , S2 , σ ) = max{5A/2 −
p1j , 2A} + α1
j ∈S1
p1j .
(6.24)
j ∈S1
A/2. First, if We show that the fact that F (S1 , S2 , σ ) ≤ Z means that j ∈S1 p1j = p > A/2, then (6.24) implies that F (S , S , σ ) = 2A + α 1 2 j ∈S1 1j 1 j ∈S1 p1j > 2A + (A/2)α1 = Z, leading to a contradiction. Alternatively, if j ∈S1 p1j < A/2, then (6.24) implies that F (S1 , S2 , σ ) = 2A + (A/2 −
p1j ) + α1
j ∈S1
= Z + (1 − α1 )(A/2 −
p1j
j ∈S1
p1j ) > Z,
j ∈S1
leading to a contradiction. Thus, PP.
j ∈S1
p1j = A/2, and hence there is a solution to
Next, we give a pseudo-polynomial time dynamic programming algorithm for the general case of the problem. The algorithm is based on the following observation. From Johnson’s rule, there is an optimal solution where on the two in-house machines, the jobs with the first-stage operations subcontracted are scheduled first, the jobs with both operations processed in-house are scheduled next, and the jobs with the second-stage operations subcontracted are scheduled last.
280
6 Joint Subcontracting and Scheduling Decisions
Algorithm FS Initialization Reindex the jobs following Johnson’s rule (see Sect. 5.2.1). Define j j P1j = k=1 p1j and P2j = k=1 p2j for j = 1, . . . , n, and let P1 = P1n and P 2 = P2n . Value Function F (j, x, y, z1 , z2 , w) = the minimum completion time of the second operation of the last job processed in-house in a schedule for jobs 1, . . . , j where (1) among the jobs 1, . . . , j with both operations processed in-house, the total processing time of stage-one operations of these jobs is x, and the total processing time of stage-two operations of these jobs is y, (2) among the jobs 1, . . . , j with stage-two operations subcontracted, the total processing time of stage-one operations of these jobs is z1 , (3) among the jobs 1, . . . , j with stage-one operations subcontracted, the total processing time of stage-two operations of these jobs is z2 , and (4) in the final schedule after all the n jobs are considered, among the jobs with stage-one operations subcontracted, the total processing time of stage-two operations of these jobs is w. Boundary Conditions F (0, 0, 0, 0, 0, w) = w, for 0 ≥ w ≥ P2 , F (0, x, y, z1 , z2 , w) = ∞ for x > 0 or y > 0, F (j, x, y, z1 , z2 , w) = ∞ if any one of the following conditions holds: x +z1 > P1 , y + z2 > P2 , z2 > w. Recurrence Relation For j = 1, . . . , n, x = 0, 1, . . . , P1j , y = 0, 1, . . . , P2j , z1 = 0, 1, . . . , P1j − x, z2 = 0, 1, . . . , w, w = 0, 1, . . . , P2 : F (j, x, y, z1 , z2 , w) = min{F1 , F2 , F3 , F4 }, where F1 = F (j − 1, x, y, z1 , z2 , w), F2 = F (j − 1, x, y, z1 , z2 − p2j , w), F3 = F (j − 1, x, y, z1 − p1j , z2 , w), F4 = max x + p1j , F (j − 1, x − p1j , y − p2j , z1 , z2 , w) + p2j . Optimal Solution Value The optimal solution value is found by solving the following problem: min α1 (P1 − x − z1 ) + α2 (P2 − y − w) + max{x + z1 , F (n, x, y, z1 , w, w)} | x = 0, 1, . . . , P1 ; y = 0, 1, . . . , P2 ; z1 = 0, 1, . . . , P1 − x; w = 0, 1, . . . , P2 − y .
6.5 Problems with a Flowshop Environment
281
Theorem 6.7 Algorithm FS finds an optimal solution for the general case of the problem with a flowshop environment in O(nP12 P23 ) time. Proof The validity of the algorithm can be shown by the following observations. The recurrence relation of the above algorithm compares all the four options for job j : (i) Both operations are subcontracted, which corresponds to F1 , (ii) stageone operation is subcontracted but stage-two operation is processed in-house, which corresponds to F2 , (iii) stage-two operation is subcontracted but stage-one operation is processed in-house, which corresponds to F3 , and (iv) both operations are processed in-house, which corresponds to F4 . The makespan of the final schedule is max{x + z1 , F (n, x, y, z1 , w, w)} since it is the maximum between the completion time of the last first-stage operation (which is x + z1 ) and the completion time of the last second-stage operation (which is F (n, x, y, z1 , w, w)). It can be shown that this algorithm has a time complexity O(nP12 P23 ). Thus, it is a pseudo-polynomial time algorithm. This theorem, together with Theorem 6.6, implies that the problem with max{α1 , α2 } ≥ 1 and min{α1 , α2 } < 1 is ordinarily NP -hard.
6.5.2 Polynomially Solvable Cases We now consider the two polynomially solvable cases of the problem: (i) α1 + α2 ≤ 1, and (ii) α1 ≥ 1 and α2 ≥ 1. Lee and Choi (2011) prove the following results. Theorem 6.8 For the problem with α1 + α2 ≤ 1, there is an optimal solution where all the operations are subcontracted out (i.e., S1 = S2 = N). Proof Consider any solution (S1 , S2 , σ ). Its objective value satisfies F (S1 , S2 , σ ) ≥ max
⎧ ⎨ ⎩
p1j ,
j ∈N \S1
⎫ ⎬
p2j
j ∈N \S2
⎭
+ α1
p1j + α2
j ∈S1
p2j .
j ∈S2
(6.25) Since α1 + α2 ≤ 1, we have ⎧ ⎫ ⎨ ⎬ p1j , p2j ≥ α1 p1j + α2 p2j . max ⎩ ⎭ j ∈N \S1
j ∈N \S2
j ∈N \S1
j ∈N \S2
This, along with (6.25), means that F (S1 , S2 , σ ) ≥ α1
j ∈N
p1j + α2
p2j .
(6.26)
j ∈N
However, if all thejobs are subcontracted out, the objective value is in fact α1 j ∈N p1j + α2 j ∈N p2j . This, along with (6.26), implies that subcontracting all the jobs out is an optimal solution.
282
6 Joint Subcontracting and Scheduling Decisions
Theorem 6.9 For the problem with α1 ≥ 1 and α2 ≥ 1, there is an optimal solution where all the operations are processed in-house (i.e., S1 = S2 = ∅) following Johnson’s rule. Proof Given any solution (S1 , S2 , σ ) where S1 = ∅. For any j ∈ S1 , in this solution, operation (1, j ) is subcontracted. If this operation is instead processed in-house, then the makespan of σ increases by at most p1j , but the subcontracting cost decreases by α1 p1j ≥ p1j . This means that it may improve the current solution to process operation (1, j ) in-house instead. Thus, we revise the given solution by keeping operation (1, j ) in-house. We repeat this process until all the stage-one operations are kept in-house. The resulting solution has an objective value no more than that of the original solution. If S2 = ∅, we can apply the same logic to any j ∈ S2 by keeping operation (2, j ) in-house. Eventually, we arrive at a solution with an objective value no more than that of the original solution by keeping all the stage-two operations in-house.
6.5.3 Proportionate Flowshop As defined above, in a two-stage proportionate flowshop, p1j = p2j for j ∈ N. For notational convenience, we replace both p1j and p2j by pj . The joint subcontracting and scheduling problem with a two-stage proportionate flowshop is a special case of the problem with a general two-stage flowshop. Thus, the polynomially solvable cases discussed in Sect. 6.5.2 are still solvable in polynomial time under a proportionate flowshop. When α1 + α2 > 1 and α1 < 1, α2 < 1, the N P -hardness proof given by Lee and Choi (2011) for the problem with a general flowshop also works for the problem with a proportionate flowshop. Similarly, the pseudo-polynomial time algorithm given in Sect. 6.5.2 for the problem with a general flowshop also works for the problem with a proportionate flowshop. Thus, when α1 + α2 > 1 and α1 < 1, α2 < 1, the problem with a proportionate flowshop is still ordinarily NP -hard. However, for the case with max{α1 , α2 } ≥ 1 and min{α1 , α2 } < 1, the problem complexity changes when the production environment changes from a general flowshop to a proportionate flowshop. It is NP -hard with a general flowshop, as shown in Sect. 6.5.1. The problem with a proportionate flowshop is polynomially solvable, as shown below. Theorem 6.10 For the problem with a two-machine proportionate flowshop, (i) If α1 < 1 ≤ α2 , there is an optimal solution where only the first-stage operation of the largest job is subcontracted out and all other operations are processed in-house. (ii) If α2 < 1 ≤ α1 , there is an optimal solution where only the second-stage operation of the largest job is subcontracted out and all other operations are processed in-house.
6.5 Problems with a Flowshop Environment
283
Proof We prove (i) below. Suppose that the jobs are reindexed such that p1 ≤ p2 ≤ · · · ≤ pn . First, consider the solution where only the first-stage operation of the largest job is subcontracted out, denoted as ({n}, ∅, σ ∗ ), where σ ∗ follows Johnson’s rule. In σ ∗ , M1 processes the jobs in the order (1, 2, . . . , n − 1), and M2 processes the jobs in the order (n, 1, . . . , n − 1). Thus, the objective value of this solution is F ({n}, ∅, σ ∗ ) =
n
pj + α1 pn .
(6.27)
j =1
Now, consider any given solution (S1 , S2 , σ ) with S2 = ∅. If operation (2, j ) for any j ∈ S2 is processed in-house instead of being subcontracted in the current solution, the subcontracting cost decreases by α2 p2j whereas the makespan of σ increases by at most p2j . Since α2 ≥ 1, processing operation (2, j ) in-house does not increase the overall objective value. We repeat this until the stage-two operations of all the jobs in S2 are processed in-house without increasing the objective value. This means that there exists an optimal solution where all the stage-two operations are kept in-house. We consider such solutions below. Given any solution (S1 , ∅, σ ) where operation (1, n) is not subcontracted, i.e., n ∈ / S1 , we compare the objective value of this solution, F (S1 , ∅, σ ) with F ({n}, ∅, σ ∗ ) given in (6.27). Clearly, F (S1 , ∅, σ ) ≥ max
⎧ ⎨ ⎩
p j + pn ,
j ∈N \S1
There are two possible cases. If have F (S1 , ∅, σ ) ≥
n
⎫ ⎬ pj
j =1 j ∈S1
n
+ α1
⎭
pj .
(6.28)
j ∈S1
pj ≥ pn , then from (6.28) and (6.27), we
pj + α1 pn = F ({n}, ∅, σ ∗ ).
(6.29)
j =1
If j ∈S1 pj < pn , then from (6.28) and (6.27) and the fact that α1 < 1 (which is assumed in part (i) statement of the theorem), we have F (S1 , ∅, σ ) ≥
j ∈N \S1
=
j ∈N
>
j ∈N
pj + pn + α1 ⎛
pj + ⎝pn −
pj
j ∈S1
⎞
pj ⎠ + α1
j ∈S1
pj + α1 pn = F ({n}, ∅, σ ∗ ).
pj
j ∈S1
(6.30)
284
6 Joint Subcontracting and Scheduling Decisions
Inequalities (6.29) and (6.30) mean that solution ({n}, ∅, σ ∗ ) is optimal. This shows result (i). Result (ii) can be shown similarly.
6.6 Problems Requiring Delivery of Subcontracted Jobs In this section, we discuss several problems studied by Qi (2008, 2011) where subcontracted jobs, once completed, need to be delivered to the in-house plant in batches, which incurs a transportation delay and transportation cost. The problems discussed in the other sections of this chapter do not explicitly involve delivery of subcontracted jobs. This is one major difference. Another major difference is that in the problems considered by Qi (2008, 2011), a schedule for processing subcontracted jobs needs to be determined for the subcontractor, in addition to a schedule for the jobs kept for in-house processing. In all the problems considered in the other sections of this chapter, no scheduling decision needs to be made for subcontracted jobs. We first consider in Sect. 6.6.1 three problems where there is a single in-house machine, and there is a single subcontractor with a single machine that can be used to process subcontracted jobs, and then consider in Sect. 6.6.2 several problems with a two-stage flowshop.
6.6.1 Single In-House Machine and Single Subcontractor’s Machine We first describe three of the problems considered in Qi (2008), using their notation, which are distinguished by their objective functions. There are n jobs, each of which can be either processed on a single machine in-house or subcontracted and processed on a single machine owned by the subcontractor. If a job j is processed in-house, the processing time is pj , and it becomes αpj if the job is processed on the subcontractor’s machine, where α represents that the subcontractor’s machine operates at a different speed from the in-house machine. If a job j is subcontracted, it incurs an extra processing cost βpj , which is assumed to be proportional to the processing time requirement of the job. Subcontracted jobs, after completing processing, must be delivered in batches to the in-house facility. The delivery of a batch incurs a fixed transportation cost K and a transportation time τ . There is no capacity constraint on a delivery batch. Each job j may have a due date dj . The decision maker needs to decide which jobs to be subcontracted out, how to schedule the in-house jobs on the single in-house machine, how to schedule the subcontracted jobs on the single subcontractor’s machine, and how to batch the subcontracted jobs for delivery to the in-house facility so that the sum of the total subcontracting and
6.6 Problems Requiring Delivery of Subcontracted Jobs
285
transportation cost and a performance measure based on the job completion times is minimized. In a given schedule, let Cj denote the completion time of job j . If a job j is processed in-house, then Cj is the time it completes processing, but if it is subcontracted, then Cj is the time when it is delivered to the in-house facility after being processing by the subcontractor. We consider three performance measures based on C1 , . . . , Cn as follows: • Total completion time of the jobs, nj=1 Cj • Maximum lateness of the jobs, Lmax = max{Cj − dj |j = 1, . . . , n} • Number of late jobs, nj=1 Uj , where Uj = 1 if Cj > dj and 0 otherwise For ease of presentation, we call the problem of minimizing the sum of the total subcontracting and transportation cost and each of the above completion time based performance measures the total completion time problem, the maximum lateness problem, and the number of late jobs problem, respectively. Qi (2008) shows that for the total completion time problem, there exists an optimal solution where both the jobs kept in-house and the jobs subcontracted out are processed in their SPT order on the respective machine. Based on this, he gives an O(n4 ) dynamic programming algorithm to solve the total completion time problem. This algorithm is described below. Algorithm DP-CT Initialization Reindex jobs in SPT order, i.e., p1 ≤ · · · ≤ pn . Value Function F (j, m, h, h ) = the minimum objective value of a schedule for jobs j, . . . , n where (a) there are m jobs kept for in-house processing (and hence n − j + 1 − m jobs subcontracted), (b) among these jobs, the earliest one subcontracted is in a batch where there will be a total of h jobs in the end, but there are currently h (h ≤ h) jobs. Boundary Conditions F (n, 0, h, 1) = K + hpn + τ , for h = 1, . . . , n. F (n, 0, h, h ) = ∞, for h = 1. F (j, m, 0, 0) = ∞ if m = n − j + 1, and ni=j (n − i + 1)pi if m = n − j + 1. Recurrence Relation For j = n, . . . , 1, m = 0, . . . , n − j + 1, h = 1, . . . , n − j + 1 − m, and h = 1, . . . , h: If h = 1, then
F (j, m, h, 1) = min
F (j + 1, m − 1, h, 1) + mpj , (n − j − m + h)αpj + τ + βpj + K + minv≤n−j −m {F (j + 1, m, v, v)}.
If h > 1, then
F (j, m, h, h ) = min
F (j + 1, m − 1, h, h ) + mpj , (n − j + 1 − m + h − h )αpj + τ + βpj + F (j + 1, m, h, h − 1)}.
286
6 Joint Subcontracting and Scheduling Decisions
Optimal Solution Value The optimal solution value is found by solving the following problem: min{F (1, m, h, h)|m = 0, 1, . . . , n; h = 0, 1, . . . , n − m}. The optimality of the above algorithm can be validated by checking the recurrence relation. There are two options for job j : Either it is subcontracted out, or it is processed in-house. First, consider the case when h = 1. If job j is processed inhouse, then the value of the state (j, m, h, 1) is equal to F (j +1, m−1, h, 1)+mpj . If job j is subcontracted out, then job j is the first one in the batch containing it. In this case, the value of the state (j, m, h, 1) is equal to (n−j −m+h)αpj +τ +βpj + K +minv≤n−j −m {F (j +1, m, v, v)}, where the last part (the min operator) considers all possible sizes (v) for the delivery batch that follows the batch containing job j . The recurrence relation chooses the lower cost one of these two options. This shows the validity of the recurrence relation when h = 1. When h > 1, the recurrence relation again considers the two options for job j and can similarly be shown to be valid. Both the maximum lateness problem and the number of late jobs problem are at least ordinarily N P -hard because under the special case with no subcontracting cost (i.e., β = 0) and no delivery requirement for the subcontracted jobs (i.e., τ = 0, K = 0), these problems reduce to the classical parallel-machine scheduling problem of minimizing the maximum lateness Pm ||Lmax , and that of minimizing the number of late jobs Pm || Uj , respectively, which are both known to be ordinarily N P -hard (Pinedo, 2016). Qi (2008) provides pseudo-polynomial time algorithms for solving these problems. Therefore, these problems are ordinarily NP -hard. Below we present the pseudo-polynomial time algorithms of Qi (2008) for these problems. Their algorithms are based on the following straightforward properties: (i) For the maximum lateness problem, there exists an optimal solution in which both the jobs kept in-house and the jobs subcontracted are processed in their EDD order on the respective machine; (ii) for the number of late jobs problem, there exists an optimal solution where the jobs subcontracted are all on time and scheduled in their EDD order, and among the jobs that are kept in-house, the ones that are on time are processed in their EDD order before the ones that are tardy. For the maximum lateness problem, the algorithm is as follows. Algorithm DP-ML Initialization Reindex the jobs in EDD order, i.e., d1 ≤ . . . ≤ dn . Define Pj = j k=1 pj for j = 1, . . . , n, and let P = Pn . Value Function F (j, x, h, t) = the minimum maximum lateness of the jobs in a schedule for jobs 1, . . . , j where (a) the total processing time of the subcontracted jobs is αx, (b) among the jobs 1, . . . , j , the last one subcontracted is in the hth batch when it is delivered from the subcontractor to the in-house plant, and (c) the hth batch is completed on the subcontractor’s machine at time αt.
6.6 Problems Requiring Delivery of Subcontracted Jobs
287
Boundary Conditions ⎧ if x = 0, h = 0, t = 0, ⎨ p1 − d1 , F (1, x, h, t) = αt + τ − d1 , if x = p1 , h = 1, t ≥ p1 , ⎩ ∞, otherwise. Recurrence Relation For j = 1, . . . , n, x = 0, 1, . . . , Pj , h = 0, 1, . . . , j , and t = x, x + 1, . . . , P : F (j, x, h, t) = min{F1 (j, x, h, t), F2 (j, x, h, t)}, where F1 (j, x, h, t) = max{F (j − 1, x, h, t), Pj − x − dj }
αt + τ − dj , F2 (j, x, h, t) = max min{F (j − 1, x − pj , h − 1, x − pj ), F (j − 1, x − pj , h, t)}
Optimal Solution Value The optimal solution value is found by solving the following problem: min{F (n, x, h, x) + βx + hK|x = 0, 1, . . . , P ; h = 0, 1, . . . , n}. In the recurrence relation of the above algorithm, F1 (j, x, y, t) is the value of the state (j, x, y, t) if job j is subcontracted out, and F2 (j, x, y, t) is that if job j is processed in-house. The recurrence relation for F1 is quite clear. For F2 , the second term (i.e., the term with the min operator) considers the two possibilities for the job j : It is either the first job in the hth batch of the subcontracted jobs, or not. The optimality of the algorithm is based on comparing the values of all feasible state transitions. For the number of late jobs problem, the algorithm is as follows. Algorithm DP-LJ Initialization Reindex the jobs in EDD order, i.e., d1 ≤ . . . ≤ dn . Define Pj = j k=1 pj for j = 1, . . . , n, and let P = Pn . Value Function F (j, x, y, t) = the minimum objective value of a schedule for jobs 1, . . . , j where (a) the total processing time of the subcontracted jobs is αx, (b) the total processing time of the jobs processed in-house that are on time is y, and (c) the last batch that contains at least one of the jobs 1, . . . , j is completed on the subcontractor’s machine at time αt.
288
6 Joint Subcontracting and Scheduling Decisions
Boundary Conditions ⎧ ⎪ ⎪ 0, ⎨ K, F (1, x, y, t) = ⎪ 1, ⎪ ⎩ ∞,
if x = 0, y = p1 , p1 ≤ d1 , if x = p1 , y = 0, t + τ ≤ d1 , if x = 0, y = 0, otherwise.
Recurrence Relation For j = 1, . . . , n, x = 0, 1, . . . , Pj , y = 0, 1, . . . , Pj − x, and t = x, x + 1, . . . , P : F (j, x, y, t) = min{F1 (j, x, y, t), F2 (j, x, y, t), F3 (j, x, y, t)}, where
F1 (j, x, y, t) =
min{F (j − 1, x − pj , y, t), F (j − 1, x − pj , y, x − pj ) + K},
F2 (j, x, y, t) =
∞,
∞, F (j − 1, x, y − pj , t),
if t + τ > dj , if t + τ ≤ dj .
if y > dj , if y ≤ dj .
F3 (j, x, y, t) = F (j − 1, x, y, t) + 1.
Optimal Solution Value The optimal solution value is found by solving the following problem: min{F (n, x, y, x)|x = 0, 1, . . . , P ; y = 0, 1, . . . , P − x}. In the recurrence relation of the above algorithm, F1 (j, x, y, t) is the value of the state (j, x, y, t) if job j is subcontracted out, F2 (j, x, y, t) is that if job j is processed in-house and on time, and F3 (j, x, y, t) is that if job j is processed inhouse and tardy. The optimality of the algorithm follows from comparing the values of all feasible state transitions. We note that a Stackelberg game, which consists of a subcontractor as the leader and a manufacturer as the follower and is built on a problem similar to the ones discussed above, is studied in Qi (2012) and discussed in Sect. 9.3.2. In this game, first the subcontractor sets the unit price β for processing the manufacturer’s jobs. Then, the manufacturer decides which jobs to subcontract, as well as a schedule for processing the jobs kept in-house, and a schedule for processing the subcontracted jobs on the subcontractor’s machine.
6.6 Problems Requiring Delivery of Subcontracted Jobs
289
6.6.2 Two-Stage Flowshop In this section, we discuss two problems studied by Qi (2011). Both problems involve scheduling with subcontracting options in a two-stage flowshop environment. The subcontracting mechanism is different from that in the flowshop problem discussed in Sect. 6.5. To subcontract a job, both stage-one and stage-two operations of the job must be subcontracted out together. In the first problem of Qi (2011), there is a single subcontractor that handles both operations of every subcontracted job, whereas in the second problem of Qi (2011) there are two independent subcontractors, each dealing with one operation of each subcontracted job. We define each of these problems and show how it can be solved below, respectively. We consider the first problem. There are n jobs, each of which consists of two operations. For each job j , the processing time of its stage-one operation is pj , and that of its stage-two operation is qj . There are two in-house machines, one for stage-one operations, and the other for stage-two operations. There is a single subcontractor available that also has two machines, one for stage-one operations, and the other for stage-two operations. If a job is subcontracted out, both of its operations must be processed by the subcontractor. The processing time of an operation remains the same whether it is processed in-house or by the subcontractor. Subcontracted jobs, once completed, need to be delivered to the in-house facility in batches. Each batch can deliver any number of jobs and incurs a fixed delivery cost μ, and a fixed transportation time τ . The in-house production cost of an operation may differ from the subcontracting cost of the same operation. It is assumed that for each job j , the difference between the subcontracting cost of the job’s stage-one operation and the in-house production cost of the same operation is proportional to its processing time, i.e., α1 pj , where α1 is identical for all the jobs. Similarly, it is assumed that, for each job j , the difference between the subcontracting cost of the job’s stage-two operation and the in-house production cost of the same operation is α2 pj , where α2 is identical for all the jobs. Here α1 , α2 can be negative if the subcontracting cost is lower. The problem is to find a subset of jobs to subcontract out, a schedule for the jobs kept for in-house processing, a schedule for the jobs subcontracted out, and a delivery schedule for the subcontracted jobs from the subcontractor to the inhouse facility, so as to minimize the sum of the makespan of the jobs and the total subcontracting and delivery cost. This problem is ordinarily NP -hard because it contains the NP -hard classical parallel-machine scheduling problem P2 ||Cmax as a special case when the secondstage operations all have a zero processing time, and the transportation time from the subcontractor to the in-house facility τ is 0. To solve this problem, we first observe that all the subcontracted jobs are delivered together in one batch at the time when all these jobs are completed by the subcontractor. Thus, the delivery cost is fixed as μ and independent of how other decisions are made. In the discussion below for this problem, we do not consider
290
6 Joint Subcontracting and Scheduling Decisions
delivery cost. Qi (2011) proposes a pseudo-polynomial time dynamic programming algorithm for solving this problem. We describe that algorithm below. Algorithm DP-FS1 Initialization Reindex the jobs following Johnson’s rule (see Sect. 5.2.1). Define j j Pj = k=1 pj and Qj = k=1 qj for j = 1, . . . , n, and let P = Pn and Q = Qn . Value Function F (j, x, y, z) = the minimum makespan of the jobs processed inhouse in a schedule for jobs 1, . . . , j where (a) the total processing time of the stage-one operations of the subcontracted jobs is x (hence that of the jobs processed in-house is Pj − x), (b) the total processing time of the stage-two operations of the subcontracted jobs is y, and (c) the makespan of the jobs processed by the subcontractor is no more than z. Boundary Conditions F (0, 0, 0, z) = 0, for z = 0, 1, . . . , P + Q, F (0, x, y, z) = ∞ for x > 0 or y > 0. Recurrence Relation For j = 1, . . . , n, x = 0, 1, . . . , Pj , y = 0, 1, . . . , Qj , and z = max(x, y), max(x, y) + 1, . . . , x + y: F (j, x, y, z) = min{F1 (j, x, y, z), F2 (j, x, y, z)}, where F1 (j, x, y, z) = max{F (j − 1, x, y, z), Pj − x} + qj , & ∞, if x + qj > z, F2 (j, x, y, t) = F (j − 1, x − pj , y − qj , z − qj ), if x + qj ≤ z. Optimal Solution Value min {α1 x + α2 y + max{F (n, x, y, z), z + τ } | x = 0, 1, . . . , P ; y = 0, 1, . . . , Q; z = max(x, y), . . . , x + y} . In the recurrence relation of the above algorithm, F1 (j, x, y, z) and F2 (j, x, y, z) are the value of the state (j, x, y, z) if job j is processed in-house and if job j is subcontracted out, respectively. The recurrence relation for F1 (j, x, y, z) is quite straightforward. For F2 (j, x, y, z), if x + qj > z, then the completion time of the second-stage operation of job j , which defines the makespan of the subcontracted j jobs among the first j jobs (denoted as Cmax ) would be more than z, a contradiction. j j −1 j −1 Since Cmax = max{x, Cmax }+qj , where Cmax is the makespan of the subcontracted j −1 j jobs among the first j − 1 jobs, if x + qj ≤ z and Cmax + qj ≤ z, then Cmax ≤ z. This shows the validity of the recurrence relation for F2 (j, x, y, z).
6.6 Problems Requiring Delivery of Subcontracted Jobs
291
Qi (2011) also considers a special case of this problem where no subcontracting cost is considered. A simplified version of Algorithm DP-FS1 can be used to solve this problem. Since the subcontracting cost is not considered, we do not need to keep track of the total processing time of the second-stage operations of the subcontracted jobs, i.e., we can drop the y variable from each state in the algorithm. The same recurrence relations apply. We now consider the second problem studied by Qi (2011). It is the same as the first problem discussed above, except that now there are two subcontractors, denoted as S1 and S2, respectively, that handle subcontracted jobs sequentially such that S1 processes the stage-one operations and S2 processes the stage-two operations of subcontracted jobs, and all the jobs completed at S1 are delivered together in one batch to S2. The transportation time from S1 to S2 is τ1 . Completed jobs at S2 are shipped to the in-house facility in batches, where each delivery batch incurs a transportation time τ2 . This problem is at least ordinarily NP -hard because it is more general than the first problem. Also, as in the first problem, we observe that there exists an optimal solution where all the completed jobs at S2 are delivered together in one batch. Hence, the total delivery cost is fixed and independent of how other decisions are made. In the discussion below for this problem, we do not consider delivery cost. Finally, by the requirement in the problem that all the jobs completed at S1 are delivered together to S2 in one batch, we can see that (i) an arbitrary schedule can be used for the jobs processed at S1 and those processed at S2, and (ii) the makespan of the subcontracted jobs is simply the sum of the total processing time of the two operations together of the subcontracted jobs, and the total transportation delay, i.e., τ1 + τ2 . Qi (2011) proposes a pseudo-polynomial time dynamic programming algorithm for solving this problem. We describe that algorithm below. Algorithm DP-FS2 Initialization Reindex jobs following Johnson’s rule (see Sect. 5.2.1). Define Pj = j j k=1 pj and Qj = k=1 qj for j = 1, . . . , n, and let P = Pn and Q = Qn . Value Function F (j, x, y) = the minimum makespan of the jobs processed in-house in a schedule for jobs 1, . . . , j where (i) the total processing time of the stageone operations of the subcontracted jobs is x (and hence that of the in-house jobs is Pj − x), and (ii) the total processing time of the stage-two operations of the subcontracted jobs is y. Boundary Conditions F (0, 0, 0) = 0; F (0, x, y) = ∞ for x, y > 0; F (j, x, y) = ∞ for j = 1, . . . , n, and x, y < 0. Recurrence Relation For j = 1, . . . , n, x = 0, 1, . . . , Pj , and y = 0, 1, . . . , Qj : & F (j, x, y) = min
F (j − 1, x − pj , y − qj ), max{F (j − 1, x, y), Pj − x} + qj .
292
6 Joint Subcontracting and Scheduling Decisions
Optimal Solution Value min α1 x+α2 y+max{F (n, x, y), x+y+τ1 +τ2 }|x = 0, 1, . . . , P ; y = 0, 1, . . . , Q . The recurrence relation in the above algorithm considers two cases of job j : (1) it is subcontracted out, and in this case, F (j, x, y) = F (j − 1, x − pj , y − qj ), (2) it is processed in-house, and in this case the completion time of job j (which is defined as F (j, x, y)) is max{F (j − 1, x, y), Pj − x} + qj . This shows the validity of the recurrence relation.
6.7 Problems with a More Complex Subcontracting Cost Structure In all the problems discussed in the previous sections, it is assumed that the subcontracting cost of a job is independent of the total subcontracted workload. However, in practice, due to fixed overhead and necessary setups, production costs often exhibit economies of scale. This means that the higher the volume a subcontractor handles, the lower the unit production cost is for the subcontractor. Hence, a subcontractor may be willing to lower the subcontracting cost of a job if the partnering manufacturer can subcontract a larger amount of work to the subcontractor. Discount schemes like this are called quantity discounts, and studied extensively in the inventory management and lot-sizing literature (e.g., Pereira & Costa, 2015 and Munson & Jackson, 2015). In this section, we consider several JSS problems with a quantity discount scheme applied to the subcontracting cost. These problems are studied by Lu et al. (2021). Below, we first describe these problems and summarize the results derived by Lu et al. (2021) in Sect. 6.7.1, followed by an in-depth analysis of two problems in Sect. 6.7.2.
6.7.1 Problem Description A manufacturer receives a set of n jobs N = {1, . . . , n}. Each job is processed either on a single machine available in-house at the manufacturer or subcontracted to a subcontractor. Each job j ∈ N is associated with a release time rj , a processing time pj if it is processed in-house, and an original subcontracting cost ej if it is processed by the subcontractor. Let S ⊆ N be the set of subcontracted jobs, and Q(S) = j ∈S ej be the total original subcontracting cost. Based on the value of Q(S), the subcontractor applies a quantity discount scheme to determine the actual total subcontracting cost for the manufacturer. Consequently, the actual total subcontracting cost is a function of Q(S), denoted as f (Q(S)). The manufacturer
6.7 Problems with a More Complex Subcontracting Cost Structure
293
needs to determine a subset of jobs S to be subcontracted such that the sum of the makespan of the in-house jobs, denoted as Cmax (N \S), and the total subcontracting cost f (Q(S)) is minimized. Lu et al. (2021) consider four quantity discount schemes, all representable by a piece-wise linear subcontracting cost function f (Q(S)). The basic idea of all these discount schemes is the same: The domain for the total original subcontracting cost is divided into m (m ≤ n) disjoint intervals [W0 , W1 ), [W1 , W2 ), . . . , [Wm−1 , Wm ), where W0 = 0 and Wm = ∞, such that the discount applied increases over these intervals, i.e., the larger the total original subcontracting cost Q(S), the larger the discount the manufacturer receives. These discount schemes differ in the functional form of the discount applied. Below we describe the discount function as well as the actual subcontracting cost f (Q(S)) under each discount scheme. • Under every discount scheme, if Q(S) ∈ [W0 , W1 ), there is no discount, i.e., f (Q(S)) = Q(S). • Discount scheme (i): If Q(S) ∈ [Wk , Wk−1 ) for some k ∈ {1, . . . , m − 1}, the discount offered is a constant αk such that f (Q(S)) = Q(S) − αk , where α1 < α2 < · · · < αm−1 . • Discount scheme (ii): If Q(S) ∈ [Wk , Wk−1 ) for some k ∈ {1, . . . , m − 1}, the discount offered is a linear function Q(S) − βk such that f (Q(S)) = Q(S) − (Q(S) − βk ) = βk , where β1 < β2 < · · · < βm−1 are constants. • Discount scheme (iii): If Q(S) ∈ [Wk , Wk−1 ) for some k ∈ {1, . . . , m − 1}, the discount offered is a linear function (1 − γk )Q(S) such that f (Q(S)) = Q(S) − (1 − γk )Q(S) = γk Q(S), where 1 > γ1 > γ2 > · · · > γm−1 > 0 are constants. • Discount scheme (iv): If Q(S) ∈ [Wk , Wk−1 ) for some k ∈ {1, . . . , m − 1}, the discount offered is a complex linear function such that f (Q(S)) = W1 +θ1 (W2 − W1 ) + · · · + θk−1 (Wk − Wk−1 ) + θk (Q(S) − Wk ), where 1 > θ1 > θ2 > · · · > θm−1 > 0 are constants. It can be seen that under the discount schemes (ii), (iii), and (iv), f (Q(S)) is a stepwise function, all-unit discount function, and an incremental discount function, over the domain [W1 , Wm ), respectively. To illustrate, we give a numerical example of each discount scheme as follows. Example 6.4 (Discount Schemes) Suppose that the domain of Q(S) is divided into 3 intervals, [0, 100), [100, 200), [200, ∞), i.e., W1 = 100, W2 = 200, and W3 = ∞. Let α1 = 10, α2 = 30. Then under discount scheme (i), we have ⎧ if Q(S) ∈ [0, 100), ⎨ Q(S), f (Q(S)) = Q(S) − 10, if Q(S) ∈ [100, 200), ⎩ Q(S) − 30, if Q(S) ∈ [200, ∞).
294
6 Joint Subcontracting and Scheduling Decisions
Let β1 = 100, β2 = 200. Then, under discount scheme (ii), we have ⎧ ⎨ Q(S), if Q(S) ∈ [0, 100), f (Q(S)) = 100, if Q(S) ∈ [100, 200), ⎩ 200, if Q(S) ∈ [200, ∞). Let γ1 = 0.8, γ2 = 0.6. Then, under discount scheme (iii), we have ⎧ if Q(S) ∈ [0, 100), ⎨ Q(S), f (Q(S)) = 0.8Q(S), if Q(S) ∈ [100, 200), ⎩ 0.6Q(S), if Q(S) ∈ [200, ∞). Let θ1 = 0.8, θ2 = 0.6. Then, under discount scheme (iv), we have ⎧ if Q(S) ∈ [0, 100), ⎨ Q(S), f (Q(S)) = 100 + 0.8(Q(S) − 100), if Q(S) ∈ [100, 200), ⎩ 100 + 0.8(100) + 0.6(Q(S) − 200), if Q(S) ∈ [200, ∞). Lu et al. (2021) consider both the general problem where the jobs have different release times rj , denoted as 1|rj |Cmax (N \ S) + f (Q(S)), and the special case where all the jobs have the same release time (or equivalently, rj = 0 for j ∈ N ), denoted as 1||Cmax (N \ S) + f (Q(S)), under each of the four discount schemes. They show that (1) both problems 1||Cmax (N \ S) + f (Q(S)) and 1|rj |Cmax (N \ S)+f (Q(S)) under the discount scheme (i), (ii), or (iii) are ordinarily NP -hard; (2) problem 1||Cmax (N \ S) + f (Q(S)) under the discount scheme (iv) is polynomially solvable, whereas problem 1|rj |Cmax (N \ S) + f (Q(S)) under the discount scheme (iv) is ordinarily NP -hard. In addition, they provide a polynomial time heuristic for problem 1|rj |Cmax (N \ S) + f (Q(S)) under the discount scheme (iv) with a tight worst-case performance ratio of 2. In the following subsection, we provide an in-depth analysis of the two problems under the discount scheme (iv).
6.7.2 Analysis of Problems with Incremental Discount In this section we analyze problems 1||Cmax (N \ S) + f (Q(S)) and 1|rj |Cmax (N \ S) + f (Q(S)) under the incremental discount scheme, i.e., discount scheme (iv). Lemma 6.5 There is an optimal solution for problem 1||Cmax (N \ S) + f (Q(S)) with the incremental discount scheme in which any subcontracted job u ∈ S and any job processed in-house v ∈ N \ S must satisfy pu /eu ≥ pv /ev . Proof We prove the lemma by contradiction. Given an optimal solution π ∗ , suppose that there are two jobs in this solution, u ∈ S and v ∈ N \ S satisfy pu /eu < pv /ev .
6.7 Problems with a More Complex Subcontracting Cost Structure
295
Suppose that Q(S) = j ∈S ej ∈ [Wk , Wk+1 ) for some k ∈ {0, . . . , m − 1}. Let θ0 = 1. First, consider another solution π1 where job u is processed in-house whereas the status of every other job is the same as in π ∗ . Compared to π ∗ , in π1 the makespan of the in-house jobs is pu units longer, but the subcontracting cost is at least θk eu units lower because of the incremental discount scheme. Thus, the objective function of π1 is higher than that of π ∗ by at most pu −θk eu . Since π ∗ is optimal, pu −θk eu ≥ 0, which implies that θk ≤ pu /eu . Since pu /eu < pv /ev , we have θk < pv /ev .
(6.31)
Next, consider another solution π2 where job v is subcontracted whereas the status of every other job is the same as in π ∗ . Compared to π ∗ , in π2 the makespan of the in-house jobs is pv units shorter, but the subcontracting cost is at most θk ev units higher because of the incremental discount scheme. Thus, the objective function of π2 is higher than that of π ∗ by at most θk ev −pv . Since π ∗ is optimal, θk ev −pv ≥ 0, which implies that θk ≥ pv /ev , which is a contradiction with (6.31). Thus, the condition that pu /eu < pv /ev does not hold. Reindex the jobs such that p1 /e1 ≥ · · · ≥ pn /en . Lemma 6.5 implies that there exists an optimal solution to problem 1||Cmax (N \S)+f (Q(S)) with the incremental discount scheme, in which, for some h ∈ {0, 1, . . . , n}, the first h jobs 1, . . . , h are subcontracted and the remaining jobs are processed in-house. Based on this observation, we can solve this problem by the following algorithm, which has a time complexity of O(n log n). Algorithm A6.7.1 n Step 1: Reindex the jobs such that p1 /e1 ≥ · · · ≥ pn /en . Let P0 = j =1 pj , E0 = 0, and Z0 = P0 . Step 2: For j = 1, . . . , n, compute Pj = Pj −1 − pj , and Ej = Ej −1 + ej , and Zj = Pj + f (Ej ). Step 3: Find h = arg min{Zj | j = 0, 1, . . . , n}. Let S = ∅ if h = 0, and S = {1, . . . , h} otherwise. [An optimal solution is found where the jobs in S are subcontracted and the rest are processed in-house. The optimal objective value is Zh .] Next, we consider problem 1|rj |Cmax (N \ S) + f (Q(S)) with the incremental discount scheme. Consider a special case of this problem with m = 1, i.e., f (Q(S)) = Q(S) over the entire domain of Q(S). There is no discount on the subcontracting cost. If a job j is subcontracted, its contribution to the total subcontracting cost is ej . This special case of the problemis equivalent to the scheduling problem with rejection, denoted as 1|rj |Cmax + j ∈R wj , where jobs have generally different release times and can be rejected with a penalty wj = ej and the objective is to minimize the makespan of the accepted jobs and the total penalty of the rejected jobs (whose job set is denoted as R). This problem is known to be N P -hard (Zhang et al., 2009). Thus, our problem 1|rj |Cmax (N \S)+f (Q(S)) with the incremental discount scheme is NP -hard. Below we give a pseudo-
296
6 Joint Subcontracting and Scheduling Decisions
polynomial time dynamic programming algorithm for solving this problem, which implies that this problem is ordinarily NP -hard. The algorithm is based on the straightforward property that the jobs processed inhouse are scheduled by earliest release times first (ERT) rule in an optimal solution. By this property, the algorithm considers the jobs in ERT order, and for each job, decides whether to subcontract it or process it in-house. Algorithm A6.7.2 Initialization Reindex the jobs following the ERT rule, i.e, r1 ≤ · · · ≤ rn . Value Function F (j, Q) = the minimum makespan of the jobs processed in-house in a solution for jobs 1, . . . , j , where the total original subcontracting cost, without discount, of the subcontracted jobs is Q. Boundary Conditions F (0, 0) = 0; F (0, Q) = ∞ for Q > 0. Recurrence Relation For j = 1, . . . , n, Q = 0, 1, . . . ,
n
j =1 ej :
F (j, Q) = min max{F (j − 1, Q), rj } + pj , F (j − 1, Q − ej ) . Optimal Solution Value min{F (n, Q) + f (Q) | 0 ≤ Q ≤
n
ej }.
j =1
The recurrence relation of the above algorithm considers both the case with job j processed in-house, under which the makespan of the schedule is max{F (j − 1, Q), rj } + pj , and the case with job j subcontracted, under which the makespan of the schedule is F (j − 1, Q − ej ). The time complexity of this algorithm is O(n j ∈N ej ). Finally, we give a polynomial time heuristic for problem 1|rj |Cmax (N \ S) + f (Q(S)) with the incremental discount scheme and analyze its worst-case performance. For ease of presentation, we refer to this problem as the original problem. The idea of the heuristic is to solve n auxiliary problems of the original problem and choose one of the resulting solutions with the lowest objective value as the solution to the original problem. We first define these auxiliary problems, denoted as AP1 , . . . , APn . Reindex the jobs such that r1 ≤ · · · ≤ rn and ej ≥ ej +1 in case rj = rj +1 for every such j . For l = 1, . . . , n, auxiliary problem APl is the original problem with the following two additional constraints: • Job l is the job with the largest index that is processed in-house, which means that all the jobs in Vl = {l + 1, . . . , n} are subcontracted. • The jobs processed in-house (which consist of a subset of the first l − 1 jobs and job l) must start at time rl consecutively without any idle time.
6.7 Problems with a More Complex Subcontracting Cost Structure
297
Problem APl is to find a subset of jobs Ul ⊆ {1, . . . , l − 1} such that the jobs in Sl = Ul ∪ Vl are subcontracted and the jobs in N \ Sl are processed in-house. It is not difficult to see that Lemma 6.5 holds for every auxiliary problem APl , for l = 1, . . . , n. This means that if we reindex the jobs in {1, . . . , l −1} as [1], . . . , [l − 1] such that p[1] /e[1] ≥ · · · ≥ p[l−1] /e[l−1] , then there exists an optimal solution to problem APl where jobs [1], . . . , [h], for some 0 ≤ h ≤ l − 1, are subcontracted and the remaining jobs are processed in-house. We can thus solve every problem APl with fixed l, for l = 1, . . . , n, by a slightly modified version of Algorithm A6.7.1. It is described below. This is used as a subroutine for Heuristic H6.7.4 below. Algorithm A6.7.3 Step 1: Let Vl = {l + 1, . . . , n}. Let P0 = rl + lj =1 pj , E0 = j ∈Vl ej , and Z0 = P0 + f (E0 ). Reindex the jobs in {1, . . . , l − 1} as [1], . . . , [l − 1] such that p[1] /e[1] ≥ · · · ≥ p[l−1] /e[l−1] . Step 2: For j = 1, . . . , l − 1, compute Pj = Pj −1 − p[j ] , Ej = Ej −1 + e[j ] , and Zj = Pj + f (Ej ). Step 3: Find h = arg min{Zj | j = 0, 1, . . . , l − 1}. Let Ul = ∅ if h = 0, and Ul = {[1], . . . , [h]} otherwise. [An optimal solution is found for problem APl where the jobs in Ul ∪ Vl are subcontracted and the rest are processed in-house. The optimal objective value is Zh .] The time complexity of the above algorithm is O((l − 1) log(l − 1)). We now describe the heuristic for the original problem, 1|rj |Cmax (N \ S) + f (Q(S)) with the incremental discount scheme. Heuristic H6.7.4 Step 1: Reindex the jobs such that r1 ≤ · · · ≤ rn , and ej ≥ ej +1 in case rj = rj +1 for every such j . Step 2: Create solution σ0 in which all the n jobs are subcontracted. Step 3: For l = 1, . . . , n, solve auxiliary problem APl using Algorithm A6.7.3. Let σl be the solution. Step 4: Among the solutions generated, σ0 , . . . , σn , choose one with the lowest objective value as the final solution. Theorem 6.11 Heuristic H6.7.4 generates a solution for problem 1|rj |Cmax (N \ S) + f (Q(S)) with the incremental discount scheme with a tight worst-case ratio of 2 in O(n2 log n) time. Proof First, since the heuristic applies Algorithm A6.7.3 n times, and the lth time when this algorithm is applied, its running time is O((l−1) log(l−1)), the total time taken by Step 3 of the heuristic is thus O(n2 log n). The other steps of the heuristic together take less than this time. Thus, the overall time complexity of the heuristic is O(n2 log n). Next, we analyze the worst-case performance of the heuristic. Reindex the jobs such that r1 ≤ · · · ≤ rn , and ej ≥ ej +1 in case rj = rj +1 for every such j . Let π ∗ be an optimal solution of the problem, and σ ∗ be the solution generated by the
298
6 Joint Subcontracting and Scheduling Decisions
heuristic. We denote the objective value of any feasible solution η as Z(η). If no job is processed in-house in π ∗ , then σ0 has the same objective value as π ∗ , which implies that the solution generated by the heuristic, σ ∗ , is optimal, i.e., Z(σ ∗ ) = Z(π ∗ ). Suppose that in π ∗ , job u is the largest indexed job processed in-house. This means that all the jobs u+1, . . . , n and possibly a subset of the jobs in {1, . . . , u−1} are subcontracted. We create a new solution π based on π ∗ as follows: π has the same set of jobs subcontracted and the same set of jobs processed in-house with the same sequence as in π ∗ , but shifts the schedule of the jobs processed in-house later such that the first job starts exactly at time ru . Clearly, solution π is feasible for auxiliary problem Pu . Thus, Z(π ) ≥ Z(σ ∗ ). Furthermore, the way π is constructed implies that Z(π ) ≤ ru +Z(π ∗ ) ≤ 2Z(π ∗ ). Therefore, Z(σ ∗ ) ≤ 2Z(π ∗ ), meaning that the worst-case ratio of the heuristic is bounded above by 2. Next, we show that the worst-case bound of 2 is tight. Consider an instance where there are two jobs, with r1 = 0, p1 = 1, e1 = 3 and r2 = 1, p2 = 0, e2 = 3. The subcontracting cost function f (Q) = Q for any Q ≥ 0. For this instance, the following solution is optimal: Process all jobs in-house with job 1 processed in interval [0, 1] and job 2 at time point 1. This solution has an objective value 1. Using the heuristic, three solutions are generated: (1) σ0 which subcontracts all the jobs, and hence has an objective value 6, (2) σ1 which subcontracts job 2 and processes job 1 in-house with starting time 0, and hence has an objective value 4, and (3) σ2 which processes both jobs in-house with starting time 1, and hence has an objective value 2. Thus, solution σ2 is chosen as the final solution to this instance with an objective value 2. This implies that the performance bound of the heuristic for this instance is exactly 2. In addition to the results presented here, Lu et al. (2021) also provide an FPTAS for problem 1|rj |Cmax (N \ S) + f (Q(S)) with the incremental discount scheme.
6.8 Future Research Most existing research on joint subcontracting and scheduling problems that we are aware of has made quite restrictive assumptions, including, (i) Any job can be subcontracted if necessary. (ii) A subcontractor has an unlimited capacity such that it can process as many jobs as assigned to it and still guarantee a promised lead time for each job, or there is only a single machine available at a subcontractor. (iii) The subcontracting cost rate per unit processing time is a constant, independent of the total subcontracted amount, or the subcontracting cost for a subcontracted job is fixed, independent of the other subcontracted jobs. (iv) There is a fixed number of machines in-house and all these machines can be used to process jobs without incurring any fixed cost for using a machine or treating the fixed cost as a sunk cost.
6.8 Future Research
299
However, these assumptions may not be valid in some practical settings. Below, we discuss several situations where these assumptions may not hold, and possible new problems that can be studied when these assumptions are relaxed. • In practice, some jobs may have precedence constraints because of inherent characteristics of the jobs (Pinedo, 2016). For example, suppose jobs 1 and 2 are two sequential production steps (or service procedures) applied to a given component (or customer). Clearly, job 1 needs to be processed first before job 2, and because they deal with the same component, either both jobs are subcontracted or both jobs are processed in-house. In such a case, assumption (i) above is not valid. To reflect the example given here, we can replace this assumption by the following: There are subsets of jobs such that if one of the jobs in a subset is subcontracted, then all the jobs in this subset must be subcontracted together to the same subcontractor. It would be useful to study various problems with this new assumption. • In reality, every subcontractor has a capacity limit, and hence assumption (ii) above may not hold. A subcontractor may set lower and upper bounds on how much work it can take in from a manufacturer. For example, on one hand, a subcontractor may not want to process only one job for a manufacturer because it is not worth the fixed cost involved (such as paperwork, machine setup, and overhead). On the other hand, its limited capacity may allow it to accept at most 10 jobs or 10 h of work from a manufacturer. Furthermore, the lead time that a subcontractor can guarantee may depend on how much work it processes. Clearly, the corresponding problems with such practical capacity and lead time complications will be more complex to solve. • Because of economies of scale and fixed costs that are present, the unit production cost usually decreases with the production volume. Thus, a subcontractor may charge less per unit if a larger amount of work is subcontracted to it. In such a case, assumption (iii) above may not hold. A more practical problem then involves a subcontracting cost as a nonlinear function (e.g., nondecreasing concave function) of the total amount processed by a subcontractor. As discussed in Sect. 6.7, Lu et al. (2021) study some problems with such a subcontracting cost function. More research on such problems is needed. • The main reason why companies subcontract or outsource jobs is to lower investment cost for in-house production capacity. For example, a company can use fewer in-house machines by subcontracting more jobs, which can lower the cost for using the machines but increase the subcontracting cost. Hence, there is a tradeoff between the fixed cost for using a certain number of in-house machines and the subcontracting cost if some jobs are subcontracted out. Thus, assumption (iv) above may not hold. To examine such issues, we would need to consider problems where a fixed cost is incurred whenever an in-house machine is used, and part of the decision is the number of in-house machines to use. In addition to these possible directions for future research, there are several issues related to the specific problems studied in the previous sections of this chapter that need to be addressed.
300
6 Joint Subcontracting and Scheduling Decisions
• The majority of the problems studied in this chapter are NP -hard. Although pseudo-polynomial time algorithms are provided for many of these problems, there are few existing fast heuristics for these problems with a constant worstcase performance ratio. Thus, designing efficient heuristics with a theoretical performance guarantee for many of these problems is a future research direction. • We are not aware of any online joint subcontracting and scheduling problems studied in the existing literature. Hence, another future research direction is to investigate online versions of the problems studied in this chapter.
Part II
Decentralized Supply Chain Scheduling
Part II of the book consists of Chaps. 7 through 9 on decentralized supply chain scheduling problems. Chapter 7 presents some early foundational works on supply chain scheduling that use optimization techniques from classical scheduling. Typical results here include describing efficient algorithms, identifying the solvability boundary of various problems, evaluation of the cost of conflict when decision makers fail to coordinate their decisions, and evaluation of the benefit of cooperation when they do. Chapter 8 applies cooperative solution concepts to decentralized scheduling problems and addresses issues such as the stability of cooperation and how to divide the benefit of cooperation to ensure stability. Chapter 9 applies noncooperative solution concepts to study the existence of equilibria and their effect on the performance of an overall system. In scheduling systems where decision makers have private information, we investigate mechanisms that ensure truthful reporting of that information to a central planner, in some cases with the help of a payment or cost allocation scheme. In addition to covering a variety of supply chain scheduling applications, Chaps. 8 and 9 also include sufficient background to serve as an introduction to cooperative and noncooperative games, respectively.
Chapter 7
Optimization and Conflict
Abstract This chapter discusses decentralized supply chain scheduling applications and related models that use optimization methodology. We study four problems that have both a scheduling component and a second component that arises from the structure of the supply chain and the self-interest of the different parties. We discuss mathematical models to evaluate the cost of conflict experienced by one party when another party dominates the decision making process and also to evaluate the benefit of cooperation between the parties. Methods by which one party can compensate others, in order to achieve such cooperation, are also discussed.
7.1 Introduction This chapter presents four foundational works on optimization approaches to decentralized supply chain scheduling problems. They focus, respectively, on the following issues that fall within the scope of scheduling and related decisions in supply chains: 1. The coordination of schedule formation with the quantity and timing of batch deliveries 2. The coordination of the delivery schedules of parts suppliers with a manufacturer’s final assembly schedule 3. The coordination of a manufacturer’s production schedule and a downstream distributor’s delivery schedule 4. The coordination of sequences involving setup costs between consecutive stages of a supply chain Together, these issues and the related works we discuss illustrate the extensive variety of problems, issues, solution methods, and insights that arise within the optimization of supply chain scheduling problems. Chapter 8 studies similar issues using cooperative game theory. In Chap. 9, we examine how noncooperative game theory can be applied to these issues.
© Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_7
303
304
7 Optimization and Conflict
In decentralized supply chain scheduling, the overall performance of the supply chain is affected by the decisions of several self-interested parties. As a result, the performance achieved by those parties and by the overall supply chain depends not only on their own decisions but also on those of others. Two challenges that arise both naturally and frequently here are discussed within the context of the above four issues. The first challenge is avoiding conflict. Consider two decision making parties, A and B, in a supply chain. It may happen that A imposes on B a decision that restricts B’s options. This typically occurs for one of the two reasons. First, party A has greater decision making power in the supply chain than party B does. Second, the position of party A in the supply chain enables it to make decisions that arise earlier in the supply chain than those of party B. This restriction may reduce the best possible outcome achievable by B. This reduction is party B’s cost of conflict. We typically assume that the decision chosen by party A is optimal for its own problem, and those decisions are presented to party B as already given. This conflict arises frequently in the literature of supply chain management. However, we study it here within the context of scheduling problems. We discuss ways in which the cost of this conflict can be estimated, in various scheduling environments. These include a supplier that batches jobs for multiple manufacturers, an assembly supply chain, and supply chains consisting of either a manufacturer and a distributor or a supplier and a manufacturer. The second challenge is encouraging cooperation between the various parties, for the purpose of achieving an improved outcome for the entire supply chain. The base case for defining the benefit of cooperation is that each party in the supply chain makes its own self-interested decisions, either optimally or heuristically. Given these decisions, the resulting performance of the overall supply chain can be estimated. However, it is also possible that the various players cooperate to find a commonly agreed solution, and this solution may provide improved, perhaps even globally optimal, performance of the supply chain. The relative improvement in overall supply chain performance is the benefit of cooperation. A mechanism is needed to initiate this cooperation, and this mechanism naturally varies with the supply chain environment. For the supply chain scheduling environments described above, we assess the potential benefit of cooperation and identify practical incentives and methods within the scope of optimization for establishing cooperation. As we demonstrate in this chapter, both the cost of conflict and the benefit of cooperation are substantial in various supply chain scheduling environments. This chapter therefore studies the challenges of avoiding conflict and encouraging cooperation as they arise in supply chain scheduling problems. Differences among the four environments studied originate from varying characteristics of resources, jobs, costs, constraints, decisions that need to be made, and other specifications. As a result, there exists a rich literature that recommends a wide variety of algorithms and heuristic solution procedures for these problems, and the works presented here are central to this literature. For each supply chain environment studied, we discuss these solution procedures, which enables us to study the resulting conflict and cooperation issues that arise when self-interested but potentially cooperative parties use those solution procedures. An overview of this chapter now follows.
7.1 Introduction
305
Section 7.2 is based on the work of Hall and Potts (2003) on scheduling and batching problems. Several works motivate the study of supply chain scheduling and batching problems. Thomas and Griffin (1996) provide an extensive review and discussion of the literature of supply chain management. They emphasize that for many products, logistics expenditures can constitute over 30% of the cost of goods sold. Sarmiento and Nagi (1999) survey the literature of integrated production and distribution models. They motivate the importance of such models by pointing out that the modern trend toward reduced inventory levels creates the need for closer coordination between consecutive stages of a supply chain. This work is specifically motivated by their discussion of possible topics for future research. Hall et al. (2001) analyze a variety of problems with different machine environments where a set of available times, at which batches may be delivered, is fixed before the schedule is determined. The work of Hall and Potts (2003) considers a variety of scheduling, batching, and delivery problems that arise in an arborescent supply chain where a supplier makes deliveries to several manufacturers, who also make deliveries to customers. The objective is to minimize the overall scheduling and delivery cost, using several classical scheduling objectives to represent scheduling cost. This is achieved by scheduling jobs and forming them into batches, each of which is delivered to the next downstream stage as a single shipment. Optimal algorithms and limits to computational tractability are identified. It is shown that cooperation between a supplier and a manufacturer may reduce the total system cost substantially, but to an extent that depends on the scheduling objective. Incentives and practical mechanisms for achieving cooperation are also discussed. Section 7.3 is based on the work of Chen and Hall (2007) on scheduling in assembly systems. Reductions in inventory levels (Rajagopalan & Malhotra, 2001; Walts, 2020) motivate the need for closer coordination within supply chains. It is well known (Cachon, 2003; Chen, 2003) that cooperation between companies can improve efficiency. However, most supply chain cooperation models in the literature consider inventory control decisions. Within traditional supply chain management research, the literature that is most closely related to this work is on production and distribution systems with multiple stages. There are at least two previous studies of scheduling problems in assembly systems. Lee et al. (1993) consider the minimization of makespan in an assembly system with two suppliers and one manufacturer. They prove that this problem is intractable, provide an enumerative algorithm, and analyze special cases and heuristics. Potts et al. (1995) consider a more general problem with several suppliers and one manufacturer and describe heuristics with small worst-case error bounds. However, these works do not discuss conflict and cooperation between decision makers, which are the main focus of Sect. 7.3. Many electronics manufacturers, including Dell Computer, have adopted assemble-to-order production approaches (The Economist, 2001), where the coordination of suppliers’ production schedules with that of the manufacturer is critical. This is the environment we discuss. The work of Chen and Hall (2007) considers an assembly system with several suppliers and one manufacturer. Each supplier provides parts to the manufacturer. The manufacturer waits until all the parts for a job have arrived and then initiates a final stage of manufacturing. As is customary in assembly systems, different parts of
306
7 Optimization and Conflict
the same job can be processed simultaneously by different suppliers. The objective is to minimize the overall scheduling cost. The best schedule for the suppliers’ scheduling problem can be far from optimal for the corresponding manufacturer’s problem, and vice versa. Moreover, it may be the case that neither’s best schedule is close to optimal for the overall supply chain. Evaluating the cost of conflict and the benefit of cooperation under various definitions of cost requires the solution of various scheduling problems by the suppliers, the manufacturer, and the overall system. Efficient optimal algorithms or heuristics with guaranteed performance are provided. The cost saving realized by cooperation between the decision makers is significant in many cases. Section 7.4 is based on the work of Dawande et al. (2006), which considers tradeoffs between production cost and downstream costs in a supply chain consisting of a manufacturer and a distributor. The need for coordination between a manufacturer and a distributor arises in many practical situations. Chen and Vairaktarakis (2005) study an integrated scheduling model involving production and distribution operations, using an objective that considers both customer service level and distribution costs. This paper provides efficient algorithms, proofs of intractability, and heuristic analysis but does not explicitly model conflict and coordination issues in a manufacturing and distribution system. Specific practical situations that motivate the need for such coordination include perishable products where inventory immediately loses value and applications with significant setup costs when changing between the manufacture of different products. The work of Dawande et al. (2006) considers a supply chain where a manufacturer makes products that are shipped to customers by a distributor. Both the manufacturer and the distributor have an ideal schedule, determined by cost and capacity considerations. However, these two schedules are in general not well coordinated, which leads to poor overall performance. Two practical problems are studied. In both problems, the manufacturer focuses on production costs, i.e., minimizing unproductive time. However, the distributor minimizes downstream costs, which include customer cost measures in the first problem and inventory holding cost in the second problem. The work discussed in Sect. 7.4 first evaluates each party’s conflict, which is the relative increase in cost that results from using the other party’s optimal schedule. Since this conflict is often significant, we consider several practical scenarios about the level of cooperation between the manufacturer and the distributor. These scenarios define various scheduling problems for the manufacturer, the distributor, and the overall system. For each of these scheduling problems, we provide an algorithm. We demonstrate that the cost saving provided by cooperation between the decision makers is usually significant. Finally, we discuss the implications of our work for how manufacturers and distributors negotiate, coordinate, and implement their supply chain schedules in practice. Section 7.5, based on the work of Agnetis et al. (2006), considers the problem of resequencing when successive stages of a manufacturing process prefer different production sequences. This most typically occurs due to different production setup or changeover times at different stages. The work discussed considers operational issues that are important to the scheduling of supply chains organized to achieve just-in-time (JIT) goals (Hernandez, 1989; Ohno, 1988). At the operational level,
7.2 Scheduling and Batching in a Supply Chain
307
decision makers at different stages of the chain need to consider various factors such as their immediate customers’ due dates, production deadlines, changeover costs and times. For example, an assembly facility that has to ship jobs to different customers may wish to process the materials in the chronological sequence of the customers’ due dates. On the other hand, according to JIT concepts, scheduling decisions at an upstream stage must also comply with the actual time at which the supplier will dispatch the raw materials and with technological requirements that may make certain schedules infeasible. Nellemann and Smith (1982) identify the punctual delivery of materials at different stages to be among the most important elements of a successful JIT system. Hence, the schedule that is used at each stage depends on the requirements at the other stages. Agnetis et al. (2001) consider the problem of finding a common sequence that minimizes the number of setups between the two departments. They provide intractability results and design and test a heuristic. The work of Agnetis et al. (2006) considers two consecutive stages of a supply chain, consisting of one supplier and several manufacturers, respectively. The costs and requirements specific to each stage (for example, changeover times, resource availability, and deadlines) define an ideal schedule in which the jobs should be processed. This ideal schedule minimizes overall costs subject to resource constraints at that stage. Resequencing between a supplier and a manufacturer requires the use of a buffer, which may incur additional cost. An interchange cost, which models buffer storage cost, is incurred by the supplier or a manufacturer whenever the relative order of two jobs in its actual schedule is different from that in its ideal schedule. The problems of finding an optimal supplier’s schedule, an optimal manufacturer’s schedule, and an optimal schedule for the overall system are considered. The objective functions considered are the minimization of total interchange cost and of total interchange plus buffer storage cost. Algorithms for all the supplier’s and manufacturers’ problems, as well as for a special case of the overall system scheduling problem, are provided. The running time of these algorithms is polynomial in both the number of jobs and the number of manufacturers. Finally, conditions are identified under which cooperation between the supplier and a manufacturer reduces their total cost. Section 7.6 uses the current literature of supply chain scheduling to identify several suggestions for future research. Figure 7.1 provides an overview of the topics within the optimization of supply chain scheduling problems that are discussed in this chapter.
7.2 Scheduling and Batching in a Supply Chain This section, based on the work of Hall and Potts (2003), considers the objective of minimizing the total batch delivery cost plus a scheduling cost that models the inconvenience of the downstream party based on the delivery time of the batch. This objective is a natural extension of the classical scheduling literature
308
7 Optimization and Conflict
Section 7.3: Assembly System: coordination of part schedules; efficient algorithms; intractability; heuristics; asymptotic optimality.
Section 7.2: Arborescent Supply Chain: batching and delivery cost; polynomial time algorithms; cost of conflict; benefit of cooperation.
Chapter 7: Global Optimization and Conflict
Section 7.5: Resequencing: interchange cost; buffer storage cost; polynomial time algorithms; conditions for cooperation.
Section 7.4: Manufacturer and Distributor: customer cost; holding cost; relative power in supply chain; benefit of cooperation.
Fig. 7.1 Overview of the topics covered in Chap. 7
to allow for batch delivery cost. An important example of decision making that affects both a supplier and a manufacturer is the delivery process between the two. The supplier processes jobs and delivers them to the manufacturer. The manufacturer may prefer to receive frequent deliveries of small batches from the supplier, because this enables the manufacturer to achieve better resource utilization. However, the supplier may be reluctant to deliver very frequently because of the resulting high delivery cost. Furthermore, the manufacturer may prefer to receive parts earlier rather than later, because this enlarges the manufacturer’s scheduling options and improves utilization. Also, because of production capacity constraints at the supplier, scheduling decisions may prioritize the processing of certain parts, perhaps for specific high value or long-standing customers, over others. Importantly, scheduling decisions must be coordinated with the related batching and delivery decisions. This problem is studied from the viewpoint of the supplier. The manufacturer also has downstream customers. The decision problem faced by the manufacturer is therefore similar to that faced by the supplier, with the difference that the scheduling, batching, and delivery decisions made by the supplier define batch release dates, before which the manufacturer cannot begin work on any job in that batch. Analysis of this problem shows that these batch release dates can be incorporated into scheduling, batching, and delivery models. The batch release dates defined for the manufacturer by the supplier’s decisions may be less than ideal from the viewpoint of the manufacturer. This suggests that it may be mutually advantageous for the supplier and manufacturer to cooperate in developing combined models that incorporate the total costs of both parties. Therefore, models for cooperative decision making between the supplier and the manufacturer are also developed.
7.2 Scheduling and Batching in a Supply Chain
309
This section is organized as follows. In Sect. 7.2.1, we describe our notation and classification scheme. We also provide some general results for all our scheduling objectives, and we present an overview of our algorithmic and computational complexity results. Section 7.2.2 considers the minimization of the total scheduling and delivery cost, using a variety of classical scheduling objectives, from the viewpoint of the supplier. In Sect. 7.2.3, we consider the same problems from the viewpoint of the manufacturer. The problem of minimizing the total system cost of a supplier and a manufacturer who cooperate is studied in Sect. 7.2.4. The potential benefits from such cooperation, and practical mechanisms for achieving it, are discussed in Sect. 7.2.5.
7.2.1 Preliminaries This section describes the notation and assumptions used, provides some general results that simplify the subsequent analysis, and summarizes results for algorithms and intractability issues.
7.2.1.1
Notation and Classification
Consider three categories of problems that arise in an arborescent supply chain. In the supplier’s problem, nS jobs are to be scheduled on a single machine, MS , by the supplier S . Each job is produced for one of G manufacturers M1 , . . . , MG , and the jobs for each manufacturer are delivered in batches. The supplier’s problem is illustrated in Fig. 7.2, where the asterisk indicates that scheduling, batching, and delivery decisions by the supplier are required. Similarly, in the manufacturer’s problem, one of the manufacturers (without loss of generality, M1 , as indicated by an asterisk) uses jobs from the supplier to
Fig. 7.2 Structure of the supplier’s problems
310
7 Optimization and Conflict
Fig. 7.3 Structure of the manufacturer’s problems
Fig. 7.4 Structure of the combined problems
produce nm jobs on a single machine, MM , for customers C1 , . . . , CH . These jobs are scheduled and delivered in batches to the customers, as shown in Fig. 7.3. Finally, in the combined problem, it is necessary to find an overall schedule for the supplier S and manufacturer M1 that creates batches to be delivered from the supplier to each of the manufacturers and from manufacturer M1 to the customers. Figure 7.4 shows the structure of the combined problem, where again the asterisks shown at the supplier S and manufacturer M1 indicate by which parties scheduling, batching, and delivery decisions are required. A description of the notation used starts with the supplier’s problem. Let N S = {1, . . . , nS } denote the set of jobs. We refer to the jobs processed for manufacturer Mg , as (1, g), . . . , (ng , g), for g = 1, . . . , G. Job (j, g) has a processing time S on machine M , for j = 1, . . . , n . Where relevant, job (j, g) has a weight pjg s g S and a due date d S . For the manufacturer’s problem, the set of jobs (or value) wjg jg is N M = {1, . . . , nM }, and the jobs for customer Ch are (1, h), . . . , (nh , h), for h = 1, . . . , H . Job (j, h) has a processing time pjMh and, where relevant, has a weight wjMh and a due date djMh , for j = 1, . . . , nh . The time when job (j, h) is
7.2 Scheduling and Batching in a Supply Chain
311
delivered from the supplier to the manufacturer defines a release date rjMh , which is the earliest time when the manufacturer can start to process this job. For the combined problem, the set of jobs is N C = {1, . . . , nC }. The jobs processed for customer Ch are (1, h), . . . , (nh , h), for h = 1, . . . , H , and these two-stage jobs require first machine MS and then machine MM . Furthermore, the jobs processed for manufacturer Mg are (1, H + g − 1), . . . , (nH +g−1 , H + g − 1), for g = 2, . . . , G, and these single-stage jobs require machine MS only. Job (j, h) has a processing time pjSh on machine MS and a processing time pjMh on machine MM and where relevant has a weight wjMh and a due date djMh , for h = 1, . . . , H and j = 1, . . . , nh . S on machine M and where relevant Also, job (j, g) has a processing time pjg S S S has a weight wjg and a due date djg , for g = H + 1, . . . , H + G − 1 and j = 1, . . . , ng . Consistent with the classical scheduling literature, it is assumed that all processing times, weights, and release dates are positive integers and that G and H are fixed so that they do not form part of the input data for a particular instance. Also, let processing in the specified ng theS sum of Mall the nh times P denote H M . Where there is no problem, W S = G w and W = w g=1 h=1 j =1 jg j =1 j h ambiguity, we write n instead of nS or nM or nC and W instead of W S or W M . The due dates are set as follows. Customers specify due dates by which the corresponding jobs should ideally be delivered from the manufacturer. To specify a due date for the supplier, the manufacturer assumes a specific (but not necessarily optimal) schedule for the processing of its jobs, i.e., one in which all jobs can be delivered to the customers on time. Then, the due date of each job at the supplier is equal to the start time of that job in the manufacturer’s given schedule. A group of jobs forms a batch for the supplier if all of these jobs are delivered from the supplier to a single manufacturer at the same time. A batch for the manufacturer is defined analogously. Let DgS and DhM denote the cost of delivering each batch from the supplier to manufacturer Mg for g = 1, . . . , G and from manufacturer M1 to customer Ch for h = 1, . . . , H , respectively, independent of the contents of the batch. The following definitions are functions of the variable σ , which denotes the supplier’s schedule: CjS (σ ) = the time at which job j is delivered to the relevant manufacturer; FjS (σ ) = CjS (σ ), the flow time of job j ;
0 if job j is delivered to the relevant manufacturer by its due date, S Uj (σ ) = 1 if job j is late; S yg (σ ) = the number of deliveries to manufacturer Mg in σ. The quantities CjM (σ ), UjM (σ ), and yhM (σ ) are defined analogously for a manufacturer’s schedule σ , and FjM (σ ) = CjM (σ ) − rjM . For the combined problem, define CjC (σ ) to be CjS (σ ) for the single-stage jobs j that are produced for manufacturers M2 , . . . , MG , and CjM (σ ) for the two-stage jobs that are produced for customers
312
7 Optimization and Conflict
C1 , . . . , CH , from which the analogous variables FjC (σ ) = CjC (σ ) and UjC (σ ) are computed. When there is no ambiguity, we simplify CjS (σ ), FjS (σ ), UjS (σ ), and ygS (σ ) to CjS , FjS , UjS , and ygS , respectively, and similarly for the manufacturer’s problem and the combined problem. We also refer to CjS and CjM as the completion times of job j (as perceived by the manufacturer and customer, respectively). Observe that, for any two-stage job j , FjC = FjS + FjM when rjM = CjS = FjS . The scheduling objectives that we consider are classical ones motivated either by internal costs or by external costs or target dates. First, in the absence of due dates, we consider total (weighted or unweighted) completion or flow time objectives that model internal holding costs. Since we are considering a supply chain which ultimately delivers jobs to a customer, it is natural to use the definitions of CjS , CjM , and CjC in the previous paragraph. In models, that minimize the (weighted or unweighted) number of late jobs, we assume that a job that would be late is neither produced nor delivered. This assumption is relevant where late deliveries are not accepted. When the aim is to meet due dates, the number of late jobs is a standard measure of performance in the scheduling literature (Pinedo, 2016). The standard classification scheme for scheduling problems (Graham et al., 1979) is α|β|γ , as defined in Chap. 2. Under β, we may have “rj ,” which denotes that each of the manufacturer’s jobs has a release date rjMh that defines the earliest time at which job (j, h) becomes available for processing. The objective functions studied under γ comprise a delivery cost and a scheduling cost. The delivery cost for the supplier is DgS ygS and for the manufacturer is DhM yhM . The scheduling cost is
(wj )FjX = the total (weighted) flow time of the jobs; (wj )UjX = the total (weighted) number of late jobs,
where X = S for the supplier, X = M for the manufacturer, and X = C for the combined problem. For the combined problem, we consider the total delivery cost DgS ygS + DhM yhM , the supplier’s scheduling cost for those jobs of N S that are produced for manufacturers M2 , . . . , MG , and the scheduling cost incurred by manufacturer M1 for all jobs of N M . Since the combined problem considers the complete system as illustrated in Fig. 7.4, the supplier’s scheduling cost for the jobs of N S that are produced for manufacturer M1 is assumed to represent a performance measure for work in process and hence does not affect the total system cost.
7.2.1.2
General Assumptions and Properties
For problems where the scheduling objective is to minimize the number of late jobs, we assume that it is sufficient to construct a delivery schedule for the on-time jobs only, and the delivery cost of the late jobs is ignored.
7.2 Scheduling and Batching in a Supply Chain
313
We present some results that apply to various problems, irrespective of the scheduling objective. The first result eliminates inserted idle time from the schedules we construct and follows directly from the assumption of costs that are nondecreasing in time. Lemma 7.1 There exists an optimal schedule where: (a) In any of the supplier’s and combined problems which we consider, there is no idle time between the jobs on machine MS . (b) In any of the manufacturer’s problems which we consider, each job starts processing on machine MM either at its release date or immediately after another job. The next result restricts the choice of times at which batch deliveries are scheduled. Lemma 7.2 There exists an optimal schedule with the following properties: (a) In any problem, each delivery from the supplier S to any manufacturer (respectively, each delivery from manufacturer M1 to any customer) occurs when some job destined for the relevant manufacturer (respectively, customer) completes processing. (b) In any of the supplier’s or combined problems, a delivery from the supplier S to some manufacturer Mg that occurs when some job (j, g) completes processing comprises a group of jobs destined for manufacturer Mg , including (j, g), that are processed consecutively on machine MS . Proof (a) Consider an optimal schedule with a delivery from the supplier S to a manufacturer Mg at some time t, where no job for Mg completes processing at t. Let job (j, g) be the last job for manufacturer Mg that completes processing before time t. Move the delivery at t earlier so that it occurs at the time when job (j, g) completes processing. Since no job is delivered later, and the number of deliveries is unchanged, the new schedule is also optimal. A similar argument establishes that each delivery from manufacturer M1 to a customer can also be scheduled when a job for that customer completes processing. (b) Now consider the delivery from the supplier S to manufacturer Mg that is scheduled when job (j, g) completes processing. If there is another job (i, g) that is delivered in the same batch as job (j, g) but is processed immediately before another job (k, l) that is not delivered in this batch, then interchange jobs (i, g) and (k, l). Also, if there is a delivery when job (k, l) completes S units earlier, processing in the original schedule, then schedule that delivery pig at the time when job (k, l) completes processing in the new schedule. Repeat this adjacent job interchange process a finite number of times until all the jobs that are delivered in the batch containing job (j, g) are processed consecutively,
314
7 Optimization and Conflict
finishing at the completion time of job (j, g). Since no job is delivered later, and the number of deliveries is unchanged, the new schedule is also optimal. The third result restricts the processing orders on machines MS and MM in combined problems. Lemma 7.3 In any of the combined problems, there exists an optimal schedule in which the jobs on machine MM are processed in the same order as the corresponding jobs are processed on machine MS . We refer the reader to Hall & Potts (2003) for a proof. Schedules that satisfy Lemma 7.3 are called permutation schedules. The final result in this section provides a complexity hierarchy between a classical scheduling problem α|β|γ , a supplier’s problem α|β|γ S , a manufacturer’s problem α|β, rj |γ M , and a combined problem α|β|γ C . Given two problems P1 and P2 , let the notation P1 ∝ P2 denote that P2 is a generalization of P1 . Theorem 7.1 α|β|γ ∝ α|β|γ S ∝ α|β, rj |γ M and α|β|γ S ∝ α|β|γ C . Proof If DgS = 0 for g = 1, . . . , G, then without loss of generality all batches in problem α|β|γ S contain a single job, and consequently problems α|β|γ and α|β|γ S are equivalent. Also, when rjM = 0 for j ∈ N M , problems α|β|γ S and α|β, rj |γ M are equivalent. Finally, if DhM = 0 for h = 1, . . . , H and all the manufacturer’s processing times are zero, then problems α|β|γ S and α|β|γ C are equivalent.
7.2.1.3
Overview of the Results
We provide an overview of the algorithm and intractability results in this work. Because the cost and the feasibility of a schedule can be evaluated in O(n) time, the recognition versions of all the problems considered in this work belong to the class NP. Table 7.1 presents a summary of our results for the supplier’s, manufacturer’s, and combined problems. For the manufacturer’s problems, our polynomial-time algorithms are derived under the assumption of batch consistency, which means that, if some job i is delivered to the manufacturer before another job j , then i cannot be scheduled for delivery by the manufacturer strictly later than j . For various manufacturer’s problems within Table 7.1, we also assume SPT-batch consistency, EDD-batch consistency, or EDD-batch consistency for the on-time jobs, which means that jobs with the same release date that are destined for the same customer are sequenced in SPT order, i.e., nondecreasing order of processing times (Smith, 1956), in EDD order, i.e., nondecreasing order of due dates (Jackson, 1955), or in EDD order for the on-time jobs, respectively. For the combined problems, we assume a given ordering of the jobs for each of the manufacturers M2 , . . . , MG and for each of the customers C1 , . . . , CH . All these assumptions are motivated and discussed below. The first column of Table 7.1 specifies the scheduling objective. The second, third, and fourth columns show the running time of the fastest known
wj Uj
Uj
wj Cj or
wj Fj
O(n2G+1 W ) Theorem 7.5
Theorem 7.5
Theorem 7.4
O(n2G+2 )
BNPC
Theorem 7.3
UNPC
O(n3H +1 ) d UNPC BNPCd O(n3H W ) d
UNPC
UNPC O(n3H ) a UNPC
O(nG+1 ) Theorem 7.2
Manufacturer’s problem
Supplier’s problem
Result applies for SPT-batch consistency b Result applies for total SPT within groups sequencing c Result applies for EDD within groups sequencing for the on-time jobs d Result applies for EDD-batch consistency for the on-time jobs
a
Scheduling objective Cj or Fj
Table 7.1 Algorithm and complexity results for supply chain scheduling problems
Theorem 7.7 Theorem 7.1 Theorem 7.8 Theorem 7.8
Theorem 7.1
Theorem 7.1 Theorem 7.6 Theorem 7.1
UNPC BNPCc O(nG+2H −1 P 3 ) c UNPC BNPCc O(nG+2H −1 P 3 )c
UNPC O(n2G+7H −2 ) b UNPC
Combined problem
Theorem 7.1 Theorem 7.10 Theorem 7.11 Theorem 7.1 Theorem 7.10 Theorem 7.11
Theorem 7.1 Theorem 7.9 Theorem 7.1
7.2 Scheduling and Batching in a Supply Chain 315
316
7 Optimization and Conflict
polynomial or pseudo-polynomial time algorithm for the supplier’s, manufacturer’s, and combined problem, respectively, if such an algorithm exists. Otherwise, we use UNPC (respectively, BNPC) to indicate that the equivalent recognition version of a problem is NP-complete with respect to a unary (respectively, binary) encoding of the data, respectively. Related definitions can be found in Garey and Johnson (1979). Included in the appropriate cell is a reference to where a proof of that result can be found.
7.2.2 The Supplier’s Problem In this section, we describe models for minimizing the sum of scheduling and delivery cost in various environments, from the viewpoint of the supplier. For some of the models, we establish the processing order of jobs for the same manufacturer in an optimal schedule and then use dynamic programming to form batches for delivery. Our dynamic programs are forward algorithms that append either a single job or a batch to a previously constructed partial schedule of jobs.
7.2.2.1
Sum of Flow Times
Lemma 7.4 For problem 1|| FjS + DgS ygS , the cost is minimized by sequencing the jobs for each manufacturer Mg according to a shortest processing time (SPT) rule. Proof The result is established by a standard job interchange argument.
From Lemma 7.4, we assume throughout this subsection that the jobs for each S ≤ · · · ≤ p S , for g = manufacturer Mg are indexed in SPT order, so that p1g ng ,g 1, . . . , G. Generalizing ideas from Albers and Brucker (1993) for a similar problem with G = 1,we propose the following dynamic programming algorithm to solve problem 1|| CjS + DgS ygS . Algorithm SF Value Function f (q) = f (q1 , . . . , qG ) = the minimum total cost of scheduling and delivering jobs (1, g), . . . , (qg , g) for g = 1, . . . , G, where the last delivery is at time G q g S g=1 j =1 pjg , and where 0 ≤ qg ≤ ng . Boundary Condition f (0, . . . , 0) = 0. Optimal Solution Value f (n1 , . . . , nG ). Recurrence Relation {(qg − qg )T + DgS + f (q )}, f (q) = min (qg ,g)∈J
7.2 Scheduling and Batching in a Supply Chain
317
where J = {(qg , g) | 1 ≤ g ≤ G, qg > 0, 0 ≤ qg < qg }, q g S T = G g=1 j =1 pjg and q = (q1 , . . . , qg−1 , qg , qg+1 , . . . , qG ). The recurrence relation selects a batch {(qg + 1, g), . . . , (qg , g)} of jobs to be delivered to manufacturer Mg at time T . Each of these jobs contributes a flow time of T to the total scheduling cost, and a delivery cost of DgS is also incurred. Theorem 7.2 Algorithm SF finds an optimal schedule for problem 1|| CjS + S S Dg yg in O(nG+1 ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (a) of Lemmas 7.1, 7.2, and 7.4. There are O(nG ) states (q1 , . . . , qG ), and for each state the recurrence relation requires O(n) time. Therefore, the overall time complexity of Algorithm SF is O(nG+1 ). However, we now show that the weighted version of this problem is intractable, even when there is only one manufacturer. Theorem 7.3 The recognition version of problem 1|| wj FjS + DgS ygS is unary NP-complete, even for G = 1. Proof Hall and Potts (2003) provide a reduction from 3-Partition.
7.2.2.2
Number of Late Jobs
First, we state the following result for weighted and unweighted number of late jobs problems. S S Lemma 7.5 For problem 1|| wj UjS + Dg yg , the cost is minimized by sequencing the on-time jobs for each manufacturer according to an earliest due date (EDD) rule. Proof The result is established by a standard job interchange argument.
As a result of Lemma 7.5, we assume throughout this subsection that the jobs for each manufacturer Mg are indexed in EDD order. For problem 1|| UjS + DgS ygS , we describe a dynamic programming algorithm that either appends a job to some previous schedule of on-time jobs or specifies that this job is late and therefore not scheduled. A subsequent decision is made about whether a batch delivery is scheduled on completion of an appended on-time job. To enable checking that all the jobs of the current batch are on time when the batch is delivered, we store the index (j, g) ¯ of the lowest indexed job in this batch as a state variable. Since the jobs are indexed in EDD order, all the jobs in the batch are on time if and only if the lowest indexed job is. Since the number of values for the makespan of the current
318
7 Optimization and Conflict
partial schedule of on-time jobs is pseudo-polynomial, the makespan is used as the function value, while the number of late jobs u is treated as a state variable. Algorithm SU Value Function f (q, y, u, j, g) ¯ = f (q1 , . . . , qG , y1 , . . . , yG , u, j, g) ¯ = the minimum makespan for the on-time jobs from (1, g), . . . , (qg , g) for g = 1, . . . , G, given that (i) for manufacturer Mg , all on-time jobs are delivered using yg deliveries for g = 1, . . . , g¯ − 1, g¯ + 1, . . . , G, (ii) if yg¯ > 0, then all processed jobs from (1, g), ¯ . . . , (j − 1, g) ¯ for manufacturer Mg¯ are delivered using yg¯ − 1 deliveries, (iii) if j > 0, then (j, g) ¯ is the first (i.e., earliest due date) job in the last batch of the current partial schedule that is not yet scheduled for delivery, and (iv) the total number of late jobs is u, where 0 ≤ yg ≤ qg ≤ ng , 0 ≤ u ≤ n, 0 ≤ j ≤ qg¯ , and 1 ≤ g¯ ≤ G. If j > 0 and f (q, y, u, j, g) ¯ > djSg¯ , then we define f (q, y, u, j, g) ¯ = ∞. Boundary Condition f (0, . . . , 0, 0, . . . , 0, 0, 0, 0) = 0. Optimal Solution Value G min u + DgS yg | min {f (n1 , . . . , nG , y1 , . . . , yG , u, j, g)} ¯ < ∞, 0 ≤ u ≤ S (j,g)∈N ¯ g=1 n, 0 ≤ yg ≤ ng for g = 1, . . . , G . Recurrence Relation f (q, y, u, j, g) ¯ = ⎧ f (q , y, u − 1, j, g) ¯ ⎪ ⎪ ⎪ ⎪ S ⎪ ⎨pq ,g¯ + f (q , y, u, j, g), ¯ if 0 < j < qg¯ and f (q , y, u, j, g) ¯ g¯ min S S +pqg¯ ,g¯ ≤ dj g¯ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ min {pqS ,g¯ + f (q , y , u, j , g¯ )}, if j = qg¯ , g¯ (j ,g¯ )∈J
where q = (q1 , . . . , qg−1 ¯ , qg¯ − 1, qg+1 ¯ , . . . , qG ), y = (y1 , . . . , yg−1 , y − 1, y ¯ g¯ g+1 ¯ , . . . , yG ), and J = {(j , g¯ ) | 0 ≤ g¯ ≤ G, j = 0 if g¯ = 0; 1 ≤ j ≤ qg¯ − 1 if g¯ = g¯ = 0; 1 ≤ j ≤ qg¯ if g¯ = g¯ and g¯ = 0; f (q , y , u, j , g¯ )} + pqSg¯ ,g¯ ≤ dqSg¯ ,g¯ }. The first term in the minimization in the recurrence relation schedules job (qg¯ , g) ¯ to be late. The second term schedules job (qg¯ , g) ¯ to be on time and belonging to the current batch of jobs for customer Mg¯ , provided that job (qg¯ , g) ¯ can be completed no later than time djSg¯ , so that job (j, g) ¯ can be dispatched by its due date. No decision has yet been made about when to deliver the batch containing jobs (j, g) ¯ and (qg¯ , g). ¯ The third term schedules a delivery for a batch containing (j , g¯ ) as
7.2 Scheduling and Batching in a Supply Chain
319
its first job if j > 0, starts a new batch with job (qg , g) which is scheduled to be on time, and accounts for a delivery that will eventually need to be made to manufacturer Mg¯ , since a new batch destined for that manufacturer has been started. In the definition of J , we distinguish the case where customers g¯ and g¯ are the same and therefore the first job (j , g¯ ) in the delivered batch satisfies j ≤ qg¯ − 1, from the case where those customers are different and therefore the first job can also be (qg¯ , g¯ ). Theorem 7.4 Algorithm SU finds an optimal schedule for problem 1|| UjS + S S Dg yg in O(n2G+2 ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (a) of Lemmas 7.1, 7.2, and 7.5. There are O(n2G+2 ) states (q1 , . . . , qG , y1 , . . . , yG , u, j, g). ¯ The first and second terms in the recurrence relation require constant time for each state. The third term requires O(n) time for each of the O(n2G+1 ) states for which j = qg¯ . Therefore, the overall time complexity of Algorithm SU is O(n2G+2 ). We now consider the corresponding problem with the weighted number of late jobs as a scheduling objective. S S Theorem 7.5 An optimal solution for problem 1|| wj UjS + Dg yg can be found in O(n2G+1 W S ) time. The recognition version of this problem is binary NPcomplete. Proof We modify Algorithm SU by replacing the state variable u that represents the number of late jobs by one that specifies the total weight of late jobs. The original time complexity of O(n2G+2 ) in Algorithm SU becomes O(n2G+1 W S ) with this modification. The second result follows from thebinary NP-completeness of the recognition version of the classical problem 1|| wj Uj (Karp, 1972) and from Theorem 7.1.
7.2.3 The Manufacturer’s Problem We first describe models for minimizing the sum of scheduling cost plus delivery cost from the viewpoint of one particular manufacturer, M1 . In these models, the time at which each job j is delivered from the supplier to the manufacturer defines a release date rjM from the perspective of the manufacturer. Remark 7.1 Unfortunately, neither the SPT ordering of Lemma 7.4 nor the EDD ordering of Lemma 7.5 can be generalized to give a sequence of jobs for each customer in this case because the jobs have different release dates. However, by making some natural assumptions about the processing order of jobs for each customer, we are still able to provide dynamic programming algorithms that generate an optimal schedule in polynomial or pseudo-polynomial time. The algorithms here are more
320
7 Optimization and Conflict
complicated than those in Sect. 7.2.2. This is because part (b) of Lemma 7.2 does not generalize to batches that are delivered from a manufacturer to a customer, due to the presence of release dates. Definition 7.2 A supplier’s batch schedule and a manufacturer’s batch schedule are batch consistent if for each pair of jobs (i, h) and (j, h) that are processed by the supplier S and manufacturer M1 , where 1 ≤ h ≤ H , 1 ≤ i, j ≤ nh , and i = j , whenever job (i, h) is in a strictly earlier batch than job (j, h) in the supplier’s batch schedule, then job (i, h) is in an earlier batch or in the same batch as job (j, h) in the manufacturer’s batch schedule. The algorithms developed by Ahmadi et al. (1992) for serial production processes with both discrete and batch processors provide schedules that meet this assumption. Moreover, this assumption is a natural and practical simplification of the production planning process, since it permits some scheduling decisions to be made without waiting for the next incoming batch. Another practical justification for making this assumption is that it reduces the need for resequencing and for storage buffers.
7.2.3.1
Sum of Flow Times
From the unary NP-completeness of the recognition version of the classical problem 1|rj | Fj (Lenstra et al., 1977) and Theorem 7.1, the recognition version of problem 1|rj | FjM + DhM yhM is also unary NP-complete. We derive a dynamic programming algorithm for problem 1|rj | FjM + M M Dh yh under the assumption of batch consistency. We make the further assumption of SPT-batch consistency, in which jobs with the same release date (that is, jobs delivered in one batch by the supplier) and for the same customer are processed by the manufacturer in SPT order. Thus, for customer Ch , we index the jobs such that M ≤ · · · ≤ r M , for h = 1, . . . , H , where r M = r M M M r1h nh ,h jh j +1,h implies that pj h ≤ pj +1,h for j = 1, . . . , nh − 1. This assumption is motivated by a local optimization rule that minimizes the FjM objective within a batch. We now provide a dynamic programming algorithm for problem 1|rj | FjM + M M Dh yh under the assumption of SPT-batch consistency. Remark 7.2 We need additional state variables besides those in Algorithm SF, first because we consider the jobs one at a time here and therefore some jobs may have been processed and not yet delivered, and second because the presence of release dates may cause machine idle time which affects the makespan of the current partial schedule. To control the machine idle time, we partition the partial schedule into blocks, where a block is a maximal set of jobs that are processed with no idle time in between. Thus, the first job in a block is either the first job in the schedule or it is preceded by idle time. In either case, the first job in a block starts processing at its release date.
7.2 Scheduling and Batching in a Supply Chain
321
Algorithm MF Value Function ¯ = f (q1 , . . . , qH , s1 , . . . , sH , b1 , . . . , bH , h) ¯ = the minimum total cost f (q, s, b, h) (where flow time is evaluated on the basis of zero release dates) for processing jobs (1, h), . . . , (qh , h) and delivering jobs (1, h), . . . , (sh , h) for h = 1, . . . , H , given that (i) the last block contains jobs (bh + 1, h), . . . , (qh , h) for h = 1, . . . , H , (ii) if ¯ (iii) 0 ≤ sh ≤ qh ≤ nh , and h¯ > 0, then the last block starts with job (bh¯ + 1, h), ¯ 0 ≤ bh ≤ qh , (iv) if h > 0, then bh¯ < qh¯ , and (v) 0 ≤ h¯ ≤ H . Boundary Condition f (0, . . . , 0, 0, . . . , 0, 0, . . . , 0, 0) = 0. Optimal Solution Value nh H ¯ − {f (n1 , . . . , nH , n1 , . . . , nH , b1 , . . . , bH , h)} rjMh , min ¯ (b1 ,...,bH ,h)∈B
h=1 j =1
¯ | 0 ≤ bh ≤ nh for 1 ≤ h ≤ H, b ¯ < n ¯ , 1 ≤ where B = {(b1 , . . . , bH , h) h h ¯h ≤ H }. Recurrence Relation
¯ = f (q, s, b, h) ⎧ ¯ ⎪ min {f (q , s, b, h)} ⎪ ⎪ h∈G ⎪ 1 ⎪ ⎪ ⎪ )T + D M + f (q , s , b, h)} ¯ ⎪ min {(q − s min ⎪ h h h ⎨h∈G2 0≤s 0}, h¯ q h M T = rbM+1,h¯ + H h=1 j =bh +1 pj h , ¯h ql M T = rbM+1,h¯ + H l=1 j =bl +1 pj l , and h¯ ql pM . T = rbM +1,h¯ + H l=1 j =b +1 j l h¯
l
In the recurrence relation, the first term in the minimization schedules job (qh , h) to be processed at the end of the current block and does not schedule a delivery upon completion of this job. The set G1 ensures that sh < qh so that job (qh , h) is not delivered, that bh < qh so that job (qh , h) is in the last block, and that there is no
322
7 Optimization and Conflict
idle time immediately before job (qh , h) is processed. The second term is similar, except that a batch {(sh + 1, h), . . . , (qh , h)} is scheduled for delivery to customer Ch when job (qh , h) completes processing. In this case, the set G2 ensures that qh = sh , so that the current state is consistent with such a delivery. The third and ¯ is fourth terms in the recurrence relation correspond to the case where job (qh¯ , h) the last job in the current schedule and starts a new block. Specifically, the third term considers the case where sh¯ < qh¯ , so that no delivery is scheduled on completion ¯ whereas s ¯ = q ¯ in the fourth term so that a batch delivery for jobs of job (qh¯ , h), h h ¯ ¯ is scheduled. The set B1 defines b and h¯ for a previous {(sh¯ + 1, h), . . . , (qh¯ , h)} ¯ to start at its release date and be state that allows the processing of job (qh¯ , h) preceded by machine idle time. Theorem 7.6 AlgorithmMF finds an optimal SPT-batch consistent schedule for problem 1|rj | FjM + DhM yhM in O(n3H ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (b) of Lemma 7.1, part (a) of Lemma 7.2, and the ¯ In the assumption of SPT-batch consistency. There are O(n3H ) states (q, s, b, h). recurrence relation, the first term in the minimization requires constant time. The second term requires O(n) time but is only applied for the O(n3H −1 ) states for which sh = qh . The third term requires O(nH ) time but is only applied for the O(n2H ) states for which bl = ql for l = h¯ and bh¯ = qh¯ − 1. Similarly, the fourth term requires O(nH +1 ) time but is only applied for the O(n2H −1 ) states for which ¯ b ¯ = q ¯ − 1, and s ¯ = q ¯ . Therefore, the overall time complexity bl = ql for l = h, h h h h of Algorithm MF is O(n3H ).
7.2.3.2
Number of Late Jobs
From the unary NP-completeness of the recognition version of the classical problem et al., and Theorem 7.1, the recognition version of 1|rj | Uj (Lenstra 1977) problem 1|rj | UjM + DhM yhM is also unary NP-complete. Thus, we again restrict the class of schedules that we consider. We assume EDD-batch consistency for the on-time jobs. Accordingly, we index M ≤ · · · ≤ r M for h = 1, . . . , H , where r M = r M the jobs such that r1h nh ,h jh j +1,h implies M M that dj h ≤ dj +1,h for j = 1, . . . , nh − 1. This assumption is motivated by a local rule that satisfies due dates for on-time jobs within a batch. We now provide a dynamic programming algorithm for problem 1|rj | UjM + M M Dh yh , under the assumption of EDD-batch consistency for the on-time jobs. Following the approach in Algorithm SU, we define the value function to be the makespan of the current partial schedule of on-time jobs. This avoids the need to use state variables of the type defined in Algorithm MF for storing information about blocks. However, we introduce state variables to store the undelivered on-time job with the smallest due date for each customer, in order to check that all jobs of a batch are on time when a delivery is scheduled.
7.2 Scheduling and Batching in a Supply Chain
323
Algorithm MU Value Function f (q, v, y, u) = f (q1 , . . . , qH , v1 , . . . , vH , y1 , . . . , yH , u) = the minimum makespan for the on-time jobs from (1, h), . . . , (qh , h) for h = 1, . . . , H , given that (i) yh deliveries are used for completed batches for customer Ch , (ii) job (vh , h) is the job with the smallest due date among the undelivered on-time jobs for customer Ch , for h = 1, . . . , H , (iii) the total number of late jobs is u, and (iv) 0 ≤ yh ≤ qh ≤ nh , 0 ≤ vh ≤ qh , and 0 ≤ u ≤ n. If vh > 0 and f (q, v, y, u) > dvMh ,h for any h, where 1 ≤ h ≤ H , then we define f (q, v, y, u) = ∞ and this replaces any assigned value. We define vh = 0 if there are no undelivered on-time jobs for customer Ch , and d0h = ∞. Boundary Condition f (0, . . . , 0, 0, . . . , 0, 0, . . . , 0, 0) = 0. Optimal Solution Value H min u + DhM yh | f (n1 , . . . , nH , 0, . . . , 0, y1 , . . . , yH , u) < ∞, 0 ≤ u ≤ h=1 n, 0 ≤ yh ≤ nh for h = 1, . . . , H . Recurrence Relation ⎧ ⎪ min {f (q , v, y, u − 1)} ⎪ ⎪ h∈G1 ⎪ ⎪ ⎪ M + max{f (q , v, y, u), r M } ⎪ ⎪ min p ⎨h∈G qh ,h qh ,h 2 f (q, v, y, u) = min M M } ⎪ min p + max{f (q , v , y, u), r min ⎪ qh ,h ⎪h∈G3 vh ∈V1 qh ,h ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ min min pM + max{f (q , v , y , u), r M } , h∈G4
vh ∈V2
qh ,h
qh ,h
where q = (q1 , . . . , qh−1 , qh − 1, qh+1 . . . , qH ), v = (v1 , . . . , vh−1 , vh , vh+1 . . . , vH ), y = (y1 , . . . , yh−1 , yh − 1, yh+1 . . . , yH ), G1 = {h | 1 ≤ h ≤ H, 0 ≤ vh < qh }, G2 = {h | 1 ≤ h ≤ H, 0 < vh < qh , dvMh ,h ≤ dqMh ,h }, G3 = {h | 1 ≤ h ≤ H, vh = qh > 0}, G4 = {h | 1 ≤ h ≤ H, vh = 0, qh > 0}, V1 = {vh | vh = 0, or 0 < vh < qh and dvM ,h > dqMh ,h } and h
V2 = {vh | 0 ≤ vh < qh , max{f (q , v , y , u), rqMh ,h } + pqMh ,h ≤ min{dvM ,h , dqMh ,h }}. h
In the recurrence relation, the first term in the minimization schedules job (qh , h) to be late, whereas job (qh , h) is on time in the schedule corresponding to the other three terms. In the second term, no delivery is scheduled when job (qh , h) completes processing, and job (vh , h) remains the undelivered job with the smallest due date for customer Ch . The third term similarly does not schedule a delivery when job (qh , h) completes processing, but as specified by V1 , (qh , h) is either the only undelivered on-time job for customer Ch or it has a smaller due date
324
7 Optimization and Conflict
than the job (vh , h) which has the smallest due date among undelivered on-time jobs for customer Ch in the previous schedule. Thus, the third term is used only when vh = qh . The fourth term schedules a delivery when job (qh , h) completes processing and therefore is applied only when vh = 0. The condition specified in V2 ensures that all jobs of the batch that is scheduled for delivery are on time. Theorem 7.7 Algorithm MU finds an optimal EDD-batch consistent schedule of on-time jobs for problem 1|rj | UjM + DhM yhM in O(n3H +1 ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (b) of Lemma 7.1, part (a) of Lemma 7.2, and the assumption of EDD-batch consistency for the on-time jobs. There are O(n3H +1 ) states (q, v, y, u). The first two terms in the recurrence relation require constant time. The third term requires O(n) time but is only applied for the O(n3H ) states where vh = qh for some h. Similarly, the fourth term requires O(n) time but is only applied for the O(n3H ) states where vh = 0 for some h. Therefore, the overall time complexity of Algorithm MU is O(n3H +1 ). We now consider the corresponding weighted problem 1|rj | wj UjM + M M Dh yh . Theorem 7.8 An optimal EDD-batch jobs for M M consistent schedule of3Hon-time problem 1|rj | wj UjM + Dh yh can be found in O(n W M ) time. The recognition version of this problem, under the assumption of EDD-batch consistency for the on-time jobs, is binary NP-complete. Proof We modify Algorithm MU by replacing the number of late jobs state variable u by one that specifies the total weight of late jobs. The original time complexity of O(n3H +1 ) in MU becomes O(n3H W ) with this modification. The second result follows fromthe binary NP-completeness of the recognition version of the classical problem 1|| wj Uj (Karp, 1972) and Theorem 7.1, where the latter is valid under the assumption of EDD-batch consistency for the on-time jobs.
7.2.4 The Combined Problem Here we assume that the supplier S and manufacturer M1 cooperate to solve a combined problem of minimizing the total system cost. There are single-stage jobs which the supplier S produces for manufacturers M2 , . . . , MG with indexes (j, g), for g = H + 1, . . . , H + G − 1 and j = 1, . . . , ng . There are also two-stage jobs for which parts are produced by the supplier and the final product is produced by manufacturer M1 for customers C1 , . . . , CH with indexes (j, h), for h = 1, . . . , H and j = 1, . . . , nh . We refer to jobs (1, k), . . . , (nk , k) for k = 1, . . . , H + G − 1 as group k. Thus, all the jobs in group k are destined for customer Ck if 1 ≤ k ≤ H
7.2 Scheduling and Batching in a Supply Chain
325
and for manufacturer Mk−H +1 if H + 1 ≤ k ≤ H + G − 1. We need to determine schedules for machines MS and MM and to specify a batch delivery schedule from the supplier S to all manufacturers and from manufacturer M1 to all customers. The scheduling cost of the two-stage jobs is based on delivery times from M1 to the customers. This combined problem is a two-machine flowshop with batch deliveries and with some missing operations at the second stage. Since the recognition versions of the classical problems F2 || Fj and F2 || Uj are unary NP-complete (Garey et al., 1976; Lenstra et al., 1977) andfrom Theorem versions of the S S7.1, the recognition combined problems 1|| FjC + Dg yg + DhM yhM and 1|| UjC + DgS ygS + DhM yhM , respectively, are also unary NP-complete. Therefore, we first describe and then motivate a simplifying assumption for both these problems. For the sum of flow times problem, we make the natural and practical assumption that the single-stage jobs for each of the manufacturers M2 , . . . , MG are sequenced in SPT order by the supplier according to the processing time on machine MS and that the two-stage jobs for each customer are sequenced by both the supplier and the manufacturer M1 in SPT order according to the total processing time on machines MS and MM . We refer to this assumption as total SPT within groups. This assumption enables us to develop a polynomial-time dynamic programming algorithm for that problem. Similarly, by making an EDD within groups for the on-time jobs assumption for the number of late jobs problem, we provide a pseudo-polynomial time dynamic programming algorithm. Both assumptions are motivated by a heuristic scheduling rule for the particular objective being considered. These assumptions produce a permutation schedule, as defined in Lemma 7.3. Let τ denote the set of all possible completion times on machine MM . The following result shows that τ contains only a polynomial number of values. S M Lemma 7.6 For problem 1|| FjC + Dg ys + Dg yM , assuming a given ordering of the jobs within each group, we have |τ | = O(nG+3H −1 ). We refer the reader to Hall and Potts (2003) for a proof.
7.2.4.1
Sum of Flow Times
In this we adopt problem subsection, the total SPT within groups assumption for S + pM ≤ 1|| FjC + DgS ygS + DhM yhM . Thus, we index the jobs such that p1h 1h S ≤ · · · ≤ pS for g = H + · · · ≤ pnSh ,h + pnMh ,h for h = 1, . . . , H and p1g ng ,g 1, . . . , H + G − 1.
326
7 Optimization and Conflict
Our dynamic programming algorithm combines the enumeration schemes used in Algorithms SF and MF. Thus, we schedule batches of jobs on machine MS and individual jobs on machine MM . We define a state variable t which denotes the completion time of the current partial schedule on machine MM . When scheduling a job on machine MM , we ensure that it does not start before time T , the completion time of the current partial schedule on MS . Algorithm CF Value Function f (q, q, ¯ s, t) = f (q1 , . . . , qH +G−1 , q¯1 , . . . , q¯H , s1 , . . . , sH , t) = the minimum total cost for (i) the supplier processing jobs (1, h), . . . , (qh , h) and delivering them to manufacturer M1 for h = 1, . . . , H , (ii) the supplier processing jobs (1, H + g − 1), . . . , (qH +g−1 , H + g − 1) and delivering them to manufacturer Mg for g = 2, . . . , G, and (iii) for manufacturer M1 processing jobs (1, h), . . . , (q¯h , h) and delivering jobs (1, h), . . . , (sh , h) to customer Ch for h = 1, . . . , H , where the last job processed by manufacturer M1 completes at time t, and where 0 ≤ sh ≤ q¯h ≤ qh ≤ nh , 0 ≤ qH +g−1 ≤ nH +g−1 , and t ∈ τ . Boundary Condition f (0, . . . , 0, 0, . . . , 0, 0, . . . , 0, 0) = 0. Optimal Solution Value min f (n1 , . . . , nH +G−1 , n1 , . . . , nH , n1 , . . . , nH , t) . t∈τ Recurrence Relation⎧ ⎪ min {f (q , q, ¯ s, t)} + D1S ⎪ ⎪ ∈Q ⎪ q ⎪ ⎪ ⎪ )T + D S , q, ⎪ min min {(q − q + f (q ¯ s, t)} ⎪ g g ⎪ g−H +1 ⎪ g∈G1 0≤qg 0, pq¯h ,h < t − T }, and H +G−1 qh S T = h=1 j =1 pj h . In the recurrence relation, the first term schedules a batch containing the twostage jobs (qh + 1, h), . . . , (qh , h) for h = 1, . . . , H to be processed on machine MS , and this batch is delivered to manufacturer M1 on completion of its processing at time T . The condition q¯h ≤ qh in the definition of Q ensures that jobs of this batch are not currently scheduled on machine MM . At this stage, no scheduling cost is incurred for this batch of jobs. The second term schedules a batch {(qg + 1, g), . . . , (qg , g)} of single-stage jobs, where H + 1 ≤ g ≤ H + G − 1, for processing on machine MS and subsequent delivery to manufacturer Mg−H +1 at time T , and evaluates the completion time and delivery cost of this batch accordingly. The third through sixth terms schedule the two-stage job (q¯h , h) to be processed on machine MM in the interval [t − pqM ¯h ,h , t], so that it completes at time t. The time t at which machine MM completes processing the previous job in the partial schedule is such that t ≤ T in the third and fifth terms and such that t = t − pqM ¯h ,h > T in the fourth and sixth terms. In the third and fourth terms, sh < q¯h , and thus no delivery of a batch containing job (q¯h , h) to customer Ch occurs at time t. However, in the fifth and sixth terms, sh = q¯h , and thus a delivery of batch {(sh + 1, h), . . . , (q¯h , h)} to customer Ch is scheduled at time t. Theorem 7.9 an optimal total SPT within groups schedule for Algorithm CF finds problem 1|| FjC + DgS ygS + DhM yhM in O(n2G+7H −2 ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (a) of Lemmas 7.1, 7.2, 7.3, and the assumption of total SPT within groups. For any (q, q, ¯ s, t), where t ≥ 1, f ∗ (q, q, ¯ s, t) = ∗ min{f (q, q, ¯ s, t − 1), f (q, q, ¯ s, t)} can be computed recursively in constant time. From Lemma 7.6, there are O(n2G+6H −2 ) states (q, q, ¯ s, t). In the recurrence relation, the first term in the minimization requires O(nH ) time, while the other terms require no more than O(n) time. Therefore, the overall time complexity of Algorithm CF is O(n2G+7H −2 ).
7.2.4.2
Number of Late Jobs
The first result shows that, EDD within groups sequence for the on an assuming DgS ygS + DhM yhM is intractable, even when time jobs, problem 1|| UjC + there is only one manufacturer and one customer.
328
7 Optimization and Conflict
S S Theorem 7.10 The recognition version of problem 1|| UjC + Dg yg + M M Dh yh , assuming an EDD within groups schedule for the on-time jobs, is binary NP-complete. Proof Hall and Potts (2003) provide a reduction from Partition.
Although Theorem 7.10 provides a negative result, we still describe acomputationally practical algorithm for the more general problem 1|| wj UjC + DgS ygS + M M Dh yh , assuming an EDD within groups schedule for the on-time jobs. We index M ≤ · · · ≤ d M for h = 1, . . . , H , and d S ≤ · · · ≤ d S the jobs such that d1h ng ,g for nh ,h 1g g = H + 1, . . . , H + G − 1. Our dynamic programming algorithm schedules one job at a time. To prevent a job being processed on MM before it is delivered from the supplier, we assign a state variable to represent the time at which the current supplier’s batch is to be delivered, and only schedule any further processing on machine MM after this time. Algorithm CU Value Function f (q, v, t, z, t¯, k) = f (q1 , . . . , qH +G−1 , v1 , . . . , vH , t, z, t¯, k) = the total cost of (a) scheduling the on-time jobs from (1, l), . . . , (ql , l) on machine MS and delivering them to the relevant manufacturer for l = 1, . . . , H + G − 1 and (b) scheduling the on-time jobs from (1, h), . . . , (qh , h) on machine MM and delivering those jobs except (vh , h), . . . , (qh , h) if vh > 0 to customer Ch for h = 1, . . . , H , given that (i) machine MS completes processing the on-time jobs at time t, (ii) the delivery of the current batch from MS to MM is scheduled at time z, (iii) machine MM completes processing the on-time jobs at time t¯, and (iv) k is the group of the last on-time job on machine MS if k > 0, where 0 ≤ vh ≤ qh ≤ nh for h = 1, . . . , H ; 0 ≤ qg ≤ ng H +G−1 nh S for g = H + 1, . . . , H + G − 1; 0 ≤ t ≤ z ≤ t¯ ≤ h=1 j =1 pj h + H n h M H +G−1 nh S h=1 h=1 j =1 pj h ; z ≤ j =1 pj h ; and 0 ≤ k ≤ H + G − 1. If there are no undelivered on-time jobs for customer Ch , then we set vh = 0; otherwise, (vh , h) is the undelivered job with the smallest due date. Boundary Condition f (0, . . . , 0, 0, . . . , 0, 0, 0, 0, 0) = 0. Optimal Solution Value min
(t,z,t¯,k)∈Y
{f (n1 , . . . , nH +G−1 , 0, . . . , 0, t, z, t¯, k)},
where Y = {(t, z, t¯, k) | 0 ≤ t ≤ z ≤ P S, 0 ≤ z ≤ t¯ ≤P S + P M , 0 ≤ k ≤ nh nh H +G−1 S M S M H + G − 1}, P = h=1 = H h=1 j =1 pj h and P j =1 pj h .
7.2 Scheduling and Batching in a Supply Chain
329
Recurrence Relation f (q,⎧ v, t, z, t¯, k) = ⎪ ⎪ {wqM ,k + f (q , v, t, z, t¯, k)}, if k = 0 min ⎪ k ⎪ ⎪ ⎪1≤k ≤H ⎪ ⎪ ⎪ min {w S + f (q , v, t, z, t¯, k)}, if k = 0 ⎪ ⎪ ⎪H vk ⎪ ⎪ ⎪ k ⎪ ⎪ S ⎪ w + f (q , v, t, z, t¯, k), if H < k ≤ H + G − 1 ⎪ ⎪ qk ,k ⎪ ⎪ ⎪ S ∗ M ⎪ ¯ if k ∈ K1 , qk > vk > 0 ⎪ ⎪f1 (q , v, t − pqk ,k , z, t − pqk ,k ), ⎪ ⎪ ⎪ S ∗ M ⎪ ¯ f1 (q , v , t − pqk ,k , z, t − pqk ,k ), if k ∈ K1 , qk = vk > 0 ⎪ ⎪ ⎪ ⎪ ⎪ ∗ (q , v , t − p S , z, t¯ − p M )} + D M , ⎪ min {f if k ∈ K1 , vk = 0 ⎪ qk ,k k qk ,k 1 ⎪ ⎪ ⎪vk ∈V1 ⎪ ⎪ ⎪ ⎪ ⎪ if k ∈ K1 , qk > vk > 0, f1∗ (q , v, t − pqSk ,k , t − pqSk ,k , t¯ − pqMk ,k ) + D1S , ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ t¯ − pqMk ,k > z ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ min {f1∗ (q , v, t − pqSk ,k , t − pqSk ,k , t¯ )} + D1S , if k ∈ K1 , qk > vk > 0, ⎪ ⎪ ⎪ ⎨0≤t¯ ≤z min t¯ − pqMk ,k = z ⎪ ⎪ ⎪ ⎪f ∗ (q , v , t − p S , t − p S , t¯ − p M ) + D S , ⎪ if k ∈ K1 , qk = vk > 0, ⎪ qk ,k qk ,k qk ,k 1 1 ⎪ ⎪ ⎪ ⎪ ⎪ t¯ − pqMk ,k > z ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ min {f2∗ (q , v , t − pqSk ,k , t − pqSk ,k , t¯ )} + D1S , if k ∈ K1 , qk = vk > 0, ⎪ ⎪ 0≤t¯ ≤z ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ t¯ − pqMk ,k = z ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ min {f1∗ (q , v , t − pqS ,k , t − pqS ,k , t¯ − pqM,k )} + D1S + DkM , if k ∈ K1 , vk = 0, ⎪ k k k ⎪ vk ∈V1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ t¯ − pqMk ,k > z ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ min {f2∗ (q , v , t − pqSk ,k , t − pqSk ,k , t¯ )} + D1S + DkM , if k ∈ K1 , vk = 0, min ⎪ ⎪ ⎪ vk ∈V1 0≤t¯ ≤z ⎪ ⎪ ⎪ ⎪ ⎪ t¯ − pqMk ,k = z ⎪ ⎪ ⎪ ⎪ ⎪ S ⎪ ⎪ if k ∈ K2 ⎪f (q , v, t − pqk ,k , z, t¯, k), ⎪ ⎪ ⎪ S S S ⎪ ⎩ min {f (q , v, t − pqk ,k , t − pqk ,k , t¯, k )} + Dk−H +1 , if k ∈ K2 , 0≤k ≤H +G−1
where f1∗ (q, v, t, z, t¯) = min1≤k≤H {f (q, v, t, z, t¯, k)}, f2∗ (q, v, t, z, t¯) = min0≤k≤H {f (q, v, t, z, t¯, k)}, q = (q1 , . . . , qk −1 , qk − 1, qk +1 , . . . , qH +G−1 ), q = (q1 , . . . , qk−1 , qk − 1, qk+1 , . . . , qH +G−1 ), v = (v1 , . . . , vk−1 , 0, vk+1 , . . . , vH ), v = (v1 , . . . , vk−1 , vk , vk+1 , . . . , vH ), M ≥ t¯}, V1 = {vk | 0 ≤ vk < qk , vk = 0 or dk,v k
K1 = {k | 1 ≤ k ≤ H, dqMk ,k ≥ t¯ }, and K2 = {k | H < k ≤ H + G − 1, dqSk ,k ≥ z}.
330
7 Optimization and Conflict
In the recurrence relation, there are 15 terms. The first two terms in the minimization schedule a job (qk , k ) to be late when no jobs are currently scheduled to be on time. In the first term, (qk , k ) is a two-stage job, whereas in the second term it is a single-stage job. The third and fourth terms schedule job (qk , k) to be late when the schedule contains at least one on-time job. In the third term, the condition qk > vk allows the two-stage job k to be late, whereas the fourth term schedules a single-stage job to be late. The fifth through thirteenth terms schedule the twostage job (qk , k) in the interval [t − pqSk ,k , t] on machine MS and in the interval [t¯ − pqMk ,k , t¯] on machine MM , so that it is on time. In the fifth, sixth, and seventh terms, job (qk , k) does not start a new batch on machine MS , and the previous job in the batch is in some group k , where 1 ≤ k ≤ H . In the fifth term, vk > 0, thereby preventing a delivery to customer Ck when job (qk , k) completes processing. The sixth term applies for qk = vk > 0, so that no delivery is scheduled on completion of job (qk , k); however, (qk , k) is the first undelivered job in group k and the previous schedule has no undelivered job in group k. The seventh term has vk = 0 so that a delivery to customer Ck is scheduled upon completion of job (qk , k) on machine MM at time t¯. The condition on vk in the definition of V1 in the seventh term ensures that all jobs in this batch are delivered to the customer by their due dates. The eighth through thirteenth terms correspond to the situation in which job (qk , k) starts a new batch on machine MS . The first two of these terms are analogous to the fifth term, the next two are analogous to the sixth term, and the last two are analogous to the seventh term. There are two terms in each case, depending upon whether job (qk , k) starts processing on machine MM at time z and is preceded by idle time in some interval [t¯ , z], or job (qk , k) is processed on machine MM immediately after the previous job. The eleventh and thirteenth terms allow scheduling of the first on-time job. The fourteenth and fifteenth terms schedule the single-stage job (qk , k), where k > H , in the interval [t − pqSk ,k , t] on machine MS so that it is on time. In the fourteenth term, this job is scheduled in the same batch as the previous job, whereas in the last term job (qk , k) starts a new batch at time t − pqSk ,k when the previous batch completes. Theorem 7.11 an optimal EDD within groups schedule for Algorithm CU finds problem 1|| wj UjC + DgS ygS + DhM yhM , in O(nG+2H −1 P 3 ) time. Proof The dynamic program exploits structural properties of an optimal schedule that are established in part (a) of Lemmas 7.1, 7.2, 7.3, and the assumption of EDD within groups for on-time jobs. There are O(nG+2H −1 P 3 ) states (q, v, t, z, t¯, k). An analysis of the recurrence relation similar to that in the proof of Theorem 7.9 shows that the overall time complexity of Algorithm CU is O(nG+2H −1 P 3 ).
7.2 Scheduling and Batching in a Supply Chain
331
7.2.5 Cooperation We first show through three examples that substantial benefits can result from cooperation between the supplier S and the manufacturer M1 . Then, using two further examples, we discuss the stability of such cooperations and mechanisms for achieving them.
7.2.5.1
Benefits of Cooperation
We present an example for both of the scheduling objectives analyzed above. Each example shows that the solution that results from the supplier and manufacturer acting independently is considerably more costly than the solution of the combined problem. Example 7.1 (Benefit of Cooperation in a FlowtimeProblem) Consider the following instance of the combined problem 1|| FjC + DgS ygS + DhM yhM . There are two jobs (n = 2), both produced by a single manufacturer (G = 1) for a single customer (H = 1), where the processing times and delivery costs are given in Table 7.2, and where K is an integer such that K > 3. A straightforward cost comparison shows that there is an optimal schedule in which both the supplier and the manufacturer process the jobs in the order (1, 2) on machines MS and MM , respectively. For the supplier, processing of the two jobs is completed at times 1 and K + 1, respectively. Therefore, if the jobs are delivered in two separate batches, the scheduling cost is FjS = 1 + (K + 1) = K + 2. On the other hand, if the jobs are delivered in a single batch, then FjS = 2(K + 1). S S S Dg yg for two deliveries and one delivery are Thus, the overall costs Fj + (K + 2) + 2(K − 1) = 3K and 2(K + 1) + (K − 1) = 3K + 1, respectively. Consequently, the supplier’s decision is to deliver the two jobs in separate batches to arrive at the manufacturer at times 1 and K + 1, respectively. For the manufacturer’s problem, using release dates r1M = 1 and r2M = K + 1, processing of the two jobs is completed 2 and K +2, respectively. Using two at times separate batches, the overall cost is FjM + DhM yhM = 2K + 2. Alternatively, M M M using a single-batch delivery, Fj + Dh yh = (K + 2) + K = 2K + 2. Thus, the minimum total cost for the manufacturer’s problem is 2K + 2. In order to evaluate this schedule with respect to the combined problem, we add the supplier’s optimal cost of 3K, giving a total cost of 5K + 2. Table 7.2 Data for Example 7.1
Job Processing time Delivery cost
Supplier 1 2 1 K K −1
Manufacturer 1 2 1 1 K
332
7 Optimization and Conflict
Table 7.3 Data for Example 7.2 Job Processing time Due date Delivery cost
Supplier 1 K
Manufacturer ... n − 1 n 1 ... n − 1 ... K K −1 1 ... 1
K − n + 1 ... K − 1 K 0
n (n − 1)K + 1
(n − 1)K + 1 . . . (n − 1)K + 1 nK + 1 0
However, an optimal schedule for the combined problem is to deliver both jobs from the supplier to the manufacturer in a single batch at time K + 1. At time K + 3, after the manufacturer has processed both jobs, they to thecustomer in are delivered a single batch. The overall cost of this schedule is FjC + DgS ygS + DhM yhM = 2(K + 3) + (K − 1) + K = 4K + 5. Therefore, the ratio of the cost incurred in the combined problem when the supplier and the manufacturer make separate decisions to the optimal cost is (5K + 2)/(4K + 5), which can be arbitrarily close to 5/4 if K is large. Thus, cooperation provides a 20% reduction in the total system cost. Example 7.2 (Benefit of Cooperation in a Late Consider the follow Jobs Problem) ing instance of the combined problem 1|| UjC + DgS ygS + DhM yhM , where G = H = 1. The processing times, due dates, and delivery costs are given in Table 7.3, where K is an integer and K ≥ n ≥ 2. The supplier’s due dates are based on a schedule for the manufacturer in which jobs 1, . . . , n − 1 are scheduled consecutively in the interval [K − n + 1, K] and job n is scheduled in the interval [K, nK + 1]. A unique optimal solution of the supplier’s problem schedules job n to be on time and all other jobs to be late and not delivered to the manufacturer. The manufacturer consequently schedules job n to be on time. Thus, the total cost is equal to n − 1. However, an optimal schedule for the combined problem schedules jobs 1, . . . , n − 1 on time, where each job is delivered separately, and job n late, giving an optimal cost of 1. Thus, cooperation provides a reduction in the total system cost that can be arbitrarily close to 100%. The potential benefits of cooperation identified in Examples 7.1 and 7.2 can be viewed in the context of similar results from the supply chain management literature. For example, Parlar and Weng (1997) consider a problem of coordination between a firm’s supply and manufacturing departments and estimate the benefit of cooperation to total profit to be at least 26%.
7.2.5.2
Mechanisms for Cooperation
S S We now present two further examples for problem 1|| FjC + Dg yg + M M Dh yh . If the supplier’s and manufacturer’s schedules are used to form a
7.2 Scheduling and Batching in a Supply Chain Table 7.4 Data for Example 7.3
333
Job Processing time Delivery cost
Supplier 1 2 1 K K/2
Manufacturer 1 2 1 1 K
Table 7.5 Cost matrix for Example 7.3
Supplier
1 batch 2 batches
Manufacturer 1 batch (5K/2 + 2, K + 4) : 7K/2 + 6 (2K + 2, 2K + 2) : 4K + 4
2 batches (5K/2 + 2, 2K + 3) : 9K/2 + 5 (2K + 2, 2K + 2) : 4K + 4
combined schedule, then FjC = FjS + FjM . Thus, the overall cost in the combined problem is equal to the supplier’s total cost plus the manufacturer’s total cost. Example 7.3 (Benefit of Cooperation in a Flowtime Problem) Consider the following instance of problem 1|| FjC + DgS ygS + DhM yhM , where n = 2, G = 1, and H = 1. The processing times and delivery costs are given in Table 7.4, where K > 8 is an integer. Some insights about cooperation can be gained from summarizing the results for Example 7.3 in the form of a cost matrix, as in Table 7.5, where the notation (c1 , c2 ) : c1 + c2 denotes that the supplier’s cost is c1 , the manufacturer’s cost is c2 , and the total cost is c1 + c2 . As in Example 7.1, the jobs are processed in the order (1, 2) on machines MS and MM . It is easy to see that the solution that minimizes total cost in Table 7.5 requires both the supplier and the manufacturer to use a single batch. However, this solution is not a Nash equilibrium (Myerson, 1981; Nash, 1951), since the supplier can benefit by unilaterally deviating from it and using two batches. Mechanisms by which the manufacturer can encourage the supplier’s cooperation include: 1. Offering an incentive if all the jobs in the order are delivered together, to an extent sufficient to compensate the supplier for the increased cost 2. Offering to share holding costs for completed jobs at the supplier A situation analogous to that in the first mechanism above arises in the personal computer industry, as discussed by Lee et al. (2000). Because of rapid innovation and new product development, leading to frequent declines in retail prices, retailers of personal computers tend to delay purchases, so as to avoid being caught with expensive inventory that can only be sold cheaply. In this situation, computer manufacturers may offer price protection packages to encourage earlier purchases. Regarding the second mechanism above, our recommendations are similar to Propositions 1 and 2 of Moses and Seshadri (2000), where a necessary and sufficient condition for decision makers at two stages to agree on a stocking level is an agreement to share holding costs at the second stage. Also, Agrawal and Seshadri (2000) consider a model that determines the timing of replenishments from a
334
7 Optimization and Conflict
Table 7.6 Data for Example 7.4
Job Processing time Delivery cost
Supplier 1 2 1 K 3K/2
Manufacturer 1 2 K K K
Table 7.7 Cost matrix for Example 7.4
Supplier
1 batch 2 batches
Manufacturer 1 batch (7K/2 + 2, 5K) : 17K/2 + 2 (4K + 2, 4K) : 8K + 2
2 batches (7K/2 + 2, 5K) : 17K/2 + 2 (4K + 2, 4K) : 8K + 2
supplier to multiple retail stores. Their discussion of the tradeoff between immediate and delayed replenishment is analogous to our batching decision. In the event that attempts at cooperation fail, the manufacturer can still attempt to force the supplier to deliver only one batch. Mechanisms for doing so include refusing to accept delivery before a certain date or refusing to accept delivery of partial orders. Example 7.4 (Benefit of Cooperation in a Flowtime Problem) Consider the following instance of problem 1|| FjC + DgS ygS + DhM yhM with n = 2, G = 1, and H = 1. The processing times and delivery costs are given in Table 7.6, where K is an integer such that K ≥ 2. The costs for Example 7.4 are summarized in Table 7.7, using the same format as Table 7.5, where the optimal processing order on machines MS and MM is (1, 2). Mechanisms by which the manufacturer can encourage the supplier to deliver the first batch earlier include: 1. Offering an incentive for earlier delivery of part of the order, to an extent sufficient to compensate the supplier for the increased delivery cost 2. Offering to pick up part of the order, perhaps as part of an existing logistics operation 3. Offering to share the extra delivery costs The linkages to the supply chain management literature discussed following Example 7.3 are again relevant here. Agrawal and Seshadri (2000) address related timing issues in the balancing of inventory between a supplier and several manufacturers. If attempts at cooperation fail, then the manufacturer can still attempt to force the supplier to deliver a batch earlier, for example, by refusing to accept delivery of job 1 after a certain date. In both Examples 7.3 and 7.4, the supplier and manufacturer can bargain over the savings in the total system cost that are achieved by an optimal cooperative strategy, relative to a solution found by independent decision making. These savings are (4K+4)−(7K/2+6) = K/2−2 in Table 7.5 and (17K/2+2)−(8K+2) = K/2 in Table 7.7. The bargaining solution theory of Nash (1950, 1953) suggests that
7.3 Sequencing in an Assembly System
335
neither player will bargain at a cost greater than they can achieve independently. Thus, a solution with c1 ≤ 2K + 2 and c2 ≤ 2K + 2 is found for Example 7.3, and a solution with c1 ≤ 7K/2 + 2 and c2 ≤ 5K is found for Example 7.4. The supply chain management literature offers some guidance about how the profits from cooperation should be divided. For example, Weng (1995) develops models that share the increased profit from cooperation. A similar methodology can be used here, subject to the above constraints. It is clear from Tables 7.5 and 7.7 that the supplier’s cost is independent of the manufacturer’s decisions, and therefore the supplier has no incentive to persuade the manufacturer to change behavior. For this reason, if cooperation is to lead to a solution that is optimal for the system as a whole, then that cooperation must be initiated by the manufacturer. Although our analysis focuses on supply chains with three stages, namely a supplier, manufacturers, and customers, more generally there may be s stages, where stage s corresponds to the customers. In this case, cooperation should be initiated at stage s − 1 by discussion with stage s − 2. If this cooperation is successfully achieved, then stages s − 2 and s − 1 can jointly approach stage s − 3 about cooperation. Continuing in this way, the negotiations work their way upstream until all parts of the supply chain are cooperating for maximum benefit. The study of scheduling and batching presented in this section is important for applications that involve significant transportation cost. Another relevant factor is the availability of sufficient transportation resources—either internally or through third party logistics—to make frequent deliveries in order to satisfy customer deadlines.
7.3 Sequencing in an Assembly System This section focuses on the important issues of conflict and cooperation between decision makers in an assembly system. The issues of conflict and cooperation between the suppliers and the manufacturer arise from the requirement that all parts required for a job must be received before the final stage of manufacturing for that job can begin. Therefore, the performance of the manufacturer depends on the last supplier to deliver a part for each job and thus on decisions made by all the suppliers. However, the suppliers are concerned about their own costs which are not, in general, optimized by the same scheduling decisions that optimize the manufacturer’s cost. How these conflicts are resolved depends on the relative bargaining power of the suppliers and the manufacturer, and cooperation mechanisms that achieve this resolution need to be developed. In order to focus on conflict and coordination issues instead of the constraints faced by the manufacturer, we assume that this final stage is nonbottleneck; however, none of the cooperation mechanisms discussed in this section rely on this assumption. In nonbottleneck manufacturing, as many products as needed can be processed through the final stage simultaneously.
336
7 Optimization and Conflict
Fig. 7.5 Logical flow of the assembly system study
Practical examples of nonbottleneck final manufacturing stages include outsourced assembly, packaging, and delivery. We assume that all the suppliers act as a single agent when negotiating with the manufacturer. This is motivated by the common practice that sellers (or buyers) act together to negotiate collectively with buyers (or sellers) in order to increase their bargaining power (Moore & Gray, 2011). It is necessary to evaluate the cost saving from cooperation between the decision makers, in order to understand when cooperation is worthwhile. This in turn requires the solution of the various scheduling problems that these mechanisms define for solution by the suppliers, the manufacturer, and the overall system. Figure 7.5 provides an overview of the logical flow of this section.
7.3.1 Notation and Assumptions The assembly system studied in this section consists of s suppliers S1 , . . . , Ss , which supply parts to a manufacturer M. Each supplier operates a dedicated production line for the manufacturer. This situation occurs commonly in practice, for example, when (i) the jobs from the manufacturer are customized and require special tools and (ii) the supplier and manufacturer have a long-term relationship. Each supplier may produce one or more parts for each job. Because the cost functions considered are nondecreasing in job completion time, there exists an optimal schedule in which the parts produced for a single job by the same supplier are scheduled consecutively. The manufacturer receives a set of jobs N = {1, . . . , n} from its customer(s) at the beginning of the planning horizon. Each job consists of several parts to be processed nonpreemptively at suppliers S1 , . . . , Ss . The parts of a particular job can be processed concurrently by different suppliers. Since it has been shown in practice (Stein & Sweat, 1998) and in the academic literature that sharing information vertically among the supply chain members helps the system operate more efficiently, we assume that the manufacturer passes the known information about all the jobs to the suppliers simultaneously. Therefore, all parts become
7.3 Sequencing in an Assembly System
337
simultaneously available for processing by the suppliers. Let pij denote the total processing time of the parts processed by supplier Si for job j , for i = 1, . . . , s, j = 1, . . . , n. Each job j may have a due date dj , for j = 1, . . . , n. We assume that all parameters pij and dj are nonnegative integers. We define a schedule in any problem in this section to consist of s + 1 subschedules, one for each of the suppliers S1 , . . . , Ss and the manufacturer M. We define the following decision variables in a given schedule σ : Cij (σ ) = the time at which the parts for job j are delivered from supplier Si to the manufacturer; Cj (σ ) = max1≤i≤s {Cij (σ )}, the time at which the last part for job j is delivered to the manufacturer; Lj (σ ) = Cj (σ ) − dj , the lateness of job j. We assume that the delivery time from a supplier to the manufacturer is negligible, relative to the processing times of the jobs at the supplier. The insights about conflict and cooperation issues which we discuss still hold without this assumption. However, the solvability of the implied scheduling problems may change in the more general case. Since we consider the manufacturer’s operations as nonbottleneck, we assume without loss of generality that the processing time of each job at the manufacturer is zero. Therefore, Cj (σ ) is not only the delivery time of the last part for job j to the manufacturer but also the completion time of job j at the manufacturer. We use a shortest processing time (SPT) ordering of the parts or jobs, where they are scheduled in nondecreasing order of their processing times. We also use an earliest due date (EDD) ordering, where the jobs are scheduled in nondecreasing order of their due dates. We consider various scheduling problems denoted by the classification scheme ψ1 |ψ2 |ψ3 (Graham et al., 1979). Except where stated, we let ψ1 = As, which denotes an assembly system with s suppliers and one manufacturer. We also refer to problems with ψ1 = 1, which denotes a single-machine problem, or ψ1 = F2 , which denotes a two machine flowshop problem. Under ψ2 , we may have coseq which specifies that the suppliers use a common job sequence, tij which denotes a transportation time for the parts of job j from supplier Si to the manufacturer, or a constraint on cost. In order to model conflict and cooperation issues in our assembly system, we consider four problems. 1. Supplier Si ’s problem. An individual supplier Si acts alone to minimize a performance measure Fi . 2. The suppliers’ problem. The suppliers act jointly to minimize a total performance measure si=1 Fi . 3. The manufacturer’s problem. The manufacturer acts alone to minimize a performance measure G. 4. The system problem. All the suppliers and the manufacturer act jointly to minimize their total cost α si=1 Fi + (1 − α)G.
338
7 Optimization and Conflict
Remark 7.3 We consider the suppliers as a single agent; however, the first definition helps in understanding the cost function of an individual supplier. In the system problem, α is used to convert the performance measures of the suppliers and the manufacturer into common cost units. For example, if one unit of si=1 Fi costs $2 and one unit of G costs $3, then α = 0.4. Here, αFi represents the cost of supplier Si , for i = 1, . . . , s, and (1 − α)G represents the cost of the manufacturer. The models discussed here are applicable to an assembly system with any Fi and G cost functions. We now describe and motivate our specific choice of cost functions under ψ3 . Since the suppliers do not deal directly with customers, their objective is internally focused; therefore, we use the minimization of work-in-process cost. We note that the total completion time of a set of jobs is often used in the scheduling literature (Lane & Sidney, 1993; Ng et al., 2003) as a surrogate for the work-inprocess inventory cost of the jobs. Furthermore, minimizing the total completion time of the jobs in a plant is equivalent to minimizing the average number of jobs in the plant and hence minimizing the congestion of the plant (Hopp & Spearman, 2000; Pinedo & Chao, 1999). For the manufacturer, however, customer service is important; therefore, we use total lead time and maximum lateness as cost measures. Total lead time measures average customer service, whereas maximum lateness measures worst-case customer service. These scheduling cost functions are among the most commonly used in manufacturing practice (Pinedo, 2016). Other objective functions, such as the total tardiness or the total number of tardy jobs, could also be considered. Therefore, our discussion focuses on the following cost function Fi for supplier Si , for i = 1, . . . , s,
j ∈N
Cij (σ ) = total completion time of the parts at supplier Si in schedule σ representing the work-in-process cost of the supplier,
and the following two cost functions G for the manufacturer
Cj (σ ) = total completion time of the jobs at the manufacturer in schedule σ ; = max{Lj (σ ) | j ∈ N}, maximum lateness of the jobs at the Lmax (σ ) manufacturer in schedule σ. j ∈N
When the schedule being used is clear from the context, we write Cij (σ ), Cj (σ ), and Lmax (σ ) as Cij , Cj , and Lmax , respectively.
7.3.2 Conflicts Between Suppliers and Manufacturer We study the extent to which an optimal schedule for the manufacturer’s problem can be suboptimal for the suppliers’ problem, and vice versa. Let ν and γ
7.3 Sequencing in an Assembly System
339
denote an optimal schedule for the suppliers’ problem As|| si=1 Fi and for the manufacturer’s problem As||G, respectively. Also, let π denote an optimal schedule for the system problem, As||α si=1 Fi + (1 − α)G. The levels of conflict between the suppliers and the manufacturer are measured by the following relative errors between ν and γ : ( ) s s s (i) F (γ ) − F (ν) / i i i=1 i=1 i=1 Fi (ν) and (ii) [G(ν) − G(γ )] /G(γ ), where (i) represents the relative error of the optimal schedule for the manufacturer’s problem when used for the suppliers’ problem, and (ii) represents the relative error of the optimal schedule for the suppliers’ problem when used for the manufacturer’s problem. For the analysis in this section, we use the following notations: pj = max{pij | i = 1, . . . , s}; Ng = {j ∈ N | p j = g}; Mg = {j ∈ N | si=1 pij = g}; Nig = {j ∈ N | pij = g}; ng = |Ng | = number of jobs with p j = g; mg = |Mg | = number of jobs with si=1 pij = g; nig = |Nig | = number of jobs with pij = g; rg = min{nig | i = 1, . . . , s}; migh = number of jobs with pij = h and pj ≤ g; qgh = max{migh | i = 1, . . . , s}.
7.3.2.1
Completion Time and Completion Time
We firstevaluate the relative error of the optimal schedule ν for the supplier’s problem As|| Cij when it is used for the manufacturer’s problem As|| Cj , i.e., j ∈N Cj (ν) − j ∈N Cj (γ ) . C (γ ) j ∈N j As a preliminary step, we analyze the solvability of these two problems. We define an individual shortest processing time (ISPT) schedule to be one obtained when supplier Si schedules its parts in SPT order, i.e., such that pi1 ≤ · · · ≤ pin , for i = 1, . . . , s. Theorem 7.12 Problem As|| Cij is solved optimally by an ISPT order of the jobs, which can be found in O(n log n) time. Proof The result follows from Smith (1956). Theorem 7.13 The recognition version of problem As|| complete.
Cj is unary NP-
340
7 Optimization and Conflict
Proof By reduction from the following problem, which is known to be unary NPcomplete. 3-Partition (Garey & Johnson, 1979, p. 224): given 3m elements with integer sizes a1 , . . . , a3m , where 3m i=1 ai = mB and B/4 < ai < B/2, for i = 1, . . . , 3m, does there exist a partition H1 , . . . , Hm of the index set H = {1, . . . , 3m} such that |Hj | = 3 and i∈Hj ai = B, for j = 1, . . . , m? As part of this definition, we assume that, if there exists a solution to 3-Partition, then the elements are numbered such that a3i−2 + a3i−1 + a3i = B, for i = 1, . . . , m. Consider an instance of the recognition version of problem As|| Cj defined by n = 4m, s = 4, p1j = 4B, for j = 1, . . . , 3m, p2j = 4B − aj , for j = 1, . . . , 3m, p3j = 3B + aj , for j = 1, . . . , 3m, p4j = 0, for j = 1, . . . , 3m, p1j = 0, for j = 3m + 1, . . . , 4m, p2j = B, for j = 3m + 1, . . . , 4m, p3j = 2B, for j = 3m + 1, . . . , 4m, p4j = 12B, for j = 3m + 1, . . . , 4m, and C = 24m2 B + 12mB, where Cis a threshold cost. We prove that there exists a schedule for this instance of As|| Cj with cost less than or equal to C if and only if there exists a solution to 3-Partition. (⇒) Consider the sequence (1, 2, 3, 3m + 1, . . . , 3m − 2, 3m − 1, 3m, 4m). The bottleneck supplier for the first three jobs is S1 , and those jobs are completed at times 4B, 8B, and 12B, respectively. Each of the four suppliers completes job 3m + 1 at time 12B. Each subsequent subset of four jobs is scheduled similarly, requiring a total processing time of 12B at each supplier. It can be shown that the total cost of the schedule is equal to C. (⇐) Assume the existence of a schedule σ for problem As|| Cj for which Cj ≤ C. Without loss of generality, suppose that the jobs {1, . . . , 3m} are sequenced in this order at supplier S1 and that the jobs {3m + 1, . . . , 4m} are sequenced in this order at supplier S4 . Then, it can be shown that Cj ≥ C1j = 4j B for j ∈ {1, . . . , 3m} and Cj ≥ C4j = 12(j − 3m)B for j ∈ {3m + 1, . . . , 4m}. Hence, Cj ≥ C, and Cj ≤ C if and only if Cj = 4j B for j ∈ {1, . . . , 3m} and Cj = 12(j − 3m)B for j ∈ {3m + 1, . . . , 4m}. This means that, in σ , C2j ≤ 4j B and C3j ≤ 4j B for j ∈ {1, . . . , 3m}, and C2j ≤ 12(j − 3m)B and C3j ≤ 12(j − 3m)B for j ∈ {3m + 1, . . . , 4m}. Now consider the following four jobs: 1, 2, 3, and 3m+1. They are all completed no later than time 12B at both suppliers S2 and S3 . Thus, p21 +p22 +p23 +p2,3m+1 = 13B −(a1 +a2 +a3 ) ≤ 12B, and p31 +p32 +p33 +p3,3m+1 = 11B +(a1 +a2 +a3 ) ≤ 12B. This implies that a1 + a2 + a3 = B. Therefore, the four jobs are completed exactly at 12B at each supplier. This argument can be repeated for each group of
7.3 Sequencing in an Assembly System
341
four jobs {3j − 2, 3j − 1, 3j, 3m + j } to show that a3j −2 + a3j −1 + a3j = B, for j = 2, . . . , m. This implies the existence of a solution to 3-Partition. In view of Theorem 7.13, we use schedule ρ generated by the following heuristic, instead of γ , to evaluate the performance of ν. Heuristic SMPT Schedule the jobs in nondecreasing order of pj at all the suppliers, where pj = max{pij | i = 1, . . . , s}. Clearly, j ∈N Cj (γ ) ≤ j ∈N Cj (ρ). Therefore,
j ∈N
Cj (ν) − j ∈N Cj (γ ) j ∈N Cj (ν) − j ∈N Cj (ρ) ≥ . j ∈N Cj (γ ) j ∈N Cj (ρ)
(7.1)
The following result provides an asymptotic analysis for the relative error as n → ∞. Theorem 7.14 Assume that the job processing times pij are integer valued and follow an independent and identical discrete uniform distribution over a finite interval [l, u], where l and u are nonnegative integers. If the optimal schedule ν for the suppliers’ problem is used for the manufacturer’s problem As|| Cj , then the relative error between the cost of ν and the optimal manufacturer’s cost satisfies lim
n→∞
j ∈N
Cj (ν) − j ∈N Cj (γ ) j ∈N Cj (γ ) u
a.s.
≥
(g 2 − l 2 − g + l) [(g − l + 1)s − (g − l)s ]
g=l
u g=l
! − 1. (7.2) s−1 $ g−l+1 2 2 s s (g − l + g + l) u−l+1 [(g − l + 1) − (g − l) ]
Proof From the Laws of Large Numbers (see Remark 2.2 in Sect. 2.3.4.1) and the stated assumption on the probability distribution of the pij values, we have, for i = 1, . . . , s, g = l, . . . , u, and h = l, . . . , g, nig a.s. 1 , (7.3) = Pr[pij = g] = n u−l+1 ng a.s. lim = Pr[pj = g] = Pr[pj ≤ g] − Pr[pj ≤ g − 1] n→∞ n " # #s " g−l+1 s g−l = − , and (7.4) u−l+1 u−l+1 migh a.s. lim = Pr[pij = h, pj ≤ g] = Pr[pj ≤ g] × Pr[pij = h | pj ≤ g] n→∞ n # " (g − l + 1)s−1 g−l+1 s 1 = = × . (7.5) u−l+1 g−l+1 (u − l + 1)s lim
n→∞
342
7 Optimization and Conflict
It follows from (7.3) and (7.5) that lim
n→∞
rg a.s. 1 , = n u−l+1
and
(7.6)
qgh a.s. (g − l + 1)s−1 = . n→∞ n (u − l + 1)s lim
(7.7)
We provide a lower bound on the cost of ν in the manufacturer’s problem. From Theorem 7.12, in schedule ν, the parts are processed at each supplier Si in SPT order of their processing times pij . Thus, each supplier Si processes the jobs from the same subset Nig consecutively, for g = l, . . . , u, and the jobs from different subsets in the order (Nil , Ni,l+1 , . . . , Niu ). Let Eig denote the starting time of the first job from Nig at supplier Si . We have, for each j ∈ Ng , Cj (ν) ≥ min{Eig | i = 1, . . . , s} = min g−1
≥
⎧ g−1 ⎨ ⎩
k min {nik | i = 1, . . . , s} =
k=l
knik | i = 1, . . . , s
k=l
g−1
⎫ ⎬ ⎭
krk .
k=l
This implies that
Cj (ν) =
j ∈N
u
Cj (ν) ≥
g=l j ∈Ng
u g=l
⎡ ⎣ng
g−1
⎤ krk ⎦ .
(7.8)
k=l
Then, from (7.4), (7.6), and (7.8), we have lim
n→∞
a.s.
=
Cj (ν)
n2
≥ lim
n→∞
# u !" g−l+1 s g=l
=
j ∈N
u−l+1
1 2(u − l + 1)s+1
u
g=l
" −
⎡ ⎡ ⎤ ⎤ g−1 g−1 u ng r r k k ⎣ ⎣ k⎦ = k⎦ lim lim n→∞ n n→∞ n n n
u ng
k=l
g=l
⎡
g−l u−l+1
#s $ g−1 ⎣ k=l
k=l
⎤ k ⎦ u−l+1
) ( (g − l + 1)s − (g − l)s g 2 − l 2 − g + l .
(7.9)
g=l
Next, we derive an upper bound on the optimal manufacturer’s cost, j ∈N Cj (γ ), using schedule ρ from Heuristic SMPT and (7.1). In schedule ρ, the jobs from the same subset Ng , for g = 1, . . . , s, are scheduled consecutively, and the jobs from different subsets are scheduled in the order (Nl , Nl+1 , . . . , Nu ). Let Dg be the completion time of the last job from the subset Ng and Hig be the total g processing time of the jobs from k=l Nk at supplier Si . Thus, for g = l, . . . , u,
7.3 Sequencing in an Assembly System
343
Dg = max{Hig | i = 1, . . . , s} = max
g
% kmigk | i = 1, . . . , s
k=l g
≤
k max{migh | i = 1, . . . , s} =
k=l
g
(7.10)
kqgk .
k=l
Since Cj (ρ) ≤ Dg for j ∈ Ng , from (7.10), we have
Cj (ρ) =
j ∈N
u
Cj (ρ) ≤
g=1 j ∈Ng
u g=l
ng Dg ≤
u
ng
g=l
g
kqgk .
(7.11)
k=l
Then, we have lim
j ∈N
n2
n→∞
=
u g=l
a.s.
=
u ! g=l
=
Cj (γ )
≤ lim
n→∞
j ∈N
Cj (ρ)
n2
g u ng qgk ≤ lim k , n→∞ n n g=l
from (7.11)
k=l
ng qgk k lim n→∞ n n g
lim
n→∞
k=l
$ $ g ! (g − l + 1)s − (g − l)s (g − l + 1)s−1 k , (u − l + 1)s (u − l + 1)s
from (7.4) and (7.7)
k=l
u ) ! (g − l + 1)s−1 $ ( 2 1 s s 2 (g − l + 1) g − (g − l) − l + g + l . 2(u − l + 1)s+1 (u − l + 1)s−1 g=l
(7.12)
The main result, (7.2), then follows from (7.9) and (7.12).
Theorem 7.14 provides an asymptotic lower bound on the relative error between schedules ν and γ for the manufacturer’s problem, as n → ∞. For finite values of n, we compute the lower bound in (7.1), using random test problems that are generated as follows: (i) the number of suppliers s ∈ {2, 4, 8, 16}, (ii) the number of jobs n ∈ {50, 100, 200, 400}, and (iii) job processing times pij are independently drawn from a uniform integer distribution over the interval [l, u], where l ∈ {10, 50}, and u ∈ {100, For a small number of randomly generated test problems, 500, 1000}. we have j ∈N Cj (ν) < j ∈N Cj (ρ). For these problems, we record the relative error as 0 because the actual relative error between ν and γ is always nonnegative. For each (s, l, u, n) combination, the mean lower bound over 10 random instances is reported in Table 7.8. We also compute the lower bound in (7.2) for each (s, l, u) combination and report the results in the columns with n = ∞ in Table 7.8. Since
10
10
10
10
4
8
16
l
2
s
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Lower bound on relative error n = 50 n = 100 n = 200 21.94% 23.29% 24.42% 19.91% 21.29% 22.68% 19.63% 20.99% 22.42% 39.34% 43.98% 45.70% 36.45% 41.62% 43.38% 35.99% 41.21% 43.04% 54.34% 57.11% 61.53% 50.94% 53.89% 58.80% 50.48% 53.46% 58.47% 62.63% 67.95% 72.80% 59.42% 64.71% 70.49% 59.00% 64.43% 70.25% n = 400 25.13% 23.52% 23.30% 47.32% 45.09% 44.80% 65.08% 62.99% 62.70% 75.24% 73.24% 72.96%
n=∞ 22.66% 24.58% 24.79% 45.73% 49.21% 49.61% 61.18% 68.30% 69.15% 66.35% 79.93% 81.63%
Table 7.8 Lower bounds on relative error in the manufacturer’s problem (
8
4
2
16
s
Cj )
50
50
50
50
l
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Lower bound on relative error n = 50 n = 100 n = 200 28.55% 29.58% 29.98% 21.93% 23.31% 24.48% 20.74% 22.08% 23.40% 50.03% 52.59% 53.85% 39.49% 44.12% 45.83% 37.65% 42.60% 44.36% 66.33% 68.22% 70.56% 54.20% 57.03% 61.39% 52.23% 55.12% 59.87% 75.54% 78.42% 81.56% 62.70% 67.66% 72.95% 60.79% 65.87% 71.49%
n = 400 30.28% 25.22% 24.21% 54.53% 47.33% 45.99% 72.38% 65.15% 63.85% 82.44% 75.28% 74.04%
n=∞ 24.89% 25.97% 25.55% 47.29% 50.71% 50.43% 58.84% 69.33% 69.74% 57.97% 80.38% 81.95%
344 7 Optimization and Conflict
7.3 Sequencing in an Assembly System
345
the relative error is at least 19.6% for all the (s, l, u, n) combinations considered, we conclude that there is substantial conflict between the two schedules. The results in Table 7.8 indicate that the relative errors increase significantly with the number of suppliers, s. This can be explained as follows. As s increases, Cj increases, since it is the maximum of Cij over i = 1, . . . , s. Also, the increase of Cj under schedule ν is likely to be larger than that under schedule ρ, because schedule ρ uses the same job sequence at all the suppliers, whereas schedule ν does not. The relative errors also increase slightly with n, for 50 ≤ n ≤ 400. We next evaluate the relative error of the optimal schedule γ for the manufac turer’s problem As|| Cj when it is used for the suppliers’ problem As|| Cij , i.e., s s i=1 i=1 j ∈N Cij (γ ) − j ∈N Cij (ν) s . j ∈N Cij (ν) i=1 We first analyze the solvability of these two problems. In view of Theorems 7.12 and 7.13, we use schedule ξ generated by the following shortest total processing time rule to evaluate the performance of γ . Heuristic STPT Schedule the jobs in nondecreasing order of si=1 pij at each supplier. We need the following two preliminary results to provide some insight. Theorem 7.15 Heuristic STPT finds an optimal schedule for problem As|coseq| Cij in O(n log n) time. Proof Consider a hypothetical schedule in which job k immediately precedes job s j in some common sequence σ , where si=1 pik > i=1 pij . Let ti denote the total processing time of the jobs that are scheduled before j and k at supplier Si , for i = 1, . . . , s. Then, the total completion time of jobs k and j is s s s s (Cik + Cij ) = 2ti + 2pik + pij . i=1
i=1
i=1
i=1
If we interchange jobs j and k to obtain a sequence σ , then the total completion time of jobs k and j becomes s s s s (Cik + Cij ) = 2ti + 2pij + pik . i=1
Since
s
i=1 pik
>
i=1
s
i=1 pij ,
i=1
i=1
we have
s s s (Cik + Cij ) − (Cik + Cij ) = (pij − pik ) < 0. i=1
i=1
i=1
346
7 Optimization and Conflict
Thus, the total completion time of sequence σ is lower than that of σ . Repeating this argument proves the theorem. Lemma 7.7 For any manufacturer’s problem with a regular objective function of (C1 , . . . , Cn ) denoted by As| · | max1≤j ≤n {fj (Cj )} or As| · | fj (Cj ), where fj (·) is a nondecreasing function, and without processing times at the manufacturer or transportation times, there exists an optimal schedule that uses identical job sequences at all suppliers. Proof Consider a schedule with two jobs i and j such that job i is scheduled before job j at supplier S1 and job j is scheduled before job i at supplier S2 . If C1j ≤ C2k , then interchange jobs k and j at supplier S1 . Alternatively, if C1j > C2k , then interchange jobs k and j at supplier S2 . In both cases, the completion time of each job is either unchanged or decreased in the new schedule. From Theorem 7.15, schedule ξ minimizes Cij over all schedules that require identical job sequences at the suppliers. From Lemma 7.7, we may assume without loss of generality that schedule γ has identical job sequences at the suppliers. Therefore, we have s
Cij (γ ) ≥
i=1 j ∈N
s
i=1
⇒ s
i=1
≥
s
(7.13)
Cij (ξ )
i=1 j ∈N
Cij (γ ) − s
j ∈N
Cij (ξ ) − s
j ∈N
s
j ∈N
i=1
i=1
j ∈N
i=1
s
Cij (ν)
j ∈N
j ∈N
i=1
Cij (ν)
Cij (ν)
Cij (ν)
.
(7.14)
The following result provides an asymptotic analysis for the relative error as n → ∞. Theorem 7.16 Assume that the job processing times pij are integer valued and follow an independent and identical discrete uniform distribution over a finite interval [l, u], where l and u are nonnegative integers. If the optimal schedule γ for the manufacturer’s problem is used for the suppliers’ problem As|| Cij , then the relative gap between the cost of γ and the optimal manufacturer’s cost satisfies s
lim
n→∞
i=1 j ∈N
Cij (γ ) − s i=1 j ∈N
s i=1 j ∈N
Cij (ν)
su
Cij (ν) a.s.
≥
s
rsg
g=sl u
(g 2
− l2
g−1
hrsh
h=sl
+ g + l) /[2(u − l
− 1, + 1)2 ]
g=l
(7.15)
7.3 Sequencing in an Assembly System
347
where rsk is the probability that the total processing time equal to k, for sl ≤ k ≤ su.
s
i=1 pij
of any job is
Proof From the Laws of Large Numbers and the given assumption on the probability distribution of the pij values, we have, for i = 1, . . . , s, g = l, . . . , u, and h = sl, . . . , su, s mh a.s. lim = Pr pij = h = rsh . (7.16) n→∞ n i=1
s
We first derive an upper bound on i=1 j ∈N Cij (ν). From Theorem 7.12, jobs are in SPT order at each supplier in schedule ν. Thus, each supplier Si processes the jobs from the same subset Nig consecutively, for g = l, . . . , u, and the jobs from different subsets in the order (Nil , Ni,l+1 , . . . , Niu ). At supplier Si , the completion g time of each job j ∈ Nig satisfies Cij (ν) ≤ k=l knik . This implies that
u
Cij (ν) =
j ∈N
u
Cij (ν) ≤
g=l j ∈Nig
nig
g=l
g
(7.17)
knik .
k=l
Then, from (7.3) and (7.17), we have s lim
n→∞
= lim
n→∞
j ∈N n2
u s
Cij (ν)
i=1 g=l
1 (u − l + 1)2
a.s.
=
=
i=1
s
u
i=1
≤ lim
g=l
n2
n→∞
nig n
g k=l
nik k n
g u s
. g / nig k=l knik
k
i=1 g=l k=l
u s (g 2 − l 2 + g + l). 2(u − l + 1)2
(7.18)
g=l
Next, we derive a lower bound on si=1 j ∈N Cij (γ ), using schedule ξ from Heuristic STPT and (7.13). In schedule ξ , the jobs from the same subset Mg , for g = sl, . . . , su, are scheduled consecutively, and the jobs from different subsets are scheduled in the order (Msl , Msl+1 , . . . , Msu ). Thus, for each job j ∈ Mg for g−1 g ∈ {sl, . . . , su}, we have Cij (ξ ) ≥ h=sl j ∈Mh pij , and hence s i=1
Cij (ξ ) ≥
g−1 s h=sl j ∈Mh i=1
pij =
g−1 h=sl j ∈Mh
h=
g−1 h=sl
hmh .
348
7 Optimization and Conflict
This implies that s
Cij (γ ) ≥
i=1 j ∈N
≥
s
Cij (ξ ) =
i=1 j ∈N
g−1 su
hmh =
g=sl j ∈Mg h=sl
su g=sl
⎡ ⎣mg
su
s
g=sl j ∈Mg
i=1
g−1
⎤
Cij (ξ )
hmh ⎦ .
(7.19)
h=sl
Then, from (7.16) and (7.19), we have s
i=1
j ∈N n2
Cij (γ )
( ) g−1 m hm g h g=sl h=sl
su
≥ lim n→∞ n2 ⎡ ⎤ ⎤ g−1 g−1 su su m mh a.s. ⎣ g ⎣rsg = lim h ⎦ = hrsh ⎦ . n→∞ n n lim
n→∞
⎡
g=sl
h=sl
g=sl
(7.20)
h=sl
The main result, (7.15), then follows from (7.18) and (7.20).
Theorem 7.16 provides an asymptotic lower bound on the relative gap between schedules γ and ν for the suppliers’ problem, as n → ∞. The probability parameters rsk can be calculated recursively for given l and u, as follows. First, when s = 1, we have r1k = 1/(u − l + 1) for l ≤ k ≤ u. Suppose that we have already calculated rsk for s = 1, . . . , i for some i. Then, the values of ri+1,k min{u,k} can be found from the following formula: ri+1,k = j =l ri,k−j /(u − l + 1), for (i +1)l ≤ k ≤ (i +1)u. For finite values of n, we compute the lower bound in (7.14), using random test problems that are generated similarly to those in Table 7.8. The results are reported in Table 7.9. We also compute the lower bound in (7.15) for each (s, l, u) combination and report the results in the columns with n = ∞ in Table 7.9. Since the relative error is at least 10% for most (s, l, u, n) combinations considered, we conclude that there is substantial conflict between the two schedules. Since in (7.14) schedules γ and ξ use a common sequence for all the suppliers, whereas schedule ν does not, the relative errors increase with s.
7.3.2.2
Completion Time and Maximum Lateness
We first evaluate the performance of the optimal schedule ν for the supplier’s problem As|| Cij when it is used for the manufacturer’s problem As||Lmax , i.e., Lmax (ν) − Lmax (γ ) . Lmax (γ )
10
10
10
10
4
8
16
l
2
s
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Lower bound on relative error n = 50 n = 100 n = 200 10.60% 11.13% 11.26% 13.16% 13.80% 13.99% 13.53% 14.19% 14.39% 17.29% 17.94% 18.74% 21.42% 22.28% 23.31% 22.02% 22.91% 23.97% 23.56% 24.48% 24.47% 29.19% 30.41% 30.41% 30.01% 31.27% 31.27% 27.27% 27.95% 28.47% 33.81% 34.70% 35.38% 34.76% 35.68% 36.38% n = 400 11.23% 13.97% 14.37% 18.78% 23.35% 24.01% 24.60% 30.59% 31.46% 28.46% 35.38% 36.39%
n=∞ 8.73% 13.64% 14.31% 16.82% 23.50% 24.44% 22.46% 30.38% 31.51% 26.43% 35.21% 36.47%
Table 7.9 Lower bounds on relative error in the suppliers’ problem ( Cij )
8
4
2
16
s
50
50
50
50
l
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Lower bound on relative error n = 50 n = 100 n = 200 3.56% 3.72% 3.74% 10.50% 11.00% 11.14% 12.05% 12.64% 12.81% 5.82% 5.98% 6.22% 17.12% 17.76% 18.55% 19.64% 20.41% 21.33% 7.90% 8.16% 8.15% 23.32% 24.24% 24.23% 26.76% 27.85% 27.85% 9.13% 9.33% 9.48% 27.00% 27.68% 28.19% 30.99% 31.79% 32.40%
n = 400 3.72% 11.11% 12.78% 6.24% 18.59% 21.37% 8.18% 24.36% 28.00% 9.46% 28.18% 32.39%
n=∞ 0.06% 10.74% 12.70% 3.07% 18.61% 21.73% 5.18% 24.09% 28.01% 6.67% 27.94% 32.43%
7.3 Sequencing in an Assembly System 349
350
7 Optimization and Conflict
As a preliminary step, we briefly discuss the solvability of these two problems. Problem As|| Cij is studied in Theorem 7.12. For problem As||Lmax , the following result generalizes that of Jackson (1955) for the single-machine scheduling problem 1||Lmax . Theorem 7.17 An optimal schedule for problem As||Lmax is provided by an earliest due date (EDD) ordering of the jobs, which can be found in O(n log n) time. Proof From Lemma 7.7, we assume that the suppliers use a common sequence. Consider a hypothetical schedule in which job k immediately precedes job j in sequence σ , where dj < dk . Let ti denote the total processing time of the jobs before j and k at supplier Si , for i = 1, . . . , s. Then the maximum lateness among jobs j and k is given by Lmax = max
max {ti + pik } − dk , max {ti + pik + pij } − dj .
1≤i≤s
1≤i≤s
If we interchange jobs j and k to obtain a sequence σ , then the maximum lateness among jobs j and k is given by Lmax = max
max {ti + pij } − dj , max {ti + pij + pik } − dk ,
1≤i≤s
1≤i≤s
where since dj < dk , the second term in Lmax is larger than the second term in Lmax . Thus, Lmax ≤ Lmax . The jobs can be sorted in EDD order in O(n log n) time. The following result provides an asymptotic analysis for the relative error as n → ∞. Theorem 7.18 Assume that (i) The job processing times pij are integer valued and follow an independent and identical discrete uniform distribution over a finite interval [l, u], where l and u are nonnegative integers. (ii) The job due dates dj follow an independent and identical uniform distribution over the interval [0, np], ¯ where p¯ = (l + u)/2 is the average processing time of a job at a supplier. (iii) The pij and dj values are independent. If the optimal schedule ν for the suppliers’ problem is used for the manufacturer’s problem As||Lmax , then the relative error between the maximum lateness of ν and the optimal manufacturer’s maximum lateness satisfies lim
n→∞
Lmax (ν) − Lmax (γ ) a.s. = ∞. Lmax (γ )
(7.21)
Proof Classify the jobs into m classes, D1 , . . . , Dm , where m is an arbitrary positive integer, and Dk = {j ∈ N | np(k ¯ − 1)/m ≤ dj < npk/m}, ¯ for
7.3 Sequencing in an Assembly System
351
k = 1, . . . , m. Define Nigk = Nig ∩ Dk , and let nigk be the number of jobs in Nigk , for i = 1, . . . , s, g = l, . . . , u, and k = 1, . . . , m. From the Laws of Large Numbers and the given assumption on the probability distributions of the pij and dj values, we have lim
n→∞
nigk a.s. 1 = Pr[pij = g, np(k ¯ − 1)/m ≤ dj < npk/m] ¯ = . n m(u − l + 1) (7.22)
Equation (7.22) means that, almost surely, Nigk contains an infinite number of jobs. Consider a job j ∈ Niu1 in schedule ν. Since in ν, jobs are processed in SPT order at each supplier, all the jobs from Nil ∪ . . . ∪ Ni,u−1 are scheduled before j . Thus, Cij (ν) ≥
u−1
(7.23)
hnih .
h=l
Now, (7.23) implies that Lmax (ν) ≥ Lij (ν) = Cij (ν) − dj ≥
u−1
hnih − dj
h=l
≥
u−1
hnih − np/m. ¯
(7.24)
h=l
From (7.3), (7.24) implies that Lmax (ν) ≥ lim hnih /n − p/m ¯ n→∞ n→∞ n u−1
lim
h=l
a.s.
≥
u−1
h/(u − l + 1) − p/m ¯ =
h=l
(u − l)(u + l − 1) − p/m. ¯ 2(u − l + 1) (7.25)
Next, we consider schedule γ . Since, from Theorem 7.17, jobs are processed in EDD order at each supplier in schedule γ , we have, for i = 1, . . . , s, j ∈ Dk , and k = 1, . . . , m, Cij (γ ) ≤
u k h=1 g=l
gnigh .
(7.26)
352
7 Optimization and Conflict
Then, from (7.26), we have k u ¯ − 1)/m Lij (γ ) Cij (γ ) − dj h=1 g=l gnigh − np(k = lim ≤ lim lim n→∞ n→∞ n→∞ n n n ⎞ ⎛ u k = lim ⎝ gnigh /n − p(k ¯ − 1)/m⎠ n→∞
a.s.
=
u k
h=1 g=l
g/[m(u − l + 1)] − p(k ¯ − 1)/m,
from (7.22)
h=1 g=l
= pk/m ¯ − p(k ¯ − 1)/m = p/m. ¯
(7.27)
Since (7.27) holds for i = 1, . . . , s and j ∈ N, we have Lmax (γ ) a.s. ≤ p/m. ¯ n→∞ n lim
(7.28)
Now, (7.25) and (7.28) hold for any given m. Therefore, as m → ∞, (7.25) and (7.28) imply the main result, (7.21). Theorem 7.18 implies that, as n → ∞, the relative error between schedules ν and γ for the manufacturer’s problem becomes, almost surely, arbitrarily large. For finite values of n, we compute the relative error using random test problems where the parameters s, n, l, u, and pij are generated similarly to those in Tables 7.8 and 7.9 and where the parameter dj is independently drawn from a discrete uniform distribution over the interval [0, n(l + u)/2]. For each (s, l, u, n) combination, the mean relative error over 10 random instances is reported in Table 7.10. As can be seen there, large relative errors occur over all (s, l, u, n) combinations considered, indicating huge conflict between the two schedules. These errors are much larger than those observed in Tables 7.8 and 7.9 because lower bounds on the value of Lmax may be small. The relative errors increase strongly with n, since as the number of jobs increases, the error caused by a single job with large processing times but a small due date being at the end of schedule ν increases. We next evaluate the relative error of the optimal schedule γ for the manufac turer’s problem As||Lmax when it is used for the suppliers’ problem As|| Cij , i.e., s s i=1 i=1 j ∈N Cij (γ ) − j ∈N Cij (ν) s . i=1 j ∈N Cij (ν) The following result provides an asymptotic analysis of the relative error as n → ∞.
10
10
10
10
4
8
16
l
2
s
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Relative error n = 50 n = 100 764% 1006% 636% 875% 621% 864% 627% 1084% 552% 936% 543% 917% 603% 873% 511% 739% 504% 724% 436% 786% 372% 677% 366% 660%
n = 200 1465% 1288% 1270% 1258% 1062% 1042% 1337% 1078% 1050% 1185% 952% 930%
n = 400 2059% 1765% 1730% 2227% 1769% 1722% 2286% 1814% 1771% 1992% 1565% 1515%
Table 7.10 Relative errors in the manufacturer’s problem (Lmax ) n=∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8
4
2
16
s
50
50
50
50
l
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Relative error n = 50 n = 100 1305% 1419% 722% 956% 662% 905% 991% 1542% 611% 999% 572% 958% 1013% 1398% 582% 830% 538% 770% 669% 1317% 421% 763% 391% 703% n = 200 2066% 1397% 1322% 2035% 1189% 1103% 2148% 1223% 1118% 2361% 1087% 992%
n = 400 2962% 1730% 1803% 3633% 1978% 1825% 3964% 2035% 1875% 3739% 1789% 1621%
n=∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
7.3 Sequencing in an Assembly System 353
354
7 Optimization and Conflict
Theorem 7.19 Assume that (i) The job processing times pij are integer valued and follow an independent and identical discrete uniform distribution over a finite interval [l, u], where l and u are nonnegative integers. (ii) The job due dates dj follow an arbitrary independent and identical distribution. (iii) The pij and dj values are independent. If the optimal schedule γ for the manufacturer’s problem is used for the suppliers’ problem As|| Cij , then the relative error between the cost of γ and that of ν satisfies s
lim
n→∞
i=1 j ∈N
Cij (γ ) − s i=1 j ∈N
s i=1 j ∈N
Cij (ν)
Cij (ν) a.s.
≥
(u + l)(u − l + 1)2 − 1. u 2 (g 2 − l 2 + g + l)
(7.29)
g=l
We refer the reader to (Chen & Hall, 2007) for a proof. Theorem 7.19 provides an asymptotic lower bound on the relative error between schedules γ and ν for the suppliers’ problem. For finite values of n, we compute the relative error using random test problems which are generated similarly to those in Table 7.10. For each (s, l, u, n) combination, the mean relative error over 10 random instances is reported in Table 7.11. We also compute the lower bound in (7.29) for each (s, l, u) combination and report the results in the columns with n = ∞ in Table 7.11. Since the relative error is at least 10.3% for all (s, l, u, n) combinations considered, we conclude that there is substantial conflict between the schedules. The explanation of the results is similar to that for Table 7.9.
7.3.3 Suppliers Dominate and Manufacturer Negotiates Motivated by the evidence of significant cost of conflict found in Sect. 7.3.2, we investigate in Sects. 7.3.3–7.3.6 how different bargaining power scenarios lead to various resolutions of this conflict. Figure 7.5 provides an overview of this work. We first consider a situation where the suppliers have dominant bargaining power in the supply chain and choose their optimal schedule, ν. Here, the manufacturer may wish to compensate the suppliers for using some alternative schedule σ which is cheaper for the manufacturer than ν. The bargaining theory of Nash (1950, 1953) suggests that this incentive has to be sufficient to persuade the suppliers to select schedule σ (to be determined) instead of ν, while the resulting cost to the manufacturer has to be no more than that of ν. Recall that αFi denotes the cost of supplier Si , and
10
10
10
10
4
8
16
l
2
s
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Relative error n = 50 n = 100 34.78% 36.19% 43.11% 44.96% 44.31% 46.25% 36.50% 37.23% 45.26% 46.28% 46.53% 47.60% 35.99% 37.03% 44.65% 45.96% 45.90% 47.26% 36.06% 37.19% 44.68% 46.15% 45.93% 47.45%
n = 200 36.82% 45.83% 47.15% 37.44% 46.50% 47.82% 37.66% 46.78% 48.10% 37.59% 46.70% 48.03%
n = 400 37.17% 46.20% 47.52% 37.64% 46.77% 48.10% 37.65% 46.79% 48.12% 37.80% 47.01% 48.35%
Table 7.11 Relative errors in the suppliers’ problem ( Cij ) n=∞ 36.01% 46.82% 48.38% 36.01% 46.82% 48.38% 36.01% 46.82% 48.38% 36.01% 46.82% 48.38% 8
4
2
16
s
50
50
50
50
l
u 100 500 1000 100 500 1000 100 500 1000 100 500 1000
Relative error n = 50 n = 100 11.64% 12.02% 34.40% 35.80% 39.50% 41.16% 12.20% 12.37% 36.11% 36.84% 41.47% 42.36% 12.02% 12.36% 35.62% 36.66% 40.91% 42.11% 12.09% 12.42% 35.70% 36.82% 40.96% 42.28% n = 200 12.19% 36.44% 41.93% 12.47% 37.06% 42.59% 12.55% 37.28% 42.84% 12.52% 37.22% 42.77%
n = 400 12.35% 36.79% 42.30% 12.53% 37.26% 42.83% 12.52% 37.27% 42.84% 12.55% 37.42% 43.03%
n=∞ 10.34% 37.20% 43.03% 10.34% 37.20% 43.03% 10.34% 37.20% 43.03% 10.34% 37.20% 43.03%
7.3 Sequencing in an Assembly System 355
356
7 Optimization and Conflict
(1 − α)G denotes the cost of the manufacturer. Therefore, the incentive ui provided to each supplier Si must satisfy αFi (σ ) − ui ≤ αFi (ν), for i = 1, . . . , s, (1 − α)G(σ ) +
s
and
ui ≤ (1 − α)G(ν).
(7.30) (7.31)
i=1
Also, the manufacturer chooses σ to minimize its total cost (1 − α)G(σ ) + s i=1 ui . Thus, the manufacturer is faced with the following optimization problem in determining σ and u1 , . . . , us : min (1 − α)G(σ ) +
σ,u1 ,...,us
s
ui , s.t. (7.30), (7.31), and ui ≥ 0,
i = 1, . . . , s.
i=1
(7.32) Theorem 7.20 The solution (σ, u1 , . . . , us ) defined by σ = π and ui = α[Fi (π ) − Fi (ν)], for i = 1, . . . , s, where π is a schedule that minimizes α si=1 Fi (σ ) + (1 − α)G(σ ), is optimal for problem (7.32). Proof By definition of π , we have α si=1 Fi (π )+(1−α)G(π ) ≤ α si=1 Fi (ν)+ (1 − α)G(ν). Thus, the solution (σ, u1 , . . . , us ) satisfies (7.31). Since by construction it also satisfies (7.30), it follows that this solution is feasible for problem (7.32). From (7.30), given any feasible solution (σ, u1 , . . . , us ) to problem (7.32), its cost to the manufacturer, denoted by Z(σ, u1 , . . . , us ), satisfies Z(σ, u1 , . . . , us ) ≥ α
s i=1
Fi (σ ) + (1 − α)G(σ ) − α
s
Fi (ν).
(7.33)
i=1
Since α si=1 Fi (σ ) + (1 − α)G(σ ) is minimized when σ = π , the right-hand side of (7.33) is minimized when σ = π . Therefore, α si=1 Fi (π ) + (1 − α)G(π ) − α si=1 Fi (ν) is a lower bound on optimal cost in problem (7.32). However, the cost of the solution given in the theorem equals this lower bound. Therefore, this solution is optimal for problem (7.32). Theorem 7.20 implies that (i) problem (7.32) is feasible and hence the proposed cooperation mechanism can always be used, and (ii) the optimal strategy of the manufacturer is to provide an incentive of ui = α[Fi (π ) − Fi (ν)] to each supplier Si , for i = 1, . . . , s. Consequently, the suppliers agree to use schedule π . It follows that the manufacturer’s cost is equal to the optimal cost in problem (7.32), i.e., α si=1 [Fi (π ) − Fi (ν)] + (1 − α)G(π ). In the absence of cooperation, schedule ν is used and the manufacturer’s cost is (1 − α)G(ν). Thus, the net saving to the manufacturer from obtaining the suppliers’ cooperation is
7.3 Sequencing in an Assembly System
(1 − α)G(ν) − α = α
s [Fi (π ) − Fi (ν)] − (1 − α)G(π ) i=1
s i=1
357
Fi (ν) + (1 − α)G(ν) − α
s
Fi (π ) + (1 − α)G(π ) ,
(7.34)
i=1
which is also the difference between the total system cost under schedule ν and under schedule π . Remark 7.4 If ν is not optimal for the system problem, then the net saving to the manufacturer in (7.34) is positive, hence the manufacturer should encourage the suppliers to use schedule π by providing the incentive ui given in Theorem 7.20 to each supplier Si , for i = 1, . . . , s. However, if ν is optimal for the system problem, then no incentive provided to the suppliers creates a net saving to the manufacturer. In this case, the suppliers use schedule ν. In either case, the suppliers’ total cost is no greater than the optimal cost given by schedule ν. Since the suppliers use a schedule which is optimal for the system problem (i.e., either π or ν if ν is optimal for the system problem), the proposed cooperation mechanism is equivalent to centralized decision making for the system as a whole. Theorem 7.20 shows that, whether π = ν or not, the optimal system schedule π is always achieved. Therefore, we need to operationalize this result by studying the solvability of the two system problems defined by our cooperation mechanism. In doing so, we note that α is fixed, and therefore the system problem does not directly generalize the related suppliers’ or manufacturer’s problem. First, we consider problem As||α Cij + (1 − α) Cj . Theorem 7.21 The recognition version of problem As||α Cij +(1−α) Cj , where 0 < α < 1 is a fixed parameter, is unary NP-complete. Proof Cij + (1 − We first prove a similar result for problem As|coseq|α α) Cj . The proof is by reduction from 3-Partition, as described in the proof of Theorem 7.13. Construct an instance of problem As|coseq|α Cij + (1 − α) Cj with n = 4m and s = 5, where the job processing times at the first four suppliers are exactly the same as in the instance in the proof of Theorem 7.13, and the job processing times at supplier S5 are identical to those at supplier S1 . Let the threshold cost be C = α[15Bn(n + 1)/2] + (1 − α)(24m2 B + 12mB). We prove thatthere exists a schedule for this instance of problem As|coseq|α Cij +(1− α) Cj with cost less than or equal to C if and only if there exists a solution to 3-Partition. (⇒) Consider the sequence (1, 2, 3, 3m+1, . . . , 3m−2, 3m−1, 3m, 4m). From the 2 B + 12mB). (⇒) part of the proof of Theorem 7.13, (1 − α) Cj = (1 − s α)(24m s Also, since i=1 pi1 = · · · = i=1 pin = 15B, we have Cij = α[15B(1+ α · · · + n)] = α[15Bn(n + 1)/2]. Thus, the total cost is α Cij + (1 − α) Cj = α[15Bn(n + 1)/2)] + (1 − α)(24m2 B + 12mB) = C.
358
7 Optimization and Conflict
s s (⇐) i=1 pi1 = · · · = i=1 pin = 15B, and from Theorem 7.15, we have Since α Cij = α[15Bn(n + 1)/2] for any sequence. The remainder of the proof follows from the (⇐) part of the proof of Theorem 7.13. We can now proceed to our main result for problem As||α Cij + (1 − α) Cj . The proof is by reduction from problem As|coseq|α Cij + (1 − α) Cj . Given an arbitrary instance of problem As|coseq|α Cij + (1 − , and threshold cost C , we construct an α) Cj defined by α, processing times pij +(C +1)/(1−α) instance of problem As||α Cij +(1−α) Cj with pij = pij and a threshold cost C = C +αsn(n+1)(C +1)/[2(1−α)]+n(n+1)(C +1)/2. We prove this instance of problem As||α Cij +(1− that there exists a schedule for α) Cj with α Cij+ (1 − α) Cj ≤ C if and only if there exists a schedule for problem As|coseq|α Cij +(1−α) Cj with α Cij +(1−α) Cj ≤ C. (⇒) Let Cij +(1−α) Cj that σdenote a schedule for problem As|coseq|α has α Cij + (1 − α) Cj ≤ C. From the construction of the pij values, we + have α Cij +(1−α) Cj ≤ C +αsn(n+1)(C +1)/[2(1−α)]+n(n+1)(C 1)/2 = C for σ in the constructed instance of As||α Cij + (1 − α) Cj . (⇐) Let σ denote a schedule for the constructed instance of problem As||α Cij + (1 − α) Cj that has α C + (1 − α) Cj ≤ C. ij From the construction of the pij values, we have Cj ≤ C − αsn(n + 1)(C + 1)/[2(1 − α)] − n(n + 1)(C + 1)/2 = C . It remains to prove that σ satisfies the common First, in the constructed instance of problem sequence requirement. As||α Cij + (1 − α) Cj , we must have
Cij ≥
sn(n + 1)(C + 1) , 2(1 − α)
(7.35)
where this lower bound is obtained by assuming that pij = 0 for i = 1, . . . , s, j = 1, . . . , n. Second, if σ does not satisfy the common sequence requirement, then using the same assumption,
Cj ≥
n(n + 1)(C + 1) (C + 1) (C + 1)[(1 + · · · + n) + 1] = + . (1 − α) 2(1 − α) (1 − α) (7.36)
Finally, from (7.35) and (7.36), we obtain α
Cij + (1 − α)
Cj ≥
αsn(n + 1)(C + 1) n(n + 1)(C + 1) + + (C + 1) > C. 2(1 − α) 2
This contradiction completes the proof.
Theorem 7.21 motivates the use of ISPT as a heuristic for problem As||α Cij + (1 − α) Cj .
7.3 Sequencing in an Assembly System
359
Theorem 7.22 For problem As||α Cij + (1 − α) Cj , let the value of the solution delivered by ISPT be F H and the optimal objective value be F ∗ . Then, F H ≤ [s/(αs − α + 1)]F ∗ . Proof Let CijH and CjH denote the completion time of job j at supplier Si and that at the manufacturer, respectively, in the schedule obtained by Heuristic ISPT and Cij∗ and Cj∗ the job completion time of job j at supplier Si and that at the manufacturer, respectively, in the optimal schedule. Since j ∈N Cj∗ = j ∈N max1≤i≤s {Cij∗ } ≥ s ∗ j ∈N Cij /s, we have i=1 F∗ = α
s
Cij∗ + (1 − α)
i=1 j ∈N
Cj∗ ≥ [α + (1 − α)/s]
j ∈N
≥ [α + (1 − α)/s]
s
s
Cij∗
i=1 j ∈N
CijH ,
(7.37)
i=1 j ∈N
where the last inequality follows from Smith (1956). Also, since s H i=1 j ∈N Cij , we have FH = α
s
CijH + (1 − α)
i=1 j ∈N
j ∈N
CjH ≤
s
CijH .
j ∈N
CjH ≤
(7.38)
i=1 j ∈N
Finally, from (7.37) and (7.38), we have F H ≤ 1/[α + (1 − α)/s]F ∗ = [s/(αs − α + 1)]F ∗ .
Remark 7.5 Itfollows from Theorem 7.22 that Heuristic ISPTisoptimal for problem As|| C and also performs well for problem As||α Cij + (1 − ij α) Cj when α is close to 1. Alternatively, when α is close to zero, the problem is similar to As|| Cj , for which we discuss a heuristic in Sect. 7.3.5. Second, we consider problem As||α Cij +(1−α)Lmax . Hoogeveen and van de Velde (1995) describe an O(n3 log n) time algorithm for finding all the Paretooptimal solutions for problem 1||F ( Cj , Lmax ), where F denotes an arbitrary linear additive objective function, and Cj denotes the completion time of job j on the single machine. We propose the following algorithm. Algorithm SCL 1. For each supplier, apply the algorithm of Hoogeveen and van de Velde (1995) to find all the Pareto-optimal ( Cj , Lmax ) pairs.
360
7 Optimization and Conflict
2. Sort the Pareto-optimal solutions for each supplier i = 1, . . . , s by nondecreasing order of Lmax values. Let (li1 , . . . , liki ) and (πi1 , . . . , πiki ) denote the resulting list of Lmax values and the associated schedules of supplier Si , respectively, where ki is the number of Pareto-optimal solutions for supplier Si . Merge the lists (li1 , . . . , liki ), for i = 1, . . . , s, to create a single list (l[1] , . . . , l[q] ), where l[1] ≤ · · · ≤ l[q] , and q is the number of different values of lih , for i = 1, . . . , s, and h = 1, . . . , ki . 3. For each l[h] , for h = 1, . . . , q, do the following: 4. For each i = 1, . . . , s, find index ui from the list (li1 , . . . , łiki ) such that lui ≤ l[h] and lui is closest to l[h] in this list. 5. Compute the total cost α si=1 j ∈N Cij (πiui ) + (1 − α)l[h] . 6. Select a solution with the minimum total cost. Theorem 7.23 Algorithm SCL solves problem As||α Cij + (1 − α)Lmax in O(sn3 log n) time. Proof We first prove the optimality of Algorithm SCL. The total cost, α Cij + (1 − α)Lmax , changes only at values of Lmax that identify a Pareto-optimal solution. Therefore, it is only necessary to identify Lmax values at which at least one supplier has such a solution. This is achieved for individual suppliers in Step 1 and by merging the suppliers’ lists in Step 2. The comparison of all candidate solutions’ costs in Step 3 thus identifies an optimal solution. We now consider the time required by Algorithm SCL. From Hoogeveen and van de Velde (1995), Step 1 requires O(sn3 log n) time. They also show that the list of Pareto-optimal points for a single supplier has O(n2 ) entries. Therefore, the lists can be sorted and merged in Step 2 in O(sn2 log n + sn2 ) time. Since each Paretooptimal solution needs to be considered only once when Lmax is monotonically increasing, Step 3 requires constant time for each of the entries in the merged list, i.e. O(sn2 ) time. Therefore, the overall time requirement of Algorithm SCL is O(sn3 log n).
7.3.4 Manufacturer Dominates and Suppliers Negotiate Referring to Fig. 7.5, we consider a situation where the manufacturer has dominant bargaining power and chooses its optimal schedule γ . Here, the suppliers may prefer the manufacturer to choose some other schedule which is cheaper than γ for the suppliers. To resolve this conflict, we propose the following cooperation mechanism. The suppliers collectively offer an incentive to the manufacturer to use a schedule that is cheaper for them than γ . Let v and σ denote the incentive provided by the suppliers and the schedule which the suppliers want the manufacturer to use,
7.3 Sequencing in an Assembly System
361
respectively. Similar to the derivation of (7.32), the suppliers are faced with the following optimization problem: min α
s
σ,v
Fi (σ ) + v
(7.39)
i=1
s.t. (1 − α)G(σ ) − v ≤ (1 − α)G(γ ) α
s
Fi (σ ) + v ≤ α
i=1
s
(7.40) (7.41)
Fi (γ )
i=1
v ≥ 0.
(7.42)
Theorem 7.24 The solution (σ, v) defined by σ = π and v = (1 − α)[G(π ) − G(γ )] is optimal for problem (7.39)–(7.42), where π is the schedule that minimizes α si=1 Fi (σ ) + (1 − α)G(σ ).
Proof The proof is similar to that of Theorem 7.20.
Theorem 7.24 implies that (i) problem (7.39)–(7.42) is feasible, and therefore the proposed cooperation mechanism can always be used if the suppliers are willing to negotiate collectively with the manufacturer, and (ii) the optimal strategy of the suppliers is to provide collectively an incentive of v = (1 − α)[G(π ) − G(γ )] to the manufacturer. Consequently, the manufacturer agrees to use schedule π , and the net saving to the suppliers from the manufacturer’s cooperation is given by Δ=α
s
Fi (γ ) − α
i=1
= α
s i=1
s i=1
% Fi (π ) + (1 − α)[G(π ) − G(γ )]
Fi (γ ) + (1 − α)G(γ ) − α
s
(7.43)
Fi (π ) + (1 − α)G(π ) ≥ 0.
i=1
The first and second terms in (7.43) are the suppliers’ total cost without and with the manufacturer’s cooperation, respectively. Remark 7.6 If γ is not optimal for the system problem, then the net saving to the suppliers in (7.43) is positive, and hence the suppliers as a whole benefit from the manufacturer’s cooperation. Here, the suppliers work together to provide the incentive v in Theorem 7.24 to the manufacturer, so that the manufacturer chooses schedule π . Theorem 7.24 shows that the suppliers prefer schedule π to ν. If γ is optimal for the system problem, then the suppliers do not bargain with the manufacturer because they as a whole do not benefit from the manufacturer’s cooperation.
362
7 Optimization and Conflict
7.3.5 Manufacturer Dominates and Suppliers Adjust Again referring to Fig. 7.5, we recognize the reality that, in some practical supply chains, the manufacturer may not allow its suppliers to bargain. This occurs when a manufacturer is much larger and/or financially stronger than all of its suppliers. Here, since the suppliers have no bargaining power, they need to meet any requirements imposed by the manufacturer without compensation. We consider situations where the manufacturer’s dominance allows it to impose two selfinterested but natural requirements on the suppliers. The first requirement arises from the manufacturer’s choice of production sequence, γ . This requirement can be interpreted in two alternative ways: either that the suppliers face due dates implied by γ for all parts or that some delays in the manufacturer’s schedule are permitted, subject to a predetermined limit on the resulting cost increase to the manufacturer. In either case, this requirement can be implemented by the suppliers individually, without cooperation between them. The second requirement is that the suppliers all send the jobs to the manufacturer in some common sequence, so that the manufacturer’s average lead time is minimized (see Lemma 7.7). One possible cooperation strategy for the suppliers is as follows. They find a schedule with the same sequence at each supplier that minimizes the total cost of the suppliers over all such sequences. We denote the problem of finding such a schedule by As|coseq| si=1 Fi . We consider problem As|coseq| si=1 Fi with various objective functions. Let μ denote an optimal schedule to problem As|coseq| si=1 Fi , which is chosen by the suppliers. Since μ is by definition no better than ν for supplier Si , the cost of each supplier Si increases by α[Fi (μ) − Fi (ν)] ≥ 0 when using μ instead of ν. Suppliers with a lower than average cost increase may need to compensate other suppliers. In order to understand the scheduling problems faced by the suppliers as a result of the above requirements imposed by the manufacturer, we now discuss the solvability of the two manufacturer’s problems, As|| Cj and As||Lmax . Recall that Theorem 7.13 establishes the intractability of problem As|| Cj . Therefore, we now describe a heuristic, Batch, for this problem. We demonstrate that, under the following mild Assumption A about the job processing times, Batch provides solutions that are asymptotically optimal in the number of jobs. Assumption A: The processing times pij take only integer values and follow an independent and identical discrete distribution Φ(·) over a finite interval [Lp , Up ], where Lp and Up are nonnegative integers. The intuition behind Heuristic Batch is to schedule most of the jobs in nonde creasing order of si=1 pij and use special sequences within jobs that have identical value of si=1 pij . The heuristic first divides the jobs into different subsets based on their processing times. We refer to the vector of data (p1j , . . . , psj ) associated with a job j as the parameter vector of this job. We divide the jobs in N into different classes such that all the jobs in a class have the same parameter vector, i.e., they are identical. Let N1 , . . . , NK denote those classes of jobs, where N = ∪K k=1 Nk . Note that K is finite even as n → ∞.
7.3 Sequencing in an Assembly System
363
The following O(sK 2 ) time subroutine partitions the set N into classes N1 , . . . , NK . Subroutine Class 1. Define the first class by N1 = {1}. Let K = 1. 2. For j = 2, . . . , n, compare the parameter vector of job j with that of each of the K classes already created, N1 , . . . , NK . If job j is identical to the jobs in Nk for some k, 1 ≤ k ≤ K, then let Nk = Nk ∪ {j }. Otherwise, create a new class, NK+1 = {j }, and let K = K + 1. Given a parameter vector (x1 , x2 , . . . , xs ), we define s − 1 shifted vectors (Kaminsky & Simchi-Levi, 1998) as follows: (x2 , x3 , . . . , xs , x1 ), (x3 , x4 , . . . , xs , x1 , x2 ), . . . , (xs , x1 , . . . , xs−1 ). We use the following O(sK 2 ) time subroutine to combine the job classes N1 , . . . , NK into H ≤ K groups, G1 , . . . , GH , such that the parameter vector of each class in a group is a shifted vector of each of the other classes in this group. It follows that there are at most s classes in a group. We denote Gh = {Q1h , . . . , Qsh }, where, for each i = 1, . . . , s, Qih is either empty or Qih = Nk for some k with 1 ≤ k ≤ K. Note that H is finite even when n → ∞. Subroutine Group 1. Define the first group by G1 = {N1 }. Let H = 1. 2. For k = 2, . . . , K, compare the parameter vector of class Nk with that of each class in each group already created, G1 , . . . , GH . If the parameter vector of class Nk is a shifted vector of that of a class in some group Gh , for 1 ≤ h ≤ H , then let Gh = Gh ∪ {Nk }. Otherwise, create a new group, GH +1 = {Nk }, and let H = H + 1. By construction, each jobj in each group Gh (i.e., j ∈ ∪si=1 Qih ) has identical total processing time Ph = si=1 pij . We assume for the remainder of this section that groups G1 , . . . , GH are indexed such that P1 ≤ · · · ≤ PH . Let nih denote the number sof jobs in class Qih , and define nh = min{nih | 1 ≤ i ≤ s}. Also, let g = i=1 nih denote the total number of jobs in group Gh , and define δh = s h (n − nh ). i=1 ih Heuristic Batch 1. Divide the jobs of N into the H groups G1 , . . . , GH as described above, by calling Subroutines Class and Group. 2. For each group h = 1, . . . , H , do the following: 3. Form nh batches of jobs, denoted as B1h , . . . , Bnh ,h , such that each batch consists of exactly s jobs, one from each job class Qih in Gh , for i = 1, . . . , s. 4. For k = 1, . . . , nh , schedule the s jobs of batch Bkh consecutively in arbitrary order. nh 5. Schedule the jobs in N \ (∪H h=1 ∪k=1 Bkh ) in arbitrary order at the end.
364
7 Optimization and Conflict
Steps 1 and 2 each requires O(n) time. Thus, the overall time requirement of Heuristic Batch is O(max{sK 2 , n}). The job sequence generated by Heuristic Batch is nh B11 , . . . , Bn1 ,1 , B12 , . . . , Bn2 ,2 , . . . , B1H , . . . , BnH ,H , N \ (∪H h=1 ∪k=1 Bkh ).
For each batch Bkh , since the parameter vector of each of the s jobs in Bkh is a shifted vector of that of each other job, the total processing time of the s jobs of Bkh at each supplier Si is the same and equal to Ph , i.e., j ∈Bkh pij = Ph , for i = 1, . . . , s. We begin our analysis of the performance of Heuristic Batch with two preliminary results. Lemma 7.8 The total completion time, Z Batch , of the schedule generated by Heuristic Batch satisfies Z Batch ≤
H
⎛ ⎞ H H h−1 H ⎝ ⎠ snh nj Pj + Ph snh (nh + 1) /2+ δh (nh + δh )Ph . j =1
h=2
h=1
h=1
h=1
Proof First, consider the jobs of Bkh for given k and h. It can be seen that the completion time of the last job of Bkh is ( h−1 j =1 nj Pj ) + kPh . Thus, the total completion time of the s jobs in Bkh is no more than s[( h−1 j =1 nj Pj ) + kPh ]. This nh H implies that the total completion time of the jobs in ∪h=1 ∪k=1 Bkh is no more than nh H h=1 k=1
⎡⎛ s ⎣⎝
h−1
⎞
⎤
nj Pj ⎠ + kPh ⎦ =
j =1
H
⎛ snh ⎝
h=2
h−1 j =1
⎞ nj Pj ⎠ +
H
Ph snh (nh + 1) /2.
h=1
(7.44) h Now, consider the jobs in the subset N \ (∪H ∪nk=1 Bkh ). The completion time h=1 H of the last job in this subset is no more than h=1 (nh + δh )Ph . Since in this subset there are exactly H h=1 δh jobs, the total completion time of the jobs in this subset is at most H H δh (nh + δh )Ph . (7.45)
h=1
h=1
The lemma then follows immediately from (7.44) and (7.45).
7.3 Sequencing in an Assembly System
365
OP T , of an optimal schedule for problem Lemma 7.9 The total completion time, Z As|| Cj satisfies
⎡ Z OP T ≥
1⎣ s
H
⎛ gh ⎝
h−1
⎞ gj Pj ⎠ +
j =1
h=2
H
⎤ Ph gh2 + gh /2⎦ .
h=1
We refer the reader to Chen and Hall (2007) for a proof. Theorem 7.25 If the processing times are generated according to Assumption A, then Heuristic Batch provides solutions that are asymptotically optimal in the number of jobs for problem As|| Cj . The time complexity of Batch is O(max{sK 2 , n}). Proof First, under Assumption A, for each h = 1, . . . , H , there exists a conH nih a.s. stant θh with 0 < θh < 1 and = h=1 θh = 1 such that limn→∞ n gh a.s. nh a.s. θh for each i = 1, . . . , s and that limn→∞ n = θh , limn→∞ n = sθh , and a.s. limn→∞ δnh = 0. It is easy to see that the total completion time of the last batch of jobs in the schedule constructed by Heuristic Batch satisfies H
lim
n→∞
δh
h=1
H
(nh + δh )Ph /n2 = 0.
h=1
Thus, from Lemmas 7.8 and 7.9, respectively, we have
lim
n→∞
Z Batch n2
≤
H
⎛ ⎞ h−1 H sθh ⎝ θj Pj ⎠ + sPh θh2 /2,
h=2
j =1
h=1
h=2
j =1
h=1
and
⎛ ⎞ H h−1 H Z OP T ⎝ ⎠+ ≥ sθ θ P sPh θh2 /2. lim h j j n→∞ n2 Since the right-hand sides of the above two inequalities are finite, these inequalities imply that Z Batch − Z OP T a.s. = 0, n→∞ n2 lim
Z Batch − Z OP T a.s. = 0. n→∞ Z OP T lim
and
366
7 Optimization and Conflict
The time requirement of Step 0 is determined by the running time of Subroutines Class and Group, as discussed above. Steps 1 and 2 each requires O(n) time. Therefore, the overall computation time of Heuristic Batch is O(max{sK 2 , n}). Remark 7.7 Theorem 7.25 shows that, although problem As|| Cj is formally intractable, close to optimal schedules can be found efficiently for large instances. The other manufacturer’s problem we consider is As||Lmax . Recall that Theorem 7.17 shows that this problem can be solved in O(n log n) time by sequencing the jobs in nondecreasing due date order. Having studied the schedules which the manufacturer may choose, we now consider the solvability of the resulting suppliers’ problems. Here, we first consider problems where the suppliers face due dates implied by the manufacturer’s choice of schedule γ . In this case, it is natural for the suppliers to minimize their total cost, subject to a constraint “Lmax ≤ L” on the maximum lateness with respect to those due dates. We show that this suppliers’ problem is efficiently solvable. Theorem 7.26 Problem As|Lmax ≤ L| Cij is solvable in O(sn log n) time. Proof In problem As|Lmax ≤ L| Cij , the constraint Lmax ≤ L can be enforced by requiring job j and therefore each part ij , where i = 1, . . . , s, to satisfy Cij ≤d¯j = dj + L. This decomposes the problem into s instances of problem 1|d¯j | Cj , where d¯j denotes a deadline on the maximum completion time of job j . From Smith (1956), these instances can be solved in a total of O(sn log n) time. As discussed above, an alternative interpretation of the requirement implied by the manufacturer’s choice of schedule γ is that an upper bound constraint “ Cj ≤ C” is imposed on the manufacturer’s cost. Theorem 7.27 The recognition version of problem As| Cj ≤ C| Cij is unary NP-complete. We refer the reader to Chen and Hall (2007) for a proof that uses the result in Theorem 7.13. Next, we consider the suppliers’ scheduling problem implied by the second requirement to process all jobs in a common sequence or problem As|coseq| Cij . Recall that Theorem 7.15 shows that this problem can be solved in O(n log n) time. Finally, we consider problems where both requirements are imposed by the manufacturer on the suppliers. That is, they need to take schedule γ into account and also process the jobs in a common sequence. Theorem 7.28 The recognition version of problem As|coseq, Lmax ≤ L| Cij is unary NP-complete. Proof Chen and Hall (2007) provide a reduction from 3-Partition. Theorem 7.29 The recognition version of problem As|coseq, C| Cij is unary NP-complete.
Cj
≤
7.3 Sequencing in an Assembly System
367
We refer the reader to Chen and Hall (2007) for a proof that uses the result in Theorem 7.13.
7.3.6 Suppliers and Manufacturer Cooperate Once again referring to Fig. 7.5, we discuss conflict and cooperation where the suppliers and the manufacturer are all subsidized or fully owned by a single company. The company would like the suppliers and the manufacturer to use the system optimal schedule π because it minimizes the company’s total cost. However, since π is in general not optimal for either the suppliers’ or the manufacturer’s problem, the company may have to provide an incentive for them to use π . We propose one possible incentive scheme that the company can use. Without cooperation between the suppliers and the manufacturer, either schedule ν or schedule γ will be implemented, depending on whether the suppliers or the manufacturer selects the schedule. Thus, the potential reduction in total cost due to cooperation is at least
Rc = min α
s [Fi (ν) − Fi (π )] + (1 − α)[G(ν) − G(π )], i=1
α
%
s
[Fi (γ ) − Fi (π )] + (1 − α)[G(γ ) − G(π )] .
(7.46)
i=1
The suppliers and the manufacturer can be compensated using the cost saving Rc given in (7.46). Let ui and v denote the amount of compensation provided to the supplier Si , for i = 1, . . . , s, and the manufacturer, respectively. Since the compensation is funded by the total cost saving, we require s
ui + v ≤ Rc .
(7.47)
i=1
From Nash (1950, 1953), in order for the suppliers and the manufacturer to adopt schedule π , the compensation they receive, (u1 , . . . , us , v), must make them better off compared to their own optimal schedules. Thus, (u1 , . . . , us , v) must satisfy αFi (π ) − ui ≤ αFi (ν), for i = 1, . . . , s, (1 − α)G(π ) − v ≤ (1 − α)G(γ ).
and
(7.48) (7.49)
In general, if there exists a solution (u1 , . . . , us , v) satisfying (7.47), (7.48), and (7.49), then this mechanism can be used to achieve cooperation. This discussion leads to the following result.
368
7 Optimization and Conflict
Theorem 7.30 There exists a solution (u1 , . . . , us , v) satisfying (7.47), (7.48), and (7.49), if and only if schedules ν, γ , and π satisfy the following conditions: (1 − α)[G(ν) − G(π )] ≥ 2α
s
[Fi (π ) − Fi (ν)] + (1 − α)[G(π ) − G(γ )]
i=1
(7.50) α
s
s
i=1
i=1
[Fi (γ ) − Fi (π )] ≥ 2(1 − α)[G(π ) − G(γ )] + α
[Fi (π ) − Fi (ν)]. (7.51)
Proof Let ui = α[Fi (π ) − Fi (ν)], for i = 1, . . . , s,
and
(7.52)
v = (1 − α)[G(π ) − G(γ )].
(7.53)
s Clearly, s the solution (u1 , . . . , us , v) satisfies (7.48) and (7.49). Since i=1 ui +v = α i=1 [Fi (π ) − Fi (ν)] + (1 − α)[G(π ) − G(γ )], Eqs. (7.50) and (7.51) imply, respectively, s
ui + v ≤ α
i=1 s
s [Fi (ν) − Fi (π )] + (1 − α)[G(ν) − G(π )],
and
(7.54)
i=1
ui + v ≤ α
i=1
s [Fi (γ ) − Fi (π )] + (1 − α)[G(γ ) − G(π )].
(7.55)
i=1
It follows from (7.54) and (7.55) that the solution (u1 , . . . , us , v) satisfies (7.47). (⇐) Given a solution (u1 , . . . , us , v) satisfying (7.47), (7.48), and (7.49), we have α
s s [Fi (π ) − Fi (ν)] + (1 − α)[G(π ) − G(γ )] ≤ ui + v ≤ Rc , i=1
i=1
which, using (7.46), implies α
s [Fi (π ) − Fi (ν)] + (1 − α)[G(π ) − G(γ )] i=1
≤α
s [Fi (ν) − Fi (π )] + (1 − α)[G(ν) − G(π )], and i=1
7.3 Sequencing in an Assembly System
α
369
s [Fi (π ) − Fi (ν)] + (1 − α)[G(π ) − G(γ )] i=1
≤α
s [Fi (γ ) − Fi (π )] + (1 − α)[G(γ ) − G(π )], i=1
which further imply (7.50) and (7.51), respectively.
Theorem 7.30 shows that if schedules ν, γ , and π satisfy (7.50) and (7.51), then the proposed cooperation mechanism can be implemented. Checking these conditions requires finding schedules ν, γ , and π . Results for the suppliers’ problems, to obtain ν, can be found in Theorems 7.12, 7.15, 7.26, 7.27, 7.28, and 7.29. Results for the manufacturer’s problems, to obtain γ , can be found in Theorems 7.13, 7.17, and 7.25. Results for the system problems, to obtain π , can be found in Theorems 7.21, 7.22, and 7.23. Remark 7.8 Some interpretation of (7.50) and (7.51) is useful here. Note that Fi (π ) ≥ Fi (ν), for i = 1, . . . , s, and G(π ) ≥ G(γ ). Condition (7.50) means that, in order for the proposed cooperation mechanism to work, the maximum possible cost increase to the manufacturer as a result of no cooperation must be at least twice the total cost increase to all the suppliers plus the cost increase to the manufacturer as a result of cooperation. Similarly, condition (7.51) means that the maximum possible total cost increase to the suppliers as a result of no cooperation must be at least twice the cost increase to the manufacturer plus the total cost increase to the suppliers as a result of cooperation. We now show how the solutions to the suppliers’ and manufacturer’s problems can be used to check whether the conditions of Theorem 7.30 canbe satisfied, even if π is unknown. In general, the suppliers’ problem As|| si=1 Fi and the manufacturer’s problem As||G are easier to solve than the system problem As||α si=1 Fi + (1 − α)G. Assuming that we already know ν and γ but not π , we find an upper bound on the cost of schedule π for the system problem as follows. Condition (7.50) implies that α
s
Fi (π ) + (1 − α)G(π ) ≤ α
i=1
s
Fi (ν) + (1 − α)[G(ν) + G(γ )]/2.
(7.56)
i=1
Similarly, condition (7.51) implies that α
s i=1
Fi (π ) + (1 − α)G(π ) ≤ α
s [Fi (ν) + Fi (γ )]/2 + (1 − α)G(γ ). i=1
(7.57)
370
7 Optimization and Conflict
Combining (7.56) and (7.57), we obtain an upper bound on α α)G(π ) given by U B(π ) = α
s
s
i=1 Fi (π )
+ (1 −
Fi (ν)/2 + (1 − α)G(γ )/2
i=1
s % s 1 + min α Fi (ν) + (1 − α)G(ν), α Fi (γ ) + (1 − α)G(γ ) . 2 i=1
i=1
(7.58) Suppose that we have also found a lower bound, denoted by LB(π ), on α si=1 Fi (π ) + (1 − α)G(π ), by using mathematical programming techniques. Then, using (7.58), if LB(π ) > U B(π ), we do not need to know π exactly in order to establish that the proposed cooperation mechanism is not implementable.
7.3.7 Cost Saving from Cooperation We now computationally evaluate the cost saving from the various mechanisms for cooperation between the suppliers and the manufacturer proposed in Sects. 7.3.3, 7.3.4, and 7.3.6. First, where the suppliers have dominant power in the supply chain, the mechanism for cooperation proposed in Sect. 7.3.3 provides a net saving given by (7.34) to the manufacturer. Without cooperation, the suppliers impose schedule ν, and therefore the relative cost saving to the manufacturer is zman
s α i=1 Fi (ν) + (1 − α)G(ν) − α si=1 Fi (π ) + (1 − α)G(π ) . = (1 − α)G(ν) (7.59)
Second, where the manufacturer has dominant power in the supply chain, the mechanism for cooperation proposed in Sect. 7.3.4 provides a total net saving given by (7.43) to the suppliers. Without cooperation, the manufacturer imposes schedule γ , and therefore the relative cost saving to the suppliers is zsup
s α i=1 Fi (γ ) + (1 − α)G(γ ) − α si=1 Fi (π ) + (1 − α)G(π ) . = α si=1 Fi (γ ) (7.60)
Finally, where there is a decision maker in the supply chain who makes centralized decisions for the system, the mechanism for cooperation proposed in Sect. 7.3.6
7.3 Sequencing in an Assembly System
371
provides a net saving given by (7.46) to the system. There are two cases to be considered. Case 1: If schedule ν is used without cooperation, then the relative cost saving to the system is zsys(ν)
s α i=1 Fi (ν) + (1 − α)G(ν) − α si=1 Fi (π ) + (1 − α)G(π ) . = α si=1 Fi (ν) + (1 − α)G(ν) (7.61)
Case 2: If schedule γ is used without cooperation, then the relative cost saving to the system is zsys(γ )
s α i=1 Fi (γ ) + (1 − α)G(γ ) − α si=1 Fi (π ) + (1 − α)G(π ) . = α si=1 Fi (γ ) + (1 − α)G(γ ) (7.62)
As throughout this section, we consider two combinations of cost functions: (1) the suppliers’ cost function Fi= j ∈N Cij , for i = 1, . . . , s, and the manufacturer’s cost function G = C j and (2) the suppliers’ cost function j ∈N Fi = j ∈N Cij , for i = 1, . . . , s, and the manufacturer’s cost function G = Lmax . In the following subsections, we estimate the four relative cost savings defined by (7.59)–(7.62).
7.3.7.1
Completion Time and Completion Time
From Theorem 7.12, schedule ν consists of an SPT order of the jobs at each supplier. However, from Theorems 7.13 and 7.21, finding schedules γ and π , respectively, is intractable. Therefore, instead of finding γ and π exactly, we compute an upper or a lower bound on the cost of an optimal schedule. We derive an upper bound U Bsys (π ) on the system cost α C ) + (1 − α) Cj (π ), a lower bound ij (π LBsup (γ ) on the suppliers’ total cost α C (γ ), and a lower bound LBman (γ ) ij on the manufacturer’s cost (1 − α) Cj (γ ). The upper bound U Bsys (π ) is found using (Koulamas a simulated annealing et al., 1994) heuristic for problem As||α Cij + (1 − α) Cj . An initial schedule is given by an SPT order of the jobs at each supplier. The neighborhood used is pairwise exchange of job positions at a supplier. Any schedule σ that is found becomes the new seed schedule with probability e−aΔ(σ ) , where Δ(σ ) is the relative difference in the costs of σ and the incumbent schedule, and a is a positive parameter. The value of a increases from 10 to 50 during the procedure. If no new incumbent schedule is found during 10,000 consecutive iterations, then the heuristic terminates.
372
7 Optimization and Conflict
We let LBsup (γ ) = α Cij (ρ), where schedule ρ is generated by Heuristic STPT described in Sect. 7.3.2.1. From (7.13), LBsup (γ ) provides a lower bound on α Cij (γ ). The lower bound LBman (γ ) is derived from the following observations. It is easy to show that for any given parameters (v1 , . . . , vs ) with vi ≥ 0 and si=1 vi = 1, we have
Cj (γ ) =
j ∈N
j ∈N
max {Cij (γ )} ≥
i=1,...,s
s
vi Cij (γ ).
(7.63)
j ∈N i=1
It can be shown that the term j ∈N si=1 vi Cij is minimized over schedules with identical sequences at all suppliers if the jobs are scheduled in nondecreasing order of si=1 vi pij at all suppliers. Let the schedule corresponding to nondecreasing order of si=1 vi pij be denoted by θ (v1 , . . . , vs ). From Lemma 7.7, we may assume that schedule γ uses identical sequences at all suppliers. Therefore, s
vi Cij (γ ) ≥
j ∈N i=1
s
vi Cij (θ (v1 , . . . , vs )).
(7.64)
j ∈N i=1
Then, for any nonnegative numbers v1 , . . . , vs with imply that
Cj (γ ) ≥
j ∈N
s
s
i=1 vi
= 1, (7.63) and (7.64)
vi Cij (θ (v1 , . . . , vs )).
(7.65)
j ∈N i=1
We use a simulated annealing heuristic to search for values of v1 , . . . , vs such that the right-hand side of (7.65) is as large as possible. This heuristic is similar to that used to find U Bsys (π ). Let the values of v1 , . . . , vs found by this heuristic be denoted by v¯1 , . . . , v¯s , respectively. Let LBman (γ ) = (θ (v¯1 , . . . , v¯s )). It follows from (7.65) that LBman (γ ) is (1 − α) j ∈N si=1 v¯i Cij a lower bound on (1 − α) j ∈N Cj (γ ). Using ), and LBman (γ ) to replace, respectively, sys (π ), LBsup the bounds U B (γ α Cij (π ) + (1 − α) Cj (π ), α Cij (γ ), and (1 − α) Cj (γ ) in (7.59)– (7.62), we obtain
zman ≥ max 0,
zsup
α
s i=1
j ∈N
% Cij (ν) + (1 − α) j ∈N Cj (ν) − U Bsys (π ) , (1 − α) j ∈N Cj (ν)
' & U Bsys (π ) − LBman (γ ) , ≥ max 0, 1 − LBsup (γ )
(7.66) (7.67)
7.3 Sequencing in an Assembly System
373
zsys(ν)
zsys(γ )
% U Bsys (π ) ≥ max 0, 1 − s , α i=1 j ∈N Cij (ν) + (1 − α) j ∈N Cj (ν) & ≥ max 0, 1 −
'
U Bsys (π ) . LBsup (γ ) + LBman (γ )
and (7.68) (7.69)
We compute the lower bounds in (7.66)–(7.69) using random test problems generated as follows: (i) the number of suppliers s ∈ {2, 4, 8}, (ii) the number of jobs n ∈ {25, 50, 100}, (iii) the job processing times pij are independently drawn from a uniform integer distribution over the interval [10, 100], and (iv) the relative cost parameter α ∈ {0.2, 0.5, 0.8}. For each (s, n, α) combination, 10 random instances are generated and the lower bounds on zman , zsup , zsys(ν) , and zsys(γ ) are computed. The mean lower bounds over the 10 random instances are reported in Table 7.12(a). The cost saving depends on the relative cost parameter (α) and the problem size (s, n). The relative cost saving to the manufacturer (zman ) and to the system (zsys(ν) ) when the suppliers’ optimal schedule ν is used without cooperation is larger when α is small. For example, zman and zsys(ν) are always at least 12.5% when α ≤ 0.2. By contrast, the relative cost saving to the suppliers as a whole (zsup ) and to the system (zsys(γ ) ) when the manufacturer’s optimal schedule γ is used without cooperation is larger when α is large. In particular, zsup and zsys(γ ) are always at least 10.1% when α ≥ 0.5 and s ≥ 8. The relative cost savings on zman (respectively, zsup ) are consistently larger than those on zsys(ν) (respectively, zsys(γ ) ). The reason is that a schedule typically has more impact on an individual party in the system (i.e., the suppliers or the manufacturer) than on the entire system. This is because positive and negative effects may cancel each other out within the system objective, and hence the overall system performance may not be as good (or as bad).
7.3.7.2
Completion Time and Maximum Lateness
From Theorem 7.12, schedule ν is an SPT order of the jobs at each supplier. From Theorem 7.17, schedule γ is an EDD order of the jobs. Schedule π , which is optimal for problem As||α Cij + (1 − α)Lmax , can be found by Algorithm SCL which from Theorem 7.23 runs in polynomial time (see Sect. 7.3.3). We compute the relative cost savings zman , zsup , zsys(ν) , and zsys(γ ) defined, respectively, in (7.59), (7.60), (7.61), and (7.62), using random test problems generated as follows: (i) s, n, and pij are generated as in Sect. 7.3.7.1, (ii) the job due dates dj are independently drawn from a uniform integer distribution over the interval [10, 55n], and (iii) the relative cost parameter α = β/n, where β ∈ {0.5, 2, 8}. The values of α are selected such that both cost components play a significant role and that a wide range of values for the relative cost saving is considered. Since the completion time of the last job is approximately 55n and the due dates are generated from the interval [10, 55n], it can be expected that Lmax
n
25
50
100
25
50
100
s
2
2
2
4
4
4
α 0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8 0.2
(a) Lower bound on relative cost saving zman zsup zsys(ν) zsys(γ ) 16.76% 0.00% 12.50% 0.00% 10.93% 1.66% 4.63% 1.10% 4.30% 6.45% 0.67% 5.72% 18.58% 0.00% 13.76% 0.00% 12.15% 1.53% 5.08% 1.02% 4.62% 5.82% 0.70% 5.17% 18.51% 0.00% 13.79% 0.00% 11.54% 1.99% 4.87% 1.33% 3.75% 6.71% 0.58% 5.96% 23.95% 0.00% 15.57% 0.00% 14.99% 6.17% 4.75% 4.90% 6.07% 11.33% 0.63% 10.64% 25.89% 0.03% 16.88% 0.01% 16.06% 6.88% 5.12% 5.49% 5.95% 11.92% 0.62% 11.21% 26.31% 0.00% 17.17% 0.00% 15.93% 7.01% 5.09% 5.60% 4.28% 12.04% 0.45% 11.32% 24.94% 2.66% 13.07% 1.73%
Table 7.12 Relative cost saving from cooperation
4
4
4
2
2
2
s
100
50
25
100
50
25
n
α 0.5/25 2/25 8/25 0.5/50 2/50 8/50 0.5/100 2/100 8/100 0.5/25 2/25 8/25 0.5/50 2/50 8/50 0.5/100 2/100 8/100 0.5/25
(b) Relative cost saving zman zsup 69.85% 12.68% 56.12% 16.50% 34.67% 21.34% 78.35% 13.46% 66.35% 17.58% 46.07% 21.94% 82.37% 12.70% 69.26% 17.14% 50.01% 22.13% 64.00% 16.76% 49.63% 19.70% 28.18% 22.71% 74.85% 16.86% 60.18% 20.23% 39.81% 23.45% 77.63% 15.76% 62.38% 19.88% 43.73% 23.45% 60.68% 19.17%
zsys(ν) 47.00% 18.35% 2.87% 54.74% 23.90% 5.06% 58.38% 25.97% 6.18% 33.89% 10.83% 1.32% 41.24% 13.81% 2.44% 43.37% 14.86% 3.00% 22.54%
zsys(γ ) 9.29% 15.22% 21.02% 10.71% 16.53% 21.64% 10.74% 16.40% 21.90% 13.63% 18.69% 22.48% 14.73% 19.55% 23.27% 14.19% 19.36% 23.31% 17.08%
374 7 Optimization and Conflict
50
100
8
8
0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8
15.08% 6.04% 26.76% 16.07% 4.59% 27.02% 14.28% 0.13%
11.47% 15.41% 3.71% 12.31% 16.23% 3.49% 12.16% 16.41%
(a) Completion time and completion time (b) Completion time and maximum lateness
25
8
3.25% 0.39% 14.05% 3.48% 0.3% 14.24% 3.11% 0.01%
10.12% 14.91% 2.45% 10.91% 15.72% 2.32% 10.80% 15.91% 8
8
8
100
50
25
2/25 8/25 0.5/50 2/50 8/50 0.5/100 2/100 8/100
44.25% 24.01% 68.37% 51.56% 32.76% 71.17% 54.05% 36.69%
21.52% 23.55% 19.00% 21.93% 24.18% 18.51% 22.31% 24.84%
5.40% 0.60% 26.59% 6.91% 1.08% 28.14% 7.51% 1.34%
20.91% 23.42% 17.50% 21.49% 24.07% 17.43% 21.98% 24.75%
7.3 Sequencing in an Assembly System 375
376
7 Optimization and Conflict
2 should be O(n), almost surely. Since Cij is O(n ), by using α = O(1/n) in our experiment, the magnitude of α Cij matches that of (1 − α)Lmax at O(n), which makes our test problems representative. For each (s, n, α) combination, 10 random instances are generated and the values of zman , zsup , zsys(ν) , and zsys(γ ) are computed. The mean values of these measures over the 10 random instances are reported in Table 7.12b. From these results, we conclude that, in most cases, the proposed cooperation mechanism results in significant cost reductions for the decision makers. In fact, all results for zman , zsup , and zsys(γ ) show a relative cost saving of at least 9.2%. The explanation of the results is similar to that for Table 7.12a.
7.3.8 Extensions Chen and Hall (2007) study two practical extensions of the assembly system model, for nonzero transportation times between the suppliers and the manufacturer and for bottleneck processing operations at the manufacturer. Let tij denote the transportation time for part i of job j . We briefly summarize the results. Theorem 7.31 Problem As|tij |Lmax is solvable in O(ns log n) time. Proof For i = 1, . . . , s, define dij = dj − tij and Lij = Cij − dij , for j = 1, . . . , n, and Limax = max1≤j ≤n {Lij }. Here, dij represents the due date by which all parts for job j must be completed at supplier Si if job j is on time. Since Lmax = max1≤i≤s {Limax }, it follows from Jackson (1955) that an optimal schedule is found when each supplier Si sequences its parts in nondecreasing dij order. Theorem 7.32 Problem As|tij |α Cij + (1 − α)Lmax is solvable in O(sn3 log n) time. Proof Define dij , Lij , and Limax as in the proof of Theorem 7.31. Apply Algorithm SCL, replacing Lmax by Limax throughout. The proof follows that of Theorem 7.23. Theorem 7.33 Problem As|tij , Lmax ≤ L| Cij is solvable in O(ns log n) time. Proof Define dij as in the proof of Theorem 7.31. The constraint Lmax ≤ L can be enforced by requiring each part ij to satisfy Cij ≤ dij + L. The remainder of the proof follows that of Theorem 7.26. In the presence of bottleneck operations at the manufacturer, the recognition versions of manufacturer’s or system problems with Cj objective are unary NP-complete, since they are generalizations of problem As|| Cj , as discussed in Theorem 7.13. Also, the recognition versions of the manufacturer’s and system problems with Lmax objective are unary NP-complete, since they are generalizations of the two-machine flowshop problem F2 ||Lmax (Lenstra et al., 1977).
7.4 Manufacturer and Distributor
377
The study of assembly systems presented in this section highlights the need for coordination between suppliers in delivering their parts in a horizontal supply chain. This issue assumes increasing importance as a result of the more frequent use of platform-based supply networks which often unite suppliers who have not worked together previously.
7.4 Manufacturer and Distributor This section studies coordinated decision making between a manufacturer and a distributor in two practical distribution systems. Problem 1 is motivated by Hurter and van Buer (1996), who study coordination between the printing (i.e., manufacturing) and distribution departments of a newspaper company. Here, the printing department prefers to produce jobs according to an ideal schedule that minimizes overall production time, whereas the distribution department prefers that products which will be shipped over longer distances are produced first. Hurter and van Buer’s objective is to reduce the number of vans required to deliver the newspapers to drop-off points while satisfying the vehicle capacity and time constraints. Their methodology is to solve several instances of the capacitated vehicle routing problem with time windows and then to design a production schedule that supports the resulting routes. They assume that the printing and distribution departments cooperate on this schedule. They compare their results with the prevailing practice at a medium-sized newspaper company and demonstrate a significant reduction in the number of vans required and the total distribution time. In a more general context, Problem 1 is a scheduling problem in which a manufacturer produces variations of a single perishable product and a distributor must deliver the appropriate variation to each of several customers by specified times within a single day. A setup time occurs when the manufacturer changes from the production of one variation of the product to another. Conflict arises because the manufacturer prefers a schedule with a minimum number of setups, whereas the distributor prefers a schedule in which all products are delivered by a certain time. Problem 2 is motivated by Blumenfeld et al. (1991), who consider a coordination problem in which one producer makes several products and has several customers, each cyclically receiving its specific product type. The production sequence is based on setup and in-process inventory costs; however, the distribution schedule depends on freight and in-transit inventory costs. Their objective is the minimization of overall inventory costs, and they analyze the tradeoff between the benefits of coordination and increased management complexity. More generally, Problem 2 is a scheduling problem in which a manufacturer produces two products on a single production line, and a distributor has to manage inventory and deliver specified combinations of the different products to several retailers within a planning horizon. There is a setup cost when the manufacturer changes from the production of one product to another. This problem arises, among other situations, in the manufacture and distribution of household cleaners (Lee
378
7 Optimization and Conflict
& Tse, 1992) and in food processing (Claassen et al., 2016). The manufacturer prefers a schedule that produces individual products in large batch sizes, in order to minimize total setup costs. However, in order to minimize its inventory holding cost, the distributor prefers a schedule that batches products which are shipped together to retailers. Both of these problems create a need for the manufacturer and the distributor to coordinate their decisions within the supply chain. In each, the manufacturer and the distributor may or may not be part of the same company. For example, in some cities with two newspapers, one newspaper is printed on presses owned by the other but distributed separately; in this case, schedules and fees must be negotiated. Ideally, the manufacturer and the distributor can agree on a common schedule that minimizes the overall system cost. In each problem, we computationally evaluate the benefits of cooperation using performance measures from classical scheduling. This section is organized as follows. In Sect. 7.4.1, we formally define the two problems considered and describe our notation and assumptions. Section 7.4.2 presents an evaluation of the conflict that results when one decision maker imposes its optimal schedule on the other. Section 7.4.3 considers the effect of different assumptions about the relative bargaining power of the manufacturer and the distributor. This requires solving the scheduling problem of the nondominant decision maker under a constraint imposed by the dominant decision maker. In Sect. 7.4.4, we solve the overall system problems and evaluate the cost savings that result from coordination between the manufacturer and the distributor. We also discuss how manufacturers and distributors can negotiate, coordinate, and implement their supply chain schedules in practice.
7.4.1 Problem Descriptions 7.4.1.1
Problem 1
Besides the newspaper application mentioned above, Problem 1 is also applicable to various process industries, such as industrial chemicals (Lei et al., 2006). Consider a newspaper publisher, for example, the Dallas Morning News, which serves a large metropolitan area. Each day, it produces an issue that contains five standard sections: News, Metropolitan, Sports, Business, and Living. There are also supplements, such as community news, event listings, and advertisements, that are specific to downtown or suburban zones within the metropolitan area. Each zone receives its own specific version of each day’s issue. To formulate this problem for a general newspaper, let n be the number of different editions printed, one for each of n delivery zones. Zone Zi , for i = 1, . . . , n, is divided into i subzones, each with a single local distribution center. The j th distribution center in zone Zi is denoted by Zij . We describe the manufacturing process. The printer generally does not begin processing until midnight, so that it can include information (including zone-specific
7.4 Manufacturer and Distributor
379
news) that is as up to date as possible. Let job Jij denote the printing of enough copies of all sections and supplements required to serve distribution center Zij . Let schedule σ denote the order in which all jobs Jij , for i = 1, . . . , n, j = 1, . . . , i , are processed nonpreemptively in the production system. In Corollary 7.1 below, we show that there is no advantage for either the printer or the distributor to consider preemptive schedules. If the printer uses schedule σ , then the time at which the printing of job Jij completes is denoted by CijM (σ ). Before printing a job for a subzone within Zi , the printing presses must be set up for that zone, which requires time si . If jobs for two different subzones within the same zone are performed, then no additional setup is required between them. Now consider the distribution process. Newspapers are delivered by truck from the plant to the distribution centers. In large metropolitan areas, adult carriers using automobiles then pick up the newspapers from the distribution centers and deliver them to subscribers’ homes (Hurter & van Buer, 1999). Subscribers are allocated to carriers, and carriers are assigned to distribution centers so that each distribution center receives and distributes one truckload of newspapers. The travel time from the plant to distribution center Zij is denoted by tij . The delivery of newspapers to center Zij has due date dij , which is based on the time required by the carriers for delivery; for most distribution centers, this time is between 4:00 AM and 4:30 AM. If the printer uses schedule σ and the distributor uses schedule ν, then the time at which the delivery to center Zij is completed is denoted by CijD (σ, ν). Our assumption that each distribution center receives and distributes one truckload of newspapers is not restrictive. If multiple truckloads are demanded by a distribution center, then this assumption can be made without loss of generality, since we can treat that center’s location as though it has multiple distribution centers, each of which demands one truckload. Hence, the time required for the printer to produce enough newspapers for any distribution center within zone Zi is a constant, which we denote by pi . Since the printer does not deal directly with the customers, its goal is to minimize its overhead costs. Hence, its objective is to find a schedule σ m that minimizes M (σ ) = max max {C M (σ )} over all production schedules σ . The distributor Cmax ij 1≤i≤n 1≤j ≤i
aims to deliver each truckload of newspapers before its due date. This objective can be operationalized by using maximum lateness, a number of tardy jobs, or total tardiness objectives. We choose the maximum lateness objective over the number of tardy jobs because it is preferred to have several subzones’ newspapers delivered to customers slightly late (for example, at 6:10 AM instead of at 6:00 AM) rather than one or two subzones’ newspapers delivered very late (for example, at 7:30 AM or 8:00 AM). The total tardiness objective does not capture precisely the late deliveries to individual customers and is, therefore, not an attractive choice; moreover, the total tardiness problem is known to be NP-hard (Du & Leung, 1990).
380
7 Optimization and Conflict
Therefore, we consider the distributor’s objective to minimize D LD max (σ, ν) = max max {Lij (σ, ν)} 1≤i≤n 1≤j ≤i
D for a given σ , over all ν, where LD ij (σ, ν) = Cij (σ, ν) − dij . The system problem is to minimize M (σ ) + (1 − α)LD αCmax max (σ, ν),
where α is a parameter satisfying 0 ≤ α ≤ 1, over all schedules σ and ν.
7.4.1.2
Problem 2
In Problem 2, two closely related products P1 and P2 are manufactured on the same production line. The products are to be distributed to n retailers Ri , i = 1, . . . , n, by trucks, each with a fixed capacity C. Define a period as the time required to produce one truckload of items. This time is Ct, where t is the fixed length of the interval between the completion of two consecutive items and t is the same for each product. After the production line starts producing a product, it restricts production to that product for a duration of time which is an integer multiple of Ct. This process is used because a setup is required for changing the production from one product to the other. The cost of each setup is μ. At the end of each period, the manufacturer transfers one truckload containing a single product to the distributor. Let the ratio of the demands for the two products for retailer Ri be r1i : r2i , where r1i + r2i = 1, i = 1, . . . , n. For some retailer Ri of the distributor’s choosing, the distributor sends a shipment containing b1i = r1i C units of product P1 and b2i = r2i C units of product P2 . Thus, within time nCt, which represents a complete distribution cycle, each retailer receives exactly one truckload of the products. That is, the plant is operating at full capacity and the total demand from each retailer during each distribution cycle is at least C, so the total demand is not necessarily satisfied. Remark 7.9 If multiple truckloads are demanded by a retailer Ri , we assume that each delivered truckload is required to have a mix of the two products in the ratio r1i : r2i . This assumption is natural in that it matches supply with demand at the retailers as well as defining a simple truck loading policy for the distributor. Under this assumption, it can be further assumed without any loss of generality that each retailer demands one truckload of products. If multiple truckloads are demanded by a retailer, then we treat that retailer as multiple retailers, each of which demands one truckload. Assuming that the inventory for each product at the beginning of the distribution cycle must equal the inventory at the end of the distribution cycle, the total number of periods devoted to producing product Pj during the distribution cycle is kj =
7.4 Manufacturer and Distributor
381
n
i=1 bj i
. Hence, k1 + k2 = n. We assume k1 and k2 to be integers. The distribution C cycle’s schedule is defined by a production sequence σ that specifies which product is produced during each of the n periods, and a distribution sequence ν that specifies which retailer is served at the end of each of the n periods. This cyclic schedule is then repeated until the end of the planning horizon. This model is suitable for products that have a stable demand over the planning horizon. For example, the demand for laundry products is typically stable during the winter period in North America (Lee & Tse, 1992). Let Ij s denote the inventory level of product Pj , j = 1, 2, at the end of period s. At the beginning of each distribution cycle, some initial inventory Ij 0 of product Pj is kept in order to satisfy demand in the early periods, if needed; this amount depends on the production sequence and the delivery sequence. The inventory holding cost per production period for product Pj is hj per unit. The holding cost for product Pj in a period s is computed using the period’s average inventory: hj (Ij s−1 + Ij s )/2, j = 1, 2. We assume a make-to-order manufacturer. Since the manufacturer knows the exact demands of the two products during a distribution cycle, it does not need to hold any inventory. The manufacturer’s problem is to minimize the total manufacturing cost (i.e., production cost + setup cost) per distribution cycle. Since the production cost during a distribution cycle is constant, minimizing the total manufacturing cost is equivalent to minimizing the total setup cost. Let S(σ ) denote the total setup cost in one distribution cycle for schedule σ . For the distributor, it is necessary to hold inventory. This is because the production lots for both the products are in multiples of C, the fixed truck capacity. At the end of each period, one truckload of C units consisting entirely of one product is delivered to the distributor. However, in each period, the distributor has to supply a retailer, say Ri , with a mix of the two products with quantities b1i = r1i C and b2i = r2i C, respectively, where r1i + r2i = 1. Thus, the distributor must incur inventory holding cost. Given σ , the distributor’s problem is to find a distribution sequence ν(σ ) that minimizes its total inventory cost, T (σ, ν(σ )). The system problem is to minimize αS(σ ) + (1 − α)T (σ, ν(σ )), where α is a parameter, 0 ≤ α ≤ 1, over all production sequences σ and distribution sequences ν.
7.4.2 Cost of Conflict We consider the extent to which one decision maker’s cost is larger than optimal when the other decision maker imposes its optimal schedule. This is the cost of conflict. Calculating the cost of conflict requires first solving the manufacturer’s and the distributor’s individual problems optimally. We then perform computational experiments to measure the average cost of conflict for both the manufacturer and the distributor in each problem. We show that this cost is significant in all cases,
382
7 Optimization and Conflict
which motivates the subsequent study of different power relationships and the benefit of cooperation.
7.4.2.1
Conflict in Problem 1
The manufacturer (i.e., the printer), motivated by the objective of minimizing overhead cost, solves a makespan minimization problem. This problem can be written as min Cmax =
yi ≥1
n i=1
i pi +
n
si yi ,
(7.70)
i=1
where the first term is a constant and yi ≥ 1 is a decision variable specifying the number of setups for the jobs in zone Zi . This problem is easily solved, and hence the result is stated without proof. Proposition 7.1 The printer’s Problem 1 is solved by any schedule with y1 = · · · = yn = 1. We refer to schedules that are characterized by Proposition 7.1 as block family schedules, since all jobs for the same zone are produced consecutively. In the newspaper context, this means that the jobs for all subzones of a particular zone are printed consecutively. Furthermore, the manufacturer’s cost is unaffected by the order in which it processes the blocks. To understand how the distributor can determine its optimal schedules for production and distribution, we first discuss how jobs are released to the distributor. After a job is printed, which requires time pi for a job for zone Zi , it is transferred to the packaging center. This transfer requires time δ. At the packaging center, the newspapers are collated, compiled with their inserts, and loaded into a truck. This process is performed in time qi for each job for zone Zi . Based on typical industry data (Hurter & van Buer, 1996), we assume that qi ≤ pi for all i, and max1≤i≤n {qi } ≤ min1≤i≤n {si + pi }; hence, no bottlenecks occur at the packaging center. We also assume that a sufficient number of trucks is available so that a compiled job can be dispatched immediately. This process is illustrated in Fig. 7.6.
Fig. 7.6 Operations of the printer and the packaging center
7.4 Manufacturer and Distributor
383
Job Jij is released to the distributor at time CijM (σ ) + δ + qi , it arrives at distribution center Zij at time CijD (σ, ν(σ )) = CijM (σ ) + δ + qi + tij , and its lateness D is LD ij (σ, ν(σ )) = Cij (σ, ν(σ )) − dij . Conversely, since by assumption a truck is always available to make a delivery, the distributor’s due dates dij can be translated into implied due dates dijM for the printer, as follows: dijM = dij − δ − qi − tij ,
i = 1, . . . , n; j = 1, . . . , i .
(7.71)
This discussion leads to the following result, which simplifies the search for the distributor’s optimal production and distribution schedules. Lemma 7.10 For a given printer’s schedule σ m , the distributor’s cost Lmax is minimized if it uses a schedule that is the same as the printer’s schedule, i.e., ν(σ m ) = σ m . Proof Since the printer uses a single production line to process the jobs, it releases the jobs to the distributor in the same sequence, σ m , in which it begins them. Under the assumption that a truck is always available for delivery when a job is ready to be loaded, the distributor minimizes its maximum lateness by delivering each job as soon as possible, which is achieved by setting ν(σ m ) = σ m . Lemma 7.10 allows us to simplify our notation from Lij (σ, ν(σ )) to Lij (σ ). Corollary 7.1 In either the printer’s or distributor’s Problem 1, there exists an optimal schedule in which no job is preempted during processing at the printer. We refer the reader to Dawande et al. (2006) for a proof. The implied due dates dijM defined in (7.71) are used in the lemma and algorithm which follow. The algorithm finds a schedule that minimizes the distributor’s maximum lateness over all schedules. It requires the following structural result. Lemma 7.11 In the distributor’s Problem 1, there exists an optimal schedule in which the jobs for zone Zi are processed in earliest due date (EDD) order based on the implied due dates dijM from (7.71). Proof For a given nonpreemptive schedule σ , the jobs for zone Zi are released to the distributor at times rij = CijM + δ + qi , j = 1, . . . , i . This holds for any permutation of these jobs for zone Zi . However, the distributor’s objective function (Lmax ) depends only on the values rij , j = 1, . . . , i . Since each job for zone Zi requires the same processing time pi , the result follows from Jackson (1955). Lemma 7.11 motivates the following optimal algorithm for the distributor’s problem of minimizing the maximum lateness in Problem 1. Algorithm P1D Input Given dij , tij for i = 1, . . . , n, j = 1, . . . , i ; pi , qi , si for i = 1, . . . , n, and δ.
384
7 Optimization and Conflict
Indexing M ≤ · · · ≤ d M , for i = 1, . . . , n. Index the jobs for each zone Zi such that di1 ii Value Function f (v1 , . . . , vn ; u1 , . . . , un ; j ) = minimum value of the maximum lateness for scheduling jobs 1, . . . , vi using ui ≤ vi setups for zone Zi , for i = 1, . . . , n, where the last job scheduled is for zone Zj if j ≥ 0. [Zone Z0 is assumed to be a dummy zone that requires a zero setup time and consists of a single dummy job that is scheduled at time zero. The dummy job has zero processing time and its due date is infinity.] Boundary Condition f (0, . . . , 0; 0, . . . , 0; 0) = −∞. Optimal Solution Value min1≤j ≤n,1≤u1 ≤1 ,...,1≤un ≤n {f (1 , . . . , n ; u1 , . . . , un ; j )}. Recurrence Relation f (v1⎧ , . . . , vn ; u1 , . . . , un ; j ) = ⎪ max{ ni=1 (vi pi + ui si ) − djMvj , f (v1 , . . . , vj −1 , vj − 1, vj +1 , . . . , ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ vn ; u1 , . . . , un ; j )} ⎨ min min1≤i≤n,i=j {max{ ni=1 (vi pi + ui si ) − djMv , j ⎪ ⎪ ⎪ ⎪ f (v , . . . , v , v − 1, v ⎪ 1 j −1 j j +1 , . . . , vn ; u1 , . . . , ⎪ ⎪ ⎩ uj −1 , uj − 1, uj +1 , . . . , un ; i)}}. In the first term in the recurrence relation, no setup is needed because the zone served, Zj , is the same as that for the previous job. In the second term, the choice of a job for a different zone necessitates a setup at the printer. Theorem 7.34 Algorithm P1D finds an optimal schedule for the * distributor’s problem of minimizing the maximum lateness in Problem 1 in O(n2 ni=1 2i ) time. Proof It follows from Lemma 7.11 that Algorithm P1D compares the cost of all possible optimal state transitions and therefore finds an optimal schedule. We consider the time complexity of Algorithm P1D. Since ui , vi ≤ i for i =* 1, . . . , n, and j ≤ n, the number of possible values for the state variables is O(n ni=1 2i ). The second term in the recurrence relation requires the most computation, * which is O(n). Thus, the overall time complexity of Algorithm P1D is O(n2 ni=1 2i ), which is polynomial for fixed n. The distributor’s conflict arises when it must follow the printer’s schedule. From Theorem 7.1, the printer is content to select a block family schedule randomly. From Lemma 7.11, we assume that within each block the jobs are ordered by EDD. We define the relative increase in cost resulting from the distributor’s conflict as m D d D d [LD max (σ ) − Lmax (σ )] / Lmax (σ ),
(7.72)
7.4 Manufacturer and Distributor
385
where σ d is a printer’s schedule that allows the distributor to achieve minimum customer cost over all printer’s schedules, and σ m is a randomly chosen block family schedule for the printer. The use of a randomly chosen block family schedule models the case in which there is no cooperation between the parties. In Sect. 7.4.3.1 below, we find a manufacturer’s block family schedule that minimizes the distributor’s maximum lateness. We evaluate (7.72) computationally by examining 100 random instances for each of three different configurations, as follows. Each configuration has three zones and a total of 10 subzones. Different configurations are created by varying the number of subzones per zone. In the first configuration, there are four subzones in zone 1, three subzones in zone 2, and three subzones in zone 3. In the second configuration, there are five, four, and one subzones in the three zones, respectively. Finally, in the third configuration, there are seven, two, and one subzones in the three zones, respectively. For the setup time, processing time, and due date, each is generated from one of two distributions. Specifically, the setup times are randomly generated integers from a U [1, 50] distribution or a U [1, 100] distribution, the processing times are integers from a U [1, 50] or a U [1, 100] distribution, and the due dates are integers from a U [400, 600] or a U [200, 800] distribution. This variety creates 2 × 2 × 2 = 8 different data sets for each configuration. These ranges are designed to be representative of those arising in a wide variety of manufacturing problems. Table 7.13 presents our results. The first two columns show the lower and upper bounds on setup times and processing times, respectively. Column 3 (respectively, Column 4) shows the relative percentage increase in distributor’s cost (computed as the mean over 300 randomly generated instances, including 100 for each configuration) resulting from conflict for due dates generated from a U [400, 600] (respectively, U [200, 800]) distribution. These results indicate that if the printer randomly chooses a block family schedule, then the overall average relative increase in maximum lateness from the distributor’s conflict is 15.81%. We note that the relative lateness cost almost doubles when the due dates are more dispersed.
Table 7.13 Distributor’s cost of conflict in Problem 1 Setup times l u 1 50 1 50 1 100 1 100 Overall averages
Processing times l u 1 50 1 100 1 50 1 100
Due dates l = 400, u = 600 Conflict 16.47% 8.73% 10.55% 7.30% 10.76%
l = 200, u = 800 Conflict 20.16% 22.83% 18.87% 21.59% 20.86%
386
7 Optimization and Conflict
Table 7.14 Manufacturer’s cost of conflict in Problem 1 Setup times l u 1 50 1 50 1 100 1 100 Overall averages
Processing times l u 1 50 1 100 1 50 1 100
Due dates l = 400, u = 600 Conflict 6.07% 1.57% 2.85% 1.24% 2.93%
l = 200, u = 800 Conflict 3.18% 5.46% 14.61% 8.65% 7.97%
The printer incurs a cost of conflict when it must produce according to a distributor’s optimal schedule σ d . If σ m is a block family schedule, then we define the relative increase in cost that results from the printer’s conflict as [Cmax (σ d ) − Cmax (σ m )]/Cmax (σ m ).
(7.73)
We evaluate expression (7.73) computationally using the same test data as for (7.72). The results are shown in Table 7.14. The mean relative increase in cost resulting from the printer’s conflict is 5.45%. A 5.45% increase in the length of an eight-hour shift is almost 30 minutes. Hence, the resulting overtime pay for the production staff represents a significant cost to the printer. Therefore, each party in this production–distribution system faces a significant cost of conflict if forced to use the other’s optimal schedule. This motivates our investigations of supply chain dominance in Sect. 7.4.3 and of the benefit of cooperation in Sect. 7.4.4.
7.4.2.2
Conflict in Problem 2
As in Problem 1, the manufacturer’s problem is solved by minimizing the number of setups. The result here is similarly stated without proof. Proposition 7.2 The manufacturer’s Problem 2 is solved by any schedule that has one setup for each product. To determine a production sequence and a delivery schedule that jointly minimize the distributor’s overall inventory cost, we formulate the problem as the following assignment problem with side constraints. Recall that k1 is the total number of periods during which product P1 is produced. Let ys = 1 if P1 is produced during period s, and ys = 0 otherwise. Let xsi = 1 if the distributor delivers to retailer i at the end of period s, and xsi = 0 otherwise. The objective is to minimize the total inventory holding cost. Since the average inventory level in period s for product j is hj (Ij,s−1 + Ij,s )/2, the total inventory holding cost for a distribution cycle is
7.4 Manufacturer and Distributor
387
n−1 h1 [I1,0 + 2 n−1 s=1 nI1,s + I1,n ]/2 + h2 [I2,0 + 2 s=1 I2,s + I2,n ]/2. Since Ij,0 = Ij,n , this reduces to s=1 (h1 I1,s + h2 I2,s ), which enables the following model. Minimize s.t.
n
s=1 (h1 I1,s
n
+ h2 I2,s )
xsi = 1,
s = 1, . . . , n
(7.74)
xsi = 1,
i = 1, . . . , n
(7.75)
i=1 n s=1
I1,s = I1,s−1 + Cys −
n
b1i xsi ,
s = 1, . . . , n
(7.76)
i=1
I2,s = I2,s−1 + C(1 − ys ) −
n
b2i xsi ,
s = 1, . . . , n
(7.77)
i=1
I1,0 = I1,n
(7.78)
I2,0 = I2,n
(7.79)
n
ys = k1
(7.80)
s=1
I1,s ≥ 0,
s = 1, . . . , n
(7.81)
I2,s ≥ 0,
s = 1, . . . , n
(7.82)
ys ∈ {0, 1},
s = 1, . . . , n
xsi ∈ {0, 1},
i = 1, . . . , n,
(7.83) s = 1, . . . , n.
(7.84)
Constraints (7.74) and (7.75) ensure that exactly one retailer is served at the end of each period. Constraints (7.76) and (7.77) define each period’s ending inventory level for each product. Constraints (7.78) and (7.79) ensure that the distribution cycle’s ending inventory level equals its starting inventory level for each product. Constraint (7.80) ensures that the required amount of each product is manufactured. As in Problem 1, the distributor’s conflict arises when the manufacturer solves its problem independently from the distributor. We perform a computational study to determine the cost of the distributor’s conflict. We compare its costs under the following two alternative scenarios: 1. The manufacturer uses its optimal schedule σ m , and the distributor then determines its best schedule ν(σ m ), given the manufacturer’s schedule. The distributor’s inventory holding cost in this scenario is denoted as T (σ m , ν(σ m )). 2. The manufacturer produces according to a schedule σ d preferred by the distributor, which then uses an optimal delivery schedule ν(σ d ). That is, the distributor chooses σ d for the manufacturer such that ν(σ d ) is optimal for the
388
7 Optimization and Conflict
distributor. The distributor’s inventory holding cost in this scenario is denoted as T (σ d , ν(σ d )). The data set includes two products delivered to six retailers; the truck capacity is 100 units. The manufacturer, therefore, produces 100 units of one product during each of the six periods, and each retailer receives a total of 100 units, mixed according to its demand ratio. The demand ratios across all retailers sum to 50:50. To simulate this, the demand for product P1 is a randomly generated integer from U [1, 99] for each of the first five retailers, and b16 = 300 − 5i=1 b1i . Infeasible instances where b16 ≤ 0 or b16 ≥ 100 are discarded. Also, b2i = 100 − b1i , for i = 1, . . . , 6. One set of these six pairs of demands defines an instance. Each of 100 instances is tested for several combinations of holding costs for product P1 (h1 ∈ {5, 10, 20, 40}) and product P2 (h2 ∈ {1, 5, 10, 20, 40}). The distributor’s cost of conflict for an instance is computed as [T (σ m , ν(σ m ))− T (σ d , ν(σ d ))]/T (σ d , ν(σ d )), i.e., the percentage increase in the distributor’s inventory cost if the manufacturer uses its optimal schedule. For each combination of holding costs, the mean cost of conflict over 100 instances is computed. The distributor’s problem (i.e., the assignment problem with side constraints) is solved as a linear mixed integer program using CPLEX (version 8.1). The results are shown in Table 7.15. The distributor’s cost in Table 7.15 is symmetric with respect to holding costs, as discussed below in Corollary 7.2 in Sect. 7.4.3.3. The manufacturer incurs a cost of conflict when it produces according to a schedule chosen by the distributor. This can increase the number of setups from the manufacturer’s optimal number (which is the number of products, in this case two) to as many as the number of periods, n. This increases the manufacturer’s cost from 2μ to nμ. Since the number of setups required by the distributor’s optimal schedule is S(σ d )/μ, the manufacturer’s cost of conflict is computed as [S(σ d )/μ − 2]/2, the relative increase in the number of setups. Our computational study includes two products and six retailers, with 1000 random instances of demand ratios generated as described above. In none of the instances tested does the distributor’s optimal schedule allow the manufacturer to have only two setups, i.e., the schedule (P1 P1 P1 P2 P2 P2 ). In 24.6% of these instances, the manufacturer performs four setups, i.e., (P1 P1 P2 P1 P2 P2 ) or (P1 P1 P2 P2 P1 P2 ). In the other 75.4% of the instances, the manufacturer performs six setups, i.e., (P1 P2 P1 P2 P1 P2 ). These data show that the mean number of setups increases from 2.00 to 5.51; therefore, the manufacturer’s mean cost of conflict is 175.5%. Table 7.15 Distributor’s cost of conflict in Problem 2
h1 h1 h1 h1
=5 = 10 = 20 = 40
h2 = 1 87.96% 88.19% 88.46% 88.66%
h2 = 5 89.28% 88.26% 87.94% 88.10%
h2 = 10 88.26% 89.28% 88.26% 87.94%
h2 = 20 87.94% 88.26% 89.28% 88.26%
h2 = 40 88.10% 87.94% 88.26% 89.28%
7.4 Manufacturer and Distributor
389
7.4.3 Supply Chain Dominance In this section, we consider two alternative scenarios for each problem with respect to supply chain dominance. In the first scenario, the manufacturer is dominant and insists on a schedule that serves as a constraint for the distributor. In the second scenario, the roles are reversed. In each scenario, we discuss how the decision maker which is not dominant can minimize its cost under the constraint imposed by the dominant decision maker.
7.4.3.1
Dominance in Problem 1: Printer Dominates
Since there is no difference in the printer’s cost between all block family schedules, a rational printer is willing to use any block family schedule the distributor requests. Thus, we now determine which block family schedule is best for the distributor. Recall that the distributor’s due dates can be translated into printer’s due dates dijM using (7.71). Consequently, the distributor’s minimum maximum lateness can be found by solving a maximum lateness scheduling problem at the printer. To study this problem, we need a measure to compare the lateness of jobs within M ≤ · · · ≤ d M , for i = 1, . . . , n. Thus, C M (σ ) a block. Index the jobs such that di1 ii ii denotes the time at which the last job for zone Zi is completed by the printer. Since jobs are ordered by EDD within each block, for each j ∈ {1, . . . , i }, CijM (σ ) − M (σ ) is constant for all block family schedules. For each zone Z , we define the Ci i i constant M (σ ) − dijM }. Xi = max {CijM (σ ) − Ci i 1≤j ≤i
We are now ready to solve the maximum lateness block scheduling problem. Theorem 7.35 Among all of the printer’s block family schedules, one which minimizes the maximum lateness is given by sequencing the blocks i = 1, . . . , n, in nonincreasing order of Xi . Proof By adjacent pairwise interchange. Consider scheduling the blocks in reverse order, i.e., starting at Cmax and moving backward. Suppose we have just scheduled a block whose starting time is B. Assume that block i is selected at this point, and then block k is selected to precede block i, where Xk ≤ Xi , as shown in Fig. 7.7. Here, the maximum lateness within blocks i and k is
B sk
block k
si
block i
Fig. 7.7 Schedule where Block k precedes Block i
Cmax other blocks
390
7 Optimization and Conflict B si
block i
sk
block k
Cmax other blocks
Fig. 7.8 Schedule where Block i precedes Block k Table 7.16 Distributor’s cost of conflict and its improvement from Theorem 7.35 Setup Processing times times l u l u 1 10 1 50 1 10 1 100 1 50 1 50 1 50 1 100 Overall averages
Due dates l = 400, u = 600 Conflict Improvement 3.54% 10.06% 0.58% 6.82% 1.68% 7.33% 0.64% 5.71% 1.61 % 7.48%
l = 200, u = 800 Conflict Improvement 6.73% 10.25% 7.39% 11.45% 6.39% 9.68% 6.38% 11.38% 6.72% 10.69%
max{Xi + B, Xk + B − i pi − si } = Xi + B. However, if we interchange blocks i and k (Fig. 7.8), then the maximum lateness within those blocks is max{Xi + B − k pk − sk , Xk + B} ≤ Xi + B. We perform a computational study similar to the one in Sect. 7.4.2.1. That study evaluates the distributor’s conflict for a randomly chosen block family schedule. In this case, however, we evaluate the distributor’s conflict from using m that satisfies Theorem 7.35, which is [L m a block family schedule σ7.35 max (σ7.35 ) − Lmax (σ d )]/Lmax (σ d ). We also evaluate the improvement in the distributor’s maximum lateness from the use of such a block family schedule rather than a randomly chosen one, denoted by σrm , which is [Lmax (σrm ) − Lmax (σ2m )]/Lmax (σrm ). The results are shown in Table 7.16. The mean reduction in the distributor’s maximum lateness that results from the printer using the most favorable block family schedule is 9.08%, which still leaves an average distributor’s conflict of 4.17%. As in Table 7.13, the distributor’s cost of conflict is significantly larger for the case of more dispersed due dates. Remark 7.10 The results in Table 7.16 suggest that approximately one-third of the distributor’s conflict computed in Sect. 7.4.2.1 arises from the printer’s use of a block family schedule, and the remainder comes from the choice of which block family schedule the printer uses.
7.4.3.2
Dominance in Problem 1: Distributor Dominates
If the distributor has dominant power in the supply chain, then it may impose a limit, Δ, on the maximum lateness that results from the printer’s decisions. The printer then minimizes its cost, subject to this constraint. We now show how this can be modeled.
7.4 Manufacturer and Distributor
391
Lemma 7.12 In the printer’s problem of minimizing Cmax subject to the constraint Lmax ≤ Δ, there exists an optimal schedule in which the jobs for zone Zi are processed in EDD order based on dijM .
Proof Similar to Lemma 7.11.
Algorithm P1MC finds a schedule that minimizes the printer’s makespan, while satisfying the distributor’s requirement that Lmax ≤ Δ. It is the same as Algorithm P1D, except for the Optimal Solution Value step shown below. Algorithm P1MC Optimal Solution Value min1≤j ≤n,1≤u1 ≤1 ,...,1≤un ≤n { ni=1 ui si | f (1 , . . . , n ; u1 , . . . , un ; j ) ≤ Δ}. Theorem 7.36 Algorithm P1MC finds an optimal schedule for the printer’s version * of Problem 1 with the Lmax ≤ Δ constraint in O(n2 ni=1 2i ) time. Proof Similar to Theorem 7.34.
In order to evaluate the cost incurred by the printer if it must satisfy a maximum lateness constraint imposed by the distributor, we compute the relative cost increase resulting from the printer’s conflict. If σ m denotes any block family schedule, and σ d (Δ) denotes the printer’s schedule derived from Algorithm P1MC, then we define the relative increase in cost resulting from the printer’s conflict as [Cmax (σ d (Δ)) − Cmax (σ m )]/Cmax (σ m ).
(7.85)
We evaluate this expression computationally, as for (7.73) in Sect. 7.4.2.1. The results appear in Table 7.17. For each combination of setup times, processing times, and due dates, we evaluate (7.85) for three values of Δ. Let L∗max be the optimum Lmax value from Algorithm P1D and Z = Lmax (σ m ) − L∗max . The three values of Δ for which each instance is tested are Δ = L∗max + 0.25Z, Δ = L∗max + 0.5Z, and Δ = L∗max + 0.75Z. Recall that values for Δ = L∗max can be found in Table 7.14, whereas for Δ = Lmax (σ m ) the cost of conflict is zero. The results in Table 7.17 show that most of the printer’s conflict is incurred when the weakest constraint, Lmax ≤ Δ = L∗max + 0.75Z, is imposed by the distributor. By comparing Table 7.17 with Table 7.14, we observe that on average 68.0% of the printer’s total conflict is incurred as a result of this first marginal reduction in allowable Lmax value from Lmax (σ m ) to L∗max + 0.75Z. It follows that the largest marginal reduction in conflict occurs when the printer first uses a schedule that is not a block family schedule.
7.4.3.3
Dominance in Problem 2: Manufacturer Dominates
The manufacturer produces so that it has only two setups per distribution cycle, one for each product. Given this production sequence, the distributor seeks a distribution
Setup times l u 1 50 1 50 1 100 1 100 Overall averages
Processing times l u 1 50 1 100 1 50 1 100
Due dates l = 400, u = 600 Maximum allowable lateness (Δ) L∗max + 0.25Z L∗max + 0.5Z 5.31% 4.42% 1.46% 1.28% 2.77% 2.70% 1.24% 1.20% 2.70% 2.40%
Table 7.17 Printer’s cost of conflict in Problem 1 as Δ varies
L∗max + 0.75Z 3.99% 1.24% 2.63% 1.18% 2.26%
l = 200, u = 800 Maximum allowable lateness (Δ) L∗max + 0.25Z L∗max + 0.5Z 2.64% 1.94% 4.46% 3.49% 12.15% 9.59% 6.97% 5.79% 6.56% 5.20%
L∗max + 0.75Z 1.79% 3.11% 8.69% 5.22% 4.70%
392 7 Optimization and Conflict
7.4 Manufacturer and Distributor
393
sequence that minimizes its cost over all possible distribution sequences. This distribution sequence is then repeated throughout the planning horizon. The manufacturer produces product P1 for k1 consecutive periods and then produces product P2 for k2 consecutive periods. Let ν = (ν(1), . . . , ν(n)) denote the delivery sequence. We first explain how the inventory level of product Pj , for j = 1, 2, can be computed over the distribution cycle time nCt and then specify the distributor’s best distribution sequence, given this production sequence. Let the total inventory holding cost from period 1 through period k1 for product P1 be denoted 1 and the total inventory holding cost for both products from period 1 through by T1,k 1 period n be denoted by T1,n . Lemma 7.13 For production sequence (P1 · · · P1 P2 · · · P2 ), the distributor’s inventory cost in Problem 2 is T1,n = nI1,0 h1 + nI2,k1 h2 +
k12 k1 + k1 k 2 + 2 2
k22 k2 + k1 k 2 + 2 2
h1 C +
h2 C
n / . − (n − s + 1) h1 b1ν(s) + h2 b2ν(k1 +s) , s=1
where b2ν(s) = b2ν(n+s) , s = 0, 1, . . . , n. We refer the reader to Dawande et al. (2006) for a proof. We now find the distributor’s best delivery sequence if the manufacturer uses its optimal schedule. Theorem 7.37 Suppose that h1 ≥ h2 and that the retailers are indexed such that b11 ≥ · · · ≥ b1n . For production sequence (P1 . . . P1 P2 . . . P2 ), the distributor’s inventory cost in Problem 2 can be minimized by using the delivery sequence ν = (1, . . . , n). Proof Because I1,0 = I2,k1 = 0 for this production sequence, we can prove the result by showing that the non-constant term ns=1 (n−s+1)(h1 b1ν(s) +h2 b2ν(k1 +s) ) in Lemma 7.13 is maximized by the proposed sequence ν. First, observe that since the distribution sequence is cyclic, n s=1
(n − s + 1)h2 b2ν(k1 +s) =
k1 s=1
(k1 − s + 1)h2 b2ν(s) +
n
(n + k1 − s + 1)h2 b2ν(s) .
s=k1 +1
Suppose that νo is a distribution schedule in which the retailers’ demands are not served in nonincreasing order. Then, there must be two adjacent periods i and j = i + 1 in νo such that b1νo (i) < b1νo (j ) . We perform a pairwise interchange on the demands served in those periods and thus obtain a new schedule ν . We show that T1,n (ν ) − T1,n (νo ) ≤ 0. If 2 ≤ j ≤ k1 , then
394
7 Optimization and Conflict
T1,n (ν ) − T1,n (νo ) = −h1 [(n − i + 1)(b1νo (j ) − b1νo (i) ) + (n − j + 1)(b1νo (i) − b1νo (j ) )] − h2 [(k1 − i + 1)(b2νo (j ) − b2νo (i) ) + (k1 − j + 1)(b2νo (i) − b2νo (j ) )] = −h1 (j − i)(b1νo (j ) − b1νo (i) ) − h2 (j − i)(b2νo (j ) − b2νo (i) ) = (h2 − h1 )(b1νo (j ) − b1νo (i) ) ≤ 0.
Thus, any distribution schedule can be rearranged into nonincreasing order of the b1i values without increasing the total inventory cost. The proof is similar for k1 + 1 ≤ j ≤ n. Remark 7.11 The result in Theorem 7.37 leads to the symmetry with respect to holding costs observed in Table 7.15: the distributor’s optimal inventory cost remains the same if the holding costs of the two products are interchanged. Corollary 7.2 For the production sequence (P1 . . . P1 P2 . . . P2 ), the distributor’s optimal inventory cost in Problem 2 is symmetric with respect to the holding costs h1 and h2 . Proof Theorem 7.37 implies that if h2 ≥ h1 , then for production sequence (P1 . . . P1 P2 . . . P2 ), the distributor’s inventory cost in Problem 2 is minimized by using delivery order ν = (k1 , k1 − 1, . . . , 1, n, n − 1, . . . , k1 + 1). We consider two different problems. In each, the production sequence is (P1 . . . P1 P2 . . . P2 ). In the first, h1 ≥ h2 and the distributor uses delivery order ν = (1, 2, . . . , n − 1, n). Inventory levels are represented by Ij,s . In the second, h2 ≥ h1 and the distributor uses delivery order ν = (k1 , k1 − 1, . . . , 1, n, n − 1, . . . , k1 + 1). . We prove Corollary 7.2 by showing that Inventory levels are represented by Ij,s for s = 0, . . . , k1 , and I1,s = I2,n+k for s = k1 , . . . , n − 1. We I1,s = I2,k 1 −s 1 −s have I1,0 = I2,k =0 1 I1,1 = I1,0 + C − b1,ν(1) = I2,k + C − b1,ν (k1 ) = I2,k + b2,ν (k1 ) = I2,k 1 1 1 −1
.. . I1,k1 = I1,0 + k1 C −
k1
b1,ν(i) = I2,k + 1
i=1
I1,k1 +1 = I1,k1 − b1,ν(k1 +1) =
k1 k1 (C − b1,ν (i) ) = I2,k + b2,ν (i) = I2,0 1 i=1
I2,0
− C + b2,ν (n) =
i=1 I2,n−1
.. . I1,n−1 = I1,k1 −
n−1 i=k1 +1
b1,ν(i) = I2,0 −
n i=k1 +2
b1,ν (i) = I2,0 −
n
(C − b2,ν (i) ) = I2,k . 1 +1
i=k1 +2
7.4 Manufacturer and Distributor
395
Recall that for Problem 1 in Sect. 7.4.3.1, we show how the distributor can benefit by finding a production sequence that improves Lmax and does not degrade Cmax . However, since the manufacturer’s optimal schedule in Problem 2 is simply (P1 . . . P1 P2 . . . P2 ), no such improved schedule exists in this case. Hence, no computational study is needed here. Therefore, the contribution of this section is to show that the problem of finding the best distribution schedule, given a manufacturer’s schedule (P1 . . . P1 P2 . . . P2 ), is polynomially solvable via a sorting algorithm.
7.4.3.4
Dominance in Problem 2: Distributor Dominates
If the distributor has dominant power in the supply chain, then it may impose a limit, I ∗ , on the total inventory holding cost that results from the decisions of the manufacturer. The manufacturer then minimizes its cost, subject to this constraint, by solving a variant of the assignment problem with side constraints in Sect. 7.4.2.2. We let gs = 1 if a setup is required in period s; otherwise, gs = 0. Minimize g2 + g3 + · · · + gn+1 s.t.
n
(7.86)
(h1 I1,s + h2 I2,s ) ≤ I ∗
(7.87)
s=1
ys − ys−1 ≤ gs ,
s = 2, . . . , n + 1
(7.88)
ys−1 − ys ≤ gs ,
s = 2, . . . , n + 1
(7.89)
gs ∈ {0, 1}, and
s = 2, . . . , n + 1
(7.74)–(7.84).
Constraint (7.87) enforces the inventory holding cost limitation. Constraints (7.88) and (7.89) determine whether a setup is required in period s. We perform a computational study to evaluate how different values of I ∗ affect the manufacturer’s cost. The same data set generated for the study of the manufacturer’s conflict in Sect. 7.4.2.2 is used to compute the mean number of setups, S(σ (I ∗ ))/μ, required for the manufacturer to meet the given inventory cost constraint and to compute the mean relative cost increase, [S(σ (I ∗ ))/μ − 2]/2. This is performed for five values of I ∗ . Let T (σ m , ν(σ m )) be the distributor’s total inventory holding cost for the manufacturer’s optimal production sequence, T ((σ d , ν(σ d )) be the distributor’s optimal total inventory holding cost, and Y = T (σ m , ν(σ m )) − T ((σ d , ν(σ d )). The five values of I ∗ for which 100 instances are tested are I ∗ = T ((σ d , ν(σ d )), I ∗ = T ((σ d , ν(σ d )) + 0.25Y , I ∗ = T ((σ d , ν(σ d )) + 0.5Y , I ∗ = T ((σ d , ν(σ d )) + 0.75Y , and I ∗ = T (σ m , ν(σ m )). Holding cost values h1 = 5 and h2 ∈ {5, 10, 20, 40} are used. Mean results over the 100 instances are shown in Table 7.18.
h2 = 5 h2 = 10 h2 = 20 h2 = 40 Averages
T ((σ d , ν(σ d )) Setups Cost 5.26 163% 5.62 181% 5.50 175% 5.45 172% 5.46 173%
T ((σ d , ν(σ d )) + 0.25Y Setups Cost 4.32 116% 4.36 118% 4.38 119% 4.43 121% 4.37 119%
Table 7.18 Manufacturer’s cost of conflict in Problem 2 as I ∗ varies T ((σ d , ν(σ d )) + 0.5Y Setups Cost 4.00 100% 4.00 100% 4.00 100% 4.00 100% 4.00 100%
T ((σ d , ν(σ d )) + 0.75Y Setups Cost 4.00 100% 4.00 100% 4.00 100% 4.00 100% 4.00 100%
T (σ m , ν(σ m )) Setups Cost 2.00 0% 2.00 0% 2.00 0% 2.00 0% 2.00 0%
396 7 Optimization and Conflict
7.4 Manufacturer and Distributor
397
The results in Table 7.18 show that 57.8% of the manufacturer’s cost of conflict is incurred when the weakest constraint, I ∗ = T ((σ d , ν(σ d )) + 0.75Y , is imposed by the distributor.
7.4.4 Benefit of Cooperation In this section, we compare the total system cost in a situation where the manufacturer and the distributor cooperate fully, to the total system cost that results if either party makes an independent decision. For each problem, the combined objective function is a convex combination of the individual objectives. This model is chosen for generality; we evaluate the objective for different values of the combination parameter α. In any practical system consisting of a manufacturer and a distributor, the value of α is defined either by an executive decision if they are in the same company or by the two parties’ relative negotiating power otherwise. We conclude this section with a discussion of methods for encouraging and implementing supply chain cooperation.
7.4.4.1
Problem 1
For the newspaper example, various reasonable objectives for the combined problem can be formulated. In practice, the distributor’s goal may not be to minimize Lmax , but rather to ensure that Lmax = 0. In this case, the discussion in Sect. 7.4.3.2 and the results in Table 7.17 are applicable. Similarly, the printer may not want to minimize Cmax as much as requiring that Cmax ≤ C ∗ , where C ∗ is a value which ensures that production can be completed without the use of overtime labor. Here, the printer can offer the distributor the opportunity to design and request a production sequence with a fixed number of extra setups allowed. Each of these scenarios is more likely if the printer and the distributor are in the same company, which is typical but not ubiquitous in the newspaper industry. If the printer and distributor cooperate, then they select a schedule σ c that M (σ ) + (1 − α)LD (σ ), for some fixed minimizes the convex combination αCmax max α. Given α, Algorithm P1C below, which differs from Algorithm P1D only in the Input and Optimal Solution Value steps, finds such a schedule. In order for the distributor to agree to a certain value of Lmax , it is important for the distributor to assess the cost implication of choosing this value. We now describe an approach to assess this cost in practice. The demand of each distribution center Zij typically consists of demand from individual subscribers and from newsstands. Late deliveries may affect these demands; the demand at newsstands is particularly time sensitive. Using historical data, each distribution center Zij can express the dollar value of lost sales, Gij (Lij ), as a function of the lateness Lij . Typically, Gij (Lij ) is an increasing function of Lij . Thus, by agreeing to a specific value of
398
7 Optimization and Conflict
Lmax , the distributor may incur a maximum total cost of ni=1 ji=1 Gij (Lmax ). We note that this is a worst-case scenario in which the lateness of each distribution center is Lmax . In practice, when a solution with given Lmax value is implemented, the distributor’s cost will typically be much less than the maximum committed, i.e., n i i=1 j =1 Gij (Lmax ). In Algorithm P1C, the boundary condition and recurrence relation are the same as in Algorithm P1D. The other details appear below. Algorithm P1C Input Given dij , tij for i = 1, . . . , n, j = 1, . . . , i ; pi , qi , si for i = 1, . . . , n; δ and α. Optimal Solution Value min1≤j ≤n,1≤u1 ≤1 ,...,1≤un ≤n {α ni=1 (i pi + ui si ) + (1 − α)f (1 , . . . , n ; u1 , . . . , un ; j )}. Theorem 7.38 Algorithm * P1C finds an optimal schedule for the combined version of Problem 1 in O(n2 ni=1 2i ) time. Proof Similar to Theorem 7.34.
In order to evaluate the benefit of cooperation, we compare the schedule derived by Algorithm P1C to the printer’s optimal schedule and to the distributor’s optimal schedule. As in Sect. 7.4.2.1, we use eight combinations of ranges for the setup times, processing times, and due dates. For each combination, we generate 100 random instances for each of the three configurations defined in Sect. 7.4.2.1 and for α ∈ {0.2, 0.4, 0.6, 0.8}. Then we compute: 1. A random block family schedule σ m and its cost Γ m = αCmax (σ m ) + (1 − α)Lmax (σ m ) 2. The schedule σ d found by Algorithm P1MC, where the printer is required to satisfy Lmax ≤ Δ = L∗max , and its cost Γ d = αCmax (σ d ) + (1 − α)Lmax (σ d ) 3. The optimal system schedule σ c found by Algorithm P1C and its cost Γ c = αCmax (σ c ) + (1 − α)Lmax (σ c ) The benefit of cooperation relative to the cost of the printer’s optimal schedule, (Γ m − Γ c )/Γ m , is shown in Table 7.19. The corresponding information, (Γ d − Γ c )/Γ d , for the distributor’s optimal schedule is shown in Table 7.20. Our results show that the mean benefit of cooperation relative to using the printer’s optimal schedule is 6.50% and relative to using the distributor’s optimal schedule is 1.28%. The parameter that has the greatest effect on the benefit of cooperation is due dates. For more dispersed due dates (200–800 vs. 400–600), the benefit of cooperation is relatively 81.35% greater (8.37% vs. 4.62%) when compared to the printer’s optimal schedule, and it is relatively 206.43% greater (1.92% vs. 0.63%) when compared to the distributor’s optimal schedule. These results imply that cooperation is more valuable when due dates are more dispersed. This observation is consistent with the results in Tables 7.13 and 7.16.
7.4 Manufacturer and Distributor
399
Table 7.19 Benefit of cooperation vs. printer’s optimal schedule in Problem 1 Setup times l u 1 50 1 50 1 100 1 100 1 50 1 50 1 100 1 100 Averages
Processing times l u 1 50 1 100 1 50 1 100 1 50 1 100 1 50 1 100
Due dates l 400 400 400 400 200 200 200 200
u 600 600 600 600 800 800 800 800
Savings over manufacturer’s optimal schedule α = 0.2 α = 0.4 α = 0.6 9.69% 7.49% 5.22% 6.81% 5.06% 3.31% 7.86% 5.48% 3.78% 4.94% 3.93% 2.54% 13.64% 10.07% 7.36% 14.04% 10.25% 6.77% 12.30% 9.79% 6.81% 12.63% 9.72% 6.09% 10.24% 7.72% 5.24%
α = 0.8 2.56% 1.77% 2.09% 1.36% 3.59% 3.63% 3.96% 3.34% 2.79%
Table 7.20 Benefit of cooperation vs. distributor’s optimal schedule in Problem 1 Setup times l u 1 50 1 50 1 100 1 100 1 50 1 50 1 100 1 100 Averages
7.4.4.2
Processing times l u 1 50 1 100 1 50 1 100 1 50 1 100 1 50 1 100
Due dates l 400 400 400 400 200 200 200 200
u 600 600 600 600 800 800 800 800
Savings over Distributor’s optimal schedule α = 0.2 α = 0.4 α = 0.6 0.08% 0.45% 1.30% 0.03% 0.17% 0.40% 0.12% 0.50% 1.03% 0.02% 0.11% 0.28% 0.14% 0.66% 1.92% 0.05% 0.38% 1.23% 0.30% 1.37% 3.55% 0.15% 0.77% 1.99% 0.11% 0.55% 1.46%
α = 0.8 2.54% 0.79% 1.72% 0.51% 4.55% 2.95% 6.86% 3.92% 2.98%
Problem 2
Whereas in Problem 1 the decision makers minimize time, in Problem 2 they minimize cost. Therefore, there is no obvious scenario in which one party will freely relinquish its optimal schedule without compensation, even if the parties are within the same company. We again use a convex combination of the individual objectives to define a combined objective function. If the manufacturer and the distributor cooperate, then they can find a manufacturer’s schedule σ c and a distributor’s schedule ν(σ c ) that jointly minimize αS(σ ) + (1 − α)T (σ, ν(σ )) by solving an assignment problem with side constraints that is similar to that in Sect. 7.4.3.4. The only changes are to remove the first constraint and to change the objective function to Minimize α(g2 + g3 + · · · + gn+1 )μ + (1 − α)
n (h1 I1,s + h2 I2,s ). s=1
400
7 Optimization and Conflict
We perform a computational study to determine the relative cost saving to the supply chain that results from cooperation between the two parties. The same data generated for the study of the manufacturer’s conflict in Sect. 7.4.2.2 are used, under three different scenarios: 1. The manufacturer uses its optimal schedule σ m , and then the distributor uses Theorem 7.37 to determine its best schedule ν(σ m ). We denote the total cost of this scenario by Γ m = αS(σ m ) + (1 − α)T (σ m , ν(σ m )). 2. The manufacturer uses a schedule σ d , derived from the assignment problem with side constraints in Sect. 7.4.3.4, that enables the distributor to achieve its overall minimum total inventory holding cost. We denote the total cost of this scenario by Γ d = αS(σ d ) + (1 − α)T (σ d , ν(σ d )). 3. A production schedule σ c that minimizes the overall system cost is used. We denote the total cost of this scenario by Γ c = αS(σ c ) + (1 − α)T (σ c , ν(σ c )). The setup cost is μ = 200 throughout. The relative gain from using the cooperative schedule over the manufacturer’s optimal schedule is computed as (Γ m − Γ c )/Γ m . The mean benefit of cooperation for various combinations of holding costs and different values of α is shown in Table 7.21. The relative gain from using the cooperative schedule over the distributor’s optimal schedule is computed as (Γ d − Γ c )/Γ d . The mean benefit of cooperation for various combinations of holding costs and different values of α is shown in Table 7.22. As in Table 7.15, the results in Tables 7.21 and 7.22 are approximately symmetric with respect to holding costs. Here, the manufacturer does not use production sequence (P1 . . . P1 P2 . . . P2 ) in all instances, however analogs to Corollary 7.2 can be similarly proven for the different production sequences. From Tables 7.21 and 7.22, the average benefit of cooperation over the manufacturer’s optimal schedule is 25.26%, whereas the average benefit of cooperation over the distributor’s optimal schedule is 6.02%. Additional computational results show that the improvement over the manufacturer’s optimal schedule decreases and the improvement over the distributor’s optimal schedule grows as μ increases. This is to be expected because a larger setup cost gives more weight to the manufacturer’s cost in the combined objective. Similar reasoning applies to two other observations from the results: (i) as holding costs increase, the benefit of cooperation relative to the manufacturer’s optimal schedule increases, and the benefit relative to the distributor’s optimal schedule decreases and (ii) as α increases, the benefit of cooperation relative to the manufacturer’s optimal schedule decreases, and the benefit relative to the distributor’s optimal schedule increases.
7.4.4.3
Implementing Cooperation
In both the problems considered, a benefit of cooperation arises when the dominant player agrees not to use its individually optimal schedule. Unless the distributor
h1 5 10 20 40
h1 5 10 20 40
α = 0.2 h2 = 1 30.10% 35.35% 39.05% 41.29% α = 0.6 h2 = 1 1.86% 11.33% 22.54% 31.22%
h2 = 10 37.83% 39.93% 40.49% 41.50%
h2 = 10 18.94% 25.04% 28.98% 33.34%
h2 = 5 36.44% 37.83% 39.73% 41.32%
h2 = 5 13.13% 18.94% 25.78% 32.17%
h2 = 20 25.78% 28.98% 33.30% 35.36%
h2 = 20 39.73% 40.49% 41.79% 41.92% h2 = 40 32.17% 33.34% 35.36% 38.13%
h2 = 40 41.32% 41.50% 41.92% 42.74% h1 5 10 20 40
h1 5 10 20 40
Table 7.21 Benefit of cooperation vs. manufacturer’s optimal schedule in Problem 2 α = 0.4 h2 = 1 15.64% 25.15% 32.60% 37.56% α = 0.8 h2 = 1 0.07% 0.10% 5.31% 17.11% h2 = 5 0.00% 1.72% 9.21% 19.19%
h2 = 5 26.72% 30.31% 34.32% 37.96%
h2 = 10 1.72% 7.49% 13.73% 21.49%
h2 = 10 30.31% 34.33% 36.16% 38.58%
h2 = 20 9.21% 13.73% 20.50% 25.28%
h2 = 20 34.32% 36.16% 38.72% 39.58%
h2 = 40 19.19% 21.49% 25.28% 30.34%
h2 = 40 37.96% 38.58% 39.58% 41.17%
7.4 Manufacturer and Distributor 401
h1 5 10 20 40
h1 5 10 20 40
α = 0.2 h2 = 1 1.92% 0.70% 0.24% 0.08% α = 0.6 h2 = 1 17.83% 9.42% 4.53% 1.86%
h2 = 10 0.46% 0.01% 0.12% 0.05%
h2 = 10 6.71% 2.46% 2.80% 1.06%
h2 = 5 0.23% 0.46% 0.18% 0.03%
h2 = 5 6.81% 6.71% 3.43% 1.32%
h2 = 20 3.43% 2.80% 0.73% 0.91%
h2 = 20 0.18% 0.12% 0.00% 0.04% h2 = 40 1.32% 1.06% 0.91% 0.07%
h2 = 40 0.03% 0.05% 0.04% 0.00% h1 5 10 20 40
h1 5 10 20 40
Table 7.22 Benefit of cooperation vs. distributor’s optimal schedule in Problem 2 α = 0.4 h2 = 1 7.21% 3.57% 1.41% 0.47% α = 0.8 h2 = 1 40.24% 27.53% 13.99% 6.48% h2 = 5 23.44% 18.71% 11.16% 5.60%
h2 = 5 2.03% 2.38% 0.87% 0.26% h2 = 10 18.71% 9.66% 9.19% 4.96%
h2 = 10 2.38% 0.57% 0.74% 0.28%
h2 = 20 11.16% 9.19% 3.86% 4.12%
h2 = 20 0.87% 0.74% 0.04% 0.22%
h2 = 40 5.60% 4.96% 4.12% 1.25%
h2 = 40 0.26% 0.28% 0.22% 0.00%
402 7 Optimization and Conflict
7.4 Manufacturer and Distributor
403
can assert itself as dominant, the manufacturer is dominant because it chooses its schedule first, i.e., it is a Stackelberg leader (Frank & Parker, 2004). When the supply chain switches from the dominant party’s schedule to the overall optimal schedule, the dominant player’s cost increases, but the nondominant party’s cost decreases by a larger amount. We note in Sect. 7.4.4.1 that there are situations in which the dominant party may accept a suboptimal schedule. However, in general the nondominant party must use some of its cost saving to compensate the dominant party for changing its schedule. Classical game theory Nash (1953) states that for the dominant party to agree to cooperate, this compensation should exceed the amount by which its cost increases in the overall optimal schedule. More formally, suppose S(π ) is the manufacturer’s cost and T (π ) is the distributor’s cost if schedule π is used. Suppose the manufacturer is dominant, and σ is its preferred schedule. The total cost of the non-coordinated schedule is thus S(σ ) + T (σ ). Let σ c denote an optimal coordinated system schedule. The total cost savings from implementing the coordinated schedule are thus p∗ = [S(σ ) + T (σ )] − [S(σ c ) + T (σ c )]. The dominant party’s increase in cost from agreeing to use the coordinated schedule is p = S(σ c ) − S(σ ). Since the nondominant party’s cost decreases by more than p in an optimal coordinated schedule, the system has a surplus of p∗ − p > 0. A possible mechanism for cooperation is for the dominant party to receive a lump sum side payment of p + β(p∗ − p), where 0 < β < 1; the value of β typically depends on the difference in negotiating power between the two parties. Under this mechanism, both parties have an incentive to cooperate, since the dominant party’s net cost is S(σ c ) − p − β(p∗ − p) < S(σ ) and the nondominant party’s net cost is T (σ c ) − (1 − β)(p∗ − p) < T (σ ). A similar argument applies to the case in which the distributor is dominant. The distribution of the surplus between the two parties is determined by the value of β. Marketing research (Corfman & Lehman, 1993; Lehman, 2001) and management research (Ouchi, 1980; Williamson, 1975) suggest that the surplus should be divided equitably to ensure continued cooperation. A perfectly equitable split of the surplus, however, would require that the parties accurately and continuously share their cost data in a verifiable way. The related topic of strategic misreporting of private data is discussed in Sects. 9.4 and 9.5. An alternative approach is one that is more market-oriented. For either problem, if the manufacturer dominates, then it can negotiate a price to be paid by the distributor for each additional setup that the manufacturer performs. This price should be at least the manufacturer’s cost for the additional setup and at most the distributor’s benefit from the resulting increase in scheduling flexibility. Because the result of this negotiation is an easily verified job release schedule to which compensation is tied, the manufacturer is unable to cheat without being detected. If the distributor dominates, then a similar negotiation determines the price paid by the manufacturer for the right to impose on the distributor a larger maximum lateness in Problem 1 or a larger inventory cost in Problem 2. Again, the results are easily verified. In both situations, the burden of initiating cooperation and of determining an alternative schedule is borne by the nondominant party.
404
7 Optimization and Conflict
7.5 Resequencing in a Supply Chain Consider two consecutive stages of a production system that prefer different sequences. A single supplier fills orders for several manufacturers. A typical situation is that the two stages determine their job sequences independently, without regard for the resulting cost to the other. In some other situations, one of the two stages imposes its own ideal schedule on the other. Then, the other stage has to optimize its own schedule, subject to this given schedule and a limited resequencing capability in a storage buffer. Neither of these situations is typically optimal for the overall system performance. More generally, in a situation where it is costly to resequence work, we are interested in minimizing the distance between the actual schedules at the various stages of the chain and their respective ideal schedules. For this purpose, the distance between the actual and ideal schedules at any stage of the supply chain is measured by the minimum number of adjacent pairwise interchanges that are necessary to transform one schedule into the other. The pairwise interchange cost is a standard measure of the distance between sequences. It is used, for example, in genome sequencing (Mahajan et al., 2003). In the context of classical scheduling problems, consider an ideal sequence as being defined by changeover times, such as might occur in various process industries including paint, chemicals, and fertilizer. Suppose that, in these applications, the ideal and least costly sequence (1,2,3) is from light to dark or from mild to toxic. In this case, the sequence σ = (3, 1, 2) which has two interchanges is worse than the sequence σ = (1, 3, 2) which has only one interchange. This is because the “increasing job index” changeovers (1, 2) in σ and (1, 3) in σ have zero or minimal cost, whereas the cost of the “decreasing job index” changeover (3, 1) in σ is likely to be greater than that for (3,2) in σ , due to greater dissimilarity between the products. Such situations are studied from the point of view of a manufacturer and also from that of an immediately upstream supplier. Both these problems are considered under two different objectives. In the first objective, there is an interchange cost but no storage cost. In the second objective, the addition of storage cost discourages the use of the buffer. A second situation we consider occurs when both stages compromise in order to reach an overall schedule that is satisfactory to both parties. That is, they both schedule the jobs in a less than ideally self-interested way, in order to achieve a fair redistribution of the overall costs. We study this problem under the objective of minimizing the interchange cost and show by example that some intuitive results do not hold in the presence of buffer costs. This section is organized as follows. In Sect. 7.5.1, we describe our notation and scheme for classifying changeover cost supply chain scheduling problems, and we provide a brief overview of our results. In Sect. 7.5.2, we analyze several problems where one of the manufacturers has to follow the supplier’s ideal schedule. In Sect. 7.5.3, the roles are reversed and the supplier has to follow several manufacturers’ ideal schedules. Section 7.5.4 considers the joint supplier–
7.5 Resequencing in a Supply Chain
405
manufacturer decision problem that minimizes the overall system cost and identifies conditions for profitable cooperation between the supplier and the manufacturer. Some incentives and practical mechanisms for cooperation are also discussed.
7.5.1 Notation and Classification We begin with a description of our notation and assumptions and then provide a brief overview of our results. Let N = {1, . . . , n} denote a set of jobs to be processed. In a two-stage supply chain, each job is processed first by the supplier and then by the manufacturer who ordered it, as in a typical flowshop. A single supplier supplies G manufacturers. The time horizon is divided into T time slots. Processing of a job takes one time slot, for both the supplier and a manufacturer. We consider a balanced flow situation where each manufacturer can process at most one job in each time slot, whereas the supplier can process at most G jobs in each time slot. It is possible that two or more jobs processed by the supplier in a given time slot may have been ordered by the same manufacturer. We assume zero transportation time between the supplier and the manufacturer. Hence, a job that is processed by the supplier in time slot t can be processed by a manufacturer either in time slot t + 1 or later. If it is not processed immediately, the job must wait in an intermediate buffer of given capacity b < n. We assume that the buffer is controlled by the specified decision maker(s) in each problem considered. The set of available jobs in the buffer during time slot t is denoted by β(t), where |β(t)| ≤ b. Figure 7.9 illustrates the arborescence structure of the two-stage supply chain. As discussed above, both the supplier and each manufacturer have an ideal schedule in which they would like to process the jobs. We denote by S, S I , and S ∗ a feasible schedule of jobs for the supplier, an ideal schedule for the supplier, and an optimal schedule that minimizes the supplier’s cost while meeting the manufacturer’s requirements defined below, respectively. A feasible schedule is one Fig. 7.9 Structure of the two-stage supply chain
406
7 Optimization and Conflict
that does not exceed the available buffer capacity, b, at any time. Also, we denote by S(t) (respectively, S I (t), S ∗ (t)) the set of jobs processed by the supplier in time slot t in schedule S (respectively, S I , S ∗ ). We let σ (j ) (respectively, σ I (j ), σ ∗ (j )) denote the time slot in which job j is processed by the supplier in schedule S (respectively, S I , S ∗ ). Analogously for the manufacturers, we let Mr , MrI , and Mr∗ denote a feasible schedule for the rth manufacturer, an ideal schedule for the rth manufacturer, and an optimal schedule for the rth manufacturer, respectively. We use the notation M, M I , and M ∗ when referring to all the G manufacturers as a whole. Hence, M(t) (respectively, M I (t), M ∗ (t)) denotes the set of jobs processed by the G manufacturers during time slot t in schedule M (respectively, M I , M ∗ ), while Mr (t) (respectively, MrI (t), Mr∗ (t)) has the same meaning for the rth manufacturer. We also denote by μ(j ) (respectively, μI (j ), μ∗ (j )) the time slot in which job j is processed by some manufacturer in schedule M (respectively, M I , M ∗ ). If a decision maker processes one or more jobs during a time slot, then that time slot is said to be active; otherwise, it is said to be idle. Consider the supplier’s ideal schedule, S I . We use i ≺S j to denote that job i precedes job j in S I . For the ideal sequence of the rth manufacturer, we use the notation i ≺Mr j , omitting the subscript where the identity of the manufacturer is clear from the context. We say that an interchange occurs whenever job i is processed strictly before j , whereas in the ideal schedule j strictly precedes i. We define the cost of an interchange relative to an ideal schedule to be 1. The cost of storing one job in a buffer for one time slot is denoted by w. Depending upon which model is being studied, the decisions to be made include finding: (i) An optimal supplier’s schedule S ∗ (ii) An optimal schedule Mr∗ for the rth manufacturer where 1 ≤ r ≤ G (iii) An optimal combined schedule S ∗ , Mr∗ Here, the decision maker(s) are either the supplier, the rth manufacturer, or both jointly, respectively. Using the standard classification scheme of Graham et al. (1979), we let ψ1 = S where the decision maker is a supplier and ψ1 = Mr where the decision maker is manufacturer Mr . Where both these parties are joint decision makers, we let ψ1 = S, Mr . Under ψ2 , we use b to describe the buffer capacity. The objective functions that we consider under ψ3 are C = the total cost of interchanges, relative to the decision maker’s ideal schedule; C + W = the total cost of interchanges plus storage.
We first show that the number of time slots that need to be considered to construct an optimal schedule is small. For simplicity, we consider the case G = 1, but the extension to G ≥ 2 is straightforward. Lemma 7.14 The number of time slots in which processing may occur in an optimal schedule is O(nb).
7.5 Resequencing in a Supply Chain
407
Proof Consider a feasible schedule for the supplier and a manufacturer, and suppose that the supplier releases one job at time t. There are |β(t)| jobs in the buffer at time t. Suppose that the supplier releases the next job at time t , where t > t +|β(t)|+1. Furthermore, suppose that the manufacturer processes a job in a time slot between t + |β(t)| + 2 and t . Here, at least one time slot between t + 1 and t + |β(t)| + 1 is idle for both the supplier and the manufacturer. Removing this time slot clearly does not affect schedule feasibility, nor does it alter interchange costs. Storage costs, if present, can decrease but not increase as a result. Thus, for each of the O(n) jobs released by the supplier, we consider at most b + 1 time slots in the schedule. In view of Lemma 7.14, we discard irrelevant time slots and hence number the remaining time slots 1, . . . , T , where T = O(nb), in all the following discussion.
7.5.2 Manufacturer’s Problems We consider problems where the decision maker is the rth of the G manufacturers. We let S I denote the ideal supplier’s schedule relative to this manufacturer, i.e., the ideal schedule of the jobs which are ordered by this manufacturer. Hence, job sets S I (t) may be empty for some time slots t. In the manufacturer’s problem, the jobs are released by the supplier according to schedule S I . The rth manufacturer also has its own ideal schedule, MrI . The manufacturer can resequence the jobs by storing them in a buffer when they arrive from the supplier and then retrieving them in a sequence that is different from that in which they were received. However, the given capacity b < n of the buffer limits this resequencing option. Let z be the last time slot t during which jobs are released by the supplier, i.e., z = max{t : |S I (t)| > 0}.
7.5.2.1
Interchange Costs
We first consider problem Mr |b|C, i.e., the minimization of interchange cost for the manufacturer. At each time slot, based on the current jobs in the buffer, the manufacturer decides whether or not to produce a job. We let ut = 1 if time slot t is idle and ut = 0 if a job is scheduled at time t. Note that u1 = 1, since the supplier releases no jobs before time slot 1. Definition 7.3 We define the vector U = [u1 , . . . , uT ] to be the profile of a schedule Mr . The profile of a schedule identifies which time slots are active and which are idle in the manufacturer’s schedule but does not specify the order in which the jobs are processed. t−1 I We let qt = |S (i)| − t, and Qt = maxt≤v≤T {qv } − qt = v−1 I i=1 maxt≤v≤T { i=t |S (i)| − (v − t)}. Observe that Qt represents the minimum
408
7 Optimization and Conflict
amount of buffer space that needs to be set aside for jobs arriving in the future, in order to ensure feasibility. In fact, Qt = max {qv } − qt . v=t,...,T
(7.90)
Hence, Qt ≥ 0. We now establish a series of structural results about a solution to problem Mr |b|C. Lemma 7.15 A schedulefor problem Mr |b|C satisfies the buffer capacity constraint if and only if qt + ti=1 ui ≤ b, for t = 1, . . . , T . Proof Observe that from time slot 1 through time slot t, the supplier supplies t−1 I t |S (i)| jobs, and only t − i=1 ui of them have so far been processed by the i=1 manufacturer. Hence, the number of jobs in the buffer during time slot t is exactly qt + ti=1 ui . tGiven a partial schedule from time slot 1 to time slot t, we let ψ(t) = Qt + qt + i=1 ui . Note that ψ(t) is the total buffer requirement at time t, including both the space required to store the jobs currently in the buffer and also the space that needs to be set aside for jobs arriving in the future. Lemma 7.16 Given a partial schedule from 1 to t, if ψ(t) > b, then no feasible schedule exists from time t + 1 on. v ∗ −1 I ∗ Proof Given t, let v ∗ ≥ t be such that Qt = i=t |S (i)| − (v − t). Then, v ∗ −1 I ∗ Qt + qt = i=1 |S (i)| − t − (v − t) = qv ∗ by definition. Hence, if ψ(t) > b, ∗ and since t ≤ v ∗ , we have qv ∗ + vi=1 ui ≥ qv ∗ + ti=1 ui = ψ(t) > b. Then, from Lemma 7.15, it follows that no feasible schedule exists. Lemma 7.17 Qt−1 = max{0, Qt + qt − qt−1 }, for t = 2, . . . , T . Proof From (7.90) and Qt−1 = maxt−1≤v≤T {qv } − qt−1 , we obtain Qt−1 = max{qt−1 , Qt + qt } − qt−1 = max{0, Qt + qt − qt−1 }. Lemma 7.18 In any feasible schedule, given a time slot t such that ut = 0, we have ψ(t) ≤ ψ(t − 1). Proof By definition, and sinceut = 0, we have ψ(t) − ψ(t − 1) = (Qt + qt + t t−1 i=1 ui ) − (Qt−1 + qt−1 + i=1 ui ) = (Qt + qt − qt−1 ) − Qt−1 ≤ 0 from Lemma 7.17. Remark 7.12 The result in Lemma 7.18 provides a condition that is satisfied by an optimal solution to Problem Mr |b|C. Consider a profile U such that ut = 0 if and only if qt + Qt + t−1 i=1 ui = b for t = 1, . . . , z. Intuitively, this means that the manufacturer delays the processing of the next job until the widest possible choice of jobs is available; this occurs when the buffer is full. A manufacturer’s profile that satisfies this property is said to be packed. If a profile is packed, then the position
7.5 Resequencing in a Supply Chain
409
of the idle time slots from 1 to z is uniquely determined by the supplier’s ideal schedule S I . Lemma 7.19 There exists an optimal schedule for problem Mr |b|C that has a packed profile. Proof First, observe that in a feasible schedule, ut = 1 implies qt +Qt + t−1 i=1 ui = ψ(t) − ut < b. In fact, if ψ(t) − ut = b and ut = 1, then from Lemma 7.16, a buffer overflow occurs at some time slot after t. Hence, to prove the lemma, it is sufficient to show that, given any feasible schedule for problem Mr |b|C, there exists another feasible schedule with the same or smaller interchange cost and a packed profile. Consider any feasible manufacturer’s schedule without a packed profile. Suppose there is a time slot t such that ut = 0, ut+1 = 1 and ψ(t) − ut < b. We can move the idle time earlier from t + 1 to t, which delays the processing of the job from time slot t to t + 1. This solution is still feasible, since in the new schedule ψ(t) increases by 1 (and cannot therefore exceed b), and all the other ψ(i) values, for i = 1, . . . , T , i = t, remain the same. Clearly, no new job interchange occurs when moving idle time slots earlier. Repeating this argument, we obtain a feasible schedule in which all the active time slots t preceding an idle time slot t + 1 satisfy the property ψ(t) − ut = b. Alternatively, suppose that ut = 0, ut+1 = 0 and ψ(t + 1) − ut+1 = b. Since ut+1 = 0, from Lemma 7.18, we have ψ(t) ≥ ψ(t + 1) = b. Also, from Lemma 7.16, ψ(t) ≤ b, and hence ψ(t) = b. Repeating this argument backward in the schedule, we obtain ψ(i)−ui = b for all consecutive active time slots i between any two idle time slots. Thus, the resulting profile is packed. Definition 7.4 In a manufacturer’s problem, given a set of jobs X, we say that j ∈ X is the leftmost job in MrI if j ≺M k for all k ∈ X. Further, j ∈ X is the rightmost job in MIr if k M j for all k ∈ X. Lemma 7.20 A schedule M˜ r for problem Mr |b|C has the minimum number of interchanges among all schedules with a given profile if and only if, whenever a job is scheduled in time slot t + 1, it is the leftmost job in MrI among those in β(t) ∪ S(t). We refer the reader to Agnetis et al. (2006) for a proof. Lemmas 7.15 through 7.20 suggest the following algorithm. Algorithm M-C 1. Given S I , MrI , b. Let z be the last slot in which some job is released by the supplier. 2. For t = 1, . . . , z, compute qt = t−1 |S I (i)| − t, and v−1 I i=1 Qt = maxt≤v≤T { i=t |S (i)| − (v − t)}. 3. For t = 1, . . . , T : If Qt + qt + t−1 i=1 ui ≥ b and there are no jobs available to the manufacturer, then no feasible schedule exists. Terminate. If Qt + qt + t−1 i=1 ui < b, then schedule idle time and set ut = 1.
410
7 Optimization and Conflict
Fig. 7.10 Illustration of Algorithm M-C
Otherwise, schedule the available job which is leftmost in MrI , and set ut = 0. 4. For t = z + 1, . . . , T : Schedule the job in the buffer which is leftmost in MrI . Terminate. Example 7.5 (Application of Algorithm M-C) Consider the example in Fig. 7.10. There are n = 6 jobs and the buffer has capacity b = 2. The ideal supplier’s and manufacturer’s schedules are also shown in Fig. 7.10. The time slot in which the last job is released by the supplier is z = 6. At time 1, u1 = 1. At time 2, q2 = |S I (1)| − 2 = 2 − 2 = 0 and Q2 = max{0, 0 − 1, 1 − 2, 1 − 3, 3 − 4, 4 − 5} = 0. Hence, q2 + Q2 + u1 = 1 < b = 2, so again an idle time slot is scheduled (u2 = 1). Similarly, q3 = −1 and Q3 = 0, q3 + Q3 + u1 + u2 = −1 + 2 = 1 < 2, and u3 = 1. For t = 4, q4 = 3i=1 |S I (i)|−4 = −1, Q4 = 0, and hence q4 +Q4 +u1 +u2 +u3 = 2 = b. Since there are available jobs (1, 2, and 3), the leftmost in MrI among them (i.e., job 2) is scheduled at t = 4, so that u4 = 0. Continuing thus, q5 = −2, Q5 = 1 (obtained for v = 6), and therefore q5 + Q5 + u1 + u2 + u3 + u4 = 2 = b. Again there are available jobs, so job 3 is scheduled and u5 = 0. At time t = 6, q6 = −1, Q6 = 0, and q6 + Q6 + u1 + u2 + u3 + u4 + u5 = 2 = b, so job 4 is scheduled and u6 = 0. After slot z, the buffer is emptied by repeatedly scheduling the leftmost job in MrI , which yields the remaining sequence (6, 5, 1). Theorem 7.39 Algorithm M-C finds an optimal schedule for Problem Mr |b|C in O(nb log b) time. Proof Algorithm M-C schedules idle time whenever ψ(t) − ut < b. Hence, from Lemmas 7.15 through 7.18, the profile of the resulting schedule is packed, and therefore Algorithm M-C finds a feasible solution if one exists. Finally, it follows from Lemmas 7.19 and 7.20 that the schedule found by Algorithm M-C has minimum cost.
7.5 Resequencing in a Supply Chain
411
We consider the time complexity of Algorithm M-C. From the definitions of qt and Qt and from Lemma 7.17, it follows that Step 2 requires O(T ) time. Step 3 requires O(T ) repetitions of the choice of next job to schedule. The jobs in the buffer are stored in a list ordered by the MrI schedule. Each arriving job is inserted in this list, using binary search, in O(log b) time. The next (i.e., leftmost) job is taken from the front of the list. Step 3 requires O(T ) insertions in the list, each requiring O(log b) time. Therefore, the overall time complexity of Algorithm M-C is O(T log b), which from Lemma 7.14 equals O(nb log b).
7.5.2.2
Interchange and Storage Costs
Consider the problem of the rth manufacturer where the objective function also includes storage costs, Mr |b|C + W . Recall that the cost of holding one job in the buffer for one time slot is w. We describe two dynamic programming algorithms for problem Mr |b|C + W . The first, M-CW1, has running time that is polynomial in n, but exponential in the buffer capacity, b. The second, M-CW2, has running time that is polynomial in both n and b. However, neither algorithm is more efficient than the other for all problem instances. For both algorithms, the following preliminary result simplifies the choice of which job to schedule next. The proof is similar to the “only if” part of Lemma 7.20 and is omitted. Lemma 7.21 There exists an optimal schedule Mr∗ for problem Mr |b|C + W , in which whenever a job is scheduled in time slot t + 1, it is the leftmost job in MrI among those in β(t) ∪ S(t). In the description of Algorithm M-CW1 that follows, given a set B of jobs, we let v denote the leftmost job in the manufacturer’s ideal schedule MrI among the jobs in B ∪ S(t). We also let F (t, j ) denote the number of jobs that are released by the supplier at or after time slot t and which precede job j in MrI . Algorithm M-CW1 Preprocessing F (t, j ) = |{i : i ∈ ∪Th=t S(h), i ≺M j }|, for t = 1, . . . , T , j = 1, . . . , n. Value Function ft (B) = the minimum total (interchange plus storage) cost to solve the problem over the time slots from t + 1 through T , if β(t) = B. Boundary Conditions fT (∅) = 0. ft+1 (B ∪ S(t) \ {j }) = +∞, if B ∪ S(t) = ∅, for t = 0, . . . , T , j = 1, . . . , n. ft (B) = +∞ if |B| > b, for t = 0, . . . , T + 1. Optimal Solution Value f0 (∅).
412
7 Optimization and Conflict
Recurrence Relation & w|B ∪ S(t)| + ft+1 (B ∪ S(t)) ft (B) = min w(|B ∪ S(t)| − 1) + F (t + 1, v) + ft+1 (B ∪ S(t) \ {v}). The main result for Algorithm M-CW1 now follows. Theorem 7.40 Algorithm M-CW1 finds an optimal schedule for problem Mr |b|C + W in O(nb+2 b) time. Proof The first alternative in the recurrence relation computes the cost of scheduling one unit of idle time and thus incurring the storage cost of delaying the |B ∪S(t)| jobs in the buffer by one time unit. The second alternative computes the interchange cost of processing job v in Mr before any jobs which precede v in MrI . Since, by definition, at time t + 1 job v is the leftmost job in MrI among those in B ∪ S(t), no job in B ∪ S(t) causes an interchange cost when v is scheduled. Hence, the interchange cost created when processing v at time t equals the number of jobs that are not available before time t + 1 and that precede v in MrI , i.e., F (t + 1, v). In the second alternative, exactly the jobs in B ∪ S(t) \ {v} remain in the buffer at time t +1. Consequently, Algorithm M-CW1 compares the cost of all nondominated state transitions and thus finds an optimal schedule. We now consider the time complexity of Algorithm M-CW1. Observe that, for any given j , each job i appears in only one set S(h), thus requiring O(max{n, T }) time in the preprocessing step. Therefore, the overall time requirement for preprocessing is O(nT ). Also, the recurrence relation is computed for ft (B), where 0 ≤ t ≤ T , and for all possible subsets B where |B| ≤ b. This requires a total of O(nb T ) applications of the recurrence relation. Since B ∪ S(t) can be computed in O(n) time, the overall time complexity of Algorithm M-CW1 is O(nb+1 T ), which from Lemma 7.14 equals O(nb+2 b) time. Below, we present a second algorithm, M-CW2, for problem Mr |b|C + W . In order to describe Algorithm M-CW2, we need some additional notation. Let J (i, j, k) be the set of jobs that are processed by the supplier in the time slots from i through j and that precede job k in MrI , i.e., J (i, j, k) = {q|q ≺M k, i ≤ σ I (q) ≤ j }. We let J (i, j, k, l) denote the set J (i, j, k) with the addition of l ≥ 0 idle time slots. Also, we let |J (i, j, k)| denote the number of jobs in J (i, j, k), and we note that |J (i, j, k, l)| = |J (i, j, k)| + l. Before describing the algorithm, several definitions and preliminary results are needed. Lemma 7.22 If i S j and i ≺M j , then in every optimal schedule Mr∗ , i precedes j . Proof Since i S j , whenever j is available for processing in Mr∗ , either i has already been processed or it is also available. In the first case, the proof is complete. In the second case, it follows immediately from Lemma 7.21 that, without loss of generality, job i can be scheduled before job j in Mr∗ .
7.5 Resequencing in a Supply Chain
413
Definition 7.5 Given a feasible manufacturer’s schedule Mr , a set J (i, j, k, l) is compact in Mr if all the elements of J (i, j, k, l) (including the idle time slots) are sequenced consecutively in Mr , i.e., they are scheduled in time slots i + 1, . . . , i + |J (i, j, k, l)|. That is, if J (i, j, k, l) is compact, then no job or idle time slot that is not in J (i, j, k, l) can be scheduled in the time interval [i + 1, i + |J (i, j, k, l)|]. Definition 7.6 A set J (i, j, k, l) is compact-feasible if there exists a feasible schedule Mr such that J (i, j, k, l) is compact in Mr . For a set to be compactfeasible, l can only assume certain values. There must be a sufficient number of idle time slots in Mr to account for the time slots in which no job from J (i, j, k) can be scheduled. More precisely, if J (i, j, k, l) is compact in Mr , in the t − i + 1 time slots from i + 1 through t + 1 (where i ≤ t ≤ j ), only jobs in J (i, t, k) can be scheduled, and the other time slots must be idle. Using Definitions 7.5 and 7.6, a lower bound on l is given by lmin (i, j, k) = max{0, max {t − i + 1 − |J (i, t, k)|}}. t=i,...,j
(7.91)
Let h be the rightmost job of J (i, j, k) in MrI , and let P (i, j, k) = {t|σ I (h) ≤ t ≤ j, S I (t) ∩ (J (i, j, k) \ {h}) = ∅}. Note that P (i, j, k) contains all the time slots, from σ I (h) through j , in which no job in J (i, j, k) \ {h} is processed by the supplier. In particular, P (i, j, k) contains time slot σ I (h) if and only if no other job in J (i, j, k), other than h, becomes available from the supplier in time slot σ I (h). Moreover, from the definition of lmin (i, j, k) in Eq. (7.91), it follows that lmin (i, j, k) = 0 if j < i and, for all j ≥ i, lmin (i, j, k) = max{lmin (i, j − 1, k), j − i + 1 − |J (i, j, k)|}.
(7.92)
The following lemma identifies the time slots that are candidates to process job h. Lemma 7.23 Given an optimal schedule Mr∗ and a set J (i, j, k, l), let h be the last job of J (i, j, k, l) in MrI . Then, (i). All jobs u ∈ J (i, j, k) \ {h} such that σ I (u) ≤ σ I (h) precede h in Mr∗ . (ii). Either h is scheduled in time slot p + 1, for some p ∈ P (i, j, k), or h is the last job from J (i, j, k) in Mr∗ . Proof We consider each part in turn. (i) The result follows immediately from Lemma 7.22. (ii) Suppose that h is not the job scheduled last among those of J (i, j, k) in Mr∗ , and further suppose for contradiction that h is scheduled in time slot q + 1 in Mr∗ , where q ∈ P (i, j, k). Then, by definition of h and P (i, j, k), S I (q)∪β(q) contains a job v ∈ J (i, j, k) such that v ≺M h. Since jobs v and h are both
414
7 Optimization and Conflict
available for processing by the manufacturer at time q + 1, processing job h violates Lemma 7.21, a contradiction. The following two preliminary results consider the two cases in part (ii) of Lemma 7.23, respectively. Each result describes a decomposition of the schedule of the jobs and idle time slots of J (i, j, k, l), thereby specifying which jobs precede and which jobs follow job h. Lemma 7.24 Given an optimal schedule Mr∗ and a set J (i, j, k, l) that is compact in Mr∗ , let h be the last job in the MrI schedule in that set. If h is scheduled in a time slot p + 1, where p ∈ P (i, j, k), then, letting l = lmin (i, p − 1, h): (i) The jobs and the idle time slots of set J (i, j, k, l) that precede h in Mr∗ are A(p) = J (i, p − 1, h, l ), where l ≤ l. (ii) The jobs and the idle time slots of set J (i, j, k, l) that follow h in Mr∗ are B(p) = J (p + 1, j, h, l − l ), where l − l ≥ lmin (p + 1, j, h). (iii) Sets A(p) and B(p) are compact in Mr∗ . Proof We consider each part in turn. (i) It follows from Lemma 7.21 that any job q ∈ J (i, p − 1, h, l ) precedes h in Mr∗ . Since J (i, j, k, l) is compact in Mr∗ , from time slot i + 1 through time slot p exactly p − i jobs and idle time slots are scheduled in Mr∗ . Since Mr∗ is feasible, l ≤ l. (ii) After h in Mr∗ , the remaining jobs from J (i, j, k, l) must be scheduled with l − l idle time slots, thus yielding the set B(p) = J (p + 1, j, h, l − l ). Since Mr∗ is feasible, l − l ≥ lmin (p + 1, j, h). (iii) Note that A(p) ∪ B(p) ∪ {h} = J (i, j, k, l). Then, the compactness of A(p) and B(p) follows from that of J (i, j, k, l). From Lemma 7.24, the schedule of J (i, j, k, l) consists of the jobs and idle time slots of A(p), followed by job h, followed by the jobs and idle time slots of B(p). In the following discussion, we refer to the case considered in Lemma 7.24 as hintermediate. Lemma 7.25 Given an optimal schedule Mr∗ and a set J (i, j, k, l) that is compact in Mr∗ , let h be the last job in the MrI schedule in that set. If h is the last job from J (i, j, k, l) in Mr∗ , then the jobs and idle time slots of set J (i, j, k, l) that precede h in Mr∗ are the set J (i, j, h, l ), for some lmin (i, j, h) ≤ l ≤ l, where J (i, j, h, l ) is compact in Mr∗ . Proof From the lemma conditions, the set of jobs of J (i, j, k) preceding h in Mr∗ is J (i, j, k) \ {h} = J (i, j, h). Since J (i, j, k, l) is compact in Mr∗ , there is a minimum number of idle time slots lmin (i, j, h) that must precede h in Mr∗ . The remaining l − lmin (i, j, h) idle time slots can be scheduled either before h, thus contributing to l , or after h. Finally, the compactness of J (i, j, h, l ) follows from that of J (i, j, k, l).
7.5 Resequencing in a Supply Chain
415
Remark 7.13 From Lemma 7.25, the schedule of J (i, j, k, l) consists of the jobs of J (i, j, k) \ {h} and l idle time slots, followed by job h, followed by l − l idle time slots. In the following discussion, we refer to the case considered in Lemma 7.25 as h-last. Note that, if lmin (i, j, h) > l, then h cannot be scheduled last among jobs in J (i, j, k) in Mr∗ . Moreover in that case, from the definition of lmin (i, j, h), J (i, j, h, l) is not compact-feasible. Lemmas 7.23, 7.24, and 7.25 identify all the possible candidate time slots for processing job h in Mr∗ and suggest a dynamic programming algorithm to solve problem Mr |b|C + W . In order to construct such an algorithm, we need to identify the contribution of J (i, j, k, l) to the objective function in the cases considered in Lemmas 7.24 and 7.25. Let V (J (i, j, k, l)) be the minimum total interchange plus storage cost to schedule the set J (i, j, k, l). If we add a dummy job 0 at the end of the MrI schedule, then J (1, T , 0) is the entire set of jobs to be scheduled. Then, lmin (1, T , 0) is the minimum number of idle time slots that must be inserted in any feasible schedule Mr of the rth manufacturer. Adding more than b idle time slots to lmin (1, T , 0), within the interval [1, z], would necessarily result in buffer overflow. Therefore, the value of the optimal solution can be computed as V (J (1, T , 0, b + lmin (1, T , 0))). We now describe our dynamic programming algorithm for problem Mr |b|C +W . By convention, the value obtained by minimization over an empty set is +∞. Algorithm M-CW2 Preprocessing lmin (i, j, k) = max{0, maxt=i,...,j {t −i+1−|J (i, t, k)|}}, for i, k = 1, . . . , n, j > i. P (i, j, k) = {t|σ I (h) ≤ t ≤ j, S I (t) ∩ (J (i, j, k) \ {h}) = ∅}, for i, k = 1, . . . , n, j > i. Value Function V (J (i, j, k, l)) = minimum total interchange plus storage cost to schedule the set J (i, j, k, l). Boundary Condition V (J (i, j, k, l)) = 0 if |J (i, j, k)| ≤ 1, l ≥ 0. Optimal Cost V (J (1, T , 0, b + lmin (1, T , 0))). Recurrence Relation ⎧ ⎫ ⎧ I ⎪ ⎪ ⎪ ⎨ V (A(p)) + V (B(p)) + w(p − σ (h)) ⎬ ⎪ ⎪ ⎪ ⎨ minp∈P (i,j,k) +|{f, g|f ∈ A(p), g ∈ B(p), g ≺M f }| , ⎪ ⎪ V (J (i, j, k, l)) = min ⎩ ⎭ ⎪ +|J (p + 1, j, h)| ⎪ ⎪ ⎪ ⎩ min I lmin (i,j,h)≤l ≤l V (J (i, j, h, l )) + w(i + |J (i, j, h, l )| − σ (h)) ,
where
A(p) = J (i, p − 1, h, lmin (i, p − 1, h)), B(p) = J (p + 1, j, h, l − lmin (i, p − 1, h)), and h is the last job of J (i, j, k, l) in MrI .
416
7 Optimization and Conflict
We provide an explanation of Algorithm M-CW2, followed by a numerical example. The two alternatives in the recurrence relation represent the h-intermediate and h-last cases, respectively. Consider first the h-intermediate case. From Lemma 7.24, if h is scheduled in time slot p + 1, then the schedule decomposes into three parts, namely A(p), h, and B(p). Besides V (A(p)) and V (B(p)), we need to account for the contributions of h to the storage and interchange costs, plus the interchange costs between A(p) and B(p). Since job h is first available for processing by the manufacturer in time slot σ I (h) + 1 and is scheduled in time slot p + 1, the storage cost of job h is w(p − σ I (h)). By definition of h, there are no interchanges between h and any job in A(p), whereas there is one interchange between h and every job in B(p). This provides |J (p + 1, j, h)| interchanges. Finally, there is one interchange for each pair (f, g) such that f ∈ A(p), g ∈ B(p), and g ≺M f . Consider now the h-last case. From Lemma 7.25, and since f ≺M h for all f ∈ J (i, j, h), we need only add to V (J (i, j, h, l )) the contribution of job h to the storage costs. All jobs and idle time slots in J (i, j, h, l ) are scheduled before h, starting from time slot i + 1. Hence, job h is scheduled in time slot i + 1 + |J (i, j, h, l )|, and its contribution to storage costs is w(i + |J (i, j, h, l )| − σ I (h)). Regarding the boundary condition, when J (i, j, k) is either empty or a singleton, there are no interchanges within that set. Moreover, if |J (i, j, k)| = 1, then there is no reason not to schedule the single job h immediately, i.e., in time slot σ I (h) + 1. We note that this is always possible, due to the fact that J (i, j, k, l) is compact. We now provide an example of Algorithm M-CW2. Example 7.6 (Application of Algorithm M-CW2) Consider the following instance of problem Mr |b|C + W . There are n = 5 jobs. The ideal supplier’s schedule releases exactly one job in each time slot, i.e., S I = 1, 2, 3, 4, 5, 0. From (7.91), lmin (1, 5, 0) = 0. There is a buffer of capacity b = 1. The manufacturer’s ideal schedule is MrI = 2, 3, 5, 1, 4, 0. Finally, the storage cost is w = 1/3. Let ∗ denote an idle time slot. Our objective is to compute V (J (1, n, 0, b + lmin (1, 5, 0))) = V (J (1, 5, 0, 1)). V (J (1, 5, 0, 1)) The set J (1, 5, 0, 1) includes all the jobs, so the rightmost element in MrI within the set is h = 4. We first consider the h-intermediate case. Let us consider P (i, j, k) = P (1, 5, 0). Since σ I (h) = σ I (4) = {4}, we have J (i, j, k)\{h} = J (1, 5, 0)\{4} = {1, 2, 3, 5} and P (1, 5, 0) = {t|4 ≤ t ≤ 5, S I (t) ∩ (J (1, 5, 0) \ {4}) = ∅}. The only value of t for which S I (t) ∩ (J (i, j, k) \ {h}) = ∅ is thus t = 4. Therefore, we evaluate the recurrence relation for p = 4 only. To consider the h-intermediate case, we need to compute lmin . For t = 1, J (1, 1, 4) includes the jobs released from 1 to 1 which precede 4 in MrI , i.e., job 1 only. Thus, |J (1, 1, 4)| = 1 and t − i + 1 − |J (i, t, k)| = 1 − 1 + 1 − 1 = 0. For t = 2, J (1, 2, 4) = {1, 2} and hence t −i +1−|J (i, t, k)| = 2−1+1−2 = 0. Similarly, for t = 3, J (1, 3, 4) = {1, 2, 3}, so t − i + 1 − |J (i, t, k)| = 3 − 1 + 1 − 3 = 0, and therefore lmin (1, 3, 4) = 0. Thus, we have A(p) = A(4) = J (i, p − 1, h, lmin (i, p − 1, h)) = J (1, 3, 4, 0) = {1, 2, 3} and B(p) = B(4) = J (p + 1, j, h, l − lmin (i, p − 1, h)) = J (5, 5, 4, 1) = {5, ∗}.
7.5 Resequencing in a Supply Chain
417
We now consider the h-last case. We first compute lmin (1, 5, 4). Besides the previously considered sets J (1, 1, 4), J (1, 2, 4), and J (1, 3, 4), we must consider J (1, 4, 4) = {1, 2, 3} and J (1, 5, 4) = {1, 2, 3, 5}. For t = 4, we have t − i + 1 − |J (i, t, k)| = 4 − 1 + 1 − 3 = 1, and for t = 5, we have t − i + 1 − |J (i, t, k)| = 5 − 1 + 1 − 4 = 1. Therefore, lmin (1, 5, 4) = 1. Since l = 1, we have l = 1. In this case, |J (i, j, h, l )| = |J (1, 5, 4, 1)| = 5 and σ I (h) = 4, and hence the second term in the recurrence relation is V (J (1, 5, 4, 1)) + (1 + 5 − 4)w. Thus, & V (J (1, 5, 0, 1)) = min
V (J (1, 3, 4, 0)) + V (J (5, 5, 4, 1)) + w(4 − 4) + 1 + 1 V (J (1, 5, 4, 1)) + 2w.
In computing V (J (1, 3, 4, 0)), since l = 0, we are forced to schedule the jobs in J (1, 3, 4) = {1, 2, 3} in the same order as in S I , which results in two interchanges with respect to MrI and no storage costs. Hence, V (J (1, 3, 4, 0)) = 2. From the boundary condition, V (J (5, 5, 4, 1)) = 0. Therefore, it only remains to compute V (J (1, 5, 4, 1)). V (J (1, 5, 4, 1)) As above, we compute h = 1. For the h-intermediate case, we obtain P (1, 5, 4) = {1, 4}. Therefore, we evaluate the recurrence relation for p = 1 and p = 4. p = 1: lmin (1, 0, 1) = 0. A(1) = J (1, 0, 1, 0) = ∅. B(1) = J (2, 5, 1, 1) = {2, 3, 5, ∗}. p = 4: lmin (1, 3, 1) = 1. A(4) = J (1, 3, 1, 1) = {2, 3, ∗}. B(4) = J (5, 5, 1, 0) = {5}. We now consider the h-last case. Since lmin (1, 5, 1) = 2 > 1 = l, there are no feasible values for l , i.e., job 1 cannot be scheduled last in J (1, 5, 4, 1). Thus,
⎧ ⎪ ⎨ min V (J (1, 0, 1, 0)) + V (J (2, 5, 1, 1)) + w(1 − 1) + 0 + 3 V (J (1, 5, 4, 1)) = min V (J (1, 3, 1, 1)) + V (J (5, 5, 1, 0)) + w(4 − 1) + 0 + 1 ⎪ ⎩ +∞.
Observe that V (J (1, 0, 1, 0)) = 0 and V (J (5, 5, 1, 0)) = 0 from the boundary condition. Therefore, to evaluate V (J (1, 5, 4, 1)), we need to only compute V (J (2, 5, 1, 1)) and V (J (1, 3, 1, 1)). V (J (2, 5, 1, 1)) As above, we compute h = 5 and P (2, 5, 1) = {5}. Therefore, we evaluate the recurrence relation for p = 5 only. p = 5: lmin (2, 4, 5) = 1. A(5) = J (2, 4, 5, 1) = {2, 3, ∗}. B(5) = J (6, 5, 5, 0) = ∅.
418
7 Optimization and Conflict
Since lmin (2, 5, 5) = 2 > 1 = l, there are no feasible values for l in the h-last case. Thus, & V (J (2, 5, 1, 1)) = min
V (J (2, 4, 5, 1)) + V (J (6, 5, 5, 0)) + w(5 − 5) + 0 + 0 +∞.
Observe that V (J (6, 5, 5, 0)) = 0 from the boundary condition. Therefore, to evaluate V (J (2, 5, 1, 1)), we need to only compute V (J (2, 4, 5, 1)). V (J (1, 3, 1, 1)) As above, we compute h = 3 and P (1, 3, 1) = {3}. Therefore, we evaluate the recurrence relation for p = 3 only. p = 3: lmin (1, 2, 3) = 1. A(3) = J (1, 2, 3, 1) = {2, ∗}. B(3) = J (4, 3, 3, 0) = ∅. Since lmin (1, 3, 3) = 2 > 1 = l, there are no feasible values for l in the h-last case. Thus, & V (J (1, 3, 1, 1)) = min
V (J (1, 2, 3, 1)) + V (J (4, 3, 3, 0)) + w(3 − 3) + 0 + 0 +∞.
Observe that V (J (1, 2, 3, 1)) = 0 and V (J (4, 3, 3, 0)) = 0 from the boundary condition. V (J (2, 4, 5, 1)) In this case, h = 3 and P (2, 4, 5) = {3, 4}. We evaluate the recurrence relation for p = 3 and p = 4. p = 3: lmin (2, 2, 3) = 0. A(3) = J (2, 2, 3, 0) = {2}. B(3) = J (4, 4, 3, 1) = {∗}. p = 4: lmin (2, 3, 3) = 1. A(4) = J (2, 3, 3, 1) = {2, ∗}. B(4) = J (5, 4, 3, 0) = ∅. Since lmin (2, 4, 3) = 2 > 1 = l, there are no feasible values for l in the h-last case. Thus,
⎧ ⎪ ⎨ min V (J (2, 2, 3, 0)) + V (J (4, 4, 3, 1)) + w(3 − 3) + 0 + 0 V (J (2, 4, 5, 1)) = min V (J (2, 3, 3, 1)) + V (J (5, 4, 3, 0)) + w(4 − 3) + 0 + 0 ⎪ ⎩ +∞.
Observe that V (J (2, 3, 3, 0)), V (J (4, 4, 3, 1)), V (J (2, 3, 3, 1)), and V (J (5, 4, 3, 0)) are all equal to 0 from the boundary condition.
7.5 Resequencing in a Supply Chain
419
Optimal Schedule Construction First, we evaluate all the above value functions. min{0 + 0 + w(0) + 0 + 0, 0 + 0 + w(1) + 0 + 0, +∞} = 0 for p = 3 min{0 + 0 + w(0) + 0 + 0, +∞} = 0 for p = 3 min{0 + 0 + w(0) + 0 + 0, +∞} = 0 for p = 5 min{0 + 0 + w(0) + 0 + 3, 0 + 0 + w(3) + 0 + 1, +∞} = 2 for p = 4, since w = 1/3 V (J (1, 5, 0, 1)) = min{2 + 0 + w(0) + 1 + 1, 2 + w(2)} = 8/3 for l = 1.
V (J (2, 4, 5, 1)) V (J (1, 3, 1, 1)) V (J (2, 5, 1, 1)) V (J (1, 5, 4, 1))
= = = =
We now backtrack to find the optimal schedule. In the summary table of the backtracking process which follows, {. . .} is used to denote an unordered subset of the jobs and idle times. V (J (i, j, k, l)) V (J (1, 5, 0, 1)) V (J (1, 5, 4, 1)) V (J (1, 3, 1, 1)) V (J (1, 2, 3, 1))
h 4 1 3 2
p l 1 4 3 2
Schedule {1,2,3,5,*}4 {2,3,*}1 5 4 {2,*}3 1 5 4 {*}2 3 1 5 4
The optimal schedule is * 2 3 1 5 4. The buffer contains job 1 for three time slots and job 4 for two time slots, yielding a buffer cost of 5/3. There is one interchange between Mr∗ and MrI , for jobs 1 and 5. Therefore, the total cost is V (J (1, 5, 0, 1)) = 8/3. The main result for Algorithm M-CW2 now follows. Theorem 7.41 Algorithm M-CW2 finds an optimal schedule for problem Mr |b|C + W in O(n5 b4 ) time. Proof First, we prove the optimality of Algorithm M-CW2. Since any optimal schedule contains only jobs and idle times, the set J (1, T , 0, b + lmin (1, T , 0)) is compact. Lemma 7.23 shows that, for a compact set of jobs and idle times, there exists an optimal schedule Mr∗ where the job that is last in MrI is scheduled in one of the two alternative ways. Lemma 7.24 (respectively, Lemma 7.25) provides a decomposition of the schedule in the first (respectively, second) case. Algorithm MCW2 compares the costs of all possible decompositions in both cases. Since, from Lemmas 7.24 and 7.25, each subset resulting from the decomposition of a compact set is also compact, this procedure can be applied recursively. It then follows that Algorithm M-CW2 finds an optimal schedule for problem Mr |b|C + W . We consider the time complexity of Algorithm M-CW2. First, consider the sets J (i, j, k). For each pair i, j , we can identify all jobs preceding k in M I which are released by the supplier between time slots i and j , in O(n) time. It follows that, since i, j , and k may assume T , T , and n different values, respectively, all
420
7 Optimization and Conflict
sets J (i, j, k) can be generated in O(T 2 n) time. From Eq. (7.92), each value of lmin (i, j, h) can be computed in constant time. Each set P (i, j, k) can be computed in O(T ) time by checking whether each job released by the supplier from i to j belongs to J (i, j, k) or not. Hence, the entire preprocessing step requires O(T 3 n) time. The recurrence relation requires the computation of O(T 2 nb) values of V (J (i, j, k, l)). For each p ∈ P (i, j, k), the total number of interchanges between A(p) and B(p) can be computed in O(n) time, as follows. We scan M I from left to right, labeling each job g ∈ B(p) with the number of jobs from A(p) following g (i.e., still to be encountered). Adding up all the labels gives the total number of interchanges for that value of p. For the computation of V (J (i, j, k, l)), p and l may assume O(T ) and O(b) values, respectively, where O(b) < O(T ) from Lemma 7.14. Thus, each value of V (J (i, j, k, l)) requires O(nT ) computation time. Therefore, the overall time complexity of the recurrence step is O(T 3 n2 b), which dominates that of the preprocessing step. Recalling from Lemma 7.14 that T = O(nb), the result follows. Since Algorithm M-CW1 has time complexity O(nb+2 b) and Algorithm M-CW2 has time complexity O(n5 b4 ), neither algorithm is more efficient than the other in general.
7.5.3 Supplier’s Problems We consider problems where the decision maker is the supplier. We assume that the jobs must be delivered by the supplier according to the G ideal manufacturers’ schedules. The supplier needs to find a schedule that enables it to achieve this at minimum cost. Remark 7.14 The supplier’s problem and the manufacturer’s problem are not symmetric, due to the different processing capacities of the supplier and of each manufacturer. A symmetric scenario would involve G suppliers and one manufacturer who can process G jobs during a time slot, similar to the assembly system discussed in Sect. 7.3. Here, it would be possible to derive results that are symmetric to those illustrated in this section. However, the case of one supplier and G manufacturers is common in practice, since for a given item, a specialized supplier serves multiple manufacturers. This case is therefore considered here. Recall from Sect. 7.5.1 that MrI and S I denote the ideal rth manufacturer’s schedule and the ideal supplier’s schedule, respectively, and M I (t) denotes the set of jobs requested by all manufacturers in time slot t. Let dt = |M I (t)|, and, given a supplier’s schedule S, let It and xt denote the number of jobs in the buffer and the number of jobs produced by the supplier during time slot t, respectively. The vector X = [x1 , . . . , xT ] is referred to as the profile of a supplier’s schedule. The following inventory balance equations hold in any feasible schedule: It + xt = dt+1 + It+1 ,
for t = 1, . . . , T − 1.
(7.93)
7.5 Resequencing in a Supply Chain
7.5.3.1
421
Interchange Costs
We first consider problem S|b|C, where there are no storage costs, and thus the objective is the minimization of interchange costs relative to S I . The demand pattern of each manufacturer requires the production of at most one unit at every time slot. By assumption, the supplier can supply up to G jobs in each time slot. Jobs that have been produced by the supplier, but not yet delivered to the manufacturers, enter the buffer of capacity b. We propose an algorithm based on the following two preliminary results. The first result is the supplier’s counterpart of Lemma 7.20. Definition 7.7 In a supplier’s problem, given a set of jobs J , we say that A ⊆ J is the rightmost (respectively, leftmost) job set in S I if no job in J \ A strictly follows (resp., precedes) a job of A in the supplier’s ideal schedule S I . Lemma 7.26 In problem S|b|C, given a profile, a schedule S˜ has the minimum number of interchanges among all the schedules having that profile, if and only if, whenever a set of jobs is scheduled in time slot t − 1, those jobs are the rightmost jobs in S I among the jobs in β(t) ∪ M(t). We refer the reader to Agnetis et al. (2006) for a proof. We assume that the first request for a job by the manufacturers occurs in time slot 2. Also, we allow I1 > 0, which is equivalent to assuming that the supplier can start producing before time slot 1. Definition 7.8 We define a supplier’s profile to be packed if there exists a time slot t¯ such that: (i) It = b, for all t = 1, . . . , t¯ − 1. (ii) It¯ < b. (iii) xt = 0, for all t = t¯, . . . , T . We observe that, if t¯ exists, then (i)–(iii) uniquely define it. The following result is the supplier’s counterpart of Lemma 7.19. Lemma 7.27 There exists an optimal schedule for problem S|b|C that has a packed profile. Proof Let S ∗ be any optimal schedule, and let τ¯ be such that, for all 1 ≤ t ≤ τ¯ − 1, It = b, and Iτ¯ < b. Since it follows that Iτ¯ + dτ¯ < G + b, Eq. (7.93) implies xτ¯ −1 < G. If xt = 0 from time τ¯ on, then the proof is complete. Else, let tˆ ≥ τ¯ be the first time slot in S ∗ after τ¯ in which some job is produced by the supplier. Since no job is produced from τ¯ through tˆ − 1, the buffer is never full in that time interval. Let j be the leftmost in S I among the jobs produced in tˆ. Consider the schedule Sˆ obtained from S ∗ by scheduling job j earlier, in time slot τ¯ − 1. Since, in S ∗ , xτ¯ −1 < G, and the buffer is not full from τ¯ through tˆ − 1, Sˆ is also feasible. Since j is the leftmost in S I among the jobs produced in tˆ, the number of interchanges in Sˆ is not greater than in S ∗ , and thus Sˆ is also optimal. Repeating the above argument,
422
7 Optimization and Conflict
we can move other jobs earlier until we obtain an optimal schedule that has a packed profile. Lemmas 7.26 and 7.27 suggest an algorithm for finding an optimal schedule. The algorithm constructs the supplier’s schedule in reverse order. In each time slot, Lemma 7.27 determines how many jobs must be produced by the supplier in the current time slot, while Lemma 7.26 indicates which jobs those are. Algorithm S-C 1. Given S I , MrI for all r = 1, . . . , G, and b. Set β(T ) = ∅, IT +1 = 0, and dT +1 = 0. 2. For t = T , . . . , 1, do: • Compute xt = max 0, It+1 + dt+1 − b . • Schedule in time slot t the set S(t) formed by the xt rightmost jobs in S I from the set β(t + 1) ∪ M I (t + 1). • Set β(t) = (β(t + 1) ∪ M I (t + 1)) \ S(t), and It = |β(t)|. 3. Schedule the job set β(1) before time slot 1, and terminate. Theorem 7.42 Algorithm S-C finds an optimal schedule for Problem S|b|C in O(nb log(G + b)) time. Proof Lemma 7.27 guarantees that schedule which has there exists an optimal a packed profile. Scheduling max 0, It+1 + dt+1 − b jobs at each time slot t guarantees that the profile of the schedule built by Algorithm S-C is packed. Since at each time slot t the scheduled jobs are selected according to Lemma 7.26, the schedule produced by Algorithm S-C has lowest cost among the schedules that have a packed profile and therefore is optimal. We consider the time complexity of Algorithm S-C. Step 2 is repeated O(T ) times. During the execution of the algorithm, each job is inserted into and deleted from an ordered list containing at most G + b elements exactly once. The time required for each such insertion or deletion is O(log(G + b)). Therefore, the overall time complexity of Algorithm S-C is O(T log(G + b)), which from Lemma 7.14 equals O(nb log(G + b)).
7.5.3.2
Interchange and Storage Costs
We now consider the more general supplier’s problem with both interchange and storage costs, S|b|C + W . We propose an algorithm, S-CW, which is the supplier’s counterpart of Algorithm M-CW1. The main difference from M-CW1 is that, in SCW, we must decide how many jobs up to G to process in each time slot. Algorithm S-CW proceeds forward in time. The set of jobs to be processed in time slot t is determined by the jobs which are in the buffer during time slot t + 1 and by schedule M I .
7.5 Resequencing in a Supply Chain
423
Let ft (B) denote the minimum cost for the problem restricted to time slots from 0 through t, given that the set of jobs in the buffer during time slot t + 1 is β(t + 1) = B. We observe that Lemma 7.26, which is proved for problem S|b|C, also holds for problem S|b|C + W . This is because the storage cost is determined only by the profile and not by which jobs are scheduled. Thus, from Lemma 7.26, if the supplier decides to produce xt jobs in time slot t, these are the xt rightmost jobs in S I from the set B ∪ M I (t + 1). We denote this set by V (xt ). We also denote by F (t, h) the number of interchanges due to the supplier processing job h in time slot t. This equals the number of jobs that have already been processed by the supplier, but which follow h in S I . Since h ∈ V (xt ), all the jobs in0 β(t) precede h in S I and therefore do not contribute to F (t, h), thus 0 0 0 F (t, h) = 0{i | i ∈ ∪tj =1 M I (j ), h ≺S i}0. There are three cost components in ft (B). The first is the storage cost due to the jobs in the buffer during time slot t + 1, i.e., w|B|. The second is the total interchange cost associated with the jobs in V (xt ), which equals h∈V (xt ) F (t, h). The last component is the optimal cost up to time slot t − 1, with β(t) including all the jobs of B ∪ M I (t + 1) which are not in V (xt ). This discussion motivates the following algorithm. Algorithm S-CW Preprocessing 0 0 0 0 F (t, h) = 0{i|i ∈ ∪tj =1 M I (j ), h ≺S i}0, for t = 1, . . . , T , h = 1, . . . , n. Value Function ft (B) = minimum cost for the problem from 0 to t, given that β(t + 1) = B. Boundary Conditions f0 (B) = w|B|, for all B ⊆ N, |B| ≤ b. ft ((B ∪ M I (t + 1)) \ V (xt )) = +∞, if xt > dt+1 + |B|. ft ((B ∪ M I (t + 1)) \ V (xt )) = +∞, if xt < dt+1 + |B| − b. Optimal Solution Value fT (∅). Recurrence Relation w|B|+ F (t, h)+ft−1 (B∪M I (t+1))\V (xt ) . ft (B) = min xt =0,...,G
h∈V (xt )
Since 0 ≤ It ≤ b and It+1 = |B|, from Eq. (7.93), xt must be at least dt+1 + |B| − b and must not exceed dt+1 + |B|. The boundary conditions enforce these requirements. Theorem 7.43 Algorithm S-CW finds an optimal schedule for problem S|b|C + W in O(nb+1 b(G + b) log(G + b)) time. Proof From Lemmas 7.26 and 7.27, Algorithm S-CW compares the cost of all nondominated feasible partial schedules and thus finds an optimal schedule. In the preprocessing step, the computation of F (t, h) can be performed in O(T n)
424
7 Optimization and Conflict
time, using a labeling procedure similar to that in the proof of Theorem 7.41. There are O(nb ) possible sets B for each time slot t, for t = 0, . . . , T − 1. For each pair (t, B), the recurrence relation requires computing a minimum over O(G) values. All sets V (xt ) can be found by ordering the set B ∪ M I (t + 1), which requires O((G + b) log(G + b)) time. Therefore, the overall time complexity of Algorithm S-CW is O(T nb (G + b) log(G + b)), which from Lemma 7.14 equals O(nb+1 b(G + b) log(G + b)).
7.5.4 Combined Problems We analyze the combined problem S, M|b|C, for the special case where G = 1. Hence, we omit the subscript on Mr . Here, the supplier and the only manufacturer have their own ideal schedules, which may process the jobs in different orders. The first objective we consider is the minimization of overall interchange costs. The analysis of this problem requires the following definition. Definition 7.9 Given two schedules S and M, we say that they are b-compatible if the manufacturer can feasibly schedule the jobs according to M after the supplier releases them according to S, when the buffer has capacity b. Also, given two schedules S and M, we say that a job k is a no-wait job if it is processed by the supplier and by the manufacturer in consecutive time slots, i.e., if μ(k) = σ (k) + 1; otherwise, it is a wait job. Our main result now follows. Theorem 7.44 Given the ideal schedules M I and S I , let M ∗ and S ∗ be optimal schedules for problems M|b|C and S|b|C, respectively. Let km (respectively, ks ) denote the minimum number of interchanges between M I and M ∗ (respectively, S I and S ∗ ). (i) There exist two schedules SiI and Mi∗ which are b-compatible, such that SiI differs from S I by i interchanges and Mi∗ differs from M I by km − i interchanges, for 1 ≤ i ≤ km . (ii) There exist two schedules MjI and Sj∗ which are b-compatible, such that MjI differs from M I by j interchanges and Sj∗ differs from S I by ks − j interchanges, for 1 ≤ j ≤ ks . (iii) Let S differ from S I by qs interchanges, and M differ from M I by qm interchanges. Then, if qs +qm < km , schedules M and S are not b-compatible. Proof If km = 0 or ks = 0, then the theorem is trivially true. We consider each part in turn. (i). We first consider i = 1. Since km > 0, there is at least one pair of consecutively processed jobs g, h in M ∗ such that h ≺M g. Note that g is released by the supplier before h. From the “only if” part of Lemma 7.20, when g is scheduled
7.5 Resequencing in a Supply Chain
425
in M ∗ , h is not available yet, and therefore since h immediately follows g in M ∗ , h is no-wait. We consider two subcases, depending on whether g is a nowait or a wait job. Assume first that g is a no-wait job. Then, g and h are consecutive in both S I and M ∗ . By interchanging jobs g and h in both S I and M ∗ , we obtain two new schedules, S1I and M1∗ , respectively, such that there are exactly one interchange between S1I and S I and exactly km − 1 interchanges between M1∗ and M I . Moreover, these two schedules are b-compatible, by construction. Alternatively, assume that job g is a wait job, and consider the job k processed by the supplier in time slot σ I (h) − 1. Observe that, since jobs g and h are consecutive in M ∗ , job k is scheduled after them in M ∗ (see Fig. 7.11). From the “only if” part of Lemma 7.20, h ≺M k and g ≺M k. Hence, by interchanging jobs g and h in M ∗ and jobs k and h in S I , we again obtain two schedules, S1I and M1∗ , respectively. The only difference in buffer usage resulting from these interchanges is that the pair of schedules S I , M ∗ has job k in the buffer during time slot σ I (h), whereas the pair S1I ,M1∗ has job g in the buffer during that time slot. Thus, S1I and M1∗ are b-compatible. Moreover, S1I differs from S I by exactly one interchange, and M1∗ differs from M I by exactly km − 1 interchanges. For i > 1, we set S I = S1I and M ∗ = M1∗ and repeat the above argument. (ii). The proof is similar to that of part (i), by symmetry. (iii). For contradiction, assume that two b-compatible schedules S and M exist, such that qs +qm < km . From part (ii), we can find two b-compatible schedules S and M requiring qs − 1 and qm + 1 interchanges, where the total number of interchanges required is still (qs − 1)+ (qm + 1) < km . By applying this argument another qs − 1 times, we can find two b-compatible schedules Sq∗s = S I and MqIs , such that MqIs differs from M I by exactly qs + qm < km
Fig. 7.11 Illustration of the Proof of Theorem 7.44 if g is a wait job
426
7 Optimization and Conflict
interchanges. This implies that the schedule found by Algorithm M-C which contained km interchanges was not optimal, a contradiction. Theorem 7.44 has an important implication for the solvability of problem S, M|b|C, as shown in the following result. Theorem 7.45 An optimal schedule for problem S, M|b|C where G = 1 can be found in O(nb log b) time. Proof It follows from Theorem 7.44 that an optimal schedule for problem M|b|C and an optimal schedule for problem S|b|C are both optimal for problem S, M|b|C where G = 1. Therefore, we can apply either Algorithm M-C which runs in O(nb log b) time (see Theorem 7.39), or Algorithm S-C which runs in O(nb log(G + b)) time in general (see Theorem 7.42) and therefore in O(nb log b) time when G = 1. The complexity status of problem S, M|b|C, where G ≥ 2, remains open. Remark 7.15 It follows from Theorem 7.44 is that, when there are no storage costs, the interchange cost incurred by the two parties can be divided between them in various ways. However, the supplier and the manufacturer cannot decrease the total interchange cost by cooperation. On the other hand, if storage costs are also considered as in problem S, M|b|C + W , cooperation between the supplier and the manufacturer can provide an improvement in total cost, as shown by the following example. Example 7.7 (Benefit of Cooperation with Storage Costs Considered) Consider the following instance of problem S, M|b|C + W : b = 2; S I = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; M I = 4, 5, 2, 1, 3, 9, 10, 6, 8, 7; w = 0.1. Let “∗” denote an idle time period. The optimal solution, M ∗ , to problem M|2|C + W (which can be found by Algorithm M-CW1 or Algorithm M-CW2) is the following, with the total cost of C + W = 4 + 19(0.1) = 5.9. S I 1 2 3 4 5 6 7 8 9 10 M ∗ ∗ 2 ∗ 4 5 1 3 6 9 10 8 7 M I 4 5 2 1 3 9 10 6 8 7 The optimal solution, S ∗ , to problem S|2|C + W can be found by Algorithm S-CW. Note that, for the manufacturer to process job 4 in time slot 2, the supplier must process jobs 1 and 2 before time slot 1. The algorithm yields the following solution, also with the total cost of C + W = 4 + 19(0.1) = 5.9. SI 1 2 3 4 5 6 7 8 9 10 S ∗ 1 2 4 5 3 6 7 9 10 ∗ 8 ∗ 4 5 2 1 3 9 10 6 8 7 MI
7.6 Future Research
427
However, the following solution for the combined problem S, M|2|C + W has a smaller total cost of C + W = 4 + 16(0.1) = 5.6: SI 123 S∗ 1 2 4 5 ∗ 45 M∗ I 45 M
456 ∗36 213 213
7 8 7 8 6 ∗ 9 10
9 10 9 10 ∗ 9 10 8 7 6 8 7
Example 7.7 shows that cooperation can provide a reduction in the total system cost when that cost includes storage. Finally, we note that the complexity class of problem S, M|b|C + W remains open. The work discussed in this section demonstrates the importance of supply chain scheduling in practical situations where setup costs between products are significant and preferred production sequences vary between production stages. The significant benefits of coordination which are demonstrated here are sufficient to motivate companies to document these costs and schedule preferences in detail.
7.6 Future Research In this section, we describe several important directions for future research on supply chain scheduling, organized according to the four issues discussed in this chapter. For each issue, we first mention some future research suggestions from the foundational work and then provide a discussion of more recent works and their own forward-looking perspectives. • As discussed in Sect. 7.2, Hall and Potts (2003) discuss a variety of models that evaluate tradeoffs between scheduling and batching costs. They motivate the enhancement of their results by the development of dominance rules and lower bounds and also the design and analysis of heuristics. Generalizations to multistage supply chains are recommended. Their other recommendations relate to game theory models that are discussed in detail in Chaps. 8 and 9. Finally, their recommendation to quantify the potential benefits of cooperation is now greatly supported by the availability of large and current data sets in many planning situations. • Hall and Potts (2005) study the coordination of scheduling and batching in single and parallel machine environments where the objective is to minimize the total cost, which is determined by batch delivery time. They provide efficient algorithms for some problems and intractability results for others. • We refer the reader to Chaps. 3 and 4 for an extensive discussion of scheduling and batch delivery within the context of centralized decision making. • Agnetis et al. (2014a) consider a variation of the scheduling and batch delivery model of Hall and Potts (2003). A third-party logistics provider delivers semifinished products in batches from one production location to another owned
428
•
•
•
•
•
7 Optimization and Conflict
by the same manufacturer. They consider scheduling and batching problems under the two alternative assumptions that the manufacturer or the logistics provider dominates the decision making process. Algorithms and intractability results are described. Several problems remain open for future research. When the manufacturer dominates, there are several open complexity issues. When the logistics provider dominates, there is a need for heuristic design and analysis. Finally, a model with balanced negotiation power motivates the study of integrated decision making and the benefit of cooperation, along with the design of mechanisms to motivate supply chain cooperation. As discussed in Sect. 7.3, Chen and Hall (2007) study the coordination of the schedules of parts suppliers in an assembly system. They recommend extension of their work to multi-stage assembly systems. Another possible research topic is the modeling of cooperation between the suppliers. Also of importance is the development of models of the bargaining process between suppliers and a manufacturer that take into account practical issues such as imperfect or asymmetric information. Another significant issue is how, if necessary, to enforce cooperation between the parties. Finally, it is important to examine how the benefits of cooperation in supply chains may influence organizational integration, since vertical integration makes cooperation easier to establish and maintain. In related work, Sawik (2009) proposes a mixed integer programming model for a three-stage assembly system. The objective is to minimize the total inventory holding, production startup, and shipping costs. Results are presented for a comparison of an integrated approach that simultaneously determines manufacturing, supply, and assembly schedules, with a disaggregated approach. Ren et al. (2013) consider the suppliers’ problem of minimizing the weighted number of tardy jobs, which Chen and Hall (2007) show is binary NP-hard in Theorem 7.8. They strengthen this result by proving unary NP-hardness. They also prove a similar result for the suppliers’ problem of minimizing the total late work of parts. ˙ Inkaya and Akansel (2017) consider coordinated scheduling of transfer lots in an assembly-type supply chain. Lot streaming is used to enhance product flow and reduce work-in-process inventory. They develop a mathematical model to find optimal transfer lot sizes in the supply chain. Their objective is the minimization of the sum of weighted flow and inventory costs. A genetic algorithm is developed and tested. Experimental results show that the proposed GA-based approaches provide acceptable results in a reasonable amount of time and that coordination with lot streaming provides improvements in supply chain performance. As discussed in Sect. 7.4, Dawande et al. (2006) study conflict and cooperation issues arising in a supply chain where a manufacturer makes products that are shipped to customers by a distributor. They recommend the consideration of other customer-related objectives that are relevant, including minimization of the number of late jobs and the total tardiness of the jobs. A second important research topic is to extend the cooperation mechanisms described to multiplestage supply chains. Also valuable is the development of models of the bargaining
7.6 Future Research
•
•
•
•
429
process between a manufacturer and a distributor that generalize the models presented here to consider imperfect or asymmetric information. Finally, as in the work of Chen and Hall (2007), cooperation between a manufacturer and a distributor should be evaluated within a study of the benefits and costs of vertical supply chain integration. In related work, Manoj et al. (2008) study coordinated decision making in a supply chain consisting of a manufacturer, a distributor, and several retailers. Finished goods industry is managed by the distributor. An ideal schedule of either the manufacturer or the distributor, if imposed on the other party, results in a substantial cost of conflict. They show that integrated decision making can generate savings that are sufficient to compensate both parties. They present computational results for up to 30 retailers in the distributor’s problem and up to nine retailers in the combined problem. They recommend the solution of larger instances of the problem and suggest that this will require the design and application of efficient heuristic solution methods. Geismar and Murthy (2015) study a paper manufacturing plant that minimizes its production cost by using long production runs that combine the demands from its various customers. Distribution is achieved using one railcar for each customer. However, the tradeoff involved in this policy is that it requires holding completed jobs within the distribution facility, which is costly. The problem of minimizing the distribution cost, given a production schedule, is solved. A coordination mechanism is proposed and shown to reduce distribution cost by 25% on average. Also, the total system cost is reduced by a further 4% on average. A possible extension is to use a rolling horizon model. Another extension is to consider uncertainty in the arrival dates and condition of railcars. Also, the railcar distribution system can be augmented by the use of trucks. As discussed in Sect. 7.5, a critical issue in supply chain scheduling is coordinating the decisions made by decision makers at different stages, for example, a supplier and one or several manufacturers. Agnetis et al. (2006) model this issue by assuming that the supplier and each manufacturer have an ideal schedule, determined by their own costs and constraints. It would be valuable to extend their models to multiple-stage supply chains. Second, it is important to develop mechanisms by which decision makers at different stages of a supply chain can cooperate and to design incentives for this cooperation. Third, it would be valuable to extend their analysis to account for additional practical complications, such as due dates for the jobs. Finally, there is a need to develop models that allow for imperfect or asymmetric information in the negotiations between suppliers and manufacturers. In work that is related to Agnetis et al. (2006), Manoj et al. (2012) study a production system with two consecutive stages and an intermediate buffer. The first stage minimizes inventory cost measured by the sum of completion times, and the second stage minimizes the tardiness cost of late delivery plus the cost of resequencing in the buffer. This work provides intractability results and describes a heuristic solution procedure. Computational results show that the cost
430
7 Optimization and Conflict
of conflict for the second stage increases more rapidly than that for the first stage as the number of jobs increases. • The resequencing problem studied in Sect. 7.5 is mathematically similar to the one found in manufacturing settings which mass-produce highly customized products, as in the automobile industry. In this context, the sequencing problem, which decides on the succession of workpieces launched down the line, has major effects on efficiency. Boysen et al. (2012) review research on resequencing in a mixed-model assembly line context. Relevant problem settings, alternative buffer configurations, and resulting decision problems are described. While the problems described there are centralized, there is the potential to extend the results to the decentralized setting considered in this chapter. In several other manufacturing environments, besides those considered here, potentially significant cost savings motivate research into supply chain scheduling issues. For example, Ullrich and Herrmann (2013) study a supplier and a manufacturer, both of which face a machine scheduling and delivery problem. They conclude that, on average, supply chain scheduling reduces costs by up to 35%. As the substantial supply chain management literature attests, there are also several other types of decisions where cooperation can be valuable. However, the benefits there are often not as easy to identify and evaluate as they are for scheduling decisions. This observation emphasizes the central importance of supply chain scheduling in achieving improved system performance.
Chapter 8
Cooperative Supply Chain Scheduling
Abstract This chapter discusses the application of cooperative solution methods, especially cooperative game theory, to decentralized supply chain scheduling problems. We consider many scheduling situations that model diverse applications, and that have classically been analyzed from the perspective of a centralized decision maker. By viewing the jobs or resources within those situations as individual selfinterested players, cooperative supply chain scheduling games are defined over those situations. The analysis of these games applies all the main concepts of cooperative games, from the perspective of achieving and sustaining cooperation among the players. Mechanisms for achieving cooperation, and many examples of supply chain scheduling applications, are discussed.
8.1 Introduction This chapter discusses five supply chain scheduling application areas that are modeled and solved using methodology from cooperative game theory and optimization. In each case, a group of players may benefit from cooperating among themselves in order to find improved solutions to supply chain scheduling problems. The first application area is sequencing games. Consider a group of customers, or equivalently in a scheduling context a group of jobs where each is owned by a different customer, that are initially arranged in an arbitrarily ordered queue in front of a single server or machine. It may be the case that the last customer in the queue has an urgent appointment elsewhere, whereas the first customer in the queue has no pressing appointments and would not object to waiting longer. In this situation, a resequencing of the queue would potentially benefit the customers as a whole. But, if the first customer surrenders his place, he should be compensated for doing so. This raises the question of how the total benefit of the resequencing should be allocated among the customers. In order to ensure the participation of the customers, this allocation must meet the stability conditions of a cooperative game. Ideally, the compensation system should also satisfy some axiomatic properties. Finally, customers who are not part of a swapping agreement should not be © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_8
431
432
8 Cooperative Supply Chain Scheduling
adversely affected by such an agreement, which raises the issue of which revised sequences are admissible. While this summary describes the simplest sequencing game environment, several variations regarding the scheduling environment, the admissible behavior of the customers, or details about groupings of the customers, are also motivated by applications. The second application area considers scheduling games. Scheduling games are similar to sequencing games in that a set of customers with various levels of urgency and different length tasks arrive seeking service from a common server. However, a fundamental difference is that, in a scheduling game, all the customers arrive simultaneously. Thus, there is no initial arrangement of the customers. As a result, the admissibility restrictions found in sequencing games, which typically exclude jobs that are outside a given coalition in the initial sequence from participating in a resequencing arrangement, do not apply. Nonetheless, customers with higher levels of urgency may be willing to compensate others in order to obtain earlier service. Also, the value of a coalition is not measured by cost savings relative to an initial sequence; instead, it can be measured by the total scheduling cost of the coalition. Alternatively, it is possible to design an artificial initial sequence to use as a benchmark, which we demonstrate in various ways. The issues that arise in scheduling games are similar to those that arise in sequencing games. Within scheduling games, we also discuss methods for encouraging cooperation where it does not occur spontaneously, for example, by invoking a penalty on players who leave the coalition, providing a subsidy to those who remain, or some combination of these measures. The third application area considers project management games. There are two perspectives under which project management can be modeled as a cooperative game. The first perspective applies at the planning stage, when project performance has not yet been realized. Here, subcontractors who can provide resources to the project compete for the opportunity to do so, with a view to sharing rewards from the project client when the project is completed sooner due to the use of those resources. The second perspective focuses on issues that arise after the project is finished. Then, if the project is delayed, as happens frequently in practice, an issue is how the penalty cost of the delay, as typically defined in a contract with the project owner, should be shared among the players who represent the tasks of the project. Symmetrically, if the project is delivered early and thus earns a reward from the project owner, it is necessary to determine how this reward should be shared. Under both these perspectives, the stability of the coalition is of importance. This issue is addressed by studying the emptiness of the core of the game, and also the design of single-point cost or reward allocations where the entire vector of payments for the players is uniquely specified. While the three applications mentioned above focus exclusively on cooperative game solutions, the last two applications we consider demonstrate the integration of cooperative game and optimization methodologies in the solution of supply chain scheduling problems. The fourth application area studies the allocation of scarce capacity within a fixed capacity supply chain. For example, suppose a manufacturer receives orders from several distributors, but has insufficient capacity to meet all
8.1 Introduction
433
those orders. Then, the manufacturer has to make a decision about how to allocate its available capacity to the different distributors. The manufacturer can benefit by making this decision in consideration of its scheduling cost and its capacity restrictions. This allocation provides new information to the distributors, which will cause them to reprioritize their orders and resubmit them. If they choose to do so, then they may resubmit their revised orders individually. Important issues that are studied here using cooperative games include whether they can achieve a better outcome by sharing their allocated capacity as a coalition, and also the stability of such a coalition. A further issue is whether it is worthwhile for the manufacturer to cooperate with all the distributors, leading to vertical cooperation in the supply chain. Finally, the manufacturer needs to schedule the revised and resubmitted orders efficiently, for example, to minimize its cost, which can be defined in several practically relevant ways. The fifth application area considers the acquisition of outsourced capacity by several manufacturers, either individually or in a coalition. The motivation for using this option is the technical capability of a third-party supplier, which enables the manufacturer to outsource specialized components for its products in order to focus on their main operations. Many examples arise in semiconductor manufacturing, pharmaceutical research, and biotechnology. In such situations, the third-party facility announces time slots, amounts of available capacity at those times, and their prices. Then, the manufacturers have the option to reserve those time slots as needed for their manufacturing processes. While the manufacturers may make their reservation decisions individually, they may alternatively benefit from making them as a coalition, and this problem forms a cooperative game. It is important to study the stability of this coalition. A second problem that is studied within this application area involves the purchase of outsourced capacity that is used concurrently with capacity that is owned by each manufacturer, in order to achieve faster completion of work. In this case, the outsourced capacity must be purchased in competition with other manufacturers. This chapter is organized as follows. Section 8.2 provides a review of solution concepts within cooperative game theory. Section 8.3 introduces sequencing games, establishes connections with other topics within cooperative games, and then identifies approaches to establishing balancedness and to allocating the gains achieved by resequencing. Section 8.4 analyzes scheduling games and discusses issues that are similar to those for sequencing games. Section 8.5 studies the modeling of projects as cooperative games. Section 8.6 discusses the issue of capacity allocation in a fixed capacity supply chain that includes a manufacturer and several distributors. Section 8.7 considers the possibility of introducing concurrent external capacity, in the form of specialized manufacturing capability provided by a third party, into a supply chain. Section 8.8 identifies future research topics of value within the study of cooperative games for supply chain scheduling. We refer the reader to Sect. 2.3.5 for a brief introduction to, and definitions of standard concepts within, cooperative games. Figure 8.1 provides an overview of the topics within cooperative solutions to decentralized supply chain scheduling problems that are discussed in this chapter.
434
8 Cooperative Supply Chain Scheduling
Section 8.3: Sequencing Games: permutation games; unanimity games; linear costs, regular costs; rescheduling; admissibility relaxations; batching; flowshop; openshop; multi-stage games; generalized games.
Section 8.4: Scheduling Games: artificial tail game; artificial probabilistic game; no initial sequence, penalty; no initial sequence, penalty and subsidy.
Chapter 8: Cooperative Supply Chain Scheduling
Section 8.7: Outsourcing Games: common third party facility; concurrent outsourcing.
Section 8.5: Project Games: project planning games; project execution games.
Section 8.6: Capacity Allocation Games: capacity allocation by manufacturer; cooperative order placement by distributors.
Fig. 8.1 Overview of the topics covered in Chap. 8
8.2 Cooperative Game Solutions This section provides an overview of important definitions and solution concepts within the theory of cooperative games. A comprehensive introduction to cooperative game theory is provided by Peleg and Sudhölter (2007). Some key concepts of cooperative games are described in Sect. 2.3.5. We use the following simple optimization problem and associated cooperative game introduced by Dragan (2013) to illustrate these definitions and concepts. In general, the participants in a supply chain scheduling cooperative game are described as agents or players and typically represent jobs or resources. In this work, because of our focus on supply chain scheduling applications rather than theoretical development, we use the more natural term for a participant in a game, i.e., player. Consider a single machine that processes a set of jobs N = {1, . . . , n} nonpreemptively around a common due date d. Without loss of generality, we assume that the jobs have processing times p1 ≥ · · · ≥ pn > 0. While several variations of this problem are discussed in the literature, we make the simplifying assumption that d ≥ j ∈N pj . The objective of the problem is to minimize the total deviation of completion times around d. It should be immediately clear that there exists an optimal schedule without idle time between the jobs. Moreover, an optimal schedule can be fully characterized by a sequence for the jobs and a starting time for the schedule.
8.2 Cooperative Game Solutions 16
435 d = 36
28 1
3
41 4
51 2
Fig. 8.2 Optimal Schedule σ ∗ in Example 8.1
If the completion time of job j in a given schedule σ is denoted by Cj (σ ), then this objective can be written as the minimization of j ∈N |Cj (σ ) − d|, where | · | denotes absolute value. Given a schedule σ , we say that a job j is early if Cj (σ ) ≤ d and tardy if Cj (σ ) > d. This scheduling problem and its variations have been studied extensively in the operations research literature. Kanet (1981) provides an optimal algorithm that requires O(n log n) time. This algorithm takes the jobs in index order, i.e., nonincreasing processing time order, and schedules the odd numbered jobs to complete at time d (where necessary, moving previously scheduled early jobs earlier), and the even numbered jobs to start at time d (where necessary, moving previously scheduled late jobs later). Hall (1986) develops optimality conditions that establish the existence of many optimal solutions for this problem, and extends the results of Kanet (1981) to multiple parallel machines. Hall and Posner (1991) study a generalization of this problem with weighted deviations for the jobs. Hall et al. (1991) study a generalization with a restrictive common due date, i.e., d < j ∈N pj . We consider an example of this scheduling problem. Let z(σ ) denote the cost of any schedule σ in this problem. Example 8.1 (Instance of an Earliness–Tardiness Problem) Let N= {1, 2, 3, 4}, where p1 = 12, p2 = 10, p3 = 8, and p4 = 5. Also, let d = 36 > 4j =1 pj = 35. The algorithm of Kanet (1981) finds an optimal schedule σ ∗ where job 1 is scheduled from time 16 to time 28, job 2 is scheduled from 41 to 51, job 3 is scheduled from 28 to 36, and job 4 is scheduled from 36 to 41. Then, z(σ ∗ ) = (36 − 28) + (51 − 36) + (36 − 36) + (41 − 36) = 8 + 15 + 0 + 5 = 28. Figure 8.2 shows schedule σ ∗ , where the common due date d = 36 is indicated with a bold vertical line. We consider a cooperative game defined over the above scheduling problem, where the players represent jobs in the game. We use Example 8.1 to illustrate various concepts within cooperative games for supply chain scheduling applications. Let (N, v) denote a cooperative game described over the above scheduling problem, where N is the set of players and v : 2N → R defines the coalition value of any possible coalition formed from N. If all the players of N cooperate, then they form the grand coalition. All cooperative games considered in this book are transferable utility (TU) games, which means that members of a coalition can costlessly share the utility of the coalition between them, for example, through the use of a common currency. For any subset S ⊆ N, we let v(S) represent the value achieved by coalition S if it acts alone, which is a benchmark against which the
436
8 Cooperative Supply Chain Scheduling
23
d = 36
28 4
3
48 1
58 2
Fig. 8.3 Initial Schedule σ0 in Example 8.1
value that coalition S can achieve within the grand coalition can be compared. For the purposes of this example, we assume that the jobs have the initial schedule σ0 shown in Fig. 8.3, where z(σ0 ) = (48 − 36) + (58 − 36) + (36 − 36) + (36 − 28) = 12 + 22 + 0 + 8 = 42. The value of a coalition in this game represents nonnegative cost savings which it can achieve relative to schedule σ0 , without the assistance of other players. Next, we discuss the issue of admissibility, i.e., which coalitions should be allowed to reschedule their jobs, and how this should be implemented. Here, we apply two rules. First, a coalition S ⊆ N must consist of consecutive jobs in σ0 . The coalitions that meet this rule, from Figure 8.3, are as follows: v({i}), i = 1, . . . , 4; v({1, 2}), v({1, 3}), v({3, 4}; v({1, 2, 3}), v({1, 3, 4}), and v({1, 2, 3, 4}). Second, the schedule of jobs in N \ S cannot be changed by rescheduling the jobs of S. The second rule implies that the full interval in which the jobs of S are scheduled remains unchanged by the rescheduling. Based on this identification of the admissible coalitions, we provide an example of the calculation of coalition values in this game. Example 8.2 (Coalition Values in an Earliness–Tardiness Game) Using the instance from Example 8.1, the value of each coalition is the maximum cost savings which it can achieve, relative to σ0 and following the given admissibility rules. Observe that a single job cannot achieve any rescheduling by itself without changing the schedule of other jobs; hence, v({i}) = 0, i = 1, . . . , 4. The values of the other admissible coalitions are as follows: v({1, 2}) = 2, from schedule (4, 3, 2, 1); v({1, 3}) = 0, since interchanging jobs 1 and 3 increases the cost of the schedule from 42 to 46, and coalition value cannot be negative; v({3, 4}) = 3, from schedule (3, 4, 1, 2); v({1, 2, 3}) = 2, from schedule (4, 3, 2, 1); v({1, 3, 4}) = 3, from either schedule (1, 4, 3, 2) or schedule (3, 4, 1, 2); and v({1, 2, 3, 4}) = 14, from schedule (1, 3, 4, 2), as shown in Fig. 8.2. Other coalitions that are not admissible as defined above may also have value that is inherited from their subset coalitions. For example, (1, 2, 4) is not admissible, but v({1, 2, 4}) = v({1, 2}) = 2, and similarly (2, 3, 4) is not admissible, but v({2, 3, 4}) = v({3, 4}) = 3. In general, cooperative game theory studies ways in which the players can be compensated so that they participate in the game. For example, suppose the players
8.2 Cooperative Game Solutions
437
represent jobs that require resources for processing. Then, the costs that are allocated to the players for this processing, which form a cost allocation scheme, need to be sufficiently small that the players are willing to pay them. Alternatively, if the players represent resources, then they need to receive sufficiently large payments, in the form of a payment scheme, in order to accept the work. Example 8.2 is similar to the latter case, where gains, i.e., cost savings, are available for sharing among the players through a payment scheme. Before studying several concepts for cooperative games, we identify various properties that such schemes should possess. In the following description of these properties, a player’s outcome is his cost allocation or payment that results from application of the scheme. Individual supply chain scheduling games discussed in this book may also use additional properties specific to those games. 1. Existence: The scheme is well defined for any cooperative game. 2. Efficiency: The scheme exactly divides the value of the complete game among the players. 3. Individual Rationality: No player receives a worse outcome than if he refuses to participate. 4. Coalitional Rationality: No coalition of players can improve their outcome by splitting off from the grand coalition. 5. Monotonicity: The player’s outcome is a weakly monotonic function of his marginal value or marginal cost to the game. 6. Zero Outcome for Null Players: A player who adds nothing to the value of any coalition should receive zero outcome. 7. Symmetry: If we can swap two players who are in different coalitions with equal value and the coalition values remain equal, then those players should have the same outcome. 8. Computational Tractability: The scheme should be computable in time that increases only polynomially with the number of players. Let yi , i ∈ N , denote a payment scheme for the game described in Example 8.2. This scheme compensates the players for staying within the grand coalition, by making payments to them that are at least as much as they could obtain by forming a coalition to leave and enjoy the coalition value cost savings by themselves. The payment scheme is said to be in the core of the game if: (i) i∈N yi = v(N), and (ii) i∈S yi ≥ v(S), for ∅ ⊂ S ⊂ N. These conditions require some interpretation. Condition (i), the Efficiency property, requires that the total cost of the payment scheme used is exactly the value of the grand coalition. Condition (ii), the Coalitional Rationality property ensures that no coalition of players can do better by leaving the grand coalition. This condition includes as a special case: (ii ) yi ≥ v({i}), i ∈ N. Condition (ii ), the Individual Rationality property, ensures participation by individual players.
438
8 Cooperative Supply Chain Scheduling
A major focus in studying various cooperative games is the identification of a core solution. The core is the set of Efficient payment or cost allocation vectors that satisfy the Coalitional and Individual Rationality properties, i.e., Conditions (ii) and (ii ) above. In a typical game, it can be conceptualized as a region within an n-dimensional payment or cost allocation space, which allows for some flexibility that may be useful for negotiation between the players in practical situations. A cooperative game that has a nonempty core for all instances is said to be balanced. Nonetheless, an unbalanced game may, for some instances, have a core solution. We provide an example of a core solution for the above Earliness–Tardiness game. Example 8.3 (Example of a Core Solution) Using the instance from Example 8.2, consider the payment scheme y = (1, 3, 4, 6). We examine whether this payment scheme is in the core of the game. Since i∈N yi = 1 + 3 + 4 + 6 = 14 = v(N), condition (i) is satisfied. For condition (ii ), observe that yi ≥ 0 = v({i}), i ∈ N . More generally for condition (ii), y1 + y2 = 4 ≥ 2 = v({1, 2}), y1 + y3 = 5 ≥ 0 = v({1, 3}), y3 + y4 = 10 ≥ 3 = v({3, 4}); y1 + y2 + y3 = 8 ≥ 2 = v({1, 2, 3}), y1 + y3 + y4 = 11 ≥ 3 = v({1, 3, 4}). Further, consider any admissible coalition S above. Then, any coalition S , where S ⊂ S ⊆ N, satisfies i∈S yi ≥ i∈S yi ≥ v(S) = v(S ), and therefore condition (ii) is also satisfied for coalition S . Therefore, by consideration of all admissible coalitions, we conclude that y = (1, 3, 4, 6) is a core solution of the game. One insight this example provides is that the process used here for checking conditions (i) and (ii) for all coalitions is not in general computationally efficient. Within this book, we discuss several methods to address this issue for specific supply chain scheduling games. For cooperative games that have an empty core, a useful concept is the least core of a game (N, w) with agents N = {1, . . . , n}, which is the set of payoff allocations x ∈ R that solves the linear program z∗ = min{z |
i∈N
xi = v(N),
xi ≥ v(S) − z, for S ⊂ N, S = ∅}.
(8.1)
i∈S
In (8.1), z∗ is the least core value. The least core value can be interpreted as the minimum penalty required to prevent any coalition from leaving the grand coalition. We refer the reader to Sects. 8.4.3 and 8.4.4 for applications of the least core value concept. As mentioned above, core solutions typically represent a range of possible payments. However, cooperative game theory also defines various single-point solutions where the entire vector of payments is uniquely specified. Among the best known of these is the Shapley value (Shapley, 1953), denoted as φi (v), i ∈ N. Let S ⊆ N denote a coalition of players that does not contain a particular player i ∈ N . The Shapley value of player i is given by: φi (v) =
S⊂N \{i}
|S|! (n − |S| − 1)! v(S ∪ {i}) − v(S)) , n!
i ∈ N,
(8.2)
8.2 Cooperative Game Solutions
439
where the sum includes all subsets S of N that do not contain player i. An intuitive explanation is that the bracketed term in (8.2) is the marginal value from adding player i to any coalition S that did not previously contain it. However, this value depends on the coalition S to which player i is added. Hence, the Shapley value takes the average over all possible such coalitions S. The Shapley value is the unique scheme that satisfies the Efficiency, Symmetry, and Monotonicity properties. Example 8.4 (Example of Shapley Value Calculations) Using the instance from Example 8.2, we have the following calculations. For each job i, we consider all admissible coalitions that include i, and compute the value lost if i is removed from the coalition. For job 1: (i) (ii) (iii) (iv) (v) (vi)
v({1, 2}) − v({2}) = 2 − 0 = 2; v({1, 3}) − v({3}) = 0 − 0 = 0; v({1, 2, 3}) − v({2, 3}) = 2 − 0 = 2; v({1, 2, 4}) − v({2, 4}) = 2 − 0 = 2; v({1, 3, 4}) − v({3, 4}) = 3 − 3 = 0; v({1, 2, 3, 4}) − v({2, 3, 4}) = 14 − 3 = 11.
Then, from (8.2), the Shapley value for job 1, φ1 (v), is the total found by multiplying terms (i)–(ii) for |S| = 1 by 1/12, terms (iii)–(v) for |S| = 2 by (1)(2)/(24) = 1/12, and term (vi) for |S| = 3 by (6)(1)/24 = 1/4. Thus, φ1 (v) = (2 + 2 + 2)/12 + 11/4 = 39/12 = 3.25. Similar calculations provide φ2 (v) = (2 + 2 + 2)/12 + 11/4 = 39/12 = 3.25, φ3 (v) = (3 + 3 + 3)/12 + 12/4 = 45/12 = 3.75, and φ4 (v) = (3 + 3 + 3)/12 + 12/4 = 45/12 = 3.75. Then, 4i=1 φi (v) = 3.25 + 3.25 + 3.75 + 3.75 = 14 = v(N), which establishes Efficiency as required. As the Shapley value formula in (8.2) suggests, in a general game, finding the Shapley value requires an exponential time computation. However, we discuss several games where the Shapley value is efficiently computable. A further useful characteristic of the Shapley value is that, in some classes of games, including convex games (Bondareva, 1963; Shapley, 1967), it is in the core. Another important single-point concept in cooperative game theory is the nucleolus, introduced by Schmeidler (1969). Given a payment scheme f ∈ Rn and a coalition S ⊆ N, S = ∅, define the excess e(f, S) =
fi − v(S).
i∈S
Intuitively, the larger the excess, the greater the safety margin provided by the payment scheme to coalition S with respect to keeping S from leaving the grand coalition. Further, define the excess vector e(f ) = (e(f, S1 ), . . . , e(f, Sm )), where Si ⊂ N, Si = ∅, and m = 2n − 2 since S = N and S = ∅ are excluded. In this definition, the elements of e(f ) are arranged in nondecreasing order. Then, the nucleolus, νi (v), i ∈ N, is a payment scheme with lexicographically greatest excess
440
8 Cooperative Supply Chain Scheduling
vector. The nucleolus satisfies the Existence, Efficiency, Individual Rationality and Symmetry properties. It is a unique element of the game. In a game with a nonempty core, the nucleolus is in the core. Iñarra et al. (2019) give the following example of nucleolus calculations that provides helpful intuition. Example 8.5 (Example of Nucleolus Calculations) Consider a cooperative game with a set N = {1, 2, 3} of players and the following coalition values: v({1}) = v({2}) = v({3}) = 0, v({1, 2}) = 20, v({1, 3}) = 30, v({2, 3}) = 40, v(N) = 42. We study three payment schemes. First, consider a payment scheme x where ν1 (v) = ν2 (v) = ν3 (v) = 14, which divides the value of the game equally among the players. Then, the ordered excess vector is: e(x) = (14 + 14 − 40, 14 + 14 − 30, 14 + 14 − 20, 14 − 0, 14 − 0, 14 − 0) = (−12, −2, 8, 14, 14, 14, 14), where the sequence of coalitions is ({2, 3}, {1, 3}, {1, 2}, {1}, {2}, {3}). Intuitively, since the worst treated coalition is {2, 3}, we should transfer some utility from player 1 to players 2 and 3. For example, consider a payment scheme y where ν1 (v) = 4, ν2 (v) = 24, ν3 (v) = 14. In this case, the ordered excess vector is: e(y) = (4 + 14 − 30, 24 + 14 − 40, 4 − 0, 4 + 24 − 20, 14 − 0, 24 − 0) = (−12, −2, 4, 8, 14, 24), where the sequence of coalitions is ({1, 3}, {2, 3}, {1}, {1, 2}, {3}, {2}). Recall that we are trying to find the lexicographically largest excess vector. Disappointingly then, the solution y is not as good as the original solution x. Now, consider a solution z where ν1 (v) = 4, ν2 (v) = 14, ν3 (v) = 24. In this case, the ordered excess vector is: e(z) = (4 + 14 − 20, 4 + 24 − 30, 14 + 24 − 40, 4 − 0, 14 − 0, 24 − 0) = (−2, −2, −2, 4, 14, 24), where the sequence of coalitions is ({1, 2}, {1, 3}, {2, 3}, {1}, {2}, {3}). The vector z happens to be the nucleolus, where ν1 (v) = 4, ν2 (v) = 14 and ν3 (v) = 24. The nucleolus is not computationally tractable. In a general cooperative game, finding the nucleolus involves solving a sequence of linear programs which may have size that is exponential in the number of players. Leng and Parlar (2010) provide a review of algorithms for this problem, as well as an easily computable closed form expression for games with three players. See Sect. 8.5.1 for an example of a game where the nucleolus can be found more efficiently for games of any size.
8.2 Cooperative Game Solutions
441
A final single-point solution discussed here is the τ -value, introduced by Tijs (1981). In that work and also Driessen and Tijs (1985), it is shown that the τ -value satisfies several useful properties, including Individual Rationality, Efficiency and Symmetry. An explanation of the τ -value for a cost savings allocation game requires several definitions. Given a game (N, v), we first define the marginal value vector bv = (b1v , . . . , bnv ) as the reduction in the value of the game when each job individually is removed from the grand coalition. Thus, bv (i) ∈ R is defined as biv = v(N) − v(N \ {i}).
(8.3)
Next, for any coalition S ⊆ N, the gap function g v (S) is defined as g v (S) =
biv − v(S).
(8.4)
i∈S
The gap function of a coalition is the difference between the total marginal value of its members, and its value as a coalition; observe that this difference is always nonnegative. Next, the concession vector λv ∈ Rn of the game is defined as λvi = min{g v (S) | S ⊆ N, i ∈ S},
i ∈ N.
(8.5)
Thus, λvi is the minimum gap for a coalition containing player i, or more intuitively the potential concession of player i from his marginal value. Each player surrenders some part of this concession as a reduction from his marginal value in (8.3), in proportion to his concession value in (8.5). However, there is a unique fraction of how much total concession needs to be surrendered if the Efficiency property is to be satisfied. Finding this limit requires first calculating λv (N ) = i∈N λvi . Then, for a balanced game, the τ -value is given by τi (v) = biv −
( g v (N ) ) λv , λv (N ) i
i ∈ N.
(8.6)
fraction of the The normalization term g v (N)/λv (N ) in (8.6) computes the unique concessions of all the players from their marginal values, such that i∈N τi (v) = v(N). This normalization ensures that the payment allocation by the τ -vector satisfies the Efficiency property. Example 8.6 (Example of τ -Value Calculations) Using the instance from Example 8.2, we have the following calculations. From (8.3), b1v = 14 − 3 = 11, b2v = 14 − 3 = 11, b3v = 14 − 2 = 12, and b4v = 14 − 2 = 12. From (8.4), g v ({1}) = 11, g v ({2}) = 11, g v ({3}) = 12, and g v ({4}) = 12;
442
8 Cooperative Supply Chain Scheduling
g v ({1, 2}) = 22 − 2 = 20, g v ({1, 3}) = 23 − 0 = 23, g v ({3, 4}) = 24 − 3 = 21; g v ({1, 2, 3}) = 34 − 2 = 32, g v ({1, 3, 4}) = 35 − 3 = 32, g v ({2, 3, 4}) = 35 − 3 = 32; and g v ({1, 2, 3, 4}) = 46 − 14 = 32. From (8.5), λv1 = 11, λv2 = 11, λv3 = 12, and λv4 = 12, hence λv (N ) = 4i=1 λvi = 11 + 11 + 12 + 12 = 46. We use the above calculations g v (N ) = 32 and λv (N ) = 46 to calculate the normalization factor 32/46 to apply to the maximal concessions of the players, starting from their marginal values. Thus, from (8.6), we have τ1 (v) = 11 − 11(32)/46 = 77/23, τ2 (v) = 11 − 11(32)/46 = 77/23, τ3 (v) = 12 − (12)(32)/46 = 84/23, and τ4 (v) = 12 − (12)(32)/46 = 84/23. Then, 4i=1 τi (v) = (77 + 77 + 84 + 84)/23 = 14 = v(N), as required. Due to (a) its positioning as a compromise between the total of the marginal values within a coalition and the value of that coalition, and (b) its satisfaction of several key properties, the τ -value is an appealing solution concept for balanced cooperative games. As with the Shapley value and nucleolus, the discussion of sequencing games below identifies games where the τ -value can be found efficiently. The following sections provide many examples of how the cooperative game concepts discussed above can be applied to supply chain scheduling problems.
8.3 Sequencing Games In this section, we consider the substantial class of sequencing games within the field of cooperative games. The classic cooperative game issues of determining balancedness, identifying core members, and efficiently calculating single-point solutions such as the Shapley value (Shapley, 1953), run throughout this class of games. Section 8.3.1 discusses two games that are taken from outside the class of sequencing games, but which nevertheless provide useful results for games within this class. The remaining sections are ordered from simple games where the main results are relatively easy to prove using what are now considered as standard techniques, to more complex generalizations of those games that require different, and in some cases more game-specific, proof techniques. Section 8.3.2 discusses games with costs that are linear functions of job completion times. A more general environment with regular costs is discussed in Sect. 8.3.3. Section 8.3.4 discusses games where the arrival of new work results in rescheduling. Section 8.3.5 studies the effect of relaxing the classical assumptions about the admissibility of sequences with respect to coalition membership. Sequencing games where multiple jobs can be processed simultaneously in batches are considered in Sect. 8.3.6. We provide examples of sequencing games for multiple machine scheduling environments, using a proportionate flowshop game in Sect. 8.3.7, and an openshop game in Sect. 8.3.8.
8.3 Sequencing Games
443
An extension to multi-stage sequencing games is studied in Sect. 8.3.9. Finally, Sect. 8.3.10 provides some perspectives on methods for establishing balancedness in generalized games.
8.3.1 General Related Games Two classes of cooperative games are closely related to sequencing games, and provide results that assist in the analysis of some sequencing games. Therefore, we discuss them first. They are permutation games and unanimity games.
8.3.1.1
Permutation Games
Tijs et al. (1984) introduce the class of permutation games. A permutation game contains a set N = {1, . . . , n} of players, each with a single job in a service system, who are waiting in a queue for service at a counter. The order σ0 in which they expect to receive service is assigned randomly; therefore, without loss of generality, we assume that player i is in position i, i.e., σ0 (i) = i, for i = 1, . . . , n. The service time for each player is the same, hence also without loss of generality we define it as one time unit. There is no benefit to the server being idle, hence we assume that the jobs are processed consecutively. Therefore, if no rearrangement of the players occurs, player j receives their service in the time interval [j − 1, j ]. However, the players have different costs of waiting, which in practice are motivated by the value of alternative activities foregone while waiting or receiving service in the system described. Thus, the cost to player i of being the j th player to receive service is denoted as a known constant kij . The players can form coalitions to rearrange their positions, thereby reducing their total cost, and share the resulting cost savings among them. A coalition can consist of non-consecutive players in the initial sequence, for example, the players in the first and third positions could form a coalition and swap positions without the involvement of the player in second position. However, any coalition S only has available its own set of initial positions and cannot access positions that are not occupied by members of S in σ0 . For any coalition, the problem of minimizing the total cost of the coalition is a linear assignment problem. Let π ∈ ΠS denote an assignment of the players in coalition S to the available positions in the queue, where ΠS denotes all possible assignments, i.e., permutations, of S. A permutation game (N, c) has player set N and characteristic function c : 2N → R, where c(∅) = 0, and for S ∈ 2N \ ∅, c(S) = min
π ∈ΠS
i∈S
kiπ(i) .
(8.7)
444
8 Cooperative Supply Chain Scheduling
Example 8.7 (Example of a Permutation Game) Consider a game with four players. The game has the following cost matrix, where the entry in row i and column j is kij as defined above, and where negative values denote profit: ⎛
⎞ 0 −1 −2 −1 ⎜ −4 0 −1 1 ⎟ ⎜ ⎟ ⎝ −3 −2 0 −1 ⎠ . 2 −3 −2 0 The value of the various possible coalitions is as follows: c({1}) = c({2}) = c({3}) = c({4}) = 0; c({1, 2}) = −5, c({1, 3}) −5, c({1, 4}) = 0, c({2, 3}) = −3, c({2, 4}) = −2, c({3, 4}) = −3; c({1, 2, 3}) −8, c({1, 2, 4}) = −8, c({1, 3, 4} = −6, c({2, 3, 4}) = −5; and c({1, 2, 3, 4}) −10. It is easy to check that an optimal assignment solution π(1) = 3, π(2) 1, π(3) = 4, π(4) = 2 also has a cost of −10.
= = = =
Tijs et al. (1984) prove that permutation games are balanced. More strongly, they prove that permutation games are totally balanced, i.e., each subgame of a permutation game is balanced. The assumption of a permutation game that the service time of each player is the same is somewhat restrictive for the purposes of classical scheduling and sequencing. Essentially, it implies that all jobs in a scheduling situation have the same processing time. Nonetheless, there are some sequencing games where the balancedness results of Tijs et al. (1984) prove useful. We provide an application to a relaxed sequencing game in Sect. 8.3.5.
8.3.1.2
Unanimity Games
Also of relevance to the analysis of sequencing games are unanimity games, introduced by Harsanyi (1981). An unanimity game is a cooperative game (N, u) on any given subset T , ∅ = T ⊆ N , uT (S) =
1, if S ⊇ T 0, otherwise.
(8.8)
Observe that, from (8.8), a coalition S has value 1 if it contains all the players of T , and 0 otherwise. Shapley (1953) shows that any cooperative game (N, v) can be written as a unique linear combination of unanimity games, as follows: v=
∅=T ⊆N
μT uT ,
(8.9)
8.3 Sequencing Games
445
where μ∅ = 0, and the coefficients μS are recursively defined as μ{i} = v({i}), i ∈ N, and for S ⊆ N, |S| ≥ 2, μS = v(S) −
μT .
(8.10)
T ⊂S
The following example illustrates the decomposition of an arbitrary cooperative game into unanimity games. Example 8.8 (Decomposition into Unanimity Games) Consider a cooperative game (N, v) with three players and the following coalition values: v({1}) = 2, v({2}) = 3, v({3}) = 5, v({1, 2}) = 7, v({1, 3}) = 11, v({2, 3}) = 14, v({1, 2, 3}) = 35. Then, the corresponding decomposition of this game into a unanimity game, using (8.9) and (8.10), is v = μ1 u1 + μ2 u2 + μ3 u3 + μ12 u12 + μ13 u13 + μ23 u23 + μ123 u123 = 2u1 + 3u2 + 5u3 + (7−2−3)u12 + (11−2−5)u13 +(14−3−5)u23 + (35−2−3−5−2−4 −6)u123 = 2u1 + 3u2 + 5u3 + 2u12 + 4u13 + 6u23 + 13u123 . We also show that the values of v(S), S ⊆ N, given above, can be reconstructed from the coefficients μ of the vector v in (8.9). Thus, v({1}) = μ1 = 2, v({2}) = μ2 = 3, v({3}) = μ3 = 5; v({1, 2}) = μ1 + μ2 + μ12 = 2 + 3 + 2 = 7, v({1, 3}) = μ1 + μ3 + μ13 = 2 + 5 + 4 = 11, v({2, 3}) = μ2 + μ3 + μ23 = 3 + 5 + 6 = 14; and v({1, 2, 3}) = μ1 +μ2 +μ3 +μ12 +μ13 +μ23 +μ123 = 2+3+5+2+4+6+13 = 35. Intuition about unanimity games is provided by considering how a coalition S should allocate gains or costs in such a game. A gain, or cost saving, of 1 is achieved if and only if all players of T are involved in cooperation. Therefore, any allocation of gain or cost that divides the total gain or cost among the members of S ∩ T is a core solution, but members of S \ T receive or pay nothing. For a sequencing game where a decomposition into unanimity games can be accomplished efficiently, this makes two contributions toward the analysis of that sequencing game. First, it provides an efficient calculation for the Shapley value Shapley (1953) of the game, which in general requires averaging over an exponential number of possible coalitions, as in (8.2). The second contribution makes use of the following result. Theorem 8.1 A cooperative game (N, v) is convex if and only if, for all i, j ∈ N, i = j , and each S ⊆ N \ {i, j }, U ⊆S
μU ∪{i,j } ≥ 0.
446
8 Cooperative Supply Chain Scheduling
Proof Let i, j ∈ N, i = j , and S ⊆ N \{i, j }. Given these definitions, a cooperative game (N, v) is convex, as defined in Sect. 2.3.5, if and only if
⇔[
[v(S ∪ {i, j }) − v(S ∪ {j })] − [v(S ∪ {i}) − v(S)] ≥ 0 μT − μT ] − [ μT − μT ] ≥ 0 T ⊆S∪{i,j }
T ⊆S∪{j }
⇔
T ⊆S∪{i}
T ⊆S
μU ∪{i} −
U ⊆S∪{j }
μU ∪{i} ≥ 0
U ⊆S
⇔
μU ∪{i,j } ≥ 0.
U ⊆S
Observe that if, for a sequencing game, μS ≥ 0, for ∅ = S ⊆ N , as in Example 8.8, then from Theorem 8.1, this is sufficient to establish convexity of that game. This is described as decomposition into a nonnegative linear combination of unanimity games. We describe applications of this procedure to a rescheduling game in Sect. 8.3.4, a batch sequencing game in Sect. 8.3.6, and a proportionate flowshop game in Sect. 8.3.7.
8.3.2 Linear Costs A sequencing problem is one where a solution is completely characterized by a sequence of customers or jobs. Within the more general class of scheduling problems, sequencing problems arise where the sequence completely specifies the time and resource allocations of all activities being processed. A common reason why this occurs is the use of a regular cost function, i.e., one that is nondecreasing in job completion times. When a regular cost function is used, there typically exists an optimal schedule that includes no inserted, i.e., unnecessary, idle time. Sequencing problems with costs that are linear in job completion times provide a regular measure of overall service time performance across a set of orders for multiple customers. Much of the classical scheduling literature (Pinedo, 2016) uses linear costs to model a variety of different environments and objectives, as defined by internal costs or external contracts with customers. Let N = {1, . . . , n} denote a queue of jobs that are waiting for service from a single machine. We assume that the queue follows an arbitrary given permutation σ0 of the jobs. That is, σ0 (i) = j means that job i is in the j th position in the queue. Let pi > 0 denote the processing time of job i, and wi a measure of its urgency
8.3 Sequencing Games
447
that in classical scheduling is known as a weight. We make the natural assumptions that: (a) Each job experiences a cost that is determined only by its own completion time and not that of other jobs. (b) The overall cost of a solution is equal to the total of all the individual job costs. Let hi (Ci ) denote the cost of job i if it completes processing at time Ci . While the regular cost function hi (·) can be more general, as discussed, for example, in Sect. 8.3.3, here we consider a simple case with linear costs, where hi (Ci ) = wi Ci and the total cost to be minimized is ni=1 wi Ci . In a situation of centralized planning, i.e., where all the jobs have the same customer, an optimal sequence is found by sequencing the jobs in order of nonincreasing wi /pi ratio (Smith, 1956), which is known as shortest weighted processing time (SWPT) order. We observe that if σ0 (i) = k and σ0 (j ) = k + 1, then interchanging the positions of jobs i and j results in a change in total cost of wi pj − wj pi , irrespective of the positions of the adjacent jobs i and j in σ0 and also of their start times. It may be possible for the players to cooperate and resequence their positions to reduce their total cost, however, players who move earlier may need to compensate those who move later in order to obtain the agreement of the latter to the move. Since we are interested in cost reductions from interchanging jobs, we define the gain from interchanging jobs i and j , where σ0 (i) = σ0 (j ) − 1, as gij = max{wj pi − wi pj , 0}.
(8.11)
The sequencing situation thus defined can be described concisely as (σ0 , w, p), where w = {w1 , . . . , wn } and p = {p1 , . . . , pn }. Let Pj (σ0 ) = {i ∈ N | σ0 (i) < σ0 (j )} denote the set of jobs that precede j in σ0 . From the above sequencing situation, we now define a sequencing game which falls within the class of cooperative games described in Sect. 2.3.5. Each player represents a job in N. The following definition is needed. Definition 8.1 A coalition S is connected if its jobs form a connected component of σ0 , i.e., if it contains consecutive jobs in σ0 . That is, for all i, k ∈ S with σ0 (i) < σ0 (k), any j ∈ N with σ0 (i) < σ0 (j ) < σ0 (k) is also in S. For S ⊆ N , we define the characteristic function v(S) as the maximal cost savings that a connected coalition can achieve by rearranging the positions of its members in the queue. Observe that, when we interchange the positions of jobs i and j with σ0 (i) < σ0 (j ) and wi /pi < wj /pj , the total cost decreases by gij . Hence, for a connected coalition S ⊆ N, we have gij . (8.12) v(S) = j ∈S
i∈S|σ0 (i) σ0 (i)}. Given β these definitions, let fi (v) denote the allocation of the resequencing gain to player i under the β-rule, for i ∈ N, as defined by: fi (v) = [v(G(i))−v((G (i))]/2+[v(H (i))−v(H (i))]/2, β
i ∈ N.
(8.17)
To interpret (8.17), observe that [v(G(i)) − v(G (i))] (respectively, [v(H (i)) − v(H (i))]) is the marginal increase in cost savings from adding job i to the sequence of jobs before (resp., after) i in σ . Example 8.12 (Application of the β-Rule) Using the same instance as in Example 8.11, we calculate the allocations from the β-rule, as follows: β
f1 (v) = [v({1, 2, 3}) − v({2, 3}) + v({1}) − 0]/2 = (192 − 160)/2 = 16. β f2 (v) = [v({1, 2}) − v({1}) + v({2, 3}) − v({3})]/2 = (36 + 160)/2 = 98. β f3 (v) = [v{(1, 2, 3}) − v({1, 2}) + v({3}) − 0]/2 = (192 − 36)/2 = 78. β
β
β
We observe that f1 (v) + f2 (v) + f3 (v) = 16 + 98 + 78 = 192 = 224 − 32 = v(σ0 ) − v(σ ∗ ), which shows that the β-rule satisfies the Efficiency property. Recall Definition 8.1 for connected coalitions. Finally, we check that the connected coalitions {1, 2} and {2, 3} receive sufficient allocation of the gains from resequencing that they do not leave the grand coalition: β
β
f1 (v) + f2 (v) = 16 + 98 = 114 > 36 = v({1, 2}) β β f2 (v) + f3 (v) = 98 + 78 = 176 > 160 = v({2, 3}). A useful definition within the context of sequencing games is σ0 -component additivity.
8.3 Sequencing Games
455
Definition 8.4 A cooperative game (N, v) is σ0 -component additive if: (i) v(i) ≥ 0, i ∈ N (ii) the game is superadditive, i.e., v(S) + v(T ) ≤ v(S ∪ T ) for S, T ⊂ N, when S ∩ T = ∅, and (iii) v(S) = T ∈S|σ0 v(T ), where S|σ0 is a partition of the maximally connected components of S with respect to sequence σ0 . To interpret Condition (iii) in Definition 8.4, T is a subset of jobs that form a connected component of S with respect to σ0 . The cooperative game value of the jobs in T as an independent coalition is defined as v(T ). Then, the value of the coalitions of jobs S, denoted by v(S), is additive over all the connected components T of S. Curiel et al. (1994) prove the following result. Lemma 8.1 Every one-machine scheduling problem with an additive and regular cost function defines a cost savings game that is σ0 -component additive. Proof If S1 and S2 are disjoint coalitions, any resequencing of S1 and S2 can be combined into a feasible resequencing of S1 ∪ S2 , where the total cost saving equals the sum of the cost savings from the individual resequencing of S1 and S2 . This establishes superadditivity. Then, σ0 -component additivity follows from the definition of v(·). Corollary 8.1 It follows from Lemma 8.1 and Le Breton et al. (1992) that a onemachine scheduling problem with an additive and regular cost function is balanced. Let λ(i) = σ −1 (i), i ∈ N, i.e., λ(i) is the job in position i in σ . The main result of Curiel et al. (1994) which now follows shows the usefulness of the β-rule in supporting cooperation. Theorem 8.9 Let (N, v) denote a cooperative game defined by a one-machine scheduling problem with an additive and regular cost function. Then, the β-rule finds a core allocation of the game (N, v). Proof From Lemma 8.1, the game described in the theorem statement is superadditive. Now, consider the σ0 -connected coalition T = {i ∈ N | a ≤ σ0 (i) ≤ b}, for integers a and b. For this coalition, the β-rule gives 2
i∈T
β
fi (v) =
[v(G(i)) − v((G (i)) + v(H (i)) − v(H (i))] i∈T
= v(G(λ(b))) − v(G (λ(a))) + v(H (λ(a))) − v(H (λ(b))) ≥ 2v(T ), where G (λ(b)) = G(λ(a)) ∪ T , H (λ(a)) = H (λ(b)) ∪ T , and the inequality follows from superadditivity.
456
8 Cooperative Supply Chain Scheduling
Remark 8.1 It is important to note that the result in Theorem 8.9 depends on (a) each job having a cost that is a regular function of its completion time, and (b) the admissibility only of coalitions of jobs that are consecutive in σ0 , or composed of smaller coalitions of jobs that are consecutive in σ0 .
8.3.4 Rescheduling Games This section studies two situations where a planned schedule is disrupted, due to either a change in work requirements or a change in resource availability. As a result, rescheduling is needed to avoid significant costs. We study how the gains achieved by rescheduling should be divided among the jobs. Models for rescheduling in the event of disruptions are provided by Bean et al. (1991) and Wu et al. (1993). In the first rescheduling situation we consider, jobs arrive in batches, as occurs frequently in manufacturing. Here, a job that arrives in an earlier batch has certain privileges over a job that arrives in a later batch. Hall and Potts (2004) model this problem from an optimization perspective, by defining this privilege as the maximum number of positions by which an earlier job can be moved later by a later arriving job, which is known as its disruption level. The motivation for modeling the disruption level is that the disruption causes resources, possibly including outsourced ones, to be rescheduled. This may result in stress on other activities and increased costs. Hence, the imposition of a constraint on maximum disruption is designed to limit such costs. We consider a rescheduling problem with two batches. Let N1 = {1, . . . , n1 } and N2 = {n1 + 1, . . . , n1 + n2 } denote the sets of jobs in the first and second batch, respectively, and let N = N1 ∪ N2 . Using classical scheduling notation, the problem of minimizing the total completion time of the jobs is denoted as 1|Dmax (σ0 ) ≤ k| Cj . Here, σ0 represents an initial, not necessarily optimal, sequence. Also, Dmax (σ0 ) denotes the maximum disruption in the position in sequence of any job in N1 , and the constraint Dmax (σ0 ) ≤ k requires that no job in N1 be more than k positions later in a feasible solution to the rescheduling game than it was in the sequence σ0 before the second batch arrived. For problem 1|Dmax (σ0 ) ≤ k| Cj , Hall and Potts (2004) describe the following algorithm. Algorithm MultiBatch 1. Input the jobs of N1 in SPT order as 1, . . . , n1 . 2. Sequence the jobs of N2 separately in SPT order as n1 + 1, . . . , n1 + n2 . 3. Schedule the jobs 1, . . . , n1 + k in SPT order at the front of the schedule. 4. Schedule the jobs n1 +k+1, . . . , n1 +n2 in SPT order at the back of the schedule. They prove that Algorithm MultiBatch finds an optimal schedule for problem 1|Dmax (σ0 ) ≤ k| Cj in O(n1 + n2 + n2 log n2 ) time. Gerichhausen and Hamers (2009) define a partition sequencing situation (N1 , N2 , σ 0 , p, k) that is closely related to the above problem, but with two differences. The first difference is that the jobs of the first batch arrive in an arbitrary
8.3 Sequencing Games
457
order that defines the initial sequence for the purposes of computing cost savings, or gains, achieved by resequencing. The second difference is that the authors define the maximum disruption constraint differently from that defined by Hall and Potts (2004) described above. Instead, it is defined as a weaker requirement that each job i ∈ N1 is sequenced in one of the first n1 + k positions after the second batch is added. Additionally, since this is a cooperative game, the initial sequence is defined to include all the players, i.e., all the jobs in N1 ∪ N2 , in order to provide a benchmark for the calculation of overall cost savings. A numerical example follows. Example 8.13 (Instance of a Partition Sequencing Situation) N1 = {1, 2, 3, 4}, N2 = {5, 6, 7}, k = 1, p = (3, 10, 2, 5, 8, 1, 6). The original schedule, σ0 = (1, 2, 3, 4, 5, 6, 7), has cost 7j =1 Cj (σ0 ) = 3 + 13 + 15 + 20 + 28 + 29 + 35 = 143. An optimal schedule σ ∗ = (6, 3, 1, 4, 2, 7, 5), has cost 7j =1 Cj (σ ∗ ) = 1 + 3 + 6 + 11 + 21 + 27 + 35 = 104, for a cost saving of 39. This schedule is feasible since the jobs of N1 = {1, 2, 3, 4} are all in the first n1 + k = 5 positions in σ ∗ . Over a partition sequencing situation, a partition sequencing game is defined. Recall Definition 8.1 for a connected component. The partition sequencing game requires the following admissibility rule: a feasible schedule is admissible with respect to σ0 if and only if the jobs in a connected component S in σ0 do not jump over other jobs outside S. However, a coalition may contain multiple connected components. Gerichhausen and Hamers (2009) describe a Partition Equal Gain Sharing rule, or PEGS-rule, for allocating cost savings from resequencing the jobs. This rule operates by disaggregation of cost savings. A disaggregated solution allocation is defined by a matrix F P EGS ∈ Rn×n , where each element fijP EGS of F denotes the nonnegative allocation of costs savings to job i for cooperating with job j , and fijP EGS = fjPi EGS . Then, the total allocation to job i is nj=1 fijP EGS . Let gij = max{pi − pj , 0} denote the potential cost savings from interchanging adjacent jobs i and job j , where i precedes j in the same connected component in σ 0. Let Sj , j = n1 + k, . . . , n1 + n2 , be defined as: Sj =
{n1 + 1, . . . , n1 + k}, if j = n1 + k Sj −1 ∪ {j } \ {vj }, if j ∈ {n1 + k + 1, . . . , n1 + n2 },
(8.18)
where vj is the lowest indexed job that has the largest processing time in the set Sj −1 ∪ {j }. Observe that Sj is defined recursively from Sj −1 by (a) the addition of job j , and (b) the removal of a single job with largest processing time, which could also be job j . Intuitively, Sj is an iteratively updated set of the k smallest jobs i, such that n1 + 1 ≤ i ≤ j . The PEGS-rule is defined by:
g /2, if i, j ∈ N1 , or if i, j ∈ N2 , or if i ∈ N1 , j ∈ Sn1 +k ij fijP EGS = (gij − givj ) )/2, if i ∈ N1 , j ∈ N2 \ Sn1 +k . The first definition of fijP EGS divides the cost savings from an interchange of jobs i
458
8 Cooperative Supply Chain Scheduling
and j between those two jobs. The second term in the second definition compensates for the fact that job vj cannot interchange with jobs of N1 due to the maximum disruption constraint. Example 8.14 (Application of the PEGS-Rule) Using the same instance as in Example 8.13, N1 = {1, 2, 3, 4}, N2 = {5, 6, 7}, p = (3, 10, 2, 5, 8, 1, 6), σ0 = (1, . . . , 7), and k = 1. Then, ⎛
F P EGS
0 ⎜ 0 ⎜ ⎜ 0.5 ⎜ ⎜ =⎜ 0 ⎜ ⎜ 0 ⎜ ⎝ 1.0 0
0 0.5 0 0 0 4.0 2.5 1.0 4.0 0 0 0 2.5 0 0 0 1.0 0 0 0 3.5 0.5 2.0 3.5 0 0 0 1.0
⎞ 1.0 0 3.5 0 ⎟ ⎟ 0.5 0 ⎟ ⎟ ⎟ 2.0 0 ⎟ . ⎟ 3.5 1.0 ⎟ ⎟ 0 0⎠ 0 0
P EGS = g /2 = max{3 − 2, 0}/2 = As examples of the calculations in F P EGS , f13 13 P EGS = (g −g )/2 = (max{10−1, 0})/2−(max{10−8, 0})/2 = 3.5. 0.5, and f26 26 25 From the disaggregated allocation F P EGS of cost savings, the row or column sums provide the aggregated allocation (1.5, 11.0, 5.0, 4.5, 5.5, 10.5, 1.0). The total 0 ∗ allocation is thus 39 = j ∈N1 ∪N2 [Cj (σ ) − Cj (σ )] = 143 − 104, as in Example 8.13. This shows that all cost savings are allocated, i.e., the Efficiency property is satisfied, as required.
Recall Definition 8.2 for a maximally connected component. A coalition of jobs may consist of multiple maximally connected components. Given σ0 , we define a new sequence as admissible for S with respect to σ0 if the jobs in N \ S that precede job i are the same in σ0 and the new sequence, for i ∈ N . Let A (S) denote the set of admissible sequences for coalition S. Now, consider the maximal cost savings of such a coalition S ⊂ N. Then, the characteristic function of a partition sequencing game (N, v) is defined by: v(S) = max
σ ∈A (S)
[Ci (σ0 ) − Ci (σ )] ,
(8.19)
i∈S
where the value of a disconnected coalition is the sum of the values of its maximally connected components, as defined in (8.13). We introduce the following preliminary result. We refer the reader to Gerichhausen and Hamers (2009) for a proof. P EGS = 0 ∗ Lemma 8.2 i,j ∈S fij i∈S [Ci (σ ) − Ci (σ )], for all S ⊆ N. The unanimity game (N, u) on any given subset T ⊂ N is defined by uT (S) = 1 if T ⊆ S, and = 0 otherwise, as introduced in Sect. 8.3.1.2. As discussed below, Gerichhausen and Hamers (2009) show that a partition sequencing game
8.3 Sequencing Games
459
can be written as a nonnegative linear combination of unanimity games. A further preliminary result is needed. Lemma 8.3 Let (N1 , N2 , σ 0 , p, k) be a partition sequencing situation, and let (N, v) bethe corresponding partition sequencing game. Then, v(S) = i,j ∈N1 ∪N2 gij u[i,j ] + j ∈N1 ,j ∈Sn +k gij u[i,j ] + i∈N1 ,j ∈N2 \Sn +k (gij − 1 1 givj )u[i,j ] , where [i, j ] = {i, i + 1, . . . , j } and Sn1 +k and vj are defined in (8.18). Proof From the admissibility rule, the value of a coalition can be written as the sum of values of its maximally connected components. Therefore, the proof need only consider connected components S. Let σ ∗ denote an optimal order of S. Define u[i,j ] (S) = u[i, j ] if {i, i + 1, . . . , j } ∈ S, and = 0 otherwise. Then, we have v(S) =
[Ci (σ0 ) − Ci (σ ∗ )],
from (8.19)
i∈S
=
n
fijP EGS ,
from Lemma 8.2
i∈S j =1
=
i,j ∈(N1 ∪N2 )∩S
+
gij +
(gij − givj )
i∈N1 ∩S,j ∈(N2 \Sn1 +k )∩S
= +
gij u[i,j ] (S) +
i,j ∈N1 ∪N2
gij
i∈N1 ∩S,j ∈Sn1 +k ∩S
gij u[i,j ] (S)
j ∈N1 ,j ∈Sn1 +k
(gij − givj )u[i,j ] (S),
i∈N1 ,j ∈N2 \Sn1 +k
where the third equality follows from (8.19), and the last equality follows from the definition of unanimity games. This leads immediately to the following result. Theorem 8.10 Partition sequencing games are convex. Proof Recall that unanimity games, as defined in Sect. 8.3.1.2, are convex. Lemma 8.3 shows that partition sequencing games are a linear combination of unanimity games. Moreover, since gij − givj ≥ 0 by definition of vj , this is a nonnegative linear combination. The result then follows from Theorem 8.1. We now turn our attention to the Shapley value of a partition sequencing game. For many cooperative games, the calculation of the Shapley value is computationally challenging, since it depends on averaging over an exponential number of possible
460
8 Cooperative Supply Chain Scheduling
coalitions. However, a useful result for partition sequencing games is that the Shapley value for job i, denoted by φi (v), can be computed efficiently. Theorem 8.11 Let (N1 , N2 , σ0 , p, k) be a partition sequencing situation, and let (N, v) bethe correspondingpartition sequencing game. Then, for i ∈ N , φi (v) =
h,j ∈N1 ,h≤i≤j
ghj
j −h+1
+
h,j ∈N2 ,h≤i≤j
h∈N1 ,j ∈N2 \Sn +k ,h≤i≤j (ghj −ghvj ) 1
j −h+1
Proof Define hij =
j −h+1
ghj
+
h∈N1 ,j ∈Sn +k,h≤i≤j 1
j −h+1
ghj
+
, where Sn1 +k is defined in (8.18).
gij , if i, j ∈ N1 ∪ N2 , or if i ∈ N1 , j ∈ Sn1 +k
(gij − givj ), if i ∈ N1 , j ∈ N2 \ Sn1 +k . Now, from Lemma 8.3, v(S) = i T1 }. 3. Schedule jobs 1, . . . , j − 1 sequentially without idle time in the interval j −1 pi ], and jobs j , . . . , n sequentially without idle time in the interval [0, i=1 [T2 , T2 + ni=j pi ]. Let σ H denote the schedule found by Algorithm H, and zH its cost. In the supply chain scheduling game discussed below, a coalition can only be formed from jobs processed consecutively in σ H , which is a standard admissibility requirement for coalitions in sequencing games. The discussion of these issues requires the following definition. Definition 8.5 A usable time period for a coalition begins at the start time of the first job in the coalition and ends at the completion time of the last job in the coalition in σ0 , excluding the interval [T1 , T2 ]. Then, the rescheduling game (N, v) is defined by a characteristic function v(S), S ⊆ N , where v(S) is the cost saving achieved by coalition S from rescheduling its jobs within its usable time period, relative to its total cost in schedule σ H . The total cost saving is zH − z∗ .
462
8 Cooperative Supply Chain Scheduling
Observe that the time interval [0, T1 ] is fixed. It follows that, as a coalition increases in size, there is less space for a new job to add value. Hence, the game is not convex. However, Liu et al. (2018b) show that the game is σ0 -component additive, hence a core solution is found by the β-rule of Curiel et al. (1994) as discussed in Sect. 8.3.3. More directly, however, a core solution is identified by the following result. Theorem 8.12 The vector x, where xj = 0, for j = 1, . . . , j − 2, j + 1, . . . , n, xj −1 = δ(zH − z∗ ), and xj = (1 − δ)(zH − z∗ ), for any 0 ≤ δ ≤ 1, is a core solution of the rescheduling game. Proof It is easy to check that ni=1 xi = zH − z∗ , as required by the Efficiency property. Observe that any coalition not containing either job j − 1 or job j cannot be better off acting by itself, from the definition of a usable time period. Also, a coalition that contains both jobs j −1 and j has a maximum cost saving of zH −z∗ , which is achieved by the values x1 , . . . , xn in the theorem statement. For this game, Liu et al. (2018b) also show that an efficient computation of the Shapley value is available. Consider a coalition S(j, l) that contains jobs j, . . . , l processed consecutively in that sequence in σ H , where 1 < j ≤ j1 − 1 and j ≤ l < n. The marginal contribution of job i, j ≤ i ≤ l to coalition S(j, l) is defined as v¯i (j, l) = v(S(j, l)) − v(S(j, l) \ {i}). Theorem 8.13 game is given, for i ∈ N, The Shapley value of the rescheduling 2v(j,l) ¯ v(1,l) ¯ by φi (v) = 1 σS (k)}, i.e., the predecessors and successors of job k in schedule σS , respectively. Formally, the uncertainty tail scheduling game (N, ctail ) is defined by the characteristic function wk Ck , S ⊆ N, ctail (S) = min σS ∈Π(S)
k∈S
where the completion time of job k is Ck = i∈(N \S)∪Pk (σS )∪{k} pi , i.e., the processing time includes: first, the jobs of N \ S; second, the predecessors of job k within S; and finally, job k itself. Example 8.23 (Calculation of Coalition Values in a Tail Scheduling Game) Consider an instance of the game with N = {1, 2, 3}, p = (1, 2, 3) and w = (5, 4, 3). Then, ctail ({1}) = 5(1 + 2 + 3) = 30, ctail ({2}) = 4(1 + 2 + 3) = 24, ctail ({3}) = 3(1 + 2 + 3) = 18; ctail ({1, 2}) = 5(1 + 3) + 4(1 + 2 + 3) = 44, ctail ({1, 3}) = 5(1+2)+3(1+2+3) = 33, ctail ({2, 3}) = 4(1+2)+3(1+2+3) = 30; ctail ({1, 2, 3}) = 5(1) + 4(1 + 2) + 3(1 + 2 + 3) = 35. The analysis of the tail game requires the following definition. Definition 8.13 A cost game (N, c) is concave if, for all S ⊂ T ⊆ N \ {i}, c(T ∪ {i}) − c(T ) ≤ c(S ∪ {i}) − c(S). To interpret Definition 8.13, in a concave cost game, the marginal cost contribution to a given coalition is smaller than its marginal cost contribution to a smaller coalition. Intuitively then, it is always beneficial to group the players, in this case represented by jobs, together. We study the concavity and balancedness of the uncertainty tail cost game using the following result. Theorem 8.24 The game (N, ctail ) is balanced. Proof From Smith (1956), there exists an optimal sequence in which the jobs are ordered by nonincreasing value of wi /pi . Hence, there exist optimal sequences ∗ σS\{i} ∈ Π (S \ {i}) and σS∗ ∈ Π (S) such that, for k ∈ S \ {i},
∗ Pk (σS\{i} ) ∪ {i}, if wi /pi > wk /pk ∗ Pk (σS ) = ∗ Pk (σS\{i} ), otherwise.
492
8 Cooperative Supply Chain Scheduling
Then, for any S ⊆ N where i ∈ S, ctail (S) − ctail (S \ {i}) = wi (pi +
ph ) +
h∈N \S
(wi pk − wk pi ).
k∈S | wk /pk >wi /pi
(8.36) Observe that the first term in this expression is the cost of sequencing job i immediately after all the jobs of N \ S, and the negative part of the second term is the cost reduction from any adjacent pairwise interchanges with some job k that move job i later. Now, let S ⊂ T ⊆ N. Then, for U = S, T , from (8.36), ctail (U ) − ctail (U \ {i}) = wi (pi +
h∈N \U
ph ) +
(wi pk − wk pi ).
k∈U | wk /pk >wi /pi
Further, since S ⊂ T , we have h∈N \S ph ≥ h∈N \T ph and {k ∈ T | wk /pk > wi /pi } ⊇ {k ∈ S | wk /pk > wi /pi }. Hence, for all S ⊂ T ⊆ N , ctail (S) − ctail (S \ {i}) ≥ ctail (T ) − ctail (T \ {i}), which from Definition 8.13 establishes that the cost game (N, ctail ) is concave. Therefore, from Bondareva (1963) and Shapley (1967), it is balanced. Remark 8.8 Klijn and Sánchez (2006) prove that the core of the tail game is a subset of the core of the pessimistic game, and therefore from Theorem 8.24 the pessimistic game is also balanced. Also, for games with equal processing times, they describe two efficiently computable allocation rules that are both core solutions of both games. The above analysis can be extended to provide an efficiently computable closed form expression for the Shapley value in the tail scheduling game. Mishra and Rangarajan (2007) provide a concise analysis for this problem, as follows. Let σ ∗ denote an optimal SWPT sequence of the jobs, i.e., w1 /p1 ≥ · · · ≥ wn /pn . Let Pi (σ ∗ ) = {j | wj /pj ≥ wi /pi } and Fi (σ ∗ ) = {j | wj /pj < wi /pi }, i ∈ N . Then, they prove the following result for the Shapley value, φi (ctail), i ∈ N . Theorem 8.25 φi (ctail ) = wi pi + (wi j ∈Pi (σ ∗ ) pj + pi j ∈Fi (σ ∗ ) wj )/2, i ∈ N. We provide an example of the result in Theorem 8.25. Example 8.24 (Shapley Value Calculations in a Tail Scheduling Game) Consider the tail scheduling game in Example 8.23. First, observe that, from Smith (1956), an optimal schedule is σ ∗ = (1, 2, 3), with an optimal cost of 5(1)+4(1+2)+3(1+ 2 + 3) = 35.0. The predecessors and successors of each job in σ ∗ are as follows: P1 (σ ∗ ) = ∅, P2 (σ ∗ ) = {1}, P3 (σ ∗ ) = {1, 2}, F1 (σ ∗ ) = {2, 3}, F2 (σ ∗ ) = {3} and F3 (σ ∗ ) = ∅. Then, φ1 (ctail ) = 5(1) + [5(0) + 1(4 + 3)]/2 = 8.5, φ2 (ctail ) = 4(2) 3 + [4(1) + 2(3)]/2 = 13.0, φ3 (ctail ) = 3(3) + [3(1 + 2) + 3(0)]/2 = 13.5, and i=1 φi (ctail ) = 8.5+13.0+13.5 = 35.0, as required. It is easy to verify, from the
8.4 Scheduling Games
493
coalition values shown in Example 8.23, that these cost allocations are sufficiently small that no coalition has an incentive to leave the grand coalition. Remark 8.9 Mishra and Rangarajan (2007) define various axioms for the tail scheduling game, and show that their Shapley value solution satisfies them. Moreover, they show that any fair and reasonable cost sharing mechanism, under their definitions, is equivalent to the Shapley value solution identified.
8.4.2 Artificial Initial Sequence: Probabilistic Game The cooperative game described here combines features of both the capacity allocation game of Hall and Liu (2010) which is discussed in Sect. 8.6, and the scheduling game of Klijn and Sánchez (2006) discussed in Sect. 8.4.1. A set of manufacturers orders capacity from a common supplier. Manufacturers may coordinate their ordering decisions prior to scheduling decisions being made, in which case there is no predetermined allocation of capacity to orders. Maniquet (2003) studies a similar capacity allocation problem, but assumes unit processing time of each order. He finds the Shapley value (Shapley, 1953) of the cooperative game thus defined. Schulz and Uhan (2010), as discussed in Sect. 8.4.3, consider the least core of a cooperate game defined over a similar capacity allocation problem where each set of manufacturers expects its orders to be processed before all the other orders. Essentially, Klijn and Sánchez (2006) assume highly pessimistic manufacturers, whereas Schulz and Uhan (2010) assume highly optimistic manufacturers. The balancedness of the two resulting games is different: the game is balanced with pessimistic manufacturers and unbalanced with optimistic manufacturers. Interestingly, the Shapley values of the two games are the same (Maniquet, 2003; Mishra & Rangarajan, 2007). The model discussed here is therefore proposed as a more practical and reasonable alternative between these two extreme assumptions, where each set of manufacturers has a probability that its orders are processed first and last. Exact conditions for this cooperative game to be balanced are identified. Hall and Liu (2016) consider a capacity allocation problem where a set of manufacturers orders capacity from a common supplier. The capacity is time sensitive and each capacity unit corresponds to a single time slot. The supplier has available time slots over a limited time horizon. These time slots can be either sufficient or insufficient to process all the manufacturers’ orders. Each processed order generates a value and incurs a scheduling cost for its owner. An unprocessed order has no value or cost for its owner. Order processing cannot be preempted. The manufacturers place their orders for capacity simultaneously and no initial sequence of their orders is known. We investigate how manufacturers can cooperate in making their ordering decisions to receive higher profit. An important question is how manufacturers can share the increased profit from cooperation.
494
8 Cooperative Supply Chain Scheduling
Let N = {1, . . . , n} denote a set of manufacturers. The supplier has a unit available capacity per time slot over a time horizon 1, . . . , T . Each manufacturer i has an order to place, with capacity requirement, i.e., order size pi , value vi if processed, and scheduling cost wi Ci if completed at time Ci , where wi is a nonnegative weight or urgency measure. We assume that each order is profitable even if it completes at time T , i.e., vi ≥ wi T , i ∈ N. Preemption of order processing is not allowed. n Let P denote the total capacity requirement of the n manufacturers, i.e., P = i=1 pi . Since a customer has no incentive to order any capacity at a time slot later than P , the case with sufficient capacity can be modeled as T = P . However, as in the classical scheduling literature, it is useful also to consider the case of insufficient capacity, here defined by T < P . Since we assume that an incomplete order has no value, it follows that every order is either processed completely or not at all. Consider a manufacturer, or equivalently an order, as a player. From the perspective of whether a core allocation exists, assuming that each manufacturer has a single order is not restrictive, because a manufacturer having multiple orders can be viewed as a coalition of multiple manufacturers each having a single order. Let pS = i∈S pi denote the total capacity required by coalition S. We define a head-tail allocation (HTA) characteristic function v(S) for a capacity allocation game (N, v), as follows: v(S) = qA (S, RS,h ) + (1 − q)A (S, RS,t ),
(8.37)
where RS,h is the set of time slots 1, . . . , min{pS , T } in a head allocation allocated with a head probability q, RS,t is the set of time slots P − pS + 1, . . . , T in a tail allocation allocated with a tail probability 1 − q, and for k ∈ {h, t}, A (S, RS,k ) is the value of the jobs processed minus their scheduling cost, in a solution found by an Algorithm A for coalition S using time slots in RS,k . For the purposes of the definition in (8.37), Algorithm A need not be an optimal algorithm. The head probability q is a measure of the degree of optimism of each coalition: a more optimistic coalition would assume a higher value of the head probability. The consideration of head and tail allocations, with total probability of 1, has a useful economic interpretation: each firm incorporates best case (head allocation) and worst-case (tail allocation) scenarios into its decision making. This approach provides a convenient way for firms competing for time sensitive capacity to rationalize their expectations when cooperating over their decisions. The head-tail allocation generalizes the consideration of head-only and tail-only allocations in the literature (Klijn & Sánchez, 2006; Maniquet, 2003; Mishra & Rangarajan, 2007; Schulz & Uhan, 2010). We first consider the capacity allocation game with sufficient capacity to process all orders, i.e., T = P . Smith (1956) shows that the shortest weighted processing time (SWPT) rule, where orders are sequenced by nondecreasing ratio of size to weight, minimizes the total weighted completion time in single-machine processing. Therefore, we assume that Algorithm A in the characteristic function (8.37) uses
8.4 Scheduling Games
495
the SWPT rule and thus is optimal. We show that under a reasonable condition on q, the HTA value defines a convex game for the capacity allocation problem. Theorem 8.26 For the capacity allocation game where the capacity is sufficient and a job’s scheduling cost is a linear function of its completion time, the HTA defines a convex and thus also balanced game if q ≤ 0.5. Moreover, the condition q ≤ 0.5 is also necessary. Proof Consider a player i and two coalitions S1 and S2 , where S1 ⊂ S2 ⊆ N \ {i}. Assume that orders are indexed by the SWPT rule, i.e., w1 /p1 ≥ · · · ≥ wn /pn . Let S1A = {j ∈ S1 | j > i}, and S2A = {j ∈ S2 | j > i}. Let S1B = S1 \ S1A and S2B = S2 \ S2A . Let wS = i∈S wi be the total weight of orders in S ⊆ N . We have [v(S2 ∪ {i}) − v(S2 )] − [v(S1 ∪ {i}) − v(S1 )] = q(vi − wi (pS B + pi ) − wS A pi ) + (1 − q)(vi − wi (P − pS A ) + wS B pi ) 2
2
2
2
−q(vi − wi (pS B + pi ) − wS A pi ) − (1 − q)(vi − wi (P − pS A ) + wS B pi ) 1
1
1
1
= (1 − q)pi (wS B − wS B ) − qwi (pS B − pS B ) + (1 − q)wi (pS A − pS A ) 2
1
2
1
2
1
−qpi (wS A − wS A ) 2
1
≥ [pi (wS B − wS B ) − wi (pS B − pS B ) + wi (pS A − pS A ) − pi (wS A − wS A )]/2 2
1
2
1
2
1
2
1
= [(pi wS B \S B − wi pS B \S B ) + (wi pS A \S A − pi wS A \S A )]/2 2
1
2
1
2
1
2
1
≥ 0, where the first inequality follows from the assumptions that q ≤ 0.5 and S1 ⊂ S2 . The second inequality follows from (a) pi /wi ≥ pj /wj for any j ∈ S2B \ S1B if j exists, which implies pi /wi ≥ pS B \S B /wS B \S B , and (b) pi /wi ≤ pj /wj for any 2
1
2
1
j ∈ S2A \ S1A if j exists, which implies pi /wi ≤ pS A \S A /wS A \S A . Therefore, the 2 1 2 1 game is convex, and thus also balanced from Bondareva (1963) and Shapley (1967). The condition q ≤ 0.5 is also necessary for balancedness. Consider an instance with n = 3, p1 = p2 = p3 = 1, v1 = v2 = v3 = 3, and w1 = w2 = w3 = 1. Let q = 0.5 + δ, where 0 < δ ≤ 0.5. Now, v(N) = 3, and a coalition of any two orders has value 2 + 2δ. If we let (x1 , x2 , x3 ) denote a payoff vector in the core, we must have x1 + x2 ≥ 2 + 2δ, x1 + x3 ≥ 2 + 2δ and x2 + x3 ≥ 2 + 2δ, i.e., x1 + x2 + x3 ≥ 3(2 + 2δ)/2 = 3 + 3δ > 3 = v(N), a contradiction. It follows that, for any q > 0.5, there exists a game instance with an empty core, and thus the game is unbalanced. When capacity is insufficient, i.e., T < P , the condition q ≤ 0.5 does not guarantee balancedness of the game. This is shown by the instance constructed in the proof of Theorem 8.27 below, which shows the intractability of deciding whether a given game instance has a nonempty core. We note that when T < P ,
496
8 Cooperative Supply Chain Scheduling
even computing the value of the grand coalition is binary NP-hard. However, this result does not immediately imply intractability of the core emptiness test. The following result is analogous to that in Theorem 8.46 discussed in Sect. 8.6. Theorem 8.27 The problem of deciding whether an instance of the capacity allocation game with T ≤ P has an empty core is binary NP-hard for any 0 < q ≤ 0.5, even when the weight of each job is 0. Proof By reduction from the following problem. Partition (Garey & Johnson, 1979): Given 2t elements with positive integer sizes a1 , . . . , a2t , where ai < A for i ∈ {1, . . . , 2t}, and 2t does there exist i=1 ai = 2A, a partition S1 , S2 of the index set {1, . . . , 2t} such that i∈S1 ai = i∈S2 ai = A? Given an instance of Partition, we construct an instance of the capacity allocation game. Consider the following four cases. Case 1: 0 < q < 1/3. Let K be the largest integer no greater than 1/q − 2. If 1/q − 2 = K, then let n = 2t + K, T = A, vi = pi = ai for i = 1, . . . , 2t − 1, v2t = p2t = a2t + Kε, vi = pi = A − ε for i = 2t + 1, . . . , 2t + K, and wi = 0 for i = 1, . . . , 2t +K, where 0 < ε < 1/K is a constant. If 1/q −2 > K, then let n = 2t+K+2, T = A, vi = pi = ai for i = 1, . . . , 2t−1, v2t = p2t = a2t +Kε, v2t+1 = 0, p2t+1 = ε, v2t+2 = p2t+2 = ((1/q − 2) − K)A − ε, vi = pi = A − ε for i = 2t + 3, . . . , 2t + K + 2, and wi = 0 for i = 1, . . . , 2t + K + 2, where 0 < ε < min{1/K, ((1/q − 2) − K)A} is a constant. Case 2: q = 1/3. Let n = 2t + 1, T = A, vi = pi = ai for i = 1, . . . , 2t − 1, v2t = p2t = a2t + ε, v2t+1 = p2t+1 = A − ε, and wi = 0 for i = 1, . . . , 2t + 1, where 0 < ε < 1 is a constant. Case 3: 1/3 < q < 1/2. Let n = 2t + 2, T = A, vi = pi = ai for i = 1, . . . , 2t, v2t+1 = 0, p2t+1 = ε, v2t+2 = p2t+2 = (1/q − 2)A − ε, and wi = 0 for i = 1, . . . , 2t + 2, where 0 < ε < 1 is a constant. Case 4: q = 1/2. Let n = 2t, T = A, and for each order i, vi = pi = ai and wi = 0. For example, consider Case 4. We show that the capacity allocation game instance has a nonempty core if and only if the instance of Partition has a solution. (⇒) If the instance of Partition has a solution, then consider the payoff vector (p 1n/2, . . . , pn /2). It is easy to check that the value of the grand coalition value is i=1 ai = A, which is equal to the total payoff. Also, no coalition S can generate a value greater than the payoff pS /2 it receives from the payoff vector. Therefore, the proposed payoff vector is a core allocation. (⇐) If the instance of Partition has no solution, then the grand coalition generates a value that is strictly less than A = P /2. However, each individual order can generate a value pi /2 by itself, and thus the core is empty. In each of the other three cases above, it is similarly straightforward to verify that the instance of the capacity allocation game has a nonempty core if and only if the instance of Partition has a solution.
8.4 Scheduling Games
497
The study of this cooperative game adds to the literature that addresses how, in the absence of an initial solution, a benchmark solution for the evaluation of cost savings in a sequencing game can reasonably be specified.
8.4.3 No Initial Sequence: Penalty Supply chain scheduling games without an initial sequence against which gains can be defined tend to be unbalanced, because cost accumulates more quickly as more jobs are added to a coalition. It is intuitive that, in such a case, cooperation between players may be difficult to sustain. This section considers the use of a penalty to resolve this problem. Section 8.4.4 applies a combination of both a penalty and a subsidy to the same issue. We consider the problem of finding the minimum amount of penalty necessary to penalize each coalition in order to achieve their cooperation. For this purpose, the least core of a cooperate game (N, v) with players N = {1, . . . , n}, as also defined in Sect. 8.2, is the set of cost allocations x ∈ Rn that solves the linear program z∗ = min{z |
i∈N
xi = v(N),
xi ≤ v(S) + z, for S ⊂ N, S = ∅}.
(8.38)
i∈S
In (8.38), z∗ is known as the least core value. In a scheduling problem, the least core value can be interpreted as the minimum penalty required to prevent any coalition from leaving the grand coalition and opening its own machine. As defined in Sect. 2.3.5, a cooperative game with supermodular costs is one that satisfies v(S ∪ {j }) − v(S) ≤ v(S ∪ {j, k}) − v(S ∪ {k}), for all j, k ∈ N, j = k, S ⊆ N \ {j, k}. For general cooperative games with supermodular costs, Schulz and Uhan (2010) show that computing the least core value is a strongly NP-hard problem that cannot even be approximated within a ratio of 17/16, unless P = NP (see Garey & Johnson, 1979). However, they consider a particular scheduling game that has supermodular costs. Let N denote a set of customers. Each customer i ∈ N has a single job i with processing time pi > 0 and a weight or value wi that, in this context, describes the urgency of the task. The jobs need to be scheduled nonpreemptively on a single machine. The scheduling cost is defined as the weighted completion time of the jobs, or nj=1 wj Cj . No initial order is defined for the jobs, hence each job has the same access to any position in the schedule. We assume that the jobs are indexed in their globally optimal sequence defined by Smith (1956), i.e., w1 /p1 ≥ · · · ≥ wn /pn . This implies that v(S) = i∈S wi ij =1|j ∈S pj , for S ⊆ N. The following result shows that, for this game, it is easy to compute a cost allocation x1 , . . . , xn that is in the least core.
498
8 Cooperative Supply Chain Scheduling
Theorem 8.28 The cost allocation xi = (wi
i
p j + pi
n
i = 1, . . . , n,
wj )/2,
(8.39)
j =i
j =1
is an element of the least core of the scheduling game (N, v). Proof For any S ⊆ N, let x(S) ¯ = i∈S xi . Then, for any S ⊆ N , the cost allocation (x1 , . . . , xn ) defined in (8.39) satisfies 2[x(S) ¯ − v(S)] =
=
i
w i pj +
n
i∈S j =1
i∈S j =i
i
n
w i pj +
n
i
w i pj
i∈S j =1|j ∈S
w j pi −
i∈S j =i
i∈S j =1
−
w j pi − 2
i
w i pj
i∈S j =1|j ∈S
w j pi
i∈S j =i|j ∈S
=
i
w i pj +
=
w i pj +
i∈S j =1|j ∈N \S
=
i
w i pj −
i∈N j =1
+
i i∈N j =1
w j pi
i
i
w i pj −
w i pj −
i
w i pj
i∈N \S j =1
i∈S j =1 i
w i pj
i∈N \S j =1|j ∈S
w i pj +
i
w i pj
i∈N \S j =1|j ∈S
i∈S j =1|j ∈N \S
=
n
i∈S j =i|j ∈N \S
i∈S j =1|j ∈N \S i
i
w i pj −
i∈S j =1|j ∈S
i
w i pj
i∈N \S j =1|j ∈N \S
= v(N) − v(S) − v(N \ S).
(8.40)
¯ z¯ ) Define z¯ = maxS⊂N,S=∅ {v(N)−v(S)−v(N \S)}/2. From (8.40), the solution (x, is a feasible solution to the linear program (8.38). Let (x ∗ , z∗ ) be an optimal solution to (8.38). Adding the inequalities x ∗ (S) ≤ v(S) + z∗ and x ∗ (N \ S) ≤ v(N \ S) + z∗ for S ⊂ N, S = ∅ and from x ∗ (N ) = v(N), we have z∗ ≥ [v(N) − v(S) − v(N \ S)]/2,
S ⊂ N, S = ∅.
(8.41)
8.4 Scheduling Games
499
It follows that z∗ ≥ z¯ . Thus, the cost allocation x¯ is an element of the least core of the scheduling game (N, v). We provide the following example of the least core element defined in (8.39). Example 8.25 (Least Core Calculations in a Supermodular Cost Scheduling Game) N = {1, 2, 3, 4}, p = (5, 6, 7, 8), w = (4, 3, 2, 1). From Smith (1956), an optimal sequence is (1, 2, 3, 4) with 4j =1 wj Cj = 4(5) + 3(5 + 6) + 2(5 + 6 + 7) + 1(5 + 6 + 7 + 8) = 115. The coalition values are: v({1}) = 20, v({2}) = 18, v({3}) = 14, v({4}) = 8; v({1, 2}) = 53, v({1, 3}) = 44, v({1, 4}) = 33, v({2, 3}) = 44, v({2, 4}) = 32, v({3, 4}) = 29; and v({1, 2, 3}) = 89, v({1, 2, 4}) = 72, v({1, 3, 4}) = 64, v({2, 3, 4}) = 65. From (8.39), the cost allocations are: job 1: (20 + 50)/2 = 35.0; job 2: (33 + 36)/2 = 34.5; job 3: (36 + 21)/2 = 28.5; and job 4: (26 + 8)/2 = 17.0, where 35.0 + 34.5 + 28.5 + 17.0 = 115.0, as required. The least core value is: (x1 + x3 ) − v({1, 3}) = 63.5 − 44 = 19.5 = 51.5 − 32 = (x2 + x4 ) − v({2, 4}). Intuitively, the coalitions {1, 3} and {2, 4} can be viewed as those which are equally most likely to leave the grand coalition. The cost allocations x1 , . . . , xn also specify the Shapley values for the scheduling game (Mishra and Rangarajan, as discussed in Sect. 8.4.1). However, the problem of computing the least core value requires solution of the problem z∗ =
max {v(N) − v(S) − v(N \ S)}/2,
S⊂N,S=∅
which is equivalent to the classical scheduling problem P2 || at least binary NP-hard (Bruno et al., 1974).
(8.42)
wj Cj , and hence is
8.4.4 No Initial Sequence: Penalty and Subsidy This section, like the previous one, considers supply chain scheduling games without an initial sequence, and as a result, without a core solution. For cooperative game instances where there is no core solution, mechanisms can be developed to sustain players’ cooperation within the grand coalition, and implemented by a central planner. Two general methods are imposition of a penalty on players who may leave the grand coalition (see Sect. 8.4.3), and provision of a subsidy to those who remain. However, potentially problematic issues arise in the use of either mechanism. In the case of penalties, players may believe that they are being unfairly targeted and become dissatisfied. On the other hand, providing a subsidy typically requires the use of resources from outside the game, which involves an opportunity cost for the unavailability of those resources elsewhere. To investigate the complex tradeoff between the use of these two mechanisms, Liu et al. (2018a)
500
8 Cooperative Supply Chain Scheduling
develop a “carrot-and-stick” approach to ensuring cooperation. This approach uses a combination of a penalty and a subsidy. We introduce each mechanism in turn. The problem of finding the minimum penalty z∗ ∈ R for leaving the grand coalition, along with a cost allocation β ∗ ∈ Rn , such that, for any coalition S ⊂ N, its assigned cost β ∗ (S) is not larger than its own cost as a separate coalition c(S) plus the penalty z, can be written as the following linear program: z∗ = min{z | β(N) = c(N), β(S) ≤ c(S) + z, S ⊂ N, z ∈ R, β ∈ Rn }. β,z
(8.43)
The minimum penalty z∗ is the least core value, and the optimal solution β ∗ is the least core cost allocation. In the discussion below, we use the following notation for cost allocations: β ∈ Rn , where β = (β1 , . . . , βn ), and β(s) = i∈s βi , for s ⊆ N. Also, β(i, z) is defined as the value of βi given a penalty z ∈ R. The other alternative for sustaining cooperation is subsidization. The problem of finding the minimum subsidy ω∗ along with a cost allocation α ∗ ∈ Rn that satisfies the coalitional stability constraints can be formulated as the following linear program: ω∗ = minn {c(N) − α(N) | α(s) ≤ c(s), for s ⊆ N}. α∈R
(8.44)
The optimal solution α ∗ is the optimal cost allocation. Here, ω∗ is nonnegative, and it is strictly positive only if the scheduling game (N, c) is unbalanced. The following definition helps to unify the above two mechanisms. Definition 8.14 In a cooperative game (N, c), for any given penalty z ∈ R, consider the following linear program with cost allocations β(s), s ⊂ N , as decision variables: ω(z) = min{c(N) − β(N) | β(s) ≤ c(s) + z, for s ⊂ N, β ∈ Rn }. β
(8.45)
The optimal solution to this linear program, denoted by β(·, z), is a z-penalized optimal cost allocation, and its optimal objective value ω(z) is the z-penalized minimum subsidy. Also, ω(z) is the penalty-subsidy function. This definition of the penalty-subsidy function allows exploration of various combinations of penalty and subsidy. The requirement is that, under the combined effect of a suitable combination of penalty z and subsidy ω(z), the Coalitional Rationality constraints can be satisfied and cooperation of all members within the grand coalition can be achieved. We present an example of how this can be achieved. Example 8.26 (Penalty, Subsidy, and Cost Allocations in a Scheduling Game) Consider a scheduling game defined over the classical scheduling problem 1|| wj Cj . There are four players, N = {1, 2, 3, 4}. Each player k ∈ N has a job with processing time pk and weight wk , where p1 = 5, p2 = 6, p3 = 7, p4 = 8;
8.4 Scheduling Games
501
Table 8.6 Penalty, subsidy, and cost allocations in Example 8.26 Penalty z Subsidy ω(z) β(1, z) β(2, z) β(3, z) β(4, z) 4 i=1 β(i, z) + ω(z)
0.00 55.00 20.00 18.00 14.00 8.00 115.00
5.00 35.00 25.00 23.00 19.00 13.00 115.00
10.00 20.00 29.29 28.00 24.00 13.71 115.00
15.00 9.00 31.62 31.45 27.38 15.55 115.00
19.50 0.00 35.00 34.50 28.50 17.00 115.00
and w1 = 4, w2 = 3, w3 = 2, w4 = 1. Each coalition S ⊆ N minimizes its total weighted completion time by processing its jobs on a single machine. From Smith (1956), the optimal solution is σ ∗ = (1, 2, 3, 4) with cost 4(5) + 3(5 + 6) + 2(5 + 6 + 7) + 1(5 + 6 + 7 + 8) = 20 + 33 + 36 + 26 = 115. The range of tradeoffs between penalty and subsidy is illustrated in Table 8.6. For any given value of the penalty z, the corresponding column in the table represents a vector of cost allocations β(1, z), . . . , β(4, z) to players 1 through 4, respectively. The last row of Table 8.6 shows the total penalty plus subsidization, which in each case equals the optimal total cost of 115. Observe that the last column of Table 8.6 allows for no subsidy, hence the solution shown is found entirely from the application of penalties. The problem of computing, for a given penalty z, the z-penalized minimum subsidy that ensures cooperation, is strongly NP-hard for general scheduling games (Liu et al., 2018a). This result remains true even for some special case games where the computation of the cost c(s) of a coalition s is polynomially solvable. For scheduling games in general, Liu et al. (2018a) develop a cutting plane algorithm. This algorithm starts with a restricted coalition set and finds a solution to a relaxed problem with only a subset of constraints included. It then solves the separation problem δ = min{c(s) + z − s⊂N
β(k, z)}.
(8.46)
k∈s
If δ < 0, then the violated constraint is added to the coalition set. Otherwise, information is obtained to update the search process for optimal z and β(·, z). The computational bottleneck in this process is solving the separation problem (8.46), which in general cannot be performed efficiently. However, for some scheduling games, efficient solution of the separation problem, and thus also of the penalty-subsidy function, is possible. One such game is now described. Consider a scheduling problem with a set of jobs N = {1, . . . , n}, where each job has a processing time pi and needs to be processed using one of m identical parallel machines, to minimize the total completion time. From the perspective of a single player who controls all the jobs, this is the classical scheduling problem Pm || Ci . Over this problem, we define
502
8 Cooperative Supply Chain Scheduling
a scheduling game (N, c), where each player i ∈ N is represented by a job. Each coalition s ⊆ N chooses machines for processing its jobs to minimize the total completion time of its jobs on the m machines. It is well-known (Smith, 1956) that an optimal schedule for problem Pm || Ci can be found by sorting the jobs such that p1 ≤ · · · ≤ pn , i.e., SPT order, and scheduling them sequentially, in index order, on the first machine that becomes available. If job i is scheduled on a machine as the j th to last job on a machine that processes it, it contributes the amount jpi to the total completion time. This is the “positional penalty” approach that is familiar from classical scheduling problems, which describes the number of jobs that are delayed by the processing of job i. Since positional penalties are being used to define costs, it is necessary to work from the back of the schedule to the front. Therefore, we reindex the jobs such that p1 ≥ · · · ≥ pn , i.e., LPT order, and schedule the lower indexed, i.e., longer, jobs first. For each (i, u) with i ∈ {1, . . . , n} and u ∈ {0, 1, . . . , n}, we let f (i, u) denote the minimum objective value of the separation problem for coalition s, given that coalition s ⊆ {1, . . . , i} and |s| = u. These definitions enable the solution of the separation problem using the following dynamic program. Algorithm Separation Preprocessing Index the jobs such that p1 ≥ · · · ≥ pn . Value Function f (i, u) = the minimum objective value of a solution to the separation problem, where s ⊆ {1, . . . , i} and |s| = u. Boundary Conditions f (1, 0) = z, f (1, 1) = p1 − β1 + z; f (i, u) = +∞, if u > i, for i ∈ N. Recurrence Relation For i ∈ {1, . . . , n}, u ∈ {0, . . . , n}: f (i − 1, u), f (i, u) = . f (i − 1, u − 1) + u/mpi − βi . Optimal Solution δ = min1≤u≤v−1 {f (n, u)}. In the recurrence relation, the first term applies when s ∗ does not contain job i, whereas in the second term it does so. If an optimal s ∗ for f (i, u) contains player i, it is optimal to process job i on machine [1 + (u − 1) mod m] as the u/mth to last job, thus contributing u/mpi to the total completion time. The sign of δ in the Optimal Solution step reveals the solution to the separation problem (8.46). Algorithm Separation enables the following result. Theorem 8.29 For the scheduling game (N, c), the separation problem can be solved in O(n2 ) time.
8.5 Project Games
503
Proof Algorithm Separation enumerates all relevant coalitions and hence finds an optimal one, s ∗ . Since i ≤ n and u ≤ n, and the recurrence relation uses O(1) comparisons, the running time is O(n2 ). Further, Liu et al. (2018a) show that the penalty-subsidy function has O(n4 ) breakpoints. This result, and Theorem 8.29 enable the main result that follows. Theorem 8.30 For the scheduling game (N, c), the penalty-subsidy function can be computed in polynomial time. Liu et al. (2018a) extend their methodology to find computationally efficient solution methods for three more general cooperative scheduling games. These games are based on the corresponding classical scheduling problems: (i) The minimization of total completion time on unrelated parallel processors, i.e., Rm || Ci ; (ii) The minimization oftotal weighted completion time on identical parallel processors, i.e., Pm || wi Ci ; and (iii) The minimization oftotal weighted completion time on unrelated parallel processors, i.e., Rm || wi Ci . It is an interesting research challenge to understand the full range of problems for which the methodology of Liu et al. (2018a) can be applied efficiently. See Sect. 8.8 for additional comments.
8.5 Project Games In this section, we discuss two examples of supply chain scheduling games defined on projects. We describe these games as project planning games and project execution games, respectively. A formal definition of a project is a “temporary business endeavor undertaken to create a unique product or service” (Project Management Institute, 2021). More operationally, a project is defined as a business activity composed of several discrete tasks or activities that can be scheduled independently, but may have some precedence relations between them. It is difficult to overestimate the importance of project management as a business process. The global economic value of projects is approximately $27 trillion, representing about 30% of the world’s economic activity (Hu et al., 2015). Background about project management is provided by Klastorin (2012) and Kerzner (2013). Hall (2016) provides an overview of research and teaching opportunities in project management. A major component of successful project management in practice, and also a major focus of research on project management, is the scheduling of the individual tasks, i.e., project scheduling. Efficient project scheduling is needed to ensure timely delivery of the product or service being created, although in practice many projects are delivered late (The Standish Group, 2020).
504
8 Cooperative Supply Chain Scheduling
In practice, projects are rarely centralized operations. Even within a single organization, various resources and departments contribute to the project at different times and under constraints related to their other operations. More generally, external resources are needed to complete the project. In both cases, cooperation is needed to ensure complete and timely contributions to support the project, which motivates the topics discussed in this section. We study two different perspectives on cooperative game theory for project scheduling. One cooperative game perspective, discussed in Sect. 8.5.1, studies projects at the planning stage and associates players not with tasks but with external resourceholding companies. Either individually or within coalitions, those companies can provide resources to the project, but require sufficient compensation for doing so. In this context, within the class of balanced games are two classes of games with useful properties, 1-convex games and big boss games. In these games, the realized details of project execution are not used to evaluate the various solutions obtained. We describe such games as project planning games. A second cooperative game perspective, discussed in Sect. 8.5.2, studies projects that are already executed. This approach views the tasks of a completed project as players who need to share the rewards of early project completion or the costs of project delay. Those rewards or costs are typically defined in contracts with a project client. Then, they should be shared with the players whose performance was responsible for the successful or unsuccessful outcome of the project. We describe such games as project execution games. In the event that a project is early, or expedited, a reward from the project owner is used to define a project execution reward game. When a project is late, which incurs a penalty cost from a contract with the project owner, that cost is used to define a project execution cost game. The work discussed below focuses mainly on the stability of coalitions as defined by the core of the game, although alternative approaches that are more axiomatic are also discussed.
8.5.1 Project Planning Games Curiel (2011) studies situations where a central project company relies on work that is outsourced from external subcontractors to complete a project for a client efficiently. The external companies can cooperate in order to decrease the makespan, or earliest completion time (ECT ), of a project that consists of several tasks. However, they require sufficient compensation to do so. For this purpose, the earliest completion times of individual tasks are equivalent to the early finish times computed under the critical path method (Kelley Jr and Walker, 1959), and are the actual completion times if no task delays or expeditions occur. Since the stochastic performance of the project under actual execution is not modeled here, this analysis can be considered as ex-ante, or occurring at the planning stage of the project. The external companies own resources that can expedite the performance of tasks, and thereby expedite the project.
8.5 Project Games
505
There is a project owner who wants the project to be completed as soon as possible. Indeed, the project owner is willing to pay more for an earlier completion time. The total payment must be allocated among the companies that cooperate to provide their resources. From a cooperative game perspective, the players are the external companies which can provide resources to the project and hence expedite it. Each company must be sure that its own payment, or reward allocation, is sufficient to induce it to cooperate. Since the core of a cooperative game can contain many, even infinitely many, solutions, it is also valuable to study single-point solution concepts in this game, including the τ -value, nucleolus and Shapley value. The earliest completion time of the whole project is the length of the longest path, or makespan. The client compares all the earliest completion times and assigns the project to the company, or coalition of companies, that offers the best one. Companies may decide to work together in coalitions. Companies that decide to work together can combine their resources to create greater reductions and therefore reach a more favorable earliest completion time with a resulting greater payoff from the client that can be shared agreeably among them. Consider a typical project that is defined using the activity-on-arcs format (Kerzner, 2013; Klastorin, 2012). Let V denote the vertices of a network G that represents the project. An arc set A = {A1 , . . . , Am } represents the activities of the project. Let N = {1, . . . , n} denote a set of external resource-owning companies that compete to support the project, but need to be compensated for doing so. The nominal duration of activity Aj , where none of the external companies support it and reduce its duration, is denoted as D(Aj ). If no external companies participate, the project makespan is calculated from the activity durations D(A1 ), . . . , D(Am ). However, each external company i ∈ N can provide a vector of potential activity time reductions rAi 1 , . . . , rAi m . The choice to do so is binary; either the external company participates and provides its available resources in full, or it does not participate. The reduction vector of a coalition S⊆ N of external companies is i denoted as r S = (rAS 1 , . . . , rAS m ), where rAS k = i∈S rAk . As in every practical project, however, each activity Aj has a minimum achievable duration, denoted as L(Aj ). This minimum value is typically defined by physical or logistical limitations of the activity. Thus, the duration function d(Aj ) of activity Aj , if a set S ⊆ N of external companies participates, is given by d(Aj ) = max{D(Aj ) −
rAi j , L(Aj )}.
i∈S
Let M denote the maximum amount that the project owner would be willing to pay for a project completed at time 0. The cost of participation for company i is ci , i ∈ N, which needs to be compensated by the client’s payoff function P (t) = M − pt, where t is the project duration achieved by using the external companies’ resources, and p is an incentive per unit time. The total cost of participation by a coalition S ⊆ N is cS ≡ i∈S ci . A project management situation is defined by A, N, the network structure, the duration functions, and the value of p. The corresponding cooperative project
506
8 Cooperative Supply Chain Scheduling
planning game (N, v) is defined by N and the value of each coalition. Let ECTi denote the earliest completion time that an individual external company can offer to the project company by sharing its resources. Observe that a coalition S only has value if the earliest completion time which it bids to the project company, denoted by ECTS , is at least as good as what the remaining external companies could bid. Thus, for all coalitions S ⊂ N , the value of coalition S is given by
v(S) =
M − p · ECTS − cS , 0,
if ECTS ≤ ECTN \S
otherwise.
(8.47)
In (8.47), the first two terms represent the amount which the project owner is willing to pay for a project with delivery date ECTS and the last term is the cost of coalition S for participating in the project. Assume that the resources of every external company, if hired alone, would generate the same critical path in the project, although with various durations. This assumption is typical of a situation where the external resources being provided are fairly standard and therefore induce similar, although not in general identical, reductions in duration regardless of which company provides them. Given this assumption, Curiel (2011) provides conditions under which this implies that the combined effect of using the resources provided by every possible coalition results in the same critical path, once again with various durations. We denote this critical path by CP . In the following result, Curiel (2011) proves necessary and sufficient conditions for balancedness. Theorem 8.31 Consider a project management situation given by the sets A, N, the precedence graph G, the reduction vectors {r i , i ∈ N}, the duration functions dA (r) = max{D(Ai ) − r, mA } for all A ∈ A , and the payoff function P (t) = M − pt, where every coalition S ⊂ N has the same unique critical path denoted by CP. Further, assume: (i) D(Ai ) − rANi ≥ LAi , i = 1, . . . , A|A | , and (ii) ECTN \{i} ≤ ECT{i} , i ∈ N. Then, the core of the game is nonempty if and only if
M A∈CP
DA
≤ p.
In Theorem 8.31, Condition (i) means that the combined reduction in duration of all the companies working together could not achieve a duration that is smaller than the minimum duration mA of any activity A. Condition (ii) means that no single company dominates, i.e., provides a makespan reduction that is smaller than that provided by all the other companies combined. The result in the theorem can be explained intuitively, as follows. If the penalty for later completion, or equivalently the saving for earlier completion, is sufficiently large, then this provides sufficient
8.5 Project Games
507
incentives for the players to cooperate and maintain stability of the grand coalition. Condition (ii) is modified below in order to study a relevant class of games. The remainder of the discussion of project planning games studies two special cases of such games that have useful properties. First, Driessen and Tijs (1985) introduce the class of 1-convex cooperative games, for which the following definition provides some background. Definition 8.15 An n-person game is called 1-convex if its core (when the core is non-singular) is a regular simplex with n vertices which is obtained from the marginal value vector (as discussed below) by decreasing only one coordinate to obtain an efficient vector. A useful property of this class of games is that reduction to a 1-convex game enables the application of several known properties, as shown below. These games require the following definitions. First, recall the definition of a marginal value vector from (8.3), which we write here as Miv = v(N) − v(N \ {i}), i ∈ N . For a coalition v S ⊆ N , let M (S) = i∈S Miv . Definition 8.16 Recall from (8.4) that the gap function of the game (N, v) is g v (S) =
Miv − v(S),
S ∈ 2N .
i∈S
Then, the game is called 1-convex if 0 ≤ g v (N ) ≤ g v (S),
∅ = S ⊂ N.
Theorem 8.32 Let (N, v) be a project planning game that satisfies the conditions of Theorem 8.31. Then (N, v) is a 1-convex game. Proof The marginal value vector M v of (N, v) is given by Miv = v(N) − v(N \ {i}) = p
rAi − ci ,
i ∈ N.
A∈CP
For the gap function g v ,
−M + p A∈CP DA , if v(S) > 0 g (S) = M (S) − v(S) = p A∈CP rAS − cS , otherwise. v
v
(8.48)
In the first row of (8.48), we have M v (S) − v(S) = p A∈CP rAS − cS − (M − p · ECTS − cS ), which yields the expression shown. In the second row of (8.48), the result follows immediately by setting v(S) = 0. Since the game (N, v) is balanced, we have g v (N ) ≥ 0. Let S ⊂ N . If v(S) > 0, then g v (N ) = g v (S). Alternatively, if v(S) = 0, then
508
8 Cooperative Supply Chain Scheduling
0 ≤ M − p · ECTS − cS = M − p ⇒ −M + p
DA ≤ p
A∈CP
(DA − rAS ) − cS
A∈CP
rAS − cS
A∈CP
⇒ g v (N ) ≤ g v (S). Therefore, 0 ≤ g v (N ) ≤ g v (S) for all S ⊂ N, and hence the game (N, v) is 1convex. Theorem 8.32 enables the use of a previously known result to establish the τ value of this game. Driessen and Tijs (1985) show that, for all 1-convex games, the τ -value and nucleolus coincide, and are given by τi (v) = νi (v) = Miv − g v (N)/n,
i ∈ N.
(8.49)
This result can be applied to find closed form solutions for the τ -value and nucleolus of the game (N, v), as shown by the following result. Theorem 8.33 For a project planning game (N, v) that satisfies the conditions of Theorem 8.31, τi (v) = νi (v) =
N \{i} 1 [M − p · ECTN + (n − 1)p rAi − p rA ] − ci . n A∈CP
A∈CP
Proof From (8.49), we have, for i ∈ N, τi (v) = νi (v) = p
rAi − ci − (−M + p
A∈CP
=
DA )/n
A∈CP
1 [M − p (DA − rAN ) − p rAN + np rAi ] − ci n A∈CP
A∈CP
A∈CP
N \{i} 1 = [M − p · ECTN + (n − 1)p rAi − p rA ] − ci . n A∈CP
A∈CP
Remark 8.10 In the 1-convex game (N, v), the τ -value and nucleolus can be found by dividing the payoff to the grand coalition equally, and then making adjustments that depend on the company’s contribution to the value of the grand coalition. This can be accomplished without computing the coalition values. The contribution of company i to the value of the grand coalition from the reduction in project completion time if it participates is p A∈CP rAi , and company i receives a fraction (n − 1)/n of it. The total contribution of the other companies to the payoff is
8.5 Project Games
509
N \{i} p A∈CP rA , and company i has to pay a fraction 1/n of it. Also, each company is responsible for its own costs. We provide an example of the result in Theorem 8.33. Example 8.27 (τ -Value and Nucleolus Calculations in a 1-Convex Project Planning Game) Let N = {1, 2, 3}, A = {A, B, C, D, E}, M = 1200, and p = 10. The costs are ci = 20, i ∈ N. The precedence constraints, reduction vectors rAi k of the companies, and the duration functions of the activities are shown in Table 8.7. For this example, Table 8.8 shows the earliest completion times, the values of the coalitions, the values of the upper vector mv (S), and the values of the gap function g v (S). If all three companies participate in crashing the project, we have dA (8 + 6 + 12) = 50 − 26 = 24 > mA = 5, dB (12 + 9 + 20) = 45 − 41 = 4 = mB , dC (3+3+5) = 30−11 = 19 > mC = 2, dD (2+5+18) = 30−25 = 5 > mD = 2, and dE (5 + 6 + 10) = 50 − 21 = 29 > mE = 10. Then, the critical path length is max{dA +dC +dE , dB +dD +dE } = max{24+19+29, 4+5+29} = max{72, 38} = 72, and the critical path is (A, C, E). Finally, Table 8.9 shows the calculations for the equal distribution of the payoff to the members of the grand coalition, followed by the adjustments described in Remark 8.10. Observe that the τ and nucleolus values in the last row are found by adding all the entries in the column. Observe that the total allocation is (320 + 290 + 650)/3 = 420 = M − p · ECTN − i∈N ci , as required. Table 8.7 Data of Example 8.27 Activity A Predecessors Company 1 8 Company 2 6 Company 3 12 dAk (r) max{50 − r, 5} Table 8.8 Preliminary calculations in Example 8.27
Table 8.9 Solutions in Example 8.27
B
C A 12 3 9 3 20 5 max{45 − r, 4} max{30 − r, 2} S ECTS v(S) M v (S) g v (S)
{1} 114 0 140 140
{2} 115 0 130 130
{3} 103 0 250 250
D B 2 5 18 max{30 − r, 2}
E C, D 5 6 10 max{50 − r, 10}
{1, 2} 99 170 270 100
{2, 3} 88 280 380 100
{1, 3} 87 290 390 100
{1, 2, 3} 72 420 520 100
i (M − pECTN )/3 2p A∈CP rAi /3 N \{i} −p A∈CP rA /3
1 160 320/3
2 160 100
3 160 180
−140
−430/3
−310/3
−ci τi (v) = νi (v)
−20 320/3
−20 290/3
−20 650/3
510
8 Cooperative Supply Chain Scheduling
Besides 1-convex games, the class of balanced project planning games includes another interesting subclass. Muto et al. [1988] introduce big boss games, as follows. Definition 8.17 A game (N, v) is a big boss game if there exists a single player i ∗ ∈ N such that (i) v(S) = 0, if i ∗ ∈ S. (ii) v(N) − v(S) ≥ i∈N \S [v(N) − v(N \ {i})], if i ∗ ∈ S. In this case, player i ∗ is the big boss. Intuitively in a big boss game one player, who is here denoted by i ∗ , dominates. A coalition that does not include i ∗ has no value, as in Condition (i). Moreover, the loss of value from the grand coalition if i ∗ leaves is greater than the total loss if all the other players leave, as in Condition (ii). However, by working together, the other players can benefit from working with the big boss. Clearly, there cannot exist more than one big boss in a game. Theorem 8.34 Consider a project planning game (N, v) that satisfies the conditions of Theorem 8.31 except ECTN \{i} ≤ ECTi , i ∈ N . Then, (N, v) is a big boss game, where player i ∗ is the big boss. Proof Let i ∗ be such that ECTi ∗ < ECTN \{i} . There are two cases. Case 1. Let S ⊂ N \ {i ∗ }. Then, ECTS =
(DA − rAS )
A∈CP
≥
N \{i ∗ }
(DA − rA
)
A∈CP
>
∗
(DA − rAi )
A∈CP
≥
N \S
(DA − rA
)
A∈CP
= ECTN \S . The first inequality follows from S ⊂ N \ {i ∗ }, and rAi j ≥ 0, i ∈ N, j = 1, . . . , m. The second inequality follows from the excepted condition in the theorem statement. The third inequality follows from i ∗ ∈ N \ S, and rAi j ≥ 0, i ∈ N, j = 1, . . . , m. Since coalition N \ S provides a smaller completion time than coalition S, we have v(S) = 0, i.e., Condition (i).
8.5 Project Games
511
Case 2. Consider a coalition S with i ∗ ∈ S. Then, v(N) − v(S) = p(ECTS − ECTN ) − cN \S N \S =p rA − cN \S A∈CP
=
[v(N) − v(N \ {i})].
i∈N \S
Theorem 8.35 Let (N, v) be a project planning game that satisfies the conditions of Theorem 8.34, and is therefore a big boss game, where player i ∗ is the big boss. Then, DA τi ∗ (v) = νi ∗ (v) = φi ∗ (v) = M − p A∈CP
+p
(rAN + rAi∗ )/2 − (cN + ci ∗ )/2,
and
A∈CP
τi (v) = νi (v) = φi (v) = (p
rAi − ci )/2,
i ∈ N \ {i ∗ }.
A∈CP
Proof From Muto et al. (1988) and Theorem 8.34 the game is convex, and τ (v) = ν(v) = φ(v). Hence, it is sufficient to show the result for τ (v). From Driessen and Tijs (1985), the τ -value for a convex game (N, v) is given by λ(v(1), . . . , v(n)) + (1 − λ)(M1v , . . . , Mnv ), where the value of λ is uniquely determined by the Efficiency property v v τ i∈N i (v) = v(N), and (M1 , . . . , Mn ) is the marginal value vector. Now, since (N, v) is a convex big boss game, v(i) = 0 for i ∈ N \ i ∗ , and Miv∗ = v(N). Hence,
τi (v) = λv({i ∗ }) + (1 − λ)[
Miv + v(N)] = v(N)
i∈N \{i ∗ }
i∈N
⇔ λv({i ∗ }) + (1 − λ)
Miv − λv(N) = 0
i∈N \{i ∗ }
⇔λ=
v i∈N \{i ∗ } Mi v(N) − v({i ∗ }) + i∈N \{i ∗ } Miv
= 1/2,
where the last equality follows from v(N) − v({i ∗ }) = p
A∈CP
N \{i ∗ }
rA
− cN \{i ∗ } =
i∈N \{i ∗ }
Miv .
512
8 Cooperative Supply Chain Scheduling
It follows that τi ∗ (v) = [v({i ∗ }) + v(N)]/2 ∗ = M −p (DA − rAi ) − ci ∗ + M − p (DA − rAN ) − cN /2 A∈CP
= M −p
DA + p
A∈CP
A∈CP
(rAN
∗ + rAi )/2 − (cN
+ ci ∗ )/2.
A∈CP
Finally, for i ∈ N \ {i ∗ }, we have τi (v) = Miv /2 = p(
rAi − ci )/2.
A∈CP
We present an example of the payment calculations in a big boss project planning game. Example 8.28 (τ -Value, Nucleolus, and Shapley Value Calculations in a Big Boss Project Planning Game) Let N = {1, 2, 3}, A = {A, B, C, D, E}, M = 1200, and p = 10. The precedence constraints, reduction vectors of the companies, and the duration functions of the activities are shown in Table 8.10. The costs are ci = 20, i ∈ N. For this example, Table 8.11 shows the earliest completion times, the values of the coalitions, the values of the upper vector, and the values of the gap function. Observe that this is a big boss game, where player 3 is the big boss. If all three companies participate in crashing the project, we have dA (8 + 6 + 22) = 50 − 36 = 14 > mA = 5, dB (12 + 9 + 20) = 45 − 41 = 4 = mB , dC (3 + 3 + 18) = 30 − 24 = 6 > mC = 2, dD (2 + 5 + 18) = 30 − 25 = 5 > mD = 2, and dE (5 + 6 + 24) = 50 − 35 = 15 > mE = 10. Then, the critical path length is max{dA +dC +dE , dB +dD +dE } = max{14+6+15, 4+5+15} = max{35, 24} = 35, and the critical path is (A, C, E). Since this is a big boss game, the Shapley value, τ -value and nucleolus all assign to the big boss, company 3, the amount [v(N) + v({3})]/2 = (790 + 520)/2 = 655. Table 8.10 Data of Example 8.28 Activity A Predecessors Company 1 8 Company 2 6 Company 3 22 dAk (r) max{50 − r, 5}
B
C D A B 12 3 2 9 3 5 20 18 18 max{45 − r, 4} max{30 − r, 2} max{30 − r, 2}
E C, D 5 6 24 max{50 − r, 10}
8.5 Project Games Table 8.11 Preliminary calculations in Example 8.28
513 S ECTS v(S) M v (S) g v (S)
{1} 114 0 140 140
{2} 115 0 130 130
{3} 66 520 790 270
{1, 2} 99 0 270 270
{1, 3} 50 660 930 270
{2, 3} 51 650 920 270
{1, 2, 3} 35 790 1060 270
Also, Company 1 receives M1v /2 = 140/2 = 70, and Company 2 receives M2v /2 = 130/2 = 65, hence the total payoff is 655 + 70 + 65 = 790, as required. There are several reasons why many projects require the use of external resources to reduce project completion time. This becomes necessary, for example, to address market competition, or to compensate for previous delays or unexpected project complications. The use of external resources to expedite a project is a standard procedure for crashing a project. The work of Curiel (2011) on cooperative project planning games provides decision support for this procedure. Besides the impressive statistics on the influence of project management described at the beginning of Sect. 8.5, the importance of this topic is further emphasized by the fact that the global market for outsourced services in 2019 was more than $92 billion (Statista, 2021).
8.5.2 Project Execution Games The concept of decentralized scheduling for supply chain scheduling problems naturally includes project scheduling problems where different players are responsible for various parts of a project. An important difference from the discussion in Sect. 8.5.1 is that here we consider a project that has already completed. We discuss the fair compensation of players within a project company. Each player has completed his task(s) and the resulting execution times may result in an increase or a reduction in the overall delivery time of the project, or makespan. If the realized project makespan is less than planned, then the project owner provides a reward. Alternatively, if the project takes longer than expected, penalties defined by a project contract may be required. Project execution games model how such rewards or penalties should be shared among the players. However, from the interconnectedness of many tasks in a project through the project network, a reduction or increase in makespan is not uniquely attributable to a single player, but rather to a subset of players. This subset of players may be viewed as a coalition for the purposes of cooperative games. An important issue is how to compensate each coalition and individual player for their performance during project execution. Projects rarely complete exactly on time. Occasionally, they compete early, but as the long series of CHAOS reports (The Standish Group, 2020) documents, frequently they complete late. A consistent stream of literature studies project execution games. In such games, there are many players, and each player controls
514
8 Cooperative Supply Chain Scheduling
one or more tasks of the project, for example, by deciding how long it takes, within some limits. If the project is delayed and therefore incurs penalties specified in a contract with a project client, an issue arises as to how to allocate costs to the players to recover those penalties. Symmetrically, if a project is completed early and therefore receives an incentive reward from the project client, that reward needs to be shared equitably among the players. While the main focus of our discussion is on the identification of single-player reward or cost allocations, following that analysis we also provide a discussion of set-valued allocations. Brãnzei et al. (2002) analyze the problem of sharing the total delay of a project within the framework of taxation. They propose a two-step allocation rule: first, the total delay of the project is allocated among the paths based on the aggregated delays observed; second, the delay assigned to a path is shared among the activities in that path proportionately to their delay. Castro et al. (2007), also in the same delayed project setting, propose a parameterized family of rules stemming from the cost sharing literature. However, these works do not directly make use of game theory concepts. Estévez-Fernández et al. (2007) is apparently the first study to approach the related allocation problem directly from a game theoretical point of view and to analyze both delayed and expedited project problems. Still, that study is restricted to project problems where the penalty or reward function is proportional with respect to the total delay or expedition of the project. Estévez-Fernández (2012) extends the above work by analyzing project problems with arbitrary but nondecreasing penalty and reward functions, and also by taking into account whether an activity can be started before its planned starting time. A first step is to allocate the reward associated with the delay or expedition of each path (i.e., the total delay or total expedition created by its activities) among its activities, using a reward or cost sharing mechanism. However, the total amount allocated from studying the performance of the paths may exceed the total reward or penalty of the project. Then, in a second step, a cooperative game is used to share the reward of the project among all its activities, using the initial allocations as reference points. We define a project as (A, {Pi }i∈A ), where A is the set of activities and Pi is the set of predecessors of i, i.e., the tasks that must complete before task i starts. Symmetrically, let Fi = {j ∈ A | i ∈ Pj } denote the set of activities that cannot start until task i has completed. We identify a project with the set of all its paths {N1 , . . . , Nm }. Thus, we consider a project problem ({N1 , . . . , Nm }, p, r, R), where {N1 , . . . , Nm } is the set of paths through the project network, p denotes planned activity times, r denotes realized activity times after execution, and R is a nondecreasing reward function of the difference between the planned and real times of the overall project. In practice, p is determined by a project manager before the start of project execution. However, r represents data that is collected during project execution, for example, as part of standard project monitoring processes such as Earned Value Management (Klastorin, 2012). Since our perspective is that the project has already completed, all the above information is assumed to be known. We define the delay of activity i as d(i) = max{r(i) − p(i), 0},
i ∈ A,
8.5 Project Games
515
and the expedition of activity i as e(i) = max{p(i) − r(i), 0},
i ∈ A.
Associated with this project problem, we define a project execution game where the set of players is the set of activities, and the value of a coalition is determined by taking into account the performance of both delayed and expedited activities. A project execution game can be a project execution reward game in the case of expedition, or a project execution cost game in the case of delay. The duration of a path Nα , denoted as D(Nα ), is the sum of activity durations on the path. The project length D is the maximum length of any path. Let D(p) denote the planned makespan of the project, which is known. Finally, let D = {i ∈ A | r(i) > p(i)} denote the set of delayed activities, and E = {i ∈ A | r(i) < p(i)} the set of expedited activities, Definition 8.18 For any path Nα in the project network, the slack of Nα , denoted by slack(Nα , p), is given by slack(Nα , p) = D(p) − D(Nα ), and represents the maximum delay that can occur on the path without delaying the overall project. In computing the value of a coalition S ⊆ A we assume that: (a) The durations of all delayed activities in A are as realized during project execution. (b) The durations of all expedited activities outside the coalition are at their planned values. Intuitively, for any coalition S ⊆ A, this computation involves taking the observed durations of all the tasks, and recomputing the performance of the project by adjusting the observed durations of the expedited activities outside S to their planned values. These assumptions can be viewed as pessimistic, since all responsibility for the delay is incurred by the coalition. See Klijn and Sánchez (2006) in Sect. 8.4.1 for another example of pessimistically determined value of a coalition. Such definitions make it easier to achieve cooperation. Recall that D(p) denotes the planned duration of the project. Then, following the above discussion, we let D(p|E \S , r|A\(E \S) ) denote the realized duration of the project, as adjusted for the performance of the tasks of coalition S. In this expression, the condition on p implements assumption (b) above by replacing the realized values of the expedited activities in A \ S with their planned values, and the condition on r implements assumption (a) above by using the realized values of all delayed activities in A in calculating the adjusted project duration. If the adjusted duration of the project is larger than D(p), then we have a project execution cost game for coalition S. Otherwise, the value of the coalition is positive and is determined through a project execution reward game for coalition S. Formally, given the project problem described above, a cost sharing mechanism
516
8 Cooperative Supply Chain Scheduling
y, and a surplus sharing mechanism z, we denote by (A, uyz ) the associated project execution game, where the characteristic function of the project game is given by
uyz (S) =
−cy (S), vz (S),
if D(p|E \S , r|A\(E \S) ) ≥ D(p), if D(p|E \S , r|A\(E \S) ) < D(p),
(8.50)
where cy (S) and vz (S) are defined below for the cost game and the reward game, respectively. We first consider the cost game, where there is a delay in project execution. In order to define the characteristic function of this game, the pessimistic assumption is made that the activities in a path Nα cannot make use of either (a) any slack that existed in the original plan defined by the project network and p, or (b) any expedition in the execution of other tasks in the path. Therefore, activities have to pay the cost associated with their total delay. We let yiα represent the share of the total delay on path Nα for which task i is accountable under assumptions (a) and (b). Based on this reference point, the activities of coalition S that are in path Nα are not held responsible for more than the total cost assigned to them by the cost sharing mechanism. Thus, we define α . / cy (S) = max min yi , K D(Nα , p|E \S , r|A\(E \S) ) − D(p) , α∈P (S)
i∈Nα ∩S
(8.51) where P(S) represents the set of paths in which one or more tasks of S appear, and K(t) = −R(−t) if t > 0 and K(t) = 0 otherwise. Observe that cy (A) = K(D(r) − D(p)). The cost game (A, cy ) defined in this way is not concave. Nonetheless, EstévezFernández (2012) proves the following result. Theorem 8.36 Let ({N1 , . . . , Nm }, p, r, a, R) be a project problem, and let y be a cost sharing mechanism as defined above. Then, the project execution cost game (A, cy ) has a nonempty core. We provide a brief outline of the proof of Theorem 8.36, which considers a related taxation game that is known to be concave. It is shown that the values of the grand coalition A are equal in the two games. Now, consider a coalition S ⊂ A. It is shown that the value of S in the project execution game is greater than or equal to that in the taxation game. Hence, coalition S will not defect in the project execution game whenever it does not do so in the taxation game. The result then follows from the balancedness of the taxation game. We refer the reader to Estévez-Fernández (2012) for additional details. Next, we consider the reward game for a situation where project execution is expedited. First, consider an optimistic allocation of the part of the expedition that each path could contribute to among the activities of that path. Then, using these initial allocations for reference, we define the characteristic function of the game.
8.5 Project Games
517
We now provide an intuitive explanation of the process and refer the interested reader to Estévez-Fernández (2012) for full details of the sharing mechanism z. The following definition is needed for this explanation. Definition 8.19 For any path Nα in the project network, the remaining slack of Nα , denoted by rslack(Nα , p, r), is the slack of Nα if its delayed activities had acted according to plan, i.e., rslack(Nα , p, r) = slack(Nα , p) − i∈Nα ∩D d(i), where slack(Nα , p) is specified in Definition 8.18. Let J1 denote the set of paths with remaining slack equal to zero, and then for k ≥ 2 let Jk contain all paths that would have remaining smallest slack if the paths in J1 , . . . , Jk−1 were not present. Then clearly, rslack(Ji ) ≤ · · · ≤ rslack(Ji+1 ), for i ≥ 1. Then, we define g such that rslack(Jg ) < D(p) − D(r) ≤ rslack(Jg+1 ) if D(p) > D(r), and g = 0 otherwise. For k = 1, . . . , g, let F k represent the marginal contribution of the paths in J1 , . . . , Jk to the total expedition or reward. Thus,
F = k
R(rslack(Jk+1 )) − R(rslack(Jk )),
if 1 ≤ k < g
R(D(p) − D(r)) − R(rslack(Jg )),
if k = g.
(8.52)
g Observe that k=1 F k = R(D(p) − D(r)). Two further definitions are necessary. We define ziα as the maximum amount that activity i can claim according to the reward sharing mechanism if its path Nα is rewarded with the total expedition that it can bring to the project. Then, we define the vector of maximal rewards, f z , by fiz = maxα|Nα $i {ziα }, i ∈ A, as the maximum reward that activity i can claim from the expedition of the project when the sharing mechanism z is used. Intuitively, this definition is optimistic, since each activity receives the full reward that is attributable to it. The characteristic function of the game (A, vz ) is then defined as vz (S) =
g . k / F − wzk (S) ,
(8.53)
k=1
where wzk (S) ≥ 0 represents the part of the contribution to the total reward F k that players in S maximally would have to give to players in the paths corresponding to ∪kl=1 Jl outside S, taking into account rewards previously given, and vz (A) equals the total expedition of the project. More formally, wzk (S) = min
fiz −
i∈(∪kl=1 Njl )\S
for k ∈ {1, . . . , g}, where Njl = ∪α∈Jl Nα .
k−1 l=1
wzl (S), F k ,
(8.54)
518
8 Cooperative Supply Chain Scheduling
For the reward game, Estévez-Fernández et al. (2007) and Estévez-Fernández (2012) prove the following result. Theorem 8.37 Let ({N1 , . . . , Nm }, p, r, a, R) be a project problem, and let z be a surplus sharing mechanism. Then, the project execution reward game (A, vz ) is convex. We refer the reader to Estévez-Fernández (2012) for a proof. As a result of Theorem 8.37, the reward game is balanced from Bondareva (1963) and Shapley (1967). Theorems 8.36 and 8.37 are now used to establish the following unifying result. Recall that D denotes the set of delayed activities, and E the set of expedited activities. Theorem 8.38 Project execution games have a nonempty core. Proof Let ({N1 , . . . , Nm }, p, r, a, R) be a project problem. Let y be a cost sharing mechanism and z be a reward sharing mechanism, and let (N, uyz ) as defined in (8.50) be the associated project execution game. We consider these two games separately. For project execution cost games where D(p) ≤ D(r), then D(p) ≤ D(r) ≤ D(p|E \S , r|N \(E \S) ) for S ⊂ N, and uyz (S) = −cy (S) for S ⊂ N. Then, from Theorem 8.36, (N, uyz ) has a nonempty core. For project execution reward games where D(p) > D(r), then uyz (N ) = vz (N ) and uyz (S) ≤ vz (S) for S ⊂ N. From Theorem 8.37, the game (N, vz ) is convex ), then and therefore has a nonempty core. Let x be in the core of (N, v z i∈N xi = vz (N ) = uyz (N ) and i∈S xi ≥ vz (S) ≥ uyz (S) for S ⊂ N. Therefore, x is in the core of the game (N, uyz ). We provide an example of the cost and reward allocation rules developed above. Example 8.29 (Allocation of Costs and Rewards in a Project Execution Game) Consider a project problem with three activities N = {A, B, C}, where both activities A and B are predecessors of C. There are two paths, which we designate as N1 = (A, C) and N2 = (B, C). The planned activity times are p(A) = 15, p(B) = 10 and p(C) = 8. The realized activity times are r(A) = 7, r(B) = 8 and r(C) = 12. The available times of the activities, i.e., the times at which their predecessors have all completed processing, are 0 for activities A and B, and 7 for activity C. The project cost and reward function is ⎧ 3 ⎪ ⎪ ⎨t − 100, if t < 0 R(t) = 0, if t = 0 ⎪ ⎪ ⎩t 3 + 200, if t > 0. Now, activity A achieves an expedition of 15 − 7 = 8 units, but since activity B finishes at time 8, one unit of this expedition is wasted from the perspective of minimizing project completion time. Thus, activity C starts at time 8 and finishes at
8.5 Project Games
519
Table 8.12 Project execution game in Example 8.29 S {A} Makespan 10 + 12 = 22 −cy (S) 0 vz (S) 201 uyz (S) 201
{B} 15 + 12 = 27 0 0 0
{C} 15 + 12 = 27 −164 0 −164
{A, B} 8 + 12 = 20 0 227 227
{A, C} 10 + 12 = 22 0 201 201
{B, C} 15 + 12 = 27 −164 0 −164
{A, B, C} 8 + 12 = 20 0 227 227
time 20. Then D(p) − D(r) = 23 − 20 = 3 = t, and a reward of R(3) = 227 is available for allocation. Now, from (8.52), we have F 1 = R(1) − R(0) = 201 and F 2 = R(3) − R(1) = 227 − 201 = 26. The coalition values of the game are shown in Table 8.12. In Table 8.12, the makespan for a coalition S is computed using the planned times for activities in E \ S and realized activity times for all other activities, i.e., D(p|E \S , r|N \(E \S) ). The core of this game is the convex hull of the vectors (391, 0, −164), (365, 26, −164), (201, 26, 0) and (227, 0, 0). The above discussion focuses on the identification of single-player reward and cost allocations. However, in some practical situations, the project manager cannot reasonably expect delayed activities to compensate other activities. In such situations, a set-valued allocation that we now propose may be easier to implement. It uses the analysis of single-player solutions above, and the following principles: (i) If the project is exactly on time, then no payments are made or received. (ii) If the project is delayed, then there should be a solution in which the delayed activities pay exactly the total cost associated with the total delay, i.e., the expedited activities are not compensated. (iii) If the project is expedited, then there should be a solution in which expedited activities get exactly the total reward associated with their total expedition, i.e., the delayed activities do not need to compensate the expedited activities. This discussion leads to the following result. Theorem 8.39 Let ({N1 , . . . , Nm }, p, r, R) denote a project problem. Let (N, uyz ), as defined in (8.50), be the associated project execution game. (i) If the project is delayed, then there exists a core solution x to the game (N, uyz ) such that xi = 0 for i ∈ N \ D. (ii) If the project is exactly on time, then x = 0 is a core solution to the game (N, uyz ). (iii) If the project is expedited, then there exists a core solution x to the game (N, uyz ) such that xi = 0 for i ∈ N \ E . Proof (i) If D(p) < D(r), then D(p) < D(r) ≤ D(p|E \S , r|N \(E \S) ) for S ⊂ N , and uyz (S) = −cy (S) for S ⊂ N. Let αˆ ∈ {1, . . . , m} be such that D(r) =
520
8 Cooperative Supply Chain Scheduling
D(Nαˆ , r), i.e., the path Nαˆ is responsible for the total delay of the project. . Consider a taxation game (N, E αˆ , C αˆ ) where E αˆ = K i∈Nαˆ (d(i) − e(i)) − / slack(Nαˆ , p) is the amount of tax that must be collected, K(·) is a penalty function for late project completion, and the ability of the players to pay is given by ciαˆ = yiαˆ if i ∈ Nαˆ and ciαˆ = 0 if i ∈ N \ Nαˆ . From the proof of Theorem 8.38, the core of the taxation game is a subset of the core of the project execution cost game. Since any x in the core of the taxation problem satisfies 0 ≤ x ≤ cαˆ , we have xi = 0 for i ∈ N \ D. (ii) If D(p) = D(r), then D(p) = D(r) ≤ D(p|E \S , r|N \(E \S) ) for S ⊂ N, and therefore uyz (S) = −cy (S) ≤ 0, for S ⊂ N. Also, uyz (N ) = 0 and hence x = 0 is a core solution. (iii) If D(p) > D(r), then uyz (N ) = vz (N ) and uyz (S) ≤ vz (S), for S ⊂ N. Then, the core of the game (N, vz ) is a subset of the core of the game (N, uyz ). Since fiz = 0 for i ∈ N \ E , it follows that vz (S ∪ {i}) = vz (S) for i ∈ N \ E , and therefore xi = 0 for every x in the core of the game (N, vz ) and i ∈ N \ E . The results in Theorem 8.39 improve the implementability of the allocation rules described in the above analysis. Remark 8.11 An alternative approach to the analysis of project performance is provided by Castro et al. (2007). That work proposes desirable properties of separability, non-manipulability by splitting, and independent slack. Since there are some features of the allocations achieved by this analysis that are not consistent with the model of Estévez-Fernández (2012), but which nonetheless provide a valuable alternative perspective, we refer the reader to that work.
8.6 Capacity Allocation Games This section demonstrates the synergistic use of optimization and cooperative game methodologies within a supply chain scheduling context. Hall and Liu (2010) consider a supply chain that includes a manufacturer, several distributors, and customers. The optimization problems faced by the manufacturer and the distributors are described in Sect. 8.6.1. Initially, the supply chain is considered as uncoordinated, and discussed in Sect. 8.6.2. Following the placement of orders by the distributors, the manufacturer may determine that its capacity is insufficient to meet all those orders. In this case, the manufacturer’s capacity allocation problem determines how much capacity to allocate to each distributor. Following this distribution, the distributors can resubmit their orders under this new constraint. However, there is the possibility to improve their overall profitability by submitting their orders together; this problem forms a cooperative distributors’ game. Finally, it is also possible for the manufacturer and the distributors to coordinate their
8.6 Capacity Allocation Games
521
decisions to improve the profit of the whole supply chain; this problem forms a cooperative supply chain game, which is discussed in Sect. 8.6.3.
8.6.1 Supply Chain Scheduling Problems Let M = {1, . . . , m} denote the m products produced by the manufacturer, and N = {1, . . . , n} denote the n distributors. Let q = mn. We assume that only a single order can be processed at any time by the manufacturer, hence capacity and production time are equivalent measures. Let T > 0 denote the manufacturer’s available production capacity. An order from distributor j for one or more units of product i is denoted by νij . Let pij denote the capacity required by order νij . We allow the allocation of fractional units of capacity. Let Pj = i∈M pij , and Pmax = maxj ∈N {Pj }. We allow orders to be filled either fractionally, or only entirely, by the manufacturer. The manufacturer allocates capacity yij to order νij . If partial orders are allowed, then 0 ≤ yij ≤ pij ; otherwise, yij ∈ {0, pij }. Each order consists of a single product, and we assume that the entire order quantity is delivered at the same time, which reduces transportation and stocking costs. Therefore, we only consider schedules where no preemption is allowed in the processing of the orders. However, different orders from the same distributor may be delivered by the manufacturer at different times. Suppose each order νij generates a revenue uij for the manufacturer and a profit vij for distributor j . Then, the revenue per unit of capacity from order νij is uij = uij /pij for the manufacturer, and the profit per unit of capacity is v ij = vij /pij for distributor j . This model allows lot splitting (Trietsch & Baker, 1993). In practice, combined orders are often split for delivery purposes in order to improve customer service, especially for time-sensitive products (Chen, 2010). Given a schedule σ of orders, let Cij (σ ) denote the completion time of each order νij . Let S denote the set of orders scheduled. The manufacturer maximizes its total profit, which is its revenue from the orders processed less its scheduling cost. The scheduling cost is the total weighted completion time, νij ∈S wij Cij (σ ), where wij represents either a holding cost per unit time or the value already added to order νij . This is a widely used measure of work-in-process inventory cost in manufacturing systems (Pinedo, 2016). We assume that the cost of a partially filled order is proportional to its capacity requirement. Thus, for a partially filled order with processing time yij < pij , the weight of the order is wij yij /pij . Each distributor j ∈ N is allocated capacity Xj ≤ Pj by the manufacturer. Let X = j ∈N Xj ≤ T . Each order νij is given a maximum resubmittable size pˆ ij ≤ pij by the manufacturer. Let Pˆj = i∈M pˆ ij , and Pˆmax = maxj {Pˆj }. Let vˆij = pˆ ij vij /pij be the profit of order νij with size pˆ ij . Let V denote the maximum profit of the grand coalition.
522
8 Cooperative Supply Chain Scheduling
8.6.2 Uncoordinated Supply Chain In this section, we consider a manufacturer which has received orders that it cannot meet in full. In Sect. 8.6.2.1, we study the manufacturer’s initial capacity allocation problem. In Sect. 8.6.2.2, we study the manufacturer’s problem of scheduling the distributors’ revised orders. The distributors’ problem of resubmitting orders is then studied, with partial orders allowed in Sect. 8.6.2.3, and with only full orders allowed in Sect. 8.6.2.4.
8.6.2.1
Manufacturer: Capacity Allocation
We consider the manufacturer’s problems of scheduling initial orders and also of scheduling revised orders submitted by the distributors. We first introduce two simple and widely used rules for capacity allocation, Proportional Allocation (PA) and Linear Allocation (LA), respectively (Cachon & Lariviere, 1999; Laffont, 1988; Lee et al., 1997). The PA rule allocates capacity to each distributor proportionately to its capacity requirement: Xj = min{Pj , Pj T /
Pk }.
k∈N
The LA rule awards each distributor j its capacity requirement minus the common deduction that satisfies the capacity constraint, or 0 if this difference is negative. If we index the distributors by nonincreasing capacity requirements, i.e., P1 ≥ · · · ≥ Pn , then: ⎧ ⎪ ⎪ ⎨ ˜ Xj = Pj − n1˜ max{0, nk=1 Pk − T }, if j ≤ n, ˜ ⎪ ⎪ ⎩0, otherwise, where n˜ is the largest integer no greater than n such that Pn˜ − max{0, nj˜ =1 Pj − T }/n˜ ≥ 0. These allocation rules are equitable between the distributors, in that the capacity allocation is nondecreasing in the capacity requirement. However, both the PA and LA rules are based solely on order requirements. Since they do not consider revenue or scheduling cost, the resulting capacity allocations may generate small revenues and large costs for the manufacturer. To resolve this problem, we propose the following algorithm, which integrates both equity considerations and scheduling information into the capacity allocation decisions. Let r > 0 denote a measure of the bargaining power of the distributors, relative to that of the manufacturer. Following presentation of the algorithm, further details of the steps are discussed below.
8.6 Capacity Allocation Games
523
Proportional Allocation Algorithm (PAAr) 1. Given uij , pij , wij , T and r. 2. The manufacturer finds a schedule that maximizes its total net profit, subject to the capacity constraint. Suppose in this schedule each order νij is processed at . size pij 3. The manufacturer allocates capacity Xj = min{Pj , Pj T / k∈N Pk } to distributor j , for j = 1, . . . , n. 4. The manufacturer allocates a set of resubmittable orders with total capacity requirement Pˆj ≥ rXj to distributor j , for j = 1, . . . , n. Allocate all the orders that appear in the manufacturer’s optimal schedule in Step 2, each with . If the total resubmittable size of a maximum resubmittable size pˆ ij = pij those orders is less than rXj , then allocate other orders in nonincreasing order of revenue per unit of capacity, until Pˆj ≥ rXj , where the maximum resubmittable size pˆ ij is equal to pij for each of those allocated orders except for the last one, and is equal to the minimum feasible value satisfying Pˆj ≥ rXj for the last allocated order. It is important to note that, although the capacity of the resubmittable orders can exceed the allocated capacity Xj by a ratio r, the total capacity requirement of the resubmitted orders cannot exceed Xj . Hence, all the revised orders can be feasibly scheduled. The set of resubmittable orders is selected without knowing the distributors’ profits. A larger r value provides the distributors greater flexibility in revising their orders, hence the manufacturer has less assurance of achieving a high profit level from the resubmitted orders. If r is not large, then the manufacturer, in Step 4 of PAAr, excludes from the set of resubmittable orders those which are less profitable. In practice, either the distributors (Bish et al., 2005) or the manufacturer (Engels et al., 2003) may have dominant bargaining power. Carr and Duenyas (2000) provide an example of the latter case, where a major glass manufacturer allocates capacity on the basis of each individual order. Our definition of r parametrizes the situations in between these two extreme cases. We now study the manufacturer’s scheduling problem with partial orders in Step 2 of PAAr. The first result characterizes the sequence of orders in an optimal schedule for the manufacturer. Lemma 8.11 For the manufacturer’s scheduling problem with partial orders, an optimal schedule processes complete or partial orders in SWPT sequence. Proof Given a set of complete and partial orders to be processed, the total revenue of those orders is independent of their processing sequence. Thus, the maximum total profit from those orders is found by a schedule that minimizes the total weighted completion time. The result then follows from Smith (1956). In view of Lemma 8.11, we assume for the remainder of this section that the orders are reindexed in SWPT sequence, i.e., p1 /w1 ≤ · · · ≤ pq /wq .
524
8 Cooperative Supply Chain Scheduling
The manufacturer’s scheduling problem, which we denote by QP, can be formulated as: max
q
uj yj −
j =1
s.t.
q
q j [wj yj ( yk )/pj ] j =1
(8.55)
k=1
yj ≤ T
(8.56)
j =1
0 ≤ yj
≤
pj ,
j = 1, . . . , q.
(8.57)
The objective function (8.55) maximizes the net profit of the manufacturer. Constraint (8.56) ensures that the total capacity requirement of the scheduled orders does not exceed the total available capacity. Constraints (8.57) ensure that each scheduled order is no larger than the corresponding order placed by the distributor. Let L denote the length of a binary encoding of the data for problem QP. Theorem 8.40 Problem QP can be solved optimally in O(m3 n3 L) time. Proof The optimality of the SWPT indexing of the variables in problem QP follows from Lemma 8.11. Observe that the objective function of problem QP is a quadratic function of the form uy − y T Qy, where the matrix Q is positive semidefinite and y T denotes the transpose of the vector y. It follows that the objective function is concave. The result then follows from Goldfarb and Liu (1993). When partial orders are not allowed, we propose the following procedure to solve the manufacturer’s scheduling problem in Step 1 of PAAr. Procedure Man Input pj , uj , wj , for j = 1, . . . , q, where p1 /w1 ≤ · · · ≤ pq /wq ; T . Value Function F (j, t) = the maximum profit from orders 1, . . . , j achieved by a partial schedule that completes at time t. Boundary Condition
0, if t = 0 F (0, t) = −∞, otherwise. Recurrence Relation F (j, t) = max {uj yj − wj tyj /pj + F (j − 1, t − yj )}. yj ∈{0,pj }
Optimal Solution Value max {F (q, t)}. t∈{0,...,T }
8.6 Capacity Allocation Games
525
In the recurrence relation, yj can only take on a value of pj if order j is processed, or 0 if not. In the former case, a profit of uj yj is earned, a scheduling cost of wj tyj /pj is incurred, and state variables j − 1 and t − yj are updated to j and t, respectively. Theorem 8.41 For the manufacturer’s scheduling problem without partial orders, Procedure Man finds a schedule with maximum total profit in O(mnT ) time. Proof The optimality of Procedure Man follows from Lemma 8.11. In the value function, there are O(mn) possible values of j , and O(T ) possible values of t. In the recurrence relation, the maximum profit values resulting from the two possible choices for yj are compared. Therefore, the overall time complexity of Procedure Man is O(mnT ). Remark 8.12 When partial orders are not allowed, the manufacturer’s scheduling problem is binary NP-hard, even without the capacity constraint (Engels et al., 2003).
8.6.2.2
Manufacturer: Scheduling Revised Orders
We now consider the manufacturer’s problem of scheduling the distributors’ revised orders. Observe from Step 3 of Algorithm PAAr that the total capacity requirement of the revised orders of distributor j must not exceed its allocated capacity, Xj . Hence, a feasible schedule is guaranteed and all the revised orders are fully processed. The total revenue is fixed by the manufacturer’s requirement to schedule revised orders within the allocated capacity and the set of resubmittable orders. Therefore, maximizing profit is equivalent to minimizing total weighted completion time. We have the following result. Corollary 8.2 The manufacturer’s problem of scheduling the revised orders to maximize the total profit can be solved in O(mn log mn) time. Proof Since all the revised orders are scheduled, revenue is fixed. Therefore, the SWPT sequence minimizes the scheduling cost and maximizes the total profit (Smith, 1956).
8.6.2.3
Distributors: Resubmitting Partial Orders
We describe the distributors’ problem of resubmitting orders in response to resource allocations from manufacturers, using cooperative game theory. We consider two versions of this problem, depending on whether partial orders are allowed. First, we consider the situation where the distributors can resubmit partial orders. The capacity sharing and order revision problem of each distributor or coalition of distributors can be modeled as a linear program (LP). If a coalition contains a set N of distributors each having allocated capacity Xj , then this problem is:
526
8 Cooperative Supply Chain Scheduling
max s.t.
(8.58)
v ij xij
i∈M j ∈N
xij ≤
i∈M j ∈N
(8.59)
Xj
j ∈N
0 ≤ xij
≤
pˆ ij ,
i ∈ M, j ∈ N .
(8.60)
The objective function (8.58) maximizes the total profit of the coalition, where v ij is the profit per unit of manufacturing capacity from order νij for distributor j . Constraint (8.59) ensures that the total capacity requirement of the revised orders does not exceed the total allocated capacity. Constraints (8.60) ensure that each revised order is no larger than the corresponding resubmittable size, pˆ ij . The constraints in problem (8.58)–(8.60) include only a single constraint (8.59) with integer coefficients all equal to 1, and simple integer upper bound constraints (8.60). Therefore, the LP has an optimal integer solution. The distributors’ capacity allocation problem is a linear programming game (Owen, 1975). In any LP game, some core members (the Owen set) can be found by solving the dual problem of the grand coalition’s LP. In the distributors’ game, there are mn + 1 constraints in the LP model of the grand coalition. Letting γij , for i ∈ M, j ∈ N , and γ be the mn + 1 dual variables, the dual problem is:
min
pˆ ij γij + γ
i∈M,j ∈N
s.t.
γij + γ ≥ v ij , γij , γ ≥ 0,
Xj
(8.61)
j ∈N
i ∈ M, j ∈ N i ∈ M, j ∈ N.
(8.62) (8.63)
The following algorithm finds a core member of the distributors’ LP game efficiently. Algorithm LPCore Input pˆ ij , v ij , for i ∈ M, j ∈ N; Xj for j ∈ N. Step 1. Find v¯ = min{v¯ij : i ∈ M, j ∈ N, k∈M, l∈N, v¯kl >v¯ij pˆ kl ≤ j ∈N Xj }. Step 2. Let γ = v, and γij = max{v ij − v, 0}, for i ∈ M, j ∈ N. Let the payoff division (χ1 , . . . , χn ) be:
χj =
pˆ ij γij + Xj γ ,
j ∈ N.
(8.64)
i∈M
Theorem 8.42 Algorithm LPCore finds a core member of the distributors’ LP game in O(mn) time.
8.6 Capacity Allocation Games
527
Proof From constraints (8.62) and (8.63), the objective function (8.61) is minimized by setting γij = max{v ij −γ , 0}. Therefore, in (8.61), if γ increases by 1, then p ˆ γ decreases by p ˆ , and γ ij ij ij i∈M,j ∈N,v ij >γ j ∈N Xj increases by i∈M,j ∈N X . Consequently, from the definition of v, ¯ Step 2 of Algorithm LPCore finds j ∈N j an optimal solution. The core membership of the payoff vector defined by (8.64) follows from Owen (1975). The time complexity follows from the median finding algorithm of Schönhage et al. (1976). The following example shows that the Owen set does not fully cover the core of the distributors’ LP game. Example 8.30 (Core of the Distributor’s Game and Owen Set) Two distributors 1 and 2 order a single product, with profits 2 and 3 per unit of capacity used, and capacity requirements of their orders 20 and 10, respectively. Previously, the manufacturer has allocated capacity 18 and 9 to distributors 1 and 2, respectively, without restricting the resubmittable orders. Without coordination, distributors 1 and 2 obtain a profit of 2(18) = 36 and 3(9) = 27, respectively. If the two distributors form a coalition, then their LP game is: max 2x1 + 3x2 s.t.
x1 ≤ 20 x2 ≤ 10 x1 + x2 ≤ 18 + 9 = 27,
where an optimal solution is x1 = 17 and x2 = 10, with solution value 64. Letting γ1 , γ2 and γ denote the three dual variables, the dual of this game is: min 20γ1 + 10γ2 + 27γ s.t. γ1 + γ ≥ 2 γ2 + γ ≥ 3 γ1 , γ2 , γ ≥ 0, where the unique optimal solution is γ1 = 0, γ2 = 1 and γ = 2. Thus, the unique fair payoff division in the Owen set is (36, 28). However, any payoff division (36 + a, 28 − a), where 0 ≤ a ≤ 1, is in the core. Core solutions that are not in the Owen set may be more reasonable than those that are. In Example 8.30, the payoff division (36, 28) derived from the unique Owen set solution seems to favor distributor 2, which receives all the extra payoff from cooperation. Hence, it is likely that distributor 1 will propose a different payoff division. In order to evaluate whether this payoff division is in the core, we need to answer the core membership test: given an instance of the distributors’ game and a payoff vector, is that vector in the core of the instance? In a general LP game, the core membership test is unary co-NP-complete (Fang et al., 2002).
528
8 Cooperative Supply Chain Scheduling
However, in our distributors’ game, the Owen set is a proper subset of the core, while the core membership test, although binary co-NP-complete, is solvable in pseudo-polynomial time. We propose a dynamic programming algorithm for the core membership test in the distributors’ LP game. For any given payoff vector (χ1 , . . . , χn ) and coalition N ⊂ N , let the surplus profit of N be defined as the difference between the maximum profit generated by N and the total payoff paid to N . We use F (j, t) to denote the maximum surplus profit of a potentially defecting coalition from distributors {1, . . . , j }, given that those distributors have a total allocated capacity t. We assume without loss of generality that the payoff vector (χ1 , . . . , χn ) is efficient, i.e., j ∈N χj equals the total profit of the grand coalition; otherwise, the payoff vector is not in the core. Algorithm LPCoreTest Input pˆ ij , v ij , for i ∈ M, j ∈ N; Xj , for j ∈ N; X; and an efficient payoff vector (χ1 , . . . , χn ). Initialization For each distributor j , find the maximum profit φ(j, t) that can be generated using capacity t, for t = 0, . . . , min{Pˆj , X}, where Pˆj = i∈M pˆ ij . Value Function F (j, t) = the maximum surplus profit of any coalition formed by distributors from 1, . . . , j , for the given payoff vector (χ1 , . . . , χj ), where distributors 1, . . . , j have a total allocated capacity t. Boundary Condition F (0, t) = 0, where t ≥ 0. Recurrence Relation ⎧ ⎨F (j − 1, t − Xj ) F (j, t) = max max {φ(j, xj ) − χj + F (j − 1, t − xj )}. ⎩ xj ∈{0,...,min{t,Pˆj }}
Optimal Solution Value F (n, X). Core Membership Test The payoff vector (χ1 , . . . , χn ) is a core member if and only if F (n, X) = 0. In the recurrence relation, the first equation excludes distributor j from the coalition being built. The second equation includes distributor j in the coalition and allocates capacity xj to it, where the value of xj is chosen to maximize the surplus profit. Recall that Pˆmax = maxj ∈N {Pˆj }.
8.6 Capacity Allocation Games
529
Theorem 8.43 For a given instance of the distributors’ LP game, Algorithm LPCoreTest determines whether a given payoff vector is in the core in O(n max{m, X} min{X, Pˆmax }) time. Proof Observe that the surplus profit of any coalition of the distributors is defined as the difference between the optimal solution of the coalition’s optimization problem (8.58)–(8.60) and the total payoff to the coalition given by the payoff vector χ . Since this difference is independent of the sequence of the distributors, it is sufficient to consider a single arbitrary sequence. It follows that the surplus profits of all possible state transitions are compared, and hence Algorithm LPCoreTest generates the maximum surplus profit. Therefore, a finding that F (n, X) > 0 implies the identification of a subset of distributors that will leave the coalition. Alternatively, a finding that F (n, X) = 0 implies that no such coalition exists, and therefore the payoff vector (χ1 , . . . , χn ) is a core member. In the recurrence relation, there are O(n) possible values of j , and O(X) possible values of t. For each j and t, there are O(min{X, Pˆmax }) values of xj to enumerate. Therefore, the overall time complexity of Algorithm LPCoreTest is O(n max{m, X} min{X, Pˆmax }). Theorem 8.43 shows Algorithm LPCoreTest is a pseudo-polynomial time algorithm. However, the next result shows that this problem cannot be solved efficiently. Theorem 8.44 The core membership problem in the distributors’ LP game is binary co-NP-complete, even for a single product. Proof Given a payoff vector and a coalition, it can be verified in polynomial time that the payoff vector is not in the core. Therefore, the core membership test belongs to the class co-NP. The co-NP-completeness proof is by reduction from the following problem. Partition (Garey & Johnson, 1979, p. 223) Given 2t elements with integer sizes a1 , . . . , a2t , where 2t aj = 2A, doesthere exist a partition S1 and S2 of the index j =1 set {1, . . . , 2t} such that j ∈S1 aj = j ∈S2 aj = A? Without loss of generality, we assume that A ≥ 3. Given an instance of Partition, we construct an instance of the distributors’ LP game, where m = 1 and n = 2t + 2. This instance is shown in Table 8.13, where for each distributor j , v j is the profit of its order per unit of capacity requirement, pˆ j is the capacity requirement of its resubmittable order, Xj is the capacity allocated by the manufacturer, and χj is the payoff received. Let ε > 0 be defined sufficiently small that ε(2A2 − A − 2) < 1. 2t First, note that 2t+2 j =1 aj − 2 = (2A − 1)2A − 2 < j =1 Xj = (2A − 1) (2A − 1)2A = pˆ 2t+1 + pˆ 2t+2 . Also, v 2t+1 = v 2t+2 = 2A + 1 is the maximum profit per unit of generates a profit of production capacity. Therefore, the grand coalition 3 −6A−2. Let Y denote this (2A+1) 2t+2 X = (2A+1)[(2A−1)2A−2] = 8A j j =1 value of total profit. Also, the total payoff is 2t+2 j =1 χj = (4A − 2)a1 − 4 + (4A − 2 2)a2 +· · ·+(4A−2)a2t +2(4A −1)(A−1) = (4A−2)2A−4+2(4A2 −1)(A−1) = 8A3 − 6A − 2 = Y . Hence, the payoff vector is feasible.
530
8 Cooperative Supply Chain Scheduling
Table 8.13 Instance of the distributors’ LP game in Theorem 8.44 j vj Xj pˆ j χj
1 ε (2A − 1)a1 − 2 (2A − 1)a1 (4A − 2)a1 − 4
2 ε (2A − 1)a2 (2A − 1)a2 (4A − 2)a2
... ... ... ... ...
2t ε (2A − 1)a2t (2A − 1)a2t (4A − 2)a2t
2t + 1 2A + 1 0 (2A − 1)A (4A2 − 1)(A − 1)
2t + 2 2A + 1 0 (2A − 1)A (4A2 − 1)(A − 1)
We now show that the given payoff vector (χ1 , . . . , χn ) is not in the core if and only if the instance of Partition has a solution. (⇒) If the instance of Partition has a solution, then there exists at least one coalition N with j ∈N Xj = (2A − 1)A. Coalition N includes exactly one of the two distributors 2t + 1 and 2t + 2, but does not include distributor 1. The total payoff received by coalition N is j ∈N χj = (4A2 − 1)(A − 1) + 2 j ∈N Xj = (4A2 − 1)(A−1)+(2A−1)2A = (4A2 −1)A−(2A−1) < (4A2 −1)A = (2A+1)(2A−1)A, which is the total profit generated by this coalition. Hence, the given payoff vector (χ1 , . . . , χn ) is not in the core. (⇐) If the instance of Partition has no solution, we consider the only possible three types of coalition. 1. Coalitions not containing distributor 2t + 1 or 2t + 2. In this case, every coalition with total allocated capacity X has a profit of εX, which is less than the payoff 2X received from the payoff vector. 2. Coalitions containing both distributors 2t + 1 and 2t + 2. In this case, for every , the profit generated is Y −(2A+1) coalition N X ≤ Y −2 j ∈N / j j ∈N / Xj = Y − j ∈N χ , where the last term is the total payoff received from the payoff / j vector. 3. Coalitions containing exactly one of distributors 2t + 1 and 2t + 2. In this case, the profit generated by a coalition is no greater than that of a coalition containing all orders except for order 2t + 2: v 2t+1 pˆ 2t+1 + ε( 2t j =1 Xj − pˆ 2t+2 ) = (2A + 3 2 1)(2A−1)A+ε[(2A−1)A−2] = 4A −A+ε(2A −A−2). Since the instance of Partition has no solution, the total capacity allocated to such a coalition cannot fall in the interval ((2A − 1)(A − 1), (2A − 1)[(A + 1) − 2)). If the total capacity is no greater than (2A − 1)(A − 1), then the total profit generated is no greater than (2A + 1)(2A − 1)(A − 1) = (4A2 − 1)(A − 1), which is the payoff received by distributor 2t + 1 or 2t + 2 alone. Alternatively, if the total capacity is no less than (2A − 1)(A + 1) − 2, then the total payoff received is at least (4A2 − 1)(A − 1) + 2[(2A − 1)(A + 1) − 2] = 4A3 + A − 5. Since A ≥ 3 and ε(2A2 − A − 2) < 1, the difference between the total payoff received by the distributors and their total profit is (4A3 +A−5)−[4A3 −A+ε(2A2 −A−2)] > (4A3 + A − 5) − (4A3 − A + 1) = 2A − 6 ≥ 0. Therefore, in all cases, the total payoff received by any coalition is no less than the profit generated by the coalition. Hence, the given payoff vector is a core member.
8.6 Capacity Allocation Games
531
From Garey and Johnson (1979), the result in Theorem 8.44 implies that there does not exist a polynomial-time algorithm to find a core member of the distributor’s LP game, unless P = NP.
8.6.2.4
Distributors: Resubmitting Full Orders
We now consider the situation where partial orders are not allowed. This problem is modeled as a knapsack game, defined by Eqs. (8.58)–(8.60) except that Eq. (8.60) . Each coalition N ⊆ N faces a is changed to xij ∈ {0, pˆ ij }, for i ∈ M, j ∈ N zero-one knapsack problem with knapsack size j ∈N Xj , where each item has a size pˆ ij and a value vˆij . We develop a dynamic programming algorithm that finds an integer core member if one exists. The algorithm uses the same definition of surplus profit as Algorithm LPCoreTest in Sect. 8.6.2.3. Algorithm KPCore Input pˆ ij , vˆij , for i ∈ M, j ∈ N; Xj , for j ∈ N; and X. Initialization For each distributor j , find the maximum profit φ(j, t) which it can achieve using capacity t, for t ∈ {0, . . . , min{Pˆj , X}}. Find V , the maximum profit of the grand coalition, by solving the grand coalition’s zero-one knapsack problem. Value Function F (j, t, χ ) = the minimum value of the maximum surplus profit of any coalition formed by distributors 1, . . . , j , if those distributors have a total allocated capacity t and receive a total payoff χ . Boundary Condition
F (1, t, χ) =
φ(1, t) − χ, if t < X1 , or t ≥ X1 and φ(1, t) ≥ χ , where t, χ ≥ 0
0, if t ≥ X1 and φ(1, t) < χ, where t, χ ≥ 0.
Recurrence Relation F (j, t, χ) = min
χj ∈{φ(j,Xj ),...,χ }
⎧ ⎪ ⎨F (j − 1, t − Xj , χ − χj ) max
{φ(j, xj ) − χj + F (j − 1, t − xj , χ − χj )}. max ⎪ ⎩x ∈{0,...,min{t,Pˆ }} j j
Optimal Solution Value F (n, X, V ). Core Emptiness Test If F (n, X, V ) > 0, then the integer core is empty; If F (n, X, V ) = 0, then the Optimal Solution Value identifies an integer core member.
532
8 Cooperative Supply Chain Scheduling
In the boundary condition, when t < X1 , distributor 1’s capacity is being used by other distributors. Hence, it must belong to a coalition containing other distributors. Otherwise, the value function takes the larger value achieved by whether or not distributor j joins a coalition. The recurrence relation first enumerates all possible values of the payoff χj to distributor j . Note that in any fair payoff division, each distributor j receives a payoff no less than its own profit φ(j, Xj ). Then, for each fixed χj , the first equation excludes distributor j from the coalition. The second equation includes distributor j in the coalition and allocates capacity xj to distributor j , where all possible values of xj are considered. Theorem 8.45 Algorithm KPCore finds an integer core member of an instance of the knapsack game if it has a nonempty integer core, in O(nX min{X, Pˆmax }V 2 ) time. Proof For fixed χj , in order for a coalition to achieve the maximum surplus profit, each distributor in the coalition must use capacity xj to generate as much profit as possible. Since the surplus profit of the grand coalition is 0, F (n, X, V ) ≥ 0. If F (n, X, V ) > 0, then Algorithm KPCore determines that the core of the instance is empty; otherwise F (n, X, V ) = 0, and retracing from the Optimal Solution Value identifies a core member. In the Initialization step, V and the φ(j, t) values are found in O(mnX) time. In the recurrence relation, there are O(n) values of j , O(X) values of t, and O(V ) values of χ . To find F (j, t, χ ) for fixed j , t and χ requires O(V min{X, Pˆmax }) time. Therefore, the recurrence relation requires O(nX min{X, Pˆmax }V 2 ) computation time, which is also the overall time complexity of Algorithm KPCore. Theorem 8.45 shows that finding a core member of the knapsack game, if one exists, can be performed in pseudo-polynomial time. The following result shows that the existence of a polynomial-time algorithm for this problem is unlikely. It also shows, by example, that the knapsack game is not balanced. Theorem 8.46 The problem of deciding whether an instance of the knapsack game has an integer core member in binary NP-hard, even for a single product. Proof By reduction from Partition, which is defined in the proof of Theorem 8.44. Given an arbitrary instance of Partition, we construct an instance of the knapsack game, where m = 1 and n = 2t +1. The detailed information is shown in Table 8.14, using the same notation as in Table 8.13. The last row of Table 8.14 contains an example payoff vector. Table 8.14 Knapsack game of Theorem 8.46
j vj pˆ j Xj χj
1 A 2A a1 a1 A
2 A 2A a2 a2 A
... ... ... ... ...
2t A 2A a2t a2t A
2t + 1 A−1 A A A(A − 1)
8.6 Capacity Allocation Games
533
Next, we show that the knapsack game instance has an empty core if and only if the instance of Partition has a solution. (⇒) If the instance of Partition has a solution, then consider three coalitions 1, 2, and 3, where coalitions 1 and 2 are disjoint and each contains distributors from {1, . . . , 2t} with total capacity allocation A, and coalition 3 contains only distributor 2t + 1. Any two of these three coalitions can jointly achieve a profit of 2A2 . Let χ1 , χ2 , and χ3 be the payoffs of coalitions 1, 2, and 3, respectively. Then any fair payoff division (χ1 , χ2 , χ3 ) satisfies χ1 + χ2 ≥ 2A2 χ1 + χ3 ≥ 2A2 χ2 + χ3 ≥ 2A2 . Hence, χ1 + χ2 + χ3 ≥ 3A2 . However, the grand coalition can generate profit of at most 2A2 + A(A − 1), which implies that χ1 + χ2 + χ3 = 3A2 − A. Therefore, no fair payoff division exists and the instance of the knapsack game has an empty core. (⇐) If the instance of Partition has no solution, we show that the payoff vector in the last row of Table 8.14 is a core member. We consider the only possible two types of coalition. 1. Coalitions not containing distributor 2t + 1. Here, if a coalition has allocated capacity 2A, then it can generate a profit of at most 2A2 . This profit is equal to the total payoff received. Otherwise, since any single order requires capacity 2A which exceeds the allocated capacity, the maximum profit is 0. 2. Coalitions containing distributor 2t + 1. Here, no coalition has allocated capacity of exactly 2A, otherwise a solution exists for the instance of Partition. First, the grand and a profit of 2A2 +A(A−1) = 3A2 −A. Since 2tcoalition has capacity 3A, 2 A j =1 aj +A(A−1) = 3A −A, this profit is equal to the total payoff received. Second, for coalitions having capacity less than 2A, since only distributor 2t +1’s order is feasible, the maximum profit is A(A − 1). However, since this payoff is received by distributor 2t + 1 alone, the total payoff received is at least A(A − 1). Finally, for coalitions having capacity less than 3A but greater than 2A, only one order requiring capacity 2A can be selected. This order generates a profit of 2A2 . However, the total allocated capacity is at least A + 1, and the payoff received by distributor 2t + 1 is A(A − 1). Therefore, the total payoff received by the distributors from 1, . . ., 2t is at least (A + 1)A, and the total payoff received is at least (A + 1)A + (A − 1)A = 2A2 . Therefore in all cases, no coalition can generate more profit than the payoff received from the given payoff vector. It follows that the given payoff vector is in the core. For the knapsack game with integer inputs, the maximum profit generated by each coalition is also integer. However, there may exist a core member with fractional payoffs. Moreover, an instance may have only fractional core members.
534 Table 8.15 Instance of the knapsack game with only fractional core members
8 Cooperative Supply Chain Scheduling j vˆj pˆ j Xj χj χj
1 3 2 1 3/2 2
2 3 2 1 3/2 2
3 3 2 1 3/2 2
4 3 2 1 3/2 1
An example appears in Table 8.15, where each of the four distributors has a single order. Observe that (χ1 , . . . , χ4 ) is a fair payoff division. In order to pay each coalition an integer payoff no less than its own profit, a payoff of at least 7 is required, as with (χ1 , . . . , χ4 ) in the last row of Table 8.15. However, the grand coalition has a profit of 6. Therefore, no integer core member exists. Our knapsack game results fundamentally affect the order revision decisions of the distributors in the uncoordinated supply chain. If an instance of the game has a core member, then the grand coalition of the distributors solves its knapsack problem. Otherwise, the grand coalition cannot generate enough payoff to cover every coalition’s profit. In this case, it is not possible for subsets of the distributors to form coalitions that are stable (Grieco, 1988), as we now show. Suppose there are several mutually exclusive and exhaustive coalitions of distributors that are stable. This implies that each player in the coalitions receives a sufficient payoff that no players can form a new coalition, including players in other coalitions, that improves their total payoff. However, in this case, combining all the stable coalitions creates a grand coalition that is stable. This contradicts the assumption that there is no core member. It follows that, in an instance with an empty core, each distributor revises its orders individually.
8.6.3 Coordinated Supply Chain In this section, we consider the capacity allocation and scheduling problem when the manufacturer and distributors coordinate their decisions to maximize the profit of the overall supply chain. In the coordinated supply chain, the manufacturer and distributors simultaneously agree on how much should be produced in order to maximize the profit of the supply chain. This coordination does not require information sharing among the distributors. Hall and Liu (2010) prove the following result. Theorem 8.47 An optimal algorithm for problem QP and Procedure Man find a schedule that maximizes the overall supply chain profit, with or without partial orders, respectively. Proof We replace uij in both QP and Man by uij + v ij . The remainder of the proof follows that of Theorems 8.40 and 8.41.
8.6 Capacity Allocation Games
535
Now, consider a supply chain game consisting of one manufacturer and n distributors, where each distributor j has allocated capacity Xj and a set of resubmittable orders. We consider coalitions formed by the manufacturer and the grand coalition of distributors. In the supply chain game, each coalition and its maximum profit are defined as follows. Let R denote the maximum profit of the grand coalition of the supply chain game, i.e., the maximum profit achieved by the coordinated supply chain. Let UM denote the profit of the manufacturer outside of any coalition. Consequently, if the corresponding instance of the distributors’ game has a nonempty (respectively, an empty) core, then UM is the profit achieved by the manufacturer assuming that the distributors jointly (resp., individually) revise their orders. The reason to define UM in this way is that under supply chain coordination, the manufacturer can access the distributors’ information and predict each distributor’s behavior if it leaves the grand coalition. Since all other coalitions contain only distributors, their maximum profits are the same as in the corresponding instance of the distributors’ game. We now describe our balancedness, core emptiness test, and core membership test results for the supply chain game. First, we consider the supply chain game with partial orders allowed. Hall and Liu (2010) prove the following result. Theorem 8.48 For the supply chain game with partial orders: (a) The game is balanced; (b) Algorithm LPCore finds a core member of the game in O(mn) time; (c) Algorithm LPCoreTest determines whether a given payoff vector is in the core of a given instance in O(n max{m, X} min{X, Pmax }) time; (d) The core membership test of the supply chain game is binary co-NP-complete, even for a single product. Proof (a) The maximum profit R of the grand coalition is no less than that of the uncoordinated supply chain where the distributors coordinate. Since the corresponding distributors’ LP game is balanced, (a) holds. (b) To find a core member, we first apply Algorithm LPCore to find a core member of the corresponding distributors’ LP game, and then pay the manufacturer the remaining payoff, UM , from R. Thus, the payoff division is fair, and hence (b) follows from Theorem 8.42. (c) For the core membership test, compared with the corresponding distributors’ LP game, the only additional work requires testing whether the payoff to the manufacturer is no less than UM . Thus, (c) follows from Theorem 8.43. (d) For each order, we can define both the revenue and the work-in-process cost for the manufacturer as 0, which makes the supply chain game equivalent to the distributors’ LP game, hence (d) follows from Theorem 8.46. Next, we consider the supply chain game without partial orders allowed. Hall and Liu (2010) prove the following result.
536
8 Cooperative Supply Chain Scheduling
Theorem 8.49 For the supply chain game without partial orders: (a) The game is unbalanced; (b) Algorithm KPCore finds an integer core member, if one exists, in O(nX min{X, Pmax }(R − UM )2 ) time; (c) It is binary NP-hard to decide whether an instance of the knapsack game has an integer core member, even for a single product. Proof (a) If we define the revenue of each order and the work-in-process cost for the manufacturer as 0, then the supply chain game is equivalent to the distributors’ knapsack game and the result follows from Theorem 7 of Hall and Liu (2010). (b) For the core emptiness test, we apply Algorithm KPCore. From Theorem 8.45, if F (n, X, R − UM ) > 0, then the integer core is empty; otherwise, retracing from the Optimal Solution Value identifies a core member. (c) The result follows from Theorem 8.46. It is straightforward to observe that the supply chain game and the distributors’ game have the following relationship. Corollary 8.3 For a given instance of the supply chain game, if a payoff vector is in the core, then the part of the payoff vector that applies to the distributors is also in the core of the corresponding instance of the distributors’ game. If an instance of the distributors’ game has a nonempty core, then the corresponding instance of the supply chain game also has a nonempty core. The work of Hall and Liu (2010) is among the first that simultaneously considers three significant operational coordination issues that arise in two-stage supply chains with a manufacturer and several distributors. First, the cost savings from integrating scheduling information into capacity allocation decisions are evaluated. Second, the additional profit that the distributors can earn by sharing their capacity allocations and coordinating their revised orders is studied. Third, the additional profit that becomes available to the overall supply chain when the manufacturer and the distributors coordinate their decisions is analyzed. Insights, based on sensitivity analysis, are provided about when coordinating decisions is likely to be more valuable. The three types of coordination are all valuable, and the benefit is typically between 1% and 15%. In general, the three types of coordination are especially valuable when the manufacturer and the distributors have conflicting priorities between orders. Coordination is also more valuable when the manufacturer’s profit margins are small, in which case the scheduling cost savings delivered by the methodology we present become relatively more significant.
8.7 Outsourcing Games
537
8.7 Outsourcing Games In semiconductor manufacturing, biotechnology, and pharmaceutical development, it is common for manufacturers to use outsourced capacity. In such situations, different issues arise from those in the supply chains discussed in Sect. 8.6. We consider two different models of this situation. In Sect. 8.7.1, we consider a third party that provides outsourcing services to several manufacturers who may reserve its capacity individually or jointly. In Sect. 8.7.2, we consider a problem where manufacturers compete for outsourced capacity that can be used concurrently with their own dedicated resources. We refer the reader to Chap. 6 for extensive discussions of similar problems within a centralized supply chain scheduling environment.
8.7.1 Common Third-Party Facility Cai and Vairaktarakis (2012) consider a group of manufacturers which outsources some work to a third-party (3P) facility that possesses specialized capabilities which the manufacturers do not. First, the 3P announces available times and prices for its capacity, which can include both regular time and overtime. Then, each manufacturer reserves blocks of time, and within that available time, schedules its jobs to minimize a cost function consisting of reservation, overtime, and tardiness costs for late delivery to customers. Having received all the manufacturers’ reservations, the 3P may see the potential to reduce the total costs of the manufacturers by combining their orders. However, in the process, some manufacturers may incur extra cost. The 3P then needs to design a scheme to share the resulting savings and compensate those manufacturers. This problem can be modeled as a cooperative game. Additionally, it may be necessary to design a mechanism that encourages truth-telling by the manufacturers about the data of their jobs. Let M denote a set of manufacturers and 3P a single third party facility. Each manufacturer m ∈ M has a set Nm of jobs that require scheduling, where N = ∪m∈M Nm and |N| = n. The process begins when the 3P announces a set of K available time intervals of equal length and corresponding prices, which each manufacturer m ∈ M can reserve on a first-come first-served basis. Let Wi = [ai , bi ] denote the ith time interval, where each interval has an equal length L = bi − ai , with announced price hi . Observe that, by assumption, these intervals have the same available capacity. Within an interval, overtime can also be reserved at a rate of αi per unit, up to a limit of ci time units, for i = 1, . . . , K. Further, let Wm denote the subset of time intervals reserved by manufacturer m. In this reservation process, manufacturers do not share a time interval. Each job j is available at time 0, and has a processing time pj , where P = j ∈N pj . It also has a due date dj that
538
8 Cooperative Supply Chain Scheduling
is assumed to be the end of a manufacturing window. Job j needs to be completed by time dj , otherwise a tardiness penalty βj is incurred. Each manufacturer m then schedules its jobs over the time intervals Wm which it has reserved. The objective of each manufacturer is to minimize its total cost, which consists of its reservation cost i∈Wm hi , plus any overtime cost, plus the tardiness penalty βj for each job j that is completed after its due date dj . Let the overall initial schedule of the 3P’s capacity, which is defined by concatenation of the schedules of the individual manufacturers, be denoted by σ0 . Relevant assumptions include feasibility, i.e., the 3P has enough capacity to process all the jobs, and also that there are no sequence-dependent setup times between the jobs. Jobs can be processed preemptively, i.e., stopped at the end of a manufacturing window and resumed in a later one. As a result, the number of time intervals needed to process all the jobs is ω ≥ P /L. Consider a situation in which all reservations have already been made. The objective of the 3P is to maximize the value of work that is delivered on time. Then, based on structural properties of the problem described, the overall rescheduling problem of the 3P can be solved by first sequencing the jobs in earliest due date order, and then applying a dynamic programming algorithm similar to that of Lawler and Moore (1969) for the classical scheduling problem 1|| wj Uj . Further, by enumerating this problem over all possible reservations that the manufacturers could be persuaded to adopt, the 3P’s overall cost minimization problem, i.e., finding an optimal schedule σ ∗ , can be solved in O(ω2 nP ) time for the problem without ¯ ) for the problem with overtime, where O¯ is the maximum overtime, and O(ω2 nOP available amount of overtime in a time period. A cooperative game (M, v) among the manufacturers is defined as follows. Let S ⊂ M be an arbitrary coalition of manufacturers and N(S) = ∪m∈S Nm be the set of jobs owned collectively by the members of S. The coalition S must respect an admissibility rule that, for all j ∈ N \ S, the predecessors of j must be the same after resequencing as they are in σ0 . This rule is justified by the need for fairness on the part of the 3P, and also to maintain good relations between the manufacturers in order to encourage cooperation. Subject to this constraint, the coalition of manufacturers looks for a resequencing of its orders that minimizes its total cost, i.e., maximizes its cost savings v. Let v(S) be the maximum cost savings obtained by optimally rescheduling the jobs in N (S), for a coalition S of manufacturers, S ⊆ M. Here, v(S) consists of three parts: (i) the total refund (1 − ρ) k∈W0 (S)\W ∗ (S) hk that coalition S receives from the 3P for those windows that are released after the rescheduling, where W0 (S) is the set of time windows that are initially reserved by coalition S, W ∗ (S) is the set of time windows that are utilized after the rescheduling, and ρ is the share of the reservation fee retained by the 3P in the event of cancellation; (ii) the total refund for the reduced overtime; and (iii) the reduction in the tardiness costs of the jobs of S as a result of rescheduling. Then, the pair (M, v) defines the manufacturers’ savings game. A cooperative game among the jobs is also defined. This game treats each individual job as a player. Let vJ (S) be the maximum cost savings achieved
8.7 Outsourcing Games
539
by an admissible reschedule σ for a coalition of jobs N(S). The job game is denoted by (N, vJ ). Analysis of the job game provides a pathway to analysis of the manufacturers’ game. Let G{a, b} = {σ0 (a), σ0 (a + 1), . . . , σ0 (b)}, for 1 ≤ a ≤ b ≤ n, denote a contiguous coalition of jobs that occupy all positions from a to b in σ0 . For conciseness, we use vJ {a, b} in place of vJ (G{a, b}) to denote the maximum savings from rescheduling the jobs in G{a, b}. Consider the following savings allocation for the ith job: xi = [vJ {1, i} − vJ {1, i − 1} + vJ {i, n} − vJ {i + 1, n}]/2,
i ∈ N,
(8.65)
where we define vJ {1, 0} = vJ {n + 1, n} = 0. This rule allocates to job i the average of its marginal contributions when joining the coalitions of preceding and succeeding jobs. Further, this allocation can be used to define a savings distribution for manufacturer m, as ym = xi , m ∈ M, (8.66) i∈Nm
which exploits the connection between the two games. In order to discuss the balancedness of the two games defined above, the following result is needed. Lemma 8.12 The game (N, vJ ) is superadditive. Proof Consider two contiguous coalitions G{a, b} and H {c, d}, where a ≤ b < c ≤ d. There are two cases. First, if c = b + 1, then let I {a, d} = G{a, b} ∪ H {c, d}, which is a contiguous coalition. Let σ ∗ (S) denote an optimally resequenced schedule for the jobs of S, respectively. Concatenate σ ∗ (G) and σ ∗ (H ) to form a (not necessarily optimal) sequence σ (I ). Then, the cost saving achieved by an optimal sequence σ ∗ (I ) is at least that of σ (I ). It follows that vJ (G ∪ H ) ≥ vJ (G) + vJ (H ). Second, if c > b+1, the two components G{a, b} and H {c, d} are disjoint. Then, vJ (G ∪ H ) ≥ vJ (G) + vJ (H ) if G ∪ H contains a larger contiguous set than in G or H , else vJ (G ∪ H ) = vJ (G) + vJ (H ), which is sufficient for superadditivity. We can now prove the following result. Theorem 8.50 The cost savings allocation {xi | i ∈ N } defined in (8.65) is in the core of the game (N, vJ ). Proof By definition, xi ≥ 0, for i ∈ N. To establish Coalitional Rationality, we consider two cases. Case 1. Consider contiguous coalitions G{a, b} = {σ0 (a), σ0 (a + 1), . . . , σ0 (b)}. Then, we have
540
8 Cooperative Supply Chain Scheduling
i∈G{a,b}
xi =
[vJ {1, i} − vJ {1, i − 1} + vJ {i, n} − vJ {i + 1, n}]/2,
i∈G{a,b}
= [vJ {1, b} − vJ {1, a − 1} + vJ {a, n} − vJ {b + 1, n}]/2 ≥ vJ (G{a, b}),
from Lemma 8.12.
Case 2. Let Gk {ak , bk } denote a contiguous coalition, as discussed in Case 1. Now, consider non-contiguous coalitions G = ∪k Gk {ak , bk }. Then, since i∈Gk xi ≥ vJ (Gk {ak , bk }) for all k, the same result holds for G = ∪k Gk {ak , bk }. Finally, we establish Efficiency. If a = 1 and b = n, we have i∈N xi = [(vJ {1, n} − vJ {1, 0}) + (vJ {1, n} − vJ {n + 1, n})]/2 = vJ (N ). This result in Theorem 8.50 can now be applied to the manufacturer’s game. Theorem 8.51 The cost savings allocation {ym | m ∈ M} defined in (8.66) is in the core of the game (M, v). Proof First, xi ≥ 0, i ∈ N ⇒ yj ≥ 0, j ∈ M. Now, consider an arbitrary coalition S of manufacturers, consisting of kS contiguous job subsets, i.e., N(S) = S Gi {ai , bi }. Then, ∪ki=1
ym =
m∈S
xi
m∈S i∈Nm
=
xi
i∈N (S)
=
kS
xi
k=1 i∈Gk {ak ,bk }
≥
kS
vJ (Gk {ak , bk })
k=1
= v(S), where the inequality follows from Theorem 8.50 and the last equality follows from the fact that the total savings of coalition S are generated from the maximum savings of its kS subsets. Finally, to establish Efficiency, we have m∈M ym = i∈N xi = vJ (N ) = v(M). Remark 8.13 Cai and Vairaktarakis (2012) further study the issue of false reporting of data by the manufacturers, and develop a mechanism to ensure truthful reporting. They assume that the due date dj and tardiness penalty βj of manufacturer j ∈ M are private information. They describe a mechanism under which the revelation
8.7 Outsourcing Games
541
of true information is a strategy that enables all manufacturers to minimize their true cost. We refer the reader to their work for details, and also to Chap. 9 for a more extensive discussion of issues and solutions related to the truthful reporting of private information.
8.7.2 Concurrent Outsourcing Aydinliyim and Vairaktarakis (2013) study a scheduling environment with both inhouse and outsourced third-party (3P) resources. Each player, i.e., manufacturer, can schedule its work either on its own dedicated facility or through competitive outsourcing to the 3P. In order to complete its work as soon as possible, a player may divide it between the two resources and process it concurrently on them. More formally, consider a set M = {1, . . . , m} of manufacturers, which need to satisfy demand using their own dedicated resources and a 3P’s flexible resource which they must share competitively with other manufacturers. Each manufacturer i has a workload Pi . The decision process is as follows. First, the 3P announces a priority rule that it will use for sequencing work that it receives from the various players. For example, it may announce a first-come, first-served (FCFS) rule, or a shortest processing time (SPT) rule. Next, the players use this information to decide the amount of their work to subcontract. If a player chooses to subcontract ti work, 0 ≤ ti ≤ Pi , then the remaining workload Pi − ti is processed on its dedicated machine. The subcontracting decisions of the manufacturers and the 3P’s priority rule jointly determine an initial schedule σ0 . However, the initial schedule σ0 may be changed, by cooperation between the manufacturers, into another schedule σ which may have a lower total cost i∈M Ci (σ ). Observe that due to concurrent processing on the dedicated machine and the 3P’s facility, in any schedule σ , the completion time Ci of player i’s work is the later of its completion time on those two resources, i.e.,
Ci (σ ) = max{Pi − ti ,
tk }.
(8.67)
k|σ (k)≤σ (i)
Consider the cooperative game (M, v), where v(S) =
[Ci (σ0 ) − Ci (σ ∗ )],
(8.68)
i∈S
and where for any coalition of players S ⊆ M, Ci (σ0 ) and Ci (σ ∗ ) represent the completion time values attained by player i in an initial schedule σ0 and an optimal schedule σ ∗ , respectively. After the initial schedule σ0 is formed, the players have an option to form a coalition S⊆ M and coordinate their subcontracting decisions, for the purpose of minimizing i∈S Ci (σ ). However, this schedule must be admissible. For the purposes of this game, a reschedule of the work of coalition S is admissible if (a) it does not require the active cooperation of players outside S, and (b) it does not
542
8 Cooperative Supply Chain Scheduling
adversely affect players outside S. From (a), a coalition must consist of work that is processed consecutively in σ0 . From (b) and (8.67), a coalition that does not end with the work of the last player has zero value. This is necessary because, from (8.68), the value of a coalition derives from increasing its subcontracting to the 3P, which will adversely affect any later players in the schedule. Hence, an admissible coalition with positive value must end with the last player. This result is formalized in part (i) of Lemma 8.13 below. Let S[a, b] denote a coalition of players whose work is processed consecutively in positions a through b in σ0 . This definition enables an efficient computation of the characteristic function v(S) of any coalition S ⊆ M in the game (M, v), without evaluating an exponential number of coalitions. As shown below, it also facilitates finding a closed form expression for a core allocation of the savings from the rescheduling of the jobs. Aydinliyim and Vairaktarakis (2013) establish the following preliminary result. We refer the reader to their work for details of their proof. Lemma 8.13 (i) v(S[a, b]) = 0, if b = m. (ii) If T is a maximally connected coalition, i.e., T = S[a1 , b1 ] ∪ . . . ∪ S[ar , br ], then
r v(S[ar , br ]), if br = m (8.69) v(T ) = v(S[ak , bk ]) = 0, otherwise. k=1 Lemma 8.13 is used to prove the following result. Theorem 8.52 The cooperative savings game (M, v) is convex. Proof First, consider connected coalitions. There are four cases. (i) S[a, b] and S[a , b ] with a, a ≥ 1 and b, b < m. In this case, v(S[a, b]) = v(S[a , b ]) = 0. (ii) S[a, m] and S[a , b ] with a, a ≥ 1 and b, b < m. In this case, v(S[a, m] ∪ S[a , b ]) + v(S[a, m] ∩ S[a , b ]) = v(S[min{a, a }, b ]) + v(S[max{a, a }, b ]) ≥ v(S[a, m]) = v(S[a, m]) + v(S[a , b ]). In this case, the inequality follows from the superadditivity of v, i.e., from v(S[min{a, a }, m]) ≥ v(S[a, m]), and the last equality follows from b < m which implies v(S[a , b ]) = 0. (iii) S[a, b] and S[a , m] with a, a ≥ 1 and b < m. The proof is similar to (ii). (iv) S[a, m] and S[a , m] with a, a ≥ 1. In this case, v(S[a, m] ∪ S[a , m]) + v(S[a, m] ∩ S[a , m]) = v(S[min{a, a }, m]) + v(S[max{a, a }, m]) = v(S[a, m]) + v(S[a , m]). Finally, for disconnected coalitions, the result follows from Lemma 8.13, part (ii). From Theorem 8.52 and the work of Bondareva (1963) and Shapley (1967), we know that the cooperative game (M, v) is balanced and the Shapley value is a core solution.
8.7 Outsourcing Games
543
Again from Lemma 8.13, it suffices to consider only coalitions S[a, m], for 1 ≤ a < m. Now, define arbitrary constants 0 ≤ λ1 , . . . , λm−1 ≤ 1. Then, the characteristic function v can be written, for coalitions S[a, m] where 1 ≤ a < m, as: v(S[a, m]) =
m−1
λk [v(S[k, m]) − v(S[k + 1, m])]
k=a i−1 m (1 − λk )[v(S[k, m]) − v(S[k + 1, m])] + . [|S[a, m]| − k + a − 1]
(8.70)
i=a+1 k=a
We now provide an example of the expression in (8.70). Example 8.31 (Coalition Value Calculations in a Concurrent Outsourcing Game) Consider S[3, 6] for a game where m = 6. Then, from (8.70), we have v(S[3, 6]) = λ3 [v(S[3, 6]) − v(S[4, 6])] +
1 − λ3 [v(S[3, 6]) − v(S[4, 6])] 3
+λ4 [v(S[4, 6]) − v(S[5, 6])] 1 − λ4 1 − λ3 [v(S[3, 6]) − v(S[4, 6])] + [v(S[4, 6]) − v(S[5, 6])] 3 2 +λ5 v(S[5, 6])
+
1 − λ4 1 − λ3 [v(S[3, 6]) − v(S[4, 6])] + [v(S[4, 6]) − v(S[5, 6])] 3 2 +(1 − λ5 )v(S[5, 6]).
+
We now use (8.70) to define a cost savings allocation rule based on the Shapley value and show that it is a core solution. This rule distributes a fraction λi of the marginal savings achieved by adding the player processed in ith position on the outsourced resource to a coalition of his followers in σ0 , and distributes a fraction (1 − λi ) among those followers as compensation for facilitating rescheduling. The main result for this allocation rule now follows. Theorem 8.53 The cost savings allocation rule: xi = λi v(S[i, m]) − v(S[i + 1, m]) i−1 (1 − λk ) v(S[k, m]) − v(S[k + 1, m]) , + (m − k)
i ∈ M,
k=1
defines a core allocation for the cooperative game (M, v) defined in (8.68).
(8.71)
544
8 Cooperative Supply Chain Scheduling
Proof Observe that xi ≥ v({i}), for i ∈ M. Next,
xi =
i∈S[a,m]
m−1
λi v(S[i, m]) − v(S[i + 1, m])
i=a
+
j −1 m [v(S[i, m]) − v(S[i + 1, m])] (1 − λi ) (m − i) j =2 i=1
≥
m−1
λi v(S[i, m]) − v(S[i + 1, m])
i=a j −1 m (1 − λi )[v(S[i, m]) − v(S[i + 1, m])] + [|S[a, m]| − i + a − 1] j =a+1 i=a
= v(S[a, m]), where the inequality follows from a ≥ 1, and |S[a, m]| − i + a − 1 = m − i if i ≥ a. Finally, we have
xi =
i∈M
m−1
λi v(S[i, m]) − v(S[i + 1, m])
i=1
h−1 m (1 − λi ) v(S[i, m]) − v(S[i + 1, m]) + (m − i) h=2 i=1
=
m−1
λi v(S[i, m]) − v(S[i + 1, m])
i=1
+
m−1
m (1 − λi ) v(S[i, m]) − v(S[i + 1, m]) (m − i)
i=1 h=i+1
=
m−1
λi v(S[i, m]) − v(S[i + 1, m])
i=1
+
m−1
(1 − λi )[v(S[i, m]) − v(S[i + 1, m])]
i=1
=
m−1 i=1
[v(S[i, m]) − v(S[i + 1, m])]
8.8 Future Research
545
= v(S[1, m]) = v(M). Remark 8.14 Aydinliyim and Vairaktarakis (2013) conduct a computational study that yields valuable insights about effective management of the flexible third-party resource. First, they demonstrate the benefit of processing the shortest subcontracted load first, rather than using the first-come, first-served rule that is commonly used in practice. Second, they observe that the subcontractor’s sequencing priority scheme and the savings allocation scheme decisions should be coordinated, in order to achieve fair coordination of the manufacturers’ subcontracting decisions. The results presented in this section show that various subcontracting problems within supply chain scheduling can be effectively coordinated using cooperative games.
8.8 Future Research We describe several topics of future research interest. These are organized around the sections of this chapter, i.e., sequencing games, scheduling games, project management games, capacity allocation games in supply chains, and outsourcing games. • For the topic of sequencing games discussed in Sect. 8.3, Aydinliyim and Vairaktarakis (2011) provide a review of the related literature and several suggestions for future research. Related to the implementability of sequencing game solutions, they note that recent advances in information technology are substantially enhancing the information sharing capabilities of supply chain members. Hence, many coordination problems that have been studied in the supply chain management literature can be revisited to investigate the benefit of coordinating decisions at the detailed scheduling level. Several open research questions arise in this context, based on the assumptions of such games. The first is more detailed investigation of reasonable assumptions about initial schedules. For example, a common assumption is that jobs are sequenced as first-come, first-served (FCFS). However, since the players know that resequencing will be possible, the use of strategic behavior may modify this assumption. Also, typical models assume that one dollar lost in booking costs can be compensated by one dollar worth of improvements in the delivery time, which is a strong, although mathematically useful, assumption that can be relaxed. The use of Pareto-optimal schedules may generate new insights. Full information sharing is another common assumption. Alternative treatments of information include Bayesian models with asymmetric information, which motivates studying the benefits of sharing information and mechanisms that induce truth-telling by the players, as discussed in Chap. 9. Most manufacturing systems are more complex
546
•
•
•
•
8 Cooperative Supply Chain Scheduling
than those considered in the sequencing game works in the literature, which motivates the study of more general systems. These systems include the machine environments of classical scheduling: parallel machines, flowshops, jobshops, and openshops. Finally, resource sharing is of importance in large and complex projects where many different contractors are responsible for different groups of tasks. In such models, players who finish their tasks earlier can move their resources to other tasks in return for side payments, and this process of resource sharing can create additional value for the grand coalition. Within the class of sequencing games, Gerichhausen and Hamers (2009) consider a game defined over a partition sequencing situation. The underlying scheduling problem has strong similarities to that of Hall and Potts (2004). That work suggests several related problems. Other definitions of scheduling cost are also relevant, as are more general machine configurations. In related work, Hall and Potts (2010) consider rescheduling problems where, after a schedule has been formed, the release date of some jobs is delayed; it would be useful to study sequencing games defined over such problems. Curiel (2015) studies multi-stage sequencing games. For future research, she recommends the study of multi-stage permutation games (see Sect. 8.3.1.1) where compensation is needed for the loss of an advantageous position. Also of value is the study of multi-stage sequencing games that incorporate uncertainty, which can be modeled in various ways, or games that include dynamic compensation rules. For scheduling games, Liu et al. (2018a) develop a valuable new mechanism for maintaining cooperation by combining subsidization and penalties. This work suggests both technical and economic questions of interest. First, on the technical side, even the subproblem of finding the optimal subsidy for a given level of penalty is computationally challenging. Second, there are significant computational challenges that require better approximation and faster convergence when the penalty-subsidy function has a large number of breakpoints. Third, besides the scheduling game which we discuss in detail, the authors also provide results for three closely related scheduling games. This motivates the characterization of a new “complexity boundary”, to identify which scheduling games admit an efficiently found penalty-subsidy function. On the economic side, it is intriguing to model the opportunity cost of subsidy decisions within various models. For example, the decision to implement a subsidy may create a cost that removes, or reduces the efficiency of, production capacity. With this perspective, the level and efficiency of production resources should be viewed endogenously, thereby enriching the analysis of the tradeoff between penalties and subsidies. Regarding the project planning game for subcontractors studied by Curiel (2011) and discussed in Sect. 8.5, further research should be directed toward relaxing the condition that all coalitions should have the same unique critical path. Generalization of the model by considering allocation schemes that are not linear and duration functions that are not piecewise linear provide other opportunities for further research. It is also relevant to consider a situation where, as long as the project is completed before a certain due date, no penalty is incurred.
8.8 Future Research
547
• The project execution game that is also discussed in Sect. 8.5 raises several significant research issues. A fundamental issue that is not fully resolved is what solution concepts are appropriate. Castro et al. (2007) model a project game based on what they argue are desirable properties: separability, nonmanipulability by splitting, and independent slack. However, Estévez-Fernández (2012) questions the relevance of these concepts and provides counterexamples. Her own work concentrates on traditional solution concepts within cooperative games, especially the core. Nonetheless, Bergantiños et al. (2018) argue that, within projects, strategic stability has no clear definition, since no group of activities can do without the others. This means that concepts such as the core are not necessarily applicable. They therefore consider several fairness properties: cost monotonicity (i.e., no activity should pay more if it finishes ahead of schedule), dummy (i.e., an activity finishing on schedule pays nothing), anonymity (i.e., the allocation does not depend on the name of the activity), and symmetry (i.e., symmetric activities pay the same). Both approaches can provide valuable insights about appropriate rewards in project execution games. • As a more general comment about project games, because of the precedence requirements of the project and also the resource sharing between activities that often occurs, it is problematic to define reasonable criteria for admissibility of rearrangements. Therefore, relaxations of admissibility requirements should be studied. • Section 8.6 discusses capacity allocation games. Hall and Liu (2010) discuss several directions for further research. First, the problem of testing whether instances of the knapsack game have fractional core members remains open. Second, since several of the algorithms presented require pseudo-polynomial time, it would be useful to develop effective heuristics to solve instances with large data values. Third, other measures of scheduling cost besides the total weighted completion time can be considered. Also, other operational decisions such as distribution can be incorporated into the supply chain considered. Furthermore, the supply chain studied in that work, which consists of one manufacturer and multiple distributors, can be generalized to consider multiple competing manufacturers. Finally, the impact of strategic behavior, such as deliberate overordering, on the manufacturer’s and distributors’ coordination decisions, should be considered. • Section 8.7 studies outsourcing games. In this context, Cai and Vairaktarakis (2012) suggest several opportunities for further investigation. One practical research direction is to consider multiple external resources, rather than only a single third party. More general cost functions of relevance could include cost of earliness (as a proxy for inventory holding cost) as well as lateness. Also of importance is the consideration of various other capacity reservation protocols, for example, based on an auction model. It would also be valuable to consider, in situations with private information, the effect of strategic behavior. Such models should yield many practical and challenging topics for future research. • Also for outsourcing games, Aydinliyim and Vairaktarakis (2013) mention several interesting future research directions that address other practical subcontracting issues. Such research opportunities include considering pricing issues,
548
8 Cooperative Supply Chain Scheduling
incorporating due dates, and varying the sensitivity to delay of the players. Asymmetric information issues and the resulting moral hazard problem can also be studied. Another topic worthy of investigation is sequential decision making settings where some of the players have more power and act as Stackelberg leaders. We refer the reader to Sect. 9.3.1 for related discussions. To summarize this chapter, we observe that there are numerous practically important and mathematically challenging research problems within the area of cooperative supply chain scheduling.
Chapter 9
Noncooperative Supply Chain Scheduling
Abstract This chapter discusses the application of noncooperative solution methods, especially noncooperative game theory, to decentralized supply chain scheduling problems. We consider a wide variety of scheduling problems that have classically been modeled and analyzed from the perspective of a centralized decision maker. By viewing the jobs or resources within these applications as individual self-interested players, noncooperative supply chain scheduling games are defined over those problems. We consider games with complete information, first without and second with structural enhancements, as well as games where the players have private information which they may report untruthfully. Within private information games, we study mechanism design both without and with payments and illustrate various concepts of truthfulness that are established by deterministic or randomized mechanisms. Our analysis of these games applies all the main concepts of noncooperative games, from the perspective of finding equilibrium solutions and analyzing their quality.
9.1 Introduction The literature of cooperative solutions to decentralized supply chain scheduling problems is impressive, as discussed in Chap. 8. However, there are various general situations where cooperation between agents (referred to as players in our work) is difficult, or even impossible, to achieve. One typical situation occurs where the players are fundamentally hostile toward each other and each seeks to drive the other players out of the market. Another frequently occurring situation occurs where the players do not trust each other sufficiently to share their information in a way that would enable cooperation. Another problem is that cooperative games require large amounts of information to be collected from many players, and this may be administratively difficult. Yet another problem is that the optimization problem of the grand coalition under cooperation is in many cases large and computationally intractable. Besides these general situations, there are other issues that are specific either to particular sets of players or to particular applications that © Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9_9
549
550
9 Noncooperative Supply Chain Scheduling
make it problematic to obtain cooperative solutions. To address these situations, an alternative and substantial body of work has developed that uses noncooperative solutions to provide insights about supply chain scheduling applications. Within this context, the information requirements and computational challenges are typically easier to meet in the case of noncooperative solutions than cooperative ones. Moreover, finding solutions may be possible through the use of local information and decisions involving local improvement, based on simple equilibrium concepts. This section discusses four different environments for the study of noncooperative solutions to supply chain scheduling problems. The first environment studied is complete information settings. In such settings, all information is publicly known to all players and a central planner if there is one. More specifically, the players make public all the information about the data they use to determine a strategy, although without revealing the strategy itself. Even so, the outcome of an equilibrium solution is typically not optimal for the overall system. The identification of equilibrium solutions for a supply chain scheduling problem makes it important to measure its solution quality, relative to that of an optimal solution for the system. As measures of the resulting loss, the ratio between the cost of the worst equilibrium and the optimal system cost is known as the price of anarchy, and the difference between them is known as the absolute price of anarchy. However, the price or absolute price of anarchy is in many cases high, suggesting that some equilibrium solutions are very inefficient. A related issue of importance under complete information is specifying the rules under which the players may interact and how this affects the quality of the solutions obtained. The second environment is complete information settings with enhancement. Because the quality of system equilibria can be poor relative to system optimal solutions, even when complete information is available, there is motivation to enhance the system. There are various approaches by which a noncooperative supply chain scheduling game can be enhanced, such that equilibrium outcomes are closer to an optimal system outcome. One approach is to allow the players to make their decisions sequentially, rather than simultaneously. We discuss some supply chain scheduling applications where this procedure leads to improved solutions. An alternative enhancement is to allow central control of some of the players. These players, or leaders, make their decisions first, motivated by optimizing system performance, with complete information about how the independent players, or followers, will respond. This leads to the study of Stackelberg games. Such games also model other supply chain scheduling applications where the leaders are selfish but anticipate the reactive decisions of other players. A third possible enhancement is the incentivization of decisions that are less selfish, i.e., at least partly altruistic, and therefore more supportive of the overall social welfare. Finally, we consider methods by which a central authority can manipulate players to move from a poor quality equilibrium to a better quality one, for example by public service announcements. Both the third and fourth environments involve some private information that is known only to its owner. In this situation, players may not necessarily report their information truthfully, which makes it harder to achieve a good outcome of the game. For example, a player may believe that, by underreporting the processing
9.1 Introduction
551
time of his job, that job will be given an earlier position in the schedule. In the third environment, the study of private information settings without payments, the truthful reporting of this information is incentivized through algorithm design without the use of additional payments to players. There is also other information that is public and therefore known to all players, including a central planner. The central planner, with the objective of optimizing overall system performance, creates an outcome, i.e., a schedule, based on information reported by the players. We formally introduce the concept of a mechanism and provide a generic example. We identify three levels of truthfulness, the first of which is deterministic, while the second and third require randomization. The examples we provide demonstrate a deterministically truthful mechanism that also finds a socially optimal solution, and the use of randomization to obtain good approximation bounds under truthful reporting. The fourth environment is the study of private information settings with payments. Again, the players know some private information about their data that is not known to other players or to the central scheduler. The main difference from the third environment is that we consider the use of payments to support a truthful algorithm. This is the topic of algorithmic mechanism design, for which supply chain scheduling models are a widely used application. In this environment, a mechanism has two components: an algorithm that takes the information reported by the players and uses it to develop an outcome, which in the supply chain scheduling context is typically a schedule, and a payment scheme that ensures truthful reporting by the players. We provide an overview of the main design concepts for this environment. We provide examples of how to design mechanisms at three different levels of truthfulness. Finally, we study an environment where players have probabilistic beliefs about the private information of other players, which requires the use of different design concepts. In several of these environments, the term mechanism plays an important but varying role, and we now provide a clarification about its different uses. When we discuss supply chain scheduling games where all information is public, the role of a mechanism is to coordinate the decisions of selfish players around a solution that is socially optimal. For example, it may be possible to identify an optimal solution that is stable. We describe such a mechanism as a coordination mechanism. Alternatively, when we discuss a game that includes private information, a truthful mechanism is one that incentivizes all the players to report their information truthfully to a central authority. For game solutions that include not only an algorithm but also payments between the central authority and the players, we use the term algorithmic mechanism. Thus, within this book, an algorithmic mechanism is a truthful mechanism that includes a payment scheme. This chapter is organized as follows. Section 9.2 introduces complete information settings, illustrates the use of equilibrium concepts to study scheduling problems, and defines the price of anarchy with several examples. We also provide examples of algorithms for finding a Nash equilibrium and results which show that, in some situations, doing so is an intractable problem. Section 9.3 discusses enhanced complete information settings. Section 9.4 demonstrates the design and application of truthful algorithms where some information is private but payments are not used. Section 9.5 studies settings with private information and focuses on algorithmic
552
9 Noncooperative Supply Chain Scheduling
Section 9.2: Complete Information: Nash equilibrium; price of anarchy; earliness and tardiness costs; subcontracting games; project scheduling games; local sequencing rules; congestion and activation costs.
Section 9.3: Enhanced Complete Information: sequential decision games; leader-follower games; altruistic games; central authority manipulation.
Chapter 9: Noncooperative Supply Chain Scheduling
Section 9.5: Private Information, Payments: design concepts; deterministic truthfulness; universal truthfulness; truthfulness in expectation; Bayes-Nash incentive compatibility.
Section 9.4: Private Information, No Payments: design concepts; deterministic truthfulness; randomized mechanism.
Fig. 9.1 Overview of the topics covered in Chap. 9
mechanism design, including the design of payment schemes, for supply chain scheduling problems. Section 9.6 identifies future research topics within the study of noncooperative games for supply chain scheduling. Figure 9.1 provides an overview of the topics within noncooperative solutions to decentralized supply chain scheduling problems that are discussed in this chapter.
9.2 Complete Information Games Complete information games provide a simple starting point for the study of noncooperative games. In Sect. 9.2.1, we describe the general environment of noncooperative games and define important noncooperative game concepts, including a Nash equilibrium, the price of anarchy, and the absolute price of anarchy. Section 9.2.2 provides several examples of how to find a Nash equilibrium for a supply chain scheduling problem. For some applications, doing so is shown to be intractable. For other applications, a Nash equilibrium can be found efficiently, but the imposition of a constraint on solution quality makes the problem intractable.
9.2.1 Noncooperative Game Concepts Heydenreich et al. (2007) provide an inviting overview of noncooperative games that are defined for supply chain scheduling problems. Within the literature of
9.2 Complete Information Games
553
noncooperative games, it is common to refer to an instance of a scheduling problem as a scheduling situation and to refer to the corresponding instance of a related game as being defined over a scheduling situation. We briefly review the essential definitions for scheduling problems within the supply chain scheduling environment. These definitions arise within the study of classical scheduling problems and are independent of the assumptions of noncooperative games that are defined over them. In the scheduling applications we consider, there is a set N = {1, . . . , n} of jobs. The jobs require processing, in most but not all cases nonpreemptively, i.e., without interruption, on a set M = {1, . . . , m} of machines. The data for the jobs is similar to that within classical scheduling: a processing time pj and a weight or urgency measure wj . In some problems, each job also has a due date dj or a release date rj . If m ≥ 2, the m machines are configured in parallel. In this case, the processing time of a job j on machine i is pj for i ∈ M when the machines are identical; or pj /si on machine i that has speed si when processing times are proportional or uniform; or pij when processing times are unrelated across the machines. For specific supply chain scheduling games discussed below, additional notation is defined as needed. We now discuss some definitions for noncooperative supply chain scheduling games that involve a number of self-interested players. In many supply chain scheduling applications, we may think of the self-interested players as customers, each of whom owns one or more jobs; or equivalently, the jobs themselves can represent the players. Alternatively, we may view the machines as players. A player is defined by his type, which is his information about the scheduling problem, whether that information is public or private. Thus, player k has type tk . Available to the players are several possible actions. For example, in some applications, a player may select any of several machines to schedule his job. An allocation algorithm computes an outcome, i.e., a schedule, from the known public or reported information and the actions of all the players. Let Cj , for j ∈ N, denote the set of job completion times in a schedule found by the allocation algorithm. To ensure that this schedule is well defined, it may be necessary to specify a local rule for the machines. For example, if the players each choose a machine for their jobs, then a local rule for each machine may specify that the jobs are sequenced in index order or shortest processing time (SPT) order. Once the jobs are assigned to the machines, the use of this rule is sufficient to define a schedule. More generally, the sequencing rule may vary between the machines. While a focus is on the incentivization and decision making of the self-interested players, it is important to evaluate the overall system performance, typically measured by cost, that results from those decisions. Both the construction of the overall schedule and the evaluation of its utility, cost, or profit are performed by a central authority, or central planner, or central scheduler. The central authority optimizes a social objective for the overall system. In some applications, the central authority owns no resources, whereas in other applications the players own no resources and access resources owned by the central authority. Meanwhile, various players may value any given schedule differently. For example, since a player is self-interested, he is typically concerned only with the costs(s) of his own job(s). This is where the use of payments to enhance the game may be helpful, in that they
554
9 Noncooperative Supply Chain Scheduling
can be used to encourage the players to make decisions that improve the quality of the overall solution. To every action of a player, we associate a strategy. A game is a mapping from the set of strategies into the set of schedules. Let uk (x) denote the utility gained by player k from a vector of strategies for the n players, x = (x1 , . . . , xn ). The following three sections review and illustrate fundamental concepts within noncooperative games: a Nash equilibrium, the price of anarchy, and the absolute price of anarchy, respectively.
9.2.1.1
Nash equilibrium
An important concept for analyzing noncooperative games is a Nash equilibrium (Nash, 1951), as now defined. Consider a game of maximizing utility. The following definitions are needed. See Sect. 2.3.6 for a brief introduction to several related concepts. Let N = {1, . . . , n} denote a set of players. Let Xi denote the set of strategies available to player i, i ∈ N. Definition 9.1 A pure strategy solution is one where each player makes his decisions and receives his outcome, deterministically. A vector of strategies for the n players, x = (x1 , . . . , xn ) ∈ X1 × · · · × Xn , is a pure strategy Nash equilibrium if uk (x) ≥ uk (x1 , . . . , xk−1 , xk , xk+1 , . . . , xn ),
xk ∈ Xk , k = 1, . . . , n.
(9.1)
Equation (9.1) states that, given the strategies of all other players, the utility of any individual player k cannot be improved by any other feasible strategy xk = xk . Hence, no player has any incentive to change strategy unilaterally, and the system is in equilibrium. However, this equilibrium solution does not in general achieve an optimal outcome for the overall game, i.e., it may not be a socially optimal solution. In a supply chain scheduling game, a socially optimal solution maximizes the total profit or minimizes the total cost of the system. In a centralized supply chain scheduling context, as studied in Chaps 3 through 6, this is viewed more simply as an optimal solution for a single decision maker. Importantly, not every game admits a pure strategy Nash equilibrium. We provide an example from supply chain scheduling, by considering the classical scheduling problem P2 || Cj , which requires minimization of the total completion time of all the jobs when they are scheduled on two identical parallel machines. There are two players, each of whom owns a subset of the jobs and minimizes his total completion time only over his own jobs. However, those costs may be influenced by the scheduling decisions of the other players. The strategy of each player consists of deciding on which of the two machines to schedule each of his jobs. A socially optimal solution in this game minimizes the total completion time of all the players. Example 9.1 (A Game Without a Pure Strategy Nash equilibrium) Consider an example with two players, each of whom owns two jobs, and two machines. Player 1 owns jobs a and b, and player 2 owns jobs c and d. The processing times of the jobs are pa = 1, pb = 4, pc = 3, and pd = 5. Each machine sequences the jobs assigned to it in SPT order, as is known to be optimal for the classical scheduling problem
9.2 Complete Information Games Table 9.1 Cost table for Example 9.1
555 P 1\P 2 ∅ {a} {b} {a, b}
∅ 9, 17 8, 15 5∗ , 13 6, 11
{c} 6, 13 5∗ , 13 8, 9† 9, 9†
{d} 9, 9† 8, 9† 5∗ , 13 6, 13
{c, d} 6, 11 5∗ , 13 8, 15 9, 17
P2 || Cj (Smith, 1956). Table 9.1 shows the cost table for both players, given their strategy of which job(s) to schedule on machine 1 shown in the row for player 1 and in the column for player 2. The other jobs are scheduled on machine 2. For example, suppose both players choose the strategy ∅, i.e., they schedule both of their jobs on machine 2. Implementing the SPT rule, the sequence of those jobs on machine 2 is shortest processing time (SPT), i.e., a, c, b, d. Hence, player 1 incurs costs of Ca = 1 and Cb = 1 + 3 + 4 = 8, for a total cost of 9, and player 2 incurs costs of Cc = 1 + 3 = 4 and Cd = 1 + 3 + 4 + 5 = 13, for a total cost of 17. Thus, the entry in Table 9.1 corresponding to the strategy of ∅ for both players shows their costs as 9, 17. The notation ∗ against the relevant cost for player 1 indicates that it is the best strategy for player 1 who chooses between the rows of the table, given player 2’s strategy shown in the column. Similarly, the notation † against the relevant cost for player 2 indicates that it is the best strategy for player 2 who chooses between the columns of the table, given player 1’s strategy shown in the row. For example, if player 2 chooses ∅, the best response of player 1 is {b}, with a cost of 5. Observe that there is no solution in Table 9.1 where both players have a best response, given the other player’s strategy. This shows that there is no Nash equilibrium in pure strategy for this game. A useful alternative for a game without a pure strategy equilibrium is a Nash equilibrium in mixed strategy, as now defined. Nash (1951) shows that for any game with a finite number of strategies, there exists an equilibrium in mixed strategies. Definition 9.2 A mixed strategy is one where the decisions of each player are defined by a probability distribution over the possible strategies that are available. Under a mixed strategy, a player maximizes his expected utility. Formally, let Δ(Xk ) denote the set of probability distributions over the set of available pure strategies Xk for player k, and let E[·] denote expectation. Since this is a utility maximization problem, a vector of strategies for the n players, x = (x1 , . . . , xn ) ∈ Δ(X1 ) × · · · × Δ(Xn ), is a mixed strategy Nash equilibrium if E[uk (x)] ≥ E[uk (x1 , . . . , xk−1 , xk , xk+1 , . . . , xn )],
xk ∈ Δ(Xk ), k = 1, . . . , n. (9.2)
We now illustrate a mixed strategy equilibrium. Example 9.2 (Mixed Strategy Nash equilibrium for the Game in Example 9.1) Consider Table 9.1 in Example 9.1. Observe that, irrespective of the strategy of player 2, it is always better for player 1 to use strategy {a} over strategy ∅ and always better to use strategy {b} over strategy {a, b}. Similarly, it is always better
556
9 Noncooperative Supply Chain Scheduling
for player 2 to use strategy {c} over strategy ∅ and always better to use strategy {d} over strategy {c, d}. Hence, the only pairs of strategies that are nondominated, and thus receive nonzero probability, are ({a}, {c}), ({a}, {d}), ({b}, {c}), and ({b}, {d}). A mixed strategy equilibrium is defined by P r({a}) = P r({b}) = P r({c}) = P r({d}) = 0.5, which results in an expected cost of 6.5 for player 1 and 11.0 for player 2, for a total of 17.5. The definition of this is that it does not increase the expected utility of either player unilaterally to change his probability distribution over his decisions. Finally, observe that this solution does not minimize the total system cost, which is 8 + 9 = 17, as achieved by the strategies {a} for player 1 and {d} for player 2, or symmetrically {b} for player 1 and {c} for player 2.
9.2.1.2
Price of Anarchy
In a typical game, there may be many Nash equilibrium solutions with varying levels of profit or cost for the overall system. From the perspective of a central authority, it is valuable to know the worst-case outcome for the overall system among those solutions. This information has practical importance, because the system may naturally evolve to it and, since it is in equilibrium, remain there. Definition 9.3 Consider a cost minimization game, where z∗ denotes the minimum total system cost, and zN (σ ) denotes the cost of a pure Nash equilibrium solution σ . Then, the price of anarchy (PoA) is defined by Koutsoupias and Papadimitriou (1999) as P oA = max {zN (σ )}/z∗ , σ ∈N E
(9.3)
where N E is the set of strategies that are at a Nash equilibrium. Analogously, in a profit maximization game, we let zN (σ ) denote the profit of a Nash equilibrium solution σ , and P oA = z∗ / minσ ∈N E {zN (σ )}. Exact analysis of the price of anarchy is possible for some supply chain scheduling games. Koutsoupias and Papadimitriou (1999) provide the following example. Example 9.3 (PoA of a Mixed Strategy Nash equilibrium) Consider the classical scheduling problem P2 ||Cmax , where jobs must be allocated to either of two machines to minimize the makespan of the schedule. Define a related game where the social objective is also to minimize the makespan. Each player minimizes the completion time of his own single job by choosing a machine on which to process it. Consider an instance of this game where there are two players, each with one job, i.e., n = 2, and let p1 = p2 = 1. Let xi∗ denote the probability with which player i chooses to allocate his job to machine 1. A mixed strategy Nash equilibrium is given by x1∗ = x2∗ = 0.5, i.e., each player chooses to schedule his job on machine 1 and on machine 2 with equal probability. With probability 0.5, both jobs are scheduled on the same machine, which results in a makespan of 2, and with probability 0.5, the
9.2 Complete Information Games
557
jobs are scheduled on different machines, which results in a makespan of 1. Hence, the expected makespan is 0.5(1) + 0.5(2) = 1.5. The optimal centralized solution schedules the jobs on different machines, resulting in a makespan of 1. Hence, the price of anarchy is at least 1.5. Moreover, Koutsoupias and Papadimitriou (1999) provide a matching upper bound that establishes that the PoA is exactly 1.5. Remark 9.1 Since the set of mixed strategies contains the set of pure strategies as a subset, and from (9.3), the PoA over pure strategies is less than or equal to that over mixed strategies in a cost minimization or profit maximization game. That is, the PoA is no worse under pure strategies than under mixed strategies. It is therefore interesting, for comparison, to consider the problem discussed in Example 9.3 over pure strategies. Heydenreich et al. (2007) prove the following result. Theorem 9.1 For problem P2 ||Cmax , the PoA of pure strategy Nash equilibria is 4/3. Proof There are n jobs in this game. To prove the upper bound, consider an arbitrary schedule in pure strategy Nash equilibria. Let T1 , T2 denote the total processing time on machines 1 and 2, respectively; hence, Cmax = max{T1 , T2 }, where without loss of generality we let T2 = T1 + δ, and δ ≥ 0. If machine 2 has only one job, then the schedule is optimal, i.e., Cmax = T ∗ . Otherwise, any job on machine 2 must have a processing time of at least δ; else it would move to machine 1. Therefore, T1 + δ ≥ 2δ ⇒ T1 ≥ δ. An optimal schedule cannot do better than divide δ equally between the two machines, hence T ∗ ≥ T1 + δ/2. Therefore, P oA =
2δ T2 T1 + δ max{T1 , T2 } ≤ = 4/3, = ∗ ≤ ∗ T T T1 + δ/2 3δ/2
(9.4)
where the second inequality is obtained by setting T1 as small as possible, i.e., T1 = δ. The following example shows that the upper bound established in (9.4) is attainable in this game. Example 9.4 (Lower Bound on PoA for a Two Machine Makespan Game) Consider an instance of a game defined over problem P2 ||Cmax , where n = 4, p1 = p2 = 1, and p3 = p4 = 2. An optimal solution schedules one job with processing time 1 and one job with processing time 2 on each machine, giving Cmax = 3. However, consider a schedule with jobs 1 and 2 on machine 1, and jobs 3 and 4 on machine 2, giving Cmax = 4. Since no job can move to a different machine and reduce its cost, this schedule is a pure strategy Nash equilibrium. Hence, P oA ≥ 4/3. Lee et al. (2012) consider the price of anarchy in settings with two parallel uniform, i.e., proportional speed, machines. In a game they describe in this environment, the social objective is the minimization of the total completion time of all the jobs. Each player owns a single job. The objective of each player is to minimize the completion time of his job. The classical scheduling problem underlying this game
558
9 Noncooperative Supply Chain Scheduling
is denoted as Q2 || Cj . To give some context for this analysis, we provide two related results for the identical parallel-machine case P || C and the unrelated 2 j parallel-machine case R2 || Cj . Theorem 9.2 If each machine adopts a local SPT policy in problem P2 || Cj , then the PoA is 1. Proof The assumption in the theorem implies that, on each machine, jobs are scheduled in SPT order. Index the entire set of jobs in SPT order. Assume, without loss of generality, that the shortest job is scheduled on machine 1. Within all possible schedules that satisfy these conditions, we call a schedule in which all the odd numbered jobs are scheduled on machine 1 and all the even numbered jobs are scheduled on machine 2, an alternating schedule. We now show that any schedule with SPT ordering on both machines that is at a Nash equilibrium is an alternating schedule. Observe that in an alternating schedule the total processing time on machine 1 is not smaller (respectively, not larger) than that on machine 2 after the scheduling of each odd (resp., even) numbered job. Let k denote the lowest indexed job that does not follow the alternating schedule. There are two cases. If k is odd but job k is scheduled on machine 2, then from the above observation, job k can move to machine 1 where its completion time will be smaller or the same. Alternatively, if k is even but job k is scheduled on machine 1, then the number of jobs on machine 1 is greater by two than the number on machine 2, and again from the above observation, job k can move to machine 2 where its completion time will be smaller or the same. It follows that any schedule with SPT ordering on both machines that is at a Nash equilibrium is an alternating schedule. Next, observe that the total completion time cost Cj of any job sequence can be expressed as the sum of job processing times multiplied by a positional penalty that represents the number of jobs scheduled after job j and job j itself. Given this definition, it can be shown by adjacent pairwise interchange of jobs that the total cost is minimized if the jobs pn , pn−1 , . . . , p1 are associated with the respective positional penalties 1, 1, 2, 2, . . . , (n−1)/2, (n−1)/2, n/2 if n is odd, or 1, 1, 2, 2, . . . , n/2, n/2 if n is even. Finally, observe that an alternating schedule also associates the jobs and positional penalties in exactly this way. Therefore, an alternating schedule is a minimum cost schedule. Hence, any Nash equilibrium schedule is optimal, and the PoA is 1. In the unrelated parallel-machines case, R2 || Cj , under the same local policy, Cole et al. (2011) show that the PoA in pure strategy Nash equilibria is at most 4. Intuitively, we expect that the result for two uniform machines, i.e., the Q2 environment, interpolates between 1 and 4. This is indeed the case, as shown by Lee et al. (2012) in the following result. Theorem 9.3 Given two uniform parallel machines that adopt a local SPT policy and a central objective of minimizing the total completion time Cj , then the PoA √ √ in pure strategy Nash equilibria satisfies
3+ 3 4
≤ P oA ≤
1+ 5 2 .
9.2 Complete Information Games
559
Proof The upper bound is proved as follows. Without loss of generality, define the machine speeds as s2 = 1 and s1 = s > 1. Index the jobs in SPT order, i.e., p1 ≤ · · · ≤ pn . Let [j ] denote the job with the j th smallest completion time in an optimal schedule σ ∗ . Then, for a schedule σ that is a Nash equilibrium, n
Cj (σ ) = C1 (σ ) + C2 (σ ) + · · · + Cn (σ )
j =1
≤ p1 /s + (p1 + p2 )/s + · · · + (p1 + p2 + · · · + pn )/s =
j n
(9.5)
pi /s.
j =1 i=1
Inequality (9.5) uses the scheduling of all jobs in SPT order on the faster machine as a reference point. For large values of s, this solution may be a Nash equilibrium. However, in all cases, its cost is an upper bound on any Nash equilibrium solution. Meanwhile, in an optimal schedule σ ∗ , n
Cj (σ ∗ ) = C[1] (σ ∗ ) + C[2] (σ ∗ ) + · · · + C[n] (σ ∗ )
j =1
≥ p[1] /(s + 1) + (p[1] + p[2] )/(s + 1) + · · · + (p[1] + p[2] + · · · + p[n] )/(s + 1)
(9.6)
= [np[1] + (n − 1)p[2] + · · · + 1p[n] ]/(s + 1) ≥ [np1 + (n − 1)p2 + · · · + 1pn ]/(s + 1) =
j n
(9.7)
pi /(s + 1),
j =1 i=1
where the inequality (9.6) is obtained by allowing both machines to process the same job concurrently, and the inequality (9.7) follows from the SPT indexing of the jobs. Hence, n j =1 Cj (σ ) n ≤ 1 + 1/s. (9.8) ∗ j =1 Cj (σ ) Recall that s2 = 1 and s1 = s > 1. Now, consider two machine environments that provide upper and lower bounds on cost in the environment that we are considering here: s1 = s2 = 1 and s1 = s2 = s. Let z1 (respectively, z2 ) denote the schedule from an SPT local policy in the first (resp., second) environment, given the same set of jobs. Then, nj=1 Cj (σ ) ≤ z1 and nj=1 Cj (σ ∗ ) ≥ z2 . Therefore, n
j =1 Cj (σ ) ∗ j =1 Cj (σ )
n
≤ s.
(9.9)
560
9 Noncooperative Supply Chain Scheduling
Then, from (9.8) and (9.9), n
j =1 Cj (σ ) ∗ j =1 Cj (σ )
n
≤ min{1 + 1/s, s} √ 1+ 5 ≤ . 2
An example instance is now used to establish the lower bound. Example 9.5 (Lower Bound on PoA for a Two Machine Completion Time√Game) Let n = 3, p1 = s, p2 = s/(s − 1), p3 = [s/(s − 1)]2 , s1 = s = 1 + 1/ 3, and s2 = 1. Observe that p1 < p2 < p3 here. Consider the schedule σ where jobs 1 and 2 are scheduled on machine 1 in that sequence in SPT order and job 3 is scheduled on machine 2. Then, C1 (σ ) = 1, C2 (σ ) = [1+1/(s −1)], and C3 (σ ) = [s/(s −1)]2 ; hence, 3
Cj (σ ) = 1 + 1 +
j =1
1 s 2 + . (s − 1) s−1
Observe that no job can reduce its cost by moving to another machine. Hence, this solution is a Nash equilibrium in pure strategy. However, in an optimal schedule σ ∗ , jobs 1 and 3 are scheduled on machine 1 in that sequence by SPT, and job 2 is scheduled on machine 2. Then, 3
Cj (σ ∗ ) = 1 +
j =1
s s + 1+ . 2 s−1 (s − 1)
Therefore, the PoA in pure Nash equilibria satisfies 3
j =1 Cj (σ )
P oA ≥ 3
j =1 Cj (σ
=
∗)
2 + 1/(s − 1) + [s/(s − 1)]2 2 + s/(s − 1) + [s/(s − 1)2 ]
s−1 − 4s + 2 1 , = 1+ √ 2 3+2 √ 3+ 3 = . 4 = 1+
3s 2
by definition of s
9.2 Complete Information Games
561
√ From Theorem 9.3, the PoA for problem Q || C is between (3 + 3)/4 ≈ 2 j √ 1.183 and (1 + 5)/2 ≈ 1.618, and clearly between 1 and 4, as expected from Theorem 9.2 and Cole et al. (2011). Lee et al. (2012) also study the absolute price of anarchy for three classical scheduling objectives defined by due dates: maximum tardiness, total tardiness, and the number of tardy jobs. Besides the performance of the worst Nash equilibrium, it is also of interest to evaluate the best Nash equilibrium. In general, the best Nash equilibrium solution need not be socially optimal. The following definition is useful for characterizing it. Definition 9.4 Consider a cost minimization game, where z∗ denotes the minimum total system cost and zN (σ ) denotes the cost of a solution σ . Then, the price of stability (PoS) is defined by P oS = min {zN (σ )}/z∗ , σ ∈N E
(9.10)
where N E is the set of strategies that are at a Nash equilibrium in pure strategy. Analogously, in a profit maximization game, we let z∗ denote the maximum total system profit and zN (σ ) denote the profit of a Nash equilibrium solution σ . Then, P oS = z∗ / maxσ ∈N E {zN (σ )}. 9.2.1.3
Absolute Price of Anarchy
For scheduling problems with due dates, the value of an optimal solution may be zero or even negative. Hence, the conventional definition of the price of anarchy in (9.3) cannot be applied. As an alternative, Lee et al. (2012) define the absolute price of anarchy for a cost minimization game as AP oA = max zN (σ ) − z∗ . σ ∈N E
(9.11)
We illustrate the use of this performance measure for a supply chain scheduling game on m identical parallel machines. The central objective considered is minimization of the total tardiness, i.e., problem Pm || Tj , where Tj = max{Cj − pj , 0}. There are n players. Each player owns a single job and minimizes the tardiness of that job, which is a nondecreasing function of its completion time. Since if n ≤ m, all jobs can start processing at time 0, every schedule that starts at most one job on each machine is optimal. Hence, we assume that n > m. Let P = nj=1 pj . Recall that an EDD policy (Jackson, 1955) schedules the jobs by nondecreasing order of due dates. Theorem 9.4 Given m identical parallel machines that adopt an EDD local policy, and a central objective of minimizing the total tardiness, then the APoA is (n/m − 1)P .
562
9 Noncooperative Supply Chain Scheduling
Proof To prove the upper bound, observe that, in any feasible schedule, the completion time of job j is at least pj . Thus, Tj (σ ∗ ) ≥ max{0, pj − dj }. In a pure Nash equilibrium schedule, let N 0 ⊆ N denote the set of jobs that start processing at time 0, and let |N 0 | = m. Now, for j ∈ N 0 , we have Tj (σ ) = max{0, Cj − dj } = max{0, pj − dj } ≤ Tj (σ ∗ ).
(9.12)
On the other hand, for j ∈ N \ N 0 , we have Tj (σ ) = max{0, Cj − dj } ≤ max{0, (P − pj )/m + pj − dj },
from property of a Nash equilibrium
≤ max{0, pj − dj } + (P − pj ) ≤ Tj (σ ∗ ) + P /m.
(9.13)
Therefore, combining the last two results, we have n
Tj (σ ) =
j =1
j ∈N 0
≤
j ∈N 0
Tj (σ ) +
Tj (σ )
j ∈N \N 0
Tj (σ ∗ ) +
Tj (σ ∗ ) + (n − m)P /m,
j ∈N \N 0
from (9.12) and (9.13) ≤ Tj (σ ∗ ) + (n/m − 1)P . j ∈N
Thus, AP oA ≤ (n/m−1)P for this problem. The following example establishes the matching lower bound in this game. Example 9.6 (Lower Bound on APoA in a Total Tardiness Game) Consider the following instance of the above game. For l ∈ R+ , let there be n = l × m jobs to be scheduled on m machines. There are only two types of jobs. There are (l − 1)m jobs of the first type and m jobs of the second type. Let pj = > 0 and small, and dj = j/m, for j = 1, . . . , (l − 1)m. Let pj = x, dj = 0, for j = (l − 1)m + 1, . . . , lm. Observe that P = nj=1 pj = (l − 1)m + mx and also that l = n/m. In an optimal schedule σ ∗ , jobs 1, . . . , (l − 1)m are scheduled on machines 1 through m in EDD order, and jobs (l − 1)m + 1, . . . , lm are scheduled last on the m
9.2 Complete Information Games
563
machines. Thus, Tj (σ ∗ ) = 0 for j = 1, . . . , (l − 1)m, and Tj (σ ∗ ) = (l − 1) + x for j = (l − 1)m + 1, . . . , lm. Therefore, n
Tj (σ ∗ ) = [(l − 1) + x]m.
j =1
Consider a schedule σ where all jobs are scheduled in EDD order. Then, each machine processes one job with processing time x, followed by (l − 1) jobs with processing times , all of which are tardy by at least time x. Hence, n
Tj (σ ) ≥ xlm.
j =1
Moreover, since all machines complete processing at time x +(l −1), no job can move to another machine without increasing its completion time. Hence, schedule σ is a Nash equilibrium schedule. Now, as → 0, it follows that P → xm; hence, we have AP oA ≥ xlm − [(l − 1) + x]m = (l − 1)xm − (l − 1)m → (n/m − 1)P as → 0. The above definitions and examples provide a framework for studying the performance of Nash equilibrium solutions in various supply chain scheduling games in the following sections.
9.2.2 Finding and Evaluating an Equilibrium This section contains six examples of supply chain scheduling problems for which we discuss the development of an algorithm to find a Nash equilibrium. Section 9.2.2.1 discusses a simple scheduling problem with unit processing times and both earliness and tardiness costs. Section 9.2.2.2 discusses two problems involving subcontracting. In the first problem, a set of manufacturers is supported by a thirdparty provider of capacity. In the second problem, various departments within an organization can use either a common resource shared with other departments or an external subcontractor. Section 9.2.2.3 describes a project scheduling game where the players own tasks which they can expedite at cost, if doing so generates a sufficient share of additional reward for improved project completion time provided by the project customer. Section 9.2.2.4 illustrates issues that arise in finding an
564
9 Noncooperative Supply Chain Scheduling
equilibrium when different machines use a variety of local prioritization rules for the jobs assigned to them. Section 9.2.2.5 discusses a scheduling game with both congestion and activation costs for machines, which generates interesting tradeoffs. In several of the problems studied in this section, finding a Nash equilibrium, and particularly finding one with a pre-specified bound on system cost, is shown to be an intractable problem.
9.2.2.1
Earliness and Tardiness Costs
The first supply chain scheduling game discussed in this section is chosen for its simplicity and the conciseness of its results. In a centralized decision making environment, a single machine problem with earliness and tardiness costs around a common due date is studied by Hall (1986) and Kanet (1981). The motivation for this problem is that earliness costs model the cost of holding inventory, whereas tardiness costs model penalties in delivery contracts with customers. A generalization of this problem with weighted earliness and tardiness penalties is studied by Hall and Posner (1991), who provide a pseudo-polynomial time algorithm and a proof of binary NP-completeness, as well as analysis of some special cases. Hall et al. (1991) provide similar results for an alternative version of the problem without weights where the common due date may be restrictively early. In a decentralized decision making environment, Glazer et al. (2018) study the problem of job arrivals to a single machine, where jobs incur both earliness and tardiness costs. We describe a noncooperative game defined over this supply chain scheduling problem. Consider n customers or players, each of whom owns one or more jobs. Each job has a processing requirement of one time unit. The strategy of customer i is defined by si , the time at which he sends his jobs into the system for processing. Those jobs start processing immediately if and only if no other jobs are being processed or waiting for service. All jobs share a single server with a common due date, d = 0, which is not restrictive since negative start times are permitted. The earliness or tardiness cost of each job is measured by the absolute value of the time difference between its start time and the common due date d. There is a linear penalty ce for each unit of earliness and a linear penalty cl for each unit of tardiness. For example, the cost of starting job i at time t > 0 is cl t. The dynamics of this noncooperative game are as follows: 1. Customers simultaneously decide, at time −n, when to send their jobs. 2. The server starts working when the first job arrives. 3. Jobs arriving at a busy server form a first-come, first-served queue if the server is busy, with simultaneous arrivals being sequenced according to a uniform random distribution over all possible sequences. 4. Once it completes processing a job, the server immediately processes a job at the head of the queue if there is one. 5. Customers pay a penalty for deviation of their service start time from the common due date.
9.2 Complete Information Games
565
We consider the scheduling environment defined above from the viewpoint of minimizing total cost, i.e., the total earliness and tardiness cost of the jobs. We first characterize an optimal solution (Glazer et al., 2018). Define s˜ = ncl /(ce + cl ). Lemma 9.1 A sequence of service start times is optimal if and only if there exists an indexing of the jobs such that si = si−1 + 1, i = 2, . . . , n, and: (i) If s˜ is integer, then s1 ∈ [−˜s , −˜s + 1]. (ii) If s˜ is not integer, then s1 = −˜s . Proof Without loss of generality, let s1 ≤ · · · ≤ sn . Suppose the server is idle after job i where si < 0. Then, the earliness cost of all jobs up to i can be reduced by shifting them forward until there is no idle time, without affecting the timing of other jobs. A similar argument applies to the case where si > 0. Hence, processing of the unit size jobs is consecutive, i.e., si = si−1 + 1, i = 2, . . . , n, and the optimization problem reduces to a single decision variable, s1 . Letting i0 = max{i | si ≤ 0}, the total cost function is z(s1 ) =
n
cl (s1 + i − 1) −
i=i0 +1
i0
ce (s1 + i − 1)
i=1
= (cl n − cl i0 − ce i0 )s1 +
n
cl (i − 1) −
i=i0 +1
i0
ce (i − 1).
i=1
The slope of z(s1 ) is negative if i0 > s˜ , positive if i0 < s˜ , and 0 otherwise. The solution has two cases. If s˜ is integer, then any s1 that satisfies −˜s ≤ s1 ≤ −˜s + 1 is optimal. Alternatively, if s˜ is not integer, then an optimal solution satisfies −˜s < i0 = max{i | s1 + i − 1 ≤ 0} < −˜s + 1 and s1 + i0 − 1 = 0. Hence, s1 = −˜s .
Recall that each job is owned by a player who decides when to release his job into the system. However, the job does not necessarily start immediately if other jobs are also waiting to start. We consider each player as the owner of a single job, with the objective of minimizing the cost of that job. The social objective is minimization of the total cost of all the players. The following analysis provides necessary and sufficient conditions under which a socially optimal set of arrival times is an equilibrium. We define a strategy where all players make the same choice about when to release their jobs to the system to be
566
9 Noncooperative Supply Chain Scheduling
symmetric. Glazer et al. (2018) prove the following preliminary result for the game defined above: Lemma 9.2 (i) There is no asymmetric equilibrium of the game in pure strategy. (ii) There is no asymmetric equilibrium of the game in mixed strategy. (iii) There is no symmetric equilibrium of the game in mixed strategy. From Lemma 9.2, we restrict our discussion of equilibrium solutions to symmetric solutions in pure strategy. Now, let c(s : t) denote the cost of a single player who chooses strategy s to minimize his individual cost when all the other players choose strategy t. As a special case of this definition, c(t : t) is the cost of single player choosing strategy t when all other players choose t. The next result characterizes all possible equilibria. Lemma 9.3 Let t = t1 be a solution of c(t : t) = cl (t + n − 1), and let t = t2 be a solution of c(t : t) = −ce t. Then, t1 and t2 are unique, and the set of all equilibria is given by the pure and symmetric strategies of all customers arriving together at time t, such that t ∈ [t1 , t2 ] ⊂ (−(n−1), 0), within which t = −(n−1)[cl /(ce +cl )] is an equilibrium. Proof Suppose all other customers arrive at some common time t < 0. Then, the expected cost for each of them, as determined by the uniformly generated random distribution of start times t, . . . , t + n − 1, is n−1 t +i [cl (|{i | t + i ≥ 0}|) − ce (|{i | t + i < 0}|)]. n i=0
Besides the option of joining the other customers to arrive at time t, a single customer has only two reasonable alternatives: arriving before everyone else and incurring a cost of at least −ce t, and waiting for everyone else to finish service and incurring a cost of at least cl (t + n − 1). Therefore, ⎧ ⎪ s, if s < t ⎪ ⎨−ce it c(s : t) = [cl n−1 i=it +1 (t + i) − ce i=0 (t + i)]/n, ⎪ ⎪ ⎩c max{t + n − 1, s}, if s > t. l
if s = t
(9.14)
Let it = max{i | t + i < 0} > 0. Then, the cost function c(s : t) is piecewise linear with respect to t with a slope of f (t) =
cl (n − 1 − it ) − ce it . n
Now, if t ∈ (−(n−1), 0), then it ∈ (0, (n−1)); hence, f (t) < cl , and the solution t of c(t : t) = cl (t +n−1) is unique. Similarly, c(t : t) = −ce t has a unique solution.
9.2 Complete Information Games
567
Finally, c(t : t) ≤ cl (t + n − 1) is satisfied for any t ≥ t1 , and c(t : t) ≤ −ce t is satisfied for any t ≤ t2 . Summarizing, the interval [t1 , t2 ] is the set of all equilibria with pure symmetric strategies. Finally, consider the symmetric solution t = −(n − 1)[cl /(ce + cl )]. Using the expression under the condition s = t from (9.14), we can write it [cl n−1 ce t i=it +1 (t + i) − ce i=0 (t + i)] c(t : t) = − + n n ≤ cl (t + n − 1) = −ce t, and therefore, neither arriving before or after all other customers reduces the expected cost of a single customer. Hence, t = −(n − 1)[cl /(ce + cl )] is an equilibrium. Next, we provide necessary and sufficient conditions for a socially optimal solution to be an equilibrium. The availability of such simple conditions is unusual within noncooperative supply chain scheduling games. Theorem 9.5 For the earliness–tardiness game, there exists a socially optimal symmetric arrival time that is also an equilibrium if and only if: (a) n = 2 and ce = cl . (b) n > 2 and cl 1 1 ∈ [ , 1 − ]. ce + cl n n Proof From Lemma 9.1, it is socially optimal if all players arrive together at t ∗ = −ncl /(ce + cl ). We consider conditions under which this solution is, or is not, an equilibrium, and where it is not, whether any equilibrium solutions exist. There are several cases: Case 1. If cl /(ce + cl ) < 1/n, then t ∗ = 0, and any customer can reduce his cost by arriving momentarily before the others. Symmetrically, if cl n−1 , >1− ce + cl n
(9.15)
then t ∗ = −(n − 1), and a player who arrives during (−(n − 1), 0] incurs no cost. In either case, ncl /(ce + cl ) is not an integer, and t ∗ is the unique equilibrium. Since t ∗ is not socially optimal, then it follows that no equilibrium is socially optimal. Case 2. If n = 2, (9.15) is only satisfied if ce = cl . In this case, the unique equilibrium t1 = t2 = −1/2 is socially optimal.
568
9 Noncooperative Supply Chain Scheduling
Case 3. If n > 2 and (1 cl 1) ,1 − , ∈ ce + cl n n then the social optimum is given by an integer t ∗ satisfying −(n − 2) ≤ t ∗ ≤ −1. Since the total cost is nc(t : t), minimizing the social cost is equivalent to minimizing the average customer cost. Let k = −t ∗ and m = n − 1 − k. Then, k/n = −t ∗ /n ≥ 1/n is the proportion of early arrivals and (m + 1)/n = (n − k)/n ≥ 1/n is the proportion of late arrivals including the costless job that arrives at time d = 0. The average cost of the early jobs is ce
k
i/k = ce (k + 1)/2.
(9.16)
i=1
The average cost of the late jobs and the one on-time job is cl
m
i/(m + 1) = cl m/2.
(9.17)
i=0
Collecting the costs from (9.16) and (9.17), the average customer cost is c(t ∗ : t ∗ ) =
k ce (k + 1) m + 1 cl m + . n 2 n 2
(9.18)
Observe that the solution is in equilibrium unless a job can reduce its cost by moving from its expected cost position to an extreme schedule, i.e., the start of the schedule with cost kce or the end of the schedule with cost mcl . Hence, a sufficient condition for t ∗ to be an equilibrium is that the average customer cost does not exceed min{ce k, cl m}, the smaller of the two extreme schedule costs. There are again three cases (3a, 3b, 3c) that follow: Case 3a. If ce k = cl m, then since ce (k + 1)/2 < ce k and cl m/2 < cl m, the average cost is smaller than the costs kce and mcl of the two extreme schedules. Case 3b. If ce k > cl m, then the early extreme schedule cost exceeds the average cost. Suppose cl m < kce /2, then kce > 2cl m ≥ cl (m + 1), in which case setting t = −t ∗ + 1 reduces the average cost, which is a contradiction. Then, the alternative case cl m ≥ kce /2 implies that the average cost does not exceed the late extreme schedule cost. Case 3c. If ce k < cl m, then the late extreme cost immediately exceeds the average cost. Suppose ce k < cl m/2. Then, consider the special case k = 1 and m = n−1 where 2ce < cl (n − 1), in which case setting t ∗ = −2 reduces the average cost, which is a contradiction. Alternatively, ce k ≥ cl m/2 implies that ce k ≥ c(t ∗ : t ∗ ), i.e., the early extreme cost exceeds the average cost.
9.2 Complete Information Games
569
Theorem 9.5 provides the intuition that when n is not very small, there is a socially optimal equilibrium for reasonably symmetric values of ce and cl . However, if ce /(ce + cl ) is too small (respectively, large), then the equilibrium arrivals are too early (resp., late) to coincide with an optimal solution. Remark 9.2 Glazer et al. (2018) extend the results discussed above to consider several generalizations: a restricted interval during which service is offered, stochastic service times, a random number of customer arrivals, and heterogeneous customers with random cost functions. A general perspective is that their work develops interesting insights about whether, in equilibrium, customers arrive simultaneously. The simple structure of the earliness–tardiness problem studied by Glazer et al. (2018) enables the characterization of necessary and sufficient conditions for a socially optimal solution to be an equilibrium and thereby provides clear insights about when the two types of solutions coincide.
9.2.2.2
Subcontracting
We discuss two noncooperative supply chain scheduling games that arise from a manufacturer’s option to use subcontracting. This option has become widely used due to the need for increasingly specialized, often highly technical, work. The global market for subcontracted services in 2019 was more than $92 billion (Statista, 2021). We refer the reader to Chapter 6 for extensive discussions of similar problems within a centralized supply chain scheduling environment. Vairaktarakis (2013) considers a third-party (3P) supplier that provides outsourced capacity to a set of manufacturers, M = {1, . . . , m}. Each manufacturer i has a set Ni of jobs that require the total processing time Pi . We number the manufacturers such that P1 ≤ · · · ≤ Pm . Each manufacturer i also has access to its own manufacturing resource that is denoted as Mi and the resource of the 3P that is denoted as F . This model can be used to illustrate a variety of Nash equilibrium solutions. The manufacturers compete or the 3P’s capacity to optimize their own objective, which is the minimization of the completion time of their work, whether that occurs on their own facility or the 3P’s. The 3P meanwhile has its own objective, which is to maximize the utilization of its capacity. We discuss two alternative practical scheduling protocols: preemption with overlapping and nonpreemption. An overlapping preemptive protocol allows the processing of a job of manufacturer i to be divided between Mi and F and further allows concurrent processing of a job on Mi and F . By contrast, a nonpreemptive protocol requires that each individual job is processed either entirely on Mi or entirely on F , and processed from start to finish without interruption. However, even under the nonpreemptive protocol, manufacturer i may process some of its jobs on Mi and others on F . Let the decision variable xi , 0 ≤ xi ≤ Pi denote the amount of processing subcontracted by manufacturer i to the 3P. The objective of each manufacturer i is to minimize its makespan, denoted by Ci , which is the later of its completion time on Mi and that on F in the event that its processing is
570
9 Noncooperative Supply Chain Scheduling
split between the two resources. The objective of the 3P is to maximize its revenue, which is modeled as i∈M xi , i.e., the total work processed. All information, which consists of (a) Pi , i ∈ M, announced by the manufacturers, and (b) a priority rule to be used to schedule the jobs received as announced by the 3P, is public. As described below, the priority rule varies among different scheduling protocols. We first consider the overlapping preemptive protocol. The subcontractor announces a priority rule under which the orders submitted by the manufacturers will be processed. Priority Rule Manufacturers’ workloads xi will be processed in SPT order, i.e., in nondecreasing order of xi , with ties broken by index order. For this problem, we present the following result of Vairaktarakis (2013). Theorem 9.6 For the overlapping preemptive protocol, with the SPT priority rule used by the 3P, there exists a pure strategy Nash equilibrium where we define x0∗ = 0, and xk∗
= min i≥k
Pi −
k−1
∗ j =1 xj
i+2−k
,
k = 1, . . . , m.
(9.19)
∗ , then the makespan C of Proof If the manufacturers choose strategies x1∗ , . . . , xm i manufacturer i is i Ci = max Pi − xi∗ , xk∗ = Pi − xi∗ ,
(9.20)
k=1
where the first term in the maximization is the completion time on Mi and the second term is the completion time on F . The second term represents the completion time of the work of manufacturer i on F since x1∗ ≤ · · · ≤ xi∗ . Also, the equality in (9.20) holds because otherwise manufacturer i could decrease its outsourced workload, thereby reduce its makespan, and possibly even have its outsourced work processed earlier. Hence, for each manufacturer, its makespan is achieved on its own resource. ∗ + 2x ∗ ≤ P , and from the SPT order, (i + 1)x ∗ ≤ P As a result, x1∗ + · · · + xi−1 i i i 1 ∗ which implies x1 ≤ Pi /(i + 1), for i ≥ 1. Now, consider the outsourcing choice of manufacturer 1. If this manufacturer were the only player, then it would clearly outsource P1 /2 work. However, it needs to protect against competitive outsourcing of work P2 by manufacturer 2, against competitive outsourcing of work P3 by manufacturer M3 , and so on. Thus, x1∗ = min i≥1
P i . i+1
(9.21)
The outsourcing decisions of the other manufacturers are similar, except that the capacity used by the choices of the previous manufacturers has removed some
9.2 Complete Information Games
capacity from F . For example, x2∗ = mini≥2 { other manufacturers establishes the result.
571 Pi −x1∗ i }.
Proceeding similarly for the
The following example provides intuition about the development of the players’ strategies. Example 9.7 (Nash Equilibrium Strategies in a Preemptive Outsourcing Game) Consider an instance of the game where m = 4 and P1 = 9, P2 = 12, P3 = 14, and P4 = 19. Then, x1∗ = min{9/2, 12/3, 14/4, 19/5} = 3.50. The justification for this decision is that while manufacturer 1 would wish to outsource 9/2 = 4.50 units of work, if it does so manufacturer 3 could set x3∗ = 3.50 and hence have its work scheduled before manufacturer 1’s work on F under the 3P’s SPT priority rule. As a result, manufacturer 1 outsources 3.50 units of work. Next, manufacturer 2 calculates x2∗ = min{(12 − 3.50)/2, (14 − 3.50)/3, (19 − 3.50)/4} = 3.50 and also outsources 3.50 units of work. Then, manufacturer 3 calculates x3∗ = min{(14 − 7)/2, (19 − 7)/3} = 3.50, with the same outsourcing decision. Finally, manufacturer 4 outsources x4∗ = (19 − 10.50)/2 = 4.25 units of work. The makespans of the manufacturers are: C1 = 9 − 3.50 = 5.50, C2 = 12 − 3.50 = 8.50, C3 = 14−3.50 = 10.50, and C4 = 19−4.25 = 14.75. Also, the 3P processes the total work of 4i=1 xi∗ = 3.50 + 3.50 + 3.50 + 4.25 = 14.75. Finally, note that 4 + 14.75 = 39.25 = (9 + 12 + 14 + 19) − i=1 Ci = 5.50 + 8.50 + 10.50 4 (3.50 + 3.50 + 3.50 + 4.25) = i=1 Pi − 4i=1 xi∗ , due to the result in the proof of Theorem 9.6 that each manufacturer achieves its makespan on its own resource. We next consider the nonpreemptive protocol. Recall that a manufacturer i can use only one of its two available resources, Mi and F , for any single job but can divide its jobs between them. The following definition is needed. Definition 9.5 Let fi (w) denote the maximum feasible workload of any subset of jobs owned by a manufacturer i with a total workload that does not exceed w. We provide an example of the relationship between the total workload and the maximum feasible workload in Definition 9.5. Example 9.8 (Feasible Workloads in a Nonpreemptive Outsourcing Game) Suppose Pi = 7, where manufacturer i has two jobs with sizes 3 and 4 units. Then, fi (0) = fi (1) = f1 (2) = 0, fi (3) = 3, fi (4) = fi (5) = fi (6) = 4, fi (7) = 7. For example, if the total workload is fixed at 6, the maximum feasible workload is 4. The maximum feasible workload is typically a nondecreasing step function of the total workload. The variable w is similar to a knapsack capacity in this usage. The 3P forces the manufacturers to declare a value of the total workload w in order to have their jobs scheduled, and this value of w controls the amount of outsourcing by that manufacturer. Hence, in the following discussion, wi is a total size from which manufacturer i chooses a feasible amount of outsourcing xi∗ , where xi∗ = fi (wi ). The 3P has the objective of maximizing the utilization of its resource by the manufacturers. However, the 3P cannot control the outsourcing decisions of the
572
9 Noncooperative Supply Chain Scheduling
manufacturers; thus the only way to achieve this is to guide the manufacturers into a Nash equilibrium solution that achieves this objective. For this purpose, the 3P announces to the manufacturers the following rule about the order in which it will process jobs that it receives. Priority Rule Manufacturers’ workloads xi will be processed in nondecreasing order of wi , where xi is the maximum feasible workload from a total workload wi of manufacturer i’s jobs, and with ties broken by smaller Pi values first. In Example 9.8, one solution that satisfies the priority rule is wi = 6 and xi = 4. This priority rule is designed to incentivize the manufacturers to make better utilization of F , by requiring them to maximize the utilization of a knapsack of size w. Each manufacturer i chooses its own value of wi , taking into consideration the tradeoff that a larger value of wi provides more options for subcontracting, but possibly a later processing time by the 3P. Vairaktarakis (2013) proves the following preliminary result. Lemma 9.4 If there exists a pure strategy Nash equilibrium, then there exists one in which the jobs of the manufacturers are scheduled on F in nondecreasing order of their Pi values. We observe that Lemma 9.4 is not in conflict with the priority rule, since there exist total workload values w1 , . . . , wm that satisfy both. From Lemma 9.4, we assume that the manufacturers are indexed such that P1 ≤ · · · ≤ Pm . Theorem 9.7 Let i = 1, . . . , m denote an SPT order of Pi values. We first define ⎧ ⎨
gki (w) = max Pi − fi (w), ⎩ ⎧ ⎨
hki (w) = max Pi − fi (w), ⎩
k−1
xj∗ +
j =k
j =1 k−1 j =1
i
⎫ ⎬ fj (w) , ⎭ ⎫ ⎬
xj∗ + fi (w) , ⎭
and
1 ≤ k ≤ i ≤ m,
for use in the optimization model (9.22)–(9.23) below. Then, the strategies defined by solving the following sequence of mathematical programs, for k = 1, . . . , m: xk∗ =
min gkk (wk )
wk ≥wk−1
s.t. gki (wk ) ≤ hki (wi ),
i>k
(9.22) (9.23)
provide a pure strategy Nash equilibrium. Proof We first interpret the mathematical model in the theorem statement. Manufacturer k chooses a value of w that implies an amount of outsourcing xk∗ . More specifically, the decision variables for manufacturer k are wk and xk∗ =
9.2 Complete Information Games
573
gkk (wk ), where the choice of wk is restricted by previous nondecreasing choices w1 , . . . , wk−1 . It is clear that for the purpose of minimizing its makespan, manufacturer k may set wk > wk−1 , provided that doing so does not provide an incentive for a later manufacturer r > k to minimize its own makespan by setting wr < wk and thereby having its jobs scheduled ahead of manufacturer k’s according to the 3P’s priority rule. The wi values are determined in the sequence w1 , . . . , wm and similarly for the xi∗ values x1 , . . . , xm . Consider the problem faced by manufacturer 1: x1∗ = min g11 (w1 ) w1 ≥0
s.t. g1i (w) ≤ h1i (wi ),
1 ≤ i ≤ m.
(9.24) (9.25)
The objective (9.24) minimizes the makespan of manufacturer 1. Constraints (9.25) ensure that the subcontracting decision of manufacturer 1 does not encourage a later manufacturer to make a choice that moves the work of manufacturer 1 later. ∗ , . . . , x ∗ of Given x1∗ , . . . , xi∗ , where 1 ≤ i ≤ m, the equilibrium strategies xi+1 m the other manufacturers can be found recursively, using the mathematical program in the theorem statement. The computational requirement of the procedure in Theorem 9.7 is O(m2 max{Ni } max{Pi }) time. Although this running time is not formally efficient, i∈M
i∈M
it is computationally tractable to a reasonable size of problem instance. We provide an example of this procedure. Example 9.9 (Nash equilibrium Strategies in a Nonpreemptive Outsourcing Game) Consider an instance of the game where m = 4, {p1j } = {5, 4, 2, 1}, {p2j } = {11, 2, 1}, {p3j } = {7, 6, 5} and {p4j } = {8, 8, 7}. Because P1 = 12 < P2 = 14 < P3 = 18 < P4 = 23, and from Lemma 9.4, we assume for the purposes of finding a Nash equilibrium that the manufacturers will have their jobs processed on F in the sequence 1, 2, 3, 4 if w1 ≤ w2 ≤ w3 ≤ w4 . Nonetheless, the total workload wi of each player i on F must be set such that each subsequent player does not benefit from using a smaller total workload on F . Consider the outsourcing decision of manufacturer 1. Since P1 = 12, it is optimal for manufacturer 1 to set w1 = 6 and subcontract 12/2 = 6 = 4 + 2 units, i.e., set x1 = 6. Under the priority rule, this requires each subsequent manufacturer i ≥ 2 to use at least wi ≥ 6 as the total workload of a feasible subset of jobs from which it chooses its subcontracted jobs. This in turn creates a problem that occurs after manufacturer 2, for which w2 = 6 and f2 (6) = 3, and subcontracts 3 units. Then, F has already processed 9 units for manufacturers 1 and 2. Then, w3 ≥ w2 = 6, and since manufacturer 3 has jobs of sizes 5, 6, and 7, f3 (6) = 6, and subcontracting at least 6 units creates a makespan of at least max{9 + 6, 5 + 7} = 15. However, if manufacturer 3 subcontracts 5 units, the makespan is max{9 + 5, 6 + 7} = 14 < 15. This implies that manufacturer 1’s choice of w1 = 6 and subcontracting 6 units does not lead to an equilibrium solution.
574
9 Noncooperative Supply Chain Scheduling
Alternatively, if manufacturer 1 sets w1 = 5, then we have f1 (5) = 5 ⇒ x1∗ = 5; next, manufacturer 2 sets w2 = 5 and f2 (5) = 3 ⇒ x2∗ = 3; then, manufacturer 3 sets w3 = 5 and f3 (5) = 5 ⇒ x3∗ = 5; and finally, manufacturer 4 sets w4 = 7 and f4 (7) = 7 ⇒ x4∗ = 7, which is an equilibrium solution. This gives 4i=1 xi∗ = 4 5 + 3 + 5 + 7 = 20. Further, i=1 Ci = max{7, 5} + max{11, 8} + max{13, 13} + max{16, 20} = 51. By contrast with Example 9.7, we have 4i=1 Pi − 4i=1 xi∗ = 67−20 = 47 < 51 = 4i=1 Ci . This is because, in this nonpreemptive environment, a manufacturer i may attain its makespan Ci on F , in which case Ci > Pi − xi∗ . A review of the above sequence of decisions provides some additional intuition. Manufacturer 1 has 12 units of work that can feasibly be divided into 6 units on its own resource and 6 units at the 3P, hence minimizing its makespan at a value of 6. Without any incentives by the 3P, manufacturer 1 will clearly do this because 6 is a lower bound on its makespan. However, the choice of priority rule by the 3P disincentivizes this decision, because it leads to a situation where another manufacturer’s jobs are prioritized ahead of manufacturer 1’s jobs by the 3P. The two alternative models discussed above provide useful insights about Nash equilibrium solutions in subcontracting problems. We refer the reader to Vairaktarakis (2013) for analysis of an interesting and practical intermediate processing protocol that allows preemption but not overlapping. We discuss a second example of a supply chain scheduling problem that includes an option for subcontracting. Bukchin and Hanany (2007) consider a problem with two alternative resources. There are several players, each of whom represents a department within the same organization. Each player owns one or more jobs. Jobs are scheduled either in-house on a machine shared by the other players or are subcontracted by the department that owns them. If the jobs are subcontracted, then they do not need to compete with the jobs of the same department or those of other departments for processing time. Therefore, the completion time of a job is simply its processing time on the subcontracted resource, which is larger than on the in-house resource. The essentially unlimited concurrent capacity of the subcontractor is motivated by capacity reservation arrangements made in advance, as is common practice (Özer & Wei, 2006). Let C = {1, . . . , c} denote the set of all jobs. The organization has departments N = {1, . . . , n}, department i owns job set Ci ⊂ C, and each job is owned by a single department. Let pj denote the in-house processing time of job j and αpj denote its processing time that, as explained above, is also its completion time at the subcontractor, where α ≥ 1. For any set of jobs V ⊆ C, let jS (V ) (respectively, jL (V )) denotes the shortest (resp., longest) job in V . The following notation applies to a given schedule. Let Mi ⊆ Ci denote the set of department i’s jobs that are scheduled on the shared in-house facility. Let Si denote the set of jobs subcontracted by player i, where S = ∪ni=1 Si . Then clearly, Ci = Mi ∪ Si , i = 1, . . . , n. Let M−i denote the in-house processing decisions of all the players except i. Let pMi (k) denote the length of the kth shortest job in Mi .
9.2 Complete Information Games
575
Player i, representing department i, minimizes his individual total completion time. The social objective is the minimization of the total cost of the players. Then, since both the centralized planner and the individual players use the minimization of the total completion time as their objective, we assume from Smith (1956) that the jobs are indexed in shortest processing time (SPT) order. The cost of player i is composed of three parts and can be written as Fi (Mi , M−i ) =
|Mi | m=1
+α
(|Mi | + 1 − m)pMi (m) +
|{j ∈ Mi : j > j }|pj
j ∈∪M−i
pi .
(9.26)
j ∈Ci \Mi
In (9.26), the first term is the total completion time of player i’s jobs on the shared in-house machine, where they will be processed in SPT order (Smith, 1956), not yet considering delays caused by the processing of the other players’ jobs. This expression applies a “positional penalty” (|Mi | + 1 − m) to the mth smallest processing time in Mi . The second term is the delays caused by the jobs of other players, when they precede the jobs of player j on the shared in-house facility. The third term is the completion time of player i’s jobs that are sent to the subcontractor. Using Eq. (9.26), we can write the centralized objective as min i∈N Fi (Mi , M−i ). Bukchin and Hanany (2007) characterize a socially optimal solution, as follows. We refer the reader to that work for a proof. Observe that this problem is equivalent to the noncooperative game where n = 1, i.e., there is only one department. Theorem 9.8 There exists a socially optimal solution in which the organization keeps the α longest jobs on the shared in-house facility and sends the remaining c − α jobs to the subcontractor. However, a decentralized solution chosen by the players, i.e., a Nash equilibrium, may not be socially optimal. Therefore, Bukchin and Hanany (2007) establish bounds on the PoA. Furthermore, when the centralized solution is not a Nash equilibrium, it is important to develop a mechanism that coordinates the decentralized scheduling decisions of the players. We refer the reader to Sect. 9.1 for a definition of a coordination mechanism. The cost of implementing such a mechanism is assumed to be not more than the benefit from coordination and is therefore not considered further. The coordination mechanism needs to modify the incentive schemes of the departments so that all prefer to act according to the centralized objective. In achieving this, it needs to satisfy two conditions: (i) It needs to be based on information that is available to the centralized authority. (ii) Money transfers between the players should be zero-sum. The proposed coordination mechanism modifies the SPT rule used for the inhouse jobs, so that players representing the departments prefer not to deviate from the centralized solution. The mechanism requires that all in-house jobs other than
576
9 Noncooperative Supply Chain Scheduling
the shortest are processed according to the SPT rule. The shortest in-house job is processed last if either (a) more than α jobs are processed in-house or (b) the longest job sent to the subcontractor is longer than the shortest in-house job. Otherwise, the shortest in-house job is processed first. No money transfers are required by the mechanism. We now formally define the coordination mechanism, C-SPT, which finds an optimal centralized solution that is a pure Nash equilibrium. For any set of jobs C ⊆ C, let jS (C ) (respectively, jL (C )) denote the shortest (resp., longest) job in C. Mechanism C-SPT 1. For any set Mi of department i’s jobs that are manufactured in-house, all jobs j ∈ (∪ni=1 Mi \ jS (∪ni=1 Mi )) are scheduled according to the SPT rule. 2. If either | ∪ni=1 Mi | > α or pjL (C\∪ni=1 Mi ) > pjS (∪ni=1 Mi ) , then job jS (∪ni=1 Mi ) is scheduled in the last position on the shared in-house facility; otherwise, it is scheduled in the first position on the in-house facility. Observe that mechanism C-SPT satisfies both the criteria (i) and (ii) above. First, the coordinator has enough information about the job in its processing time and does not need to know which department owns each job in order to complete the schedule. Second, there are no money transfers involved in the algorithm, and instead coordination is achieved merely by modifying the coordinator’s scheduling policy. We now provide an example of mechanism C-SPT. Example 9.10 (Application of Mechanism C-SPT) Consider an instance of the game defined above where n = 2, c = 3, C1 = {1, 3}, C2 = {2}, p1 = 2, p2 = 4, p3 = 6, and α = 1.5. Table 9.2 shows the cost table for both players, given their strategy of which job(s) to schedule on the shared in-house facility for player 1 in the row and for player 2 in the column. For example, if player 1 chooses strategy {1, 3} and player 2 chooses strategy {2}, all three jobs are scheduled on the shared resource. From Step 2 of mechanism C-SPT, |M1 ∪ M2 | = 3 > 1.5 = 1; hence, the jobs are scheduled in the order 2,3,1, as a result of which F1 = (4 + 6) + (4 + 6 + 2) = 22 and F2 = 4, as shown in Table 9.2. The optimum centralized cost has M1 = {3}, M2 = ∅, where F1 = 6 + 1.5(2) = 9 and F2 = (1.5)4 = 6, and a total system cost of 15. The notation ∗ against the relevant payoff for player 1 indicates that it is the best strategy for player 1 among the rows, given player 2’s strategy in the column. Similarly, the notation † against the relevant payoff for player 2 indicates that it is the best strategy for player 2 among the columns, given player 1’s strategy in the row. For example, if player 2 chooses {2}, the best response of player 1 is {3}, with Table 9.2 Cost matrix for Example 9.10
P1 \P2 ∅ {1} {3} {1, 3}
∅ 15, 6† 11, 6† 9∗ , 6† 14, 6†
{2} 15, 4† 15, 4† 9∗ , 10 22, 4†
9.2 Complete Information Games
577
a cost of 9. Observe that there is a solution in Table 9.1 where both players have a best response, given the other player’s strategy, i.e., M1 = {3}, M2 = ∅, where C1 = 6 + 1.5(2) = 9 and C2 = (1.5)4 = 6, and a total system cost of 15. This is the unique Nash equilibrium in pure strategy, and also the optimum centralized solution, of the game. We now provide the main result for coordination of the system. Theorem 9.9 Mechanism C-SPT finds a Nash equilibrium solution denoted by {Mi∗ } in pure strategy that is socially optimal, where Mi∗ = Ci ∩ {n + 1 − α, . . . , n}, i = 1, . . . , n, and the jobs are indexed in SPT order. ∗ . Proof It suffices to show that, for any i = 1, . . . , n, Mi∗ is a best response to M−i n ∗ For a given i, let Mi ⊆ Ci and C = (∪j =1,j =i Mj ) ∪ Mi . There are two cases. First, suppose |C | < α. In this case, there exists some job h ∈ Ci \ Mi , since α < c and player i fails to process its share of the α < c jobs in-house. Now, consider a new solution where a previously subcontracted job h is processed in-house. The resulting change in system cost is not more than (|C | − α)ph < ∗ in this case. (α − α)ph ≤ 0; hence, Mi is not a best response to M−i Alternatively, suppose either |C | > α or |C | = α, and pjL (C\C ) > pjS (C ) . In this case, jS (C ) ∈ Ci , since player i fails to process its share of the α longest jobs in-house. Thus, under mechanism C-SPT, jS (C ) is scheduled last. Now, consider a new solution where job jS (C ) is removed from the in-house facility and subcontracted. The resulting change in system cost is
αpjS (C )−j ∈C pj < (α − |C |)pjS (C ) ≤ 0, ∗ in this case. and hence, Mi is also not a best response to M−i ∗ , and all alternatives Observing that since there must exist a best response to M−i ∗ ∗ ∗ . In to Mi have been exhausted, it follows that Mi is a best response to M−i conclusion, finding a pure best response is equivalent to finding a socially optimal strategy.
We remark that the intuition which underlies moving the shortest job to the end of the in-house schedule comes from comparing the positional penalty, i.e., the number of jobs with increased completion time due to the presence of the shortest job, with the increased processing time required by subcontracting.
9.2.2.3
Project Scheduling
As discussed in Sect. 8.5, project management is a globally important business process with a huge economic impact. Central to the success of project execution is efficient scheduling of the tasks of a project. Agnetis et al. (2015) study a project scheduling problem with multiple players and controllable processing times. The project customer provides a per unit time reward for shortening the makespan of
578
9 Noncooperative Supply Chain Scheduling
the project. This reward is shared by the players in fixed proportions that are known by the players in advance of their decision making. Each player has a choice about how long to take for his task, within a known interval. However, completing the task more quickly, i.e., crashing it, incurs a cost to the player. Hence, the player faces a situation where it is only worthwhile to crash his tasks if other players are doing likewise to the extent that a makespan reduction that generates a sufficient reward can be achieved. Each player maximizes his share of the project reward, less his crashing cost. The social objective is the minimization of the project makespan. We consider this problem as a noncooperative supply chain scheduling game and describe an algorithm to find a Nash equilibrium solution. We describe some notation for this problem. Let G = (N, U ) denote an activity-on-arc graph that defines the activities of the project and their precedence relationships, where N is a set of nodes that represent project events, U is a set of arcs that represent tasks, and |U | = n. Let A = {1, . . . , m} denote the set of m players. Player i controls a set of tasks Ti . For each task (i, j ), the normal and U and p L , respectively, and task durations are assumed to be crashed durations are pij ij L , p L +1, . . . , p U ]. The cost incurred for crashing activity (i, j ) integer values in [pij ij ij U to p is c (p U −p ). A reward for earlier project completion is defined by from pij ij ij ij ij π per day of makespan reduction, and this reward can be shared among the tasks. Let D¯ denote the makespan of the project if no crashing occurs. Then, the total reward given by the project owner for shortening the project makespan from any time D¯ to any time D < D¯ is π(D¯ − D). Finally, w = {wi ≥ 0, 1 ≤ i ≤ m | m i=1 wi = 1} is a vector specifying the fraction of the total reward given to player i, which is the public information. Player i’s strategy Pi is a vector of durations for the activities which it controls. An overall strategy profile S = (P1 , . . . , Pm ) describes the strategies of all the individual players. An initial strategy in which no crashing of activities has occurred is denoted by S¯ = (P¯1 , . . . , P¯m ), which results in a ¯ In a profile S, let zi (S) denote the net profit, i.e., reward project makespan of D. less crashing cost, of player i, i ∈ M. Observe that, given a strategy profile, the project makespan is well defined. The following definition is used to reduce the set of strategies under consideration. It states that if an individual player can improve his net profit without changing the makespan, then the current strategy is not in equilibrium. Definition 9.6 A strategy S = (P1 , . . . , Pm ) with project makespan D(S) is dominated if there exists a player u and an alternative strategy Pu for that player such that D(S ) = D(S) and zu (S ) > zu (S), where S = (P1 , . . . , Pu−1 , Pu , Pu+1 , . . . , Pm ). Let Wi (S) denote the crashing cost of player i in a strategy profile S. Further, let Wi+ (S) (respectively, Wi− (S)) denote the decrease (resp., increase) in player i’s crashing cost if he acts unilaterally to increase (resp., decrease) the project makespan by one time unit, starting from strategy S. These definitions enable the following result, which establishes necessary and sufficient conditions for a Nash equilibrium in this game.
9.2 Complete Information Games
579
Lemma 9.5 A nondominated strategy S is a Nash equilibrium if and only if, for each player i, i = 1, . . . , m: Wi− (S) ≥ wi π , Wi+ (S)
< wi π .
and
(9.27) (9.28)
Proof Consider a strategy S and an arbitrary player i. From Definition 9.6, player i can improve his situation only by decreasing or increasing the project makespan. Regarding a possible unit reduction of the makespan that increases player i’s crashing cost, the player receives an increase in reward of wi π , which however is insufficient to motivate a move to a new strategy if wi π ≤ Wi− (S), as in (9.27), since the increased reward does not exceed the increased cost incurred. In the other case, player i gives up an amount of reward wi π ; therefore, if wi π > Wi+ (S), as in (9.28), it is not worthwhile for the player to increase the makespan since the reduction in task cost does not fully cover the loss of reward. Therefore, strategy S is a Nash equilibrium if and only if conditions (9.27) and (9.28) hold. Agnetis et al. (2015) describe a procedure, Algorithm FindNash, that finds a Nash equilibrium solution of this noncooperative game. The idea of the algorithm is that the players sequentially crash their activities to a locally optimal solution. As a result of this decision, crashing decisions of earlier activities may need to be revisited and possibly reversed in whole or in part. We now provide a formal description of this algorithm. The net profit of player i consists of his reward based on the project makespan minus his crashing cost. Algorithm FindNash 1. Input a starting set of players’ strategies (P¯1 , . . . , P¯m ) where all activities are at their upper bound values, i.e., no crashing has been implemented. 2. For players i = 1, . . . , m do: Solve a linear program that finds a strategy Pi∗ for player i. This program maximizes the net return to player i, subject to the current strategies of all the other players, i.e., max{zi | P1 , . . . , Pi−1 , Pi+1 , . . . , Pm }. Set (P1 , . . . , Pm ) to (P1 , . . . , Pi−1 , Pi∗ , Pi+1 , . . . , Pm ). For players k = 1, . . . , i − 1 do: Increase their previously crashed, noncritical activities to the point where they become critical, or reach their upper bound value, while the project length remains unchanged. The main result can now be stated. We provide a short version of the proof and refer the reader to Agnetis et al. (2015) for more details. Theorem 9.10 Algorithm FindNash finds a Nash equilibrium in polynomial time. Proof Since, by construction, Algorithm FindNash finds a strategy that satisfies the conditions of Lemma 9.5, it finds a Nash equilibrium solution. The computation time of the algorithm requires the solution of O(m2 ) linear programs, each of size no larger than the project graph G.
580
9 Noncooperative Supply Chain Scheduling
However, as now shown by example, a Nash equilibrium solution may deliver an arbitrarily large makespan and PoA. Example 9.11 (Arbitrarily Large PoA in a Project Crashing Game) Consider a L = problem with two players and one activity per player with durations in {pij U = M}, where M is an arbitrarily large number. The two activities can be 1, pij processed concurrently. Each activity has a crashing cost of 1, and a reward of 2 is obtained by each player if the makespan decreases by 1 time unit. Since unilateral crashing by one player does not reduce the makespan and hence results in no reward, the strategy profile S = (M, M) is a Nash equilibrium, with a resulting makespan of M. It is clear that the socially optimal schedule profile sets the duration of each job to 1 time unit, with a resulting makespan of 1; therefore, the PoA is M. Example 9.11 shows that it is important that the project is delivered with reasonable makespan, subject to ensuring stability. This motivates the issue of how to find a Nash equilibrium solution that meets a given upper bound on makespan. However, as we now show, this problem is intractable. Theorem 9.11 Given an upper bound Λ ∈ R+ on the project makespan D(S), the recognition version of the problem of finding a Nash equilibrium solution S with D(S) ≤ Λ is unary NP-complete. Proof Given a strategy S, checking whether the solution is a Nash equilibrium and also whether D(S) ≤ Λ can be performed in polynomial time; hence, the problem is in NP. The remainder of the proof uses a reduction from the following problem, which is known (Garey & Johnson, 1979, p.224) to be unary NP-complete. 3-Partition Given a set Γ = {a1 , . . . , a3k } of positive integers, such that 3k j =1 = kB, and B/4 < aj < B/2 for j = 1, . . . , 3k, can Γ be partitioned into k subsets Γ1 , . . . , Γk such that |Γi | = 3, 1 ≤ i ≤ k, and j ∈Γi aj = k, i = 1, . . . , k? Given an arbitrary instance of 3-Partition, we construct an instance of the multiple player project scheduling problem as follows. The activity-on-arc graph G has 3k parallel paths, each consisting of k activities, plus two dummy nodes that are numbered 0 and 3k(k + 1) + 1. The activities on the first path are (1, 2), (2, 3), . . . , (k, k + 1), those on the second path are (k + 2, k + 3), (k + 3, k + 4), . . . , (2k +1, 2k +2), . . ., and so on, until the 3kth and last path contains activities (3k(k +1)−k, 3k(k +1)−k +1), (3k(k +1)−k +1, 3k(k +1)−k +2), . . . , (3k(k + 1) − 1, 3k(k + 1)). Nodes 0 and 3k(k + 1) + 1 represent the start time and the finish time of the project, respectively. From node 0, there are dummy activities (0, 1), (0, k+2), . . . , (0, 3k(k+1)−k). Also, to node 3k(k+1)+1, there are dummy activities (k+1, 3k(k+1)+1), (2k+2, 3k(k+1)+1), . . . , (3k(k+1), 3k(k+1)+1). There are k players. Player Ai owns the ith activity of each path, for i = 1, . . . , m. L = 0 and p U = 1. Also, the crashing All real, i.e., non-dummy, activities have pij ij cost of every activity on the j th path is aj , j = 1, . . . , 3k, where B/4 < aj < B/2. Each player’s unit reward is wu π = B + , where > 0 and small.
9.2 Complete Information Games
581
Fig. 9.2 Constructed instance of a project network in Theorem 9.11
Figure 9.2, which is reproduced from Agnetis et al. (2015), shows an example of the project network constructed as described above for an instance with k = 3, (a1 , . . . , a3k ) = (7, 8, 7, 7, 7, 8, 9, 10, 9), and B = 24. We show that there exists a Nash equilibrium strategy for which D(S) < k in this project network if and only if there exists a solution to 3-Partition. Observe that if the activities on the cut ω(X) are crashed by one time unit, the result is a Nash equilibrium, with cost D(s) < k. (⇒) Consider the strategy S where all activities have normal duration, pij = 1. Then, the project makespan for S satisfies D(S) = k. If there exists a solution to 3-Partition, then for each player there exists a subset of three activities with total unit crashing cost of B. These 3k activities can be crashed, which from the topology of the project network, enables a decrease of the makespan to D(S) < k. Moreover, the crashing cost of each player is B, whereas his share of the reward for a reduction in the project makespan is B + . Hence, the crashed solution is a Nash equilibrium. (⇐) In order to obtain a Nash equilibrium, for each player the total unit crashing cost of the crashed activities must not exceed B. Hence, not more than three crashed activities per player can be crashed. From the topology of the project network, in order to decrease the makespan, exactly 3k activities must be crashed. Therefore, for a Nash equilibrium with makespan smaller than k to exist, and from the definition of aj , there must exist a subset of exactly three crashed activities per player, where the current task durations on all arcs are strictly greater than their lower bounds. The total crashing cost of such a set of activities is 3k j =1 aj = kB. Hence, in order for a Nash equilibrium to exist, the total crashing cost of the three activities selected
582
9 Noncooperative Supply Chain Scheduling
for each player must be exactly B. This implies the existence of a solution to 3Partition. The work of Agnetis et al. (2015) is among the first to model the globally important application of project management as a noncooperative game. Their results highlight the difference in computational difficulty between on the one hand finding a Nash equilibrium solution and on the other hand finding one with a prespecified bound on cost in a general case where a player may control more than one activity. We refer the reader to that work for consideration of a special case where each player controls only one activity, where finding a Nash equilibrium with minimum makespan can be performed efficiently.
9.2.2.4
Local Sequencing Rules
Vijayalakshmi et al. (2021) study the computational complexity of determining the existence of a Nash equilibrium for games defined over a class of scheduling problems. They consider a scheduling game on uniform parallel machines, where the players own jobs and minimize their completion time by choosing a machine on which their jobs are to be processed. The assumption is made that each player owns one job. An interesting feature of this problem is that each machine uses an individual priority list to decide the processing sequence for the jobs that are assigned to it. This is a local sequencing rule. The study of local sequencing rules is motivated by the use of different shop floor scheduling traditions within a distributed scheduling environment, for example, among local manufacturing plants. An instance of a scheduling game with local sequencing rules is given by a tuple G = (N ; M; pi , i ∈ N; sj , πj , j ∈ M), where N is a set of n ≥ 1 jobs, M is a set of m ≥ 1 machines, pi ∈ R+ is the nominal processing time of job i ∈ N, sj ∈ R+ denotes the speed of machine j ∈ M, and πj is the job priority list of machine j ∈ M. A strategy profile σ assigns every job to a machine. Given a strategy profile, the jobs are processed according to their order in the machines’ priority lists. Hence, the completion time of job i on machine j is the total of the nominal processing times of all the jobs that precede i on that machine and job i itself, divided by the machine speed sj . Let Ci (σ ) denote this time. Vijayalakshmi et al. (2021) consider the alternative social objectives of minimizing makespan maxi∈N {Ci (σ )} and the total completion time of the jobs i∈N Ci (σ ). The results described here apply to both objectives. Each player i, representing job i, chooses a strategy σi ∈ Σi , where Σi is the set of strategies available to it, to minimize his cost Ci . A strategy profile σ = (σ1 , . . . , σn ) is a pure Nash equilibrium if, for all i ∈ N and all possible alternative choices σi ∈ Σi , σi = σi , we have Ci (σ1 , . . . , σn ) ≤ Ci (σ1 , . . . , σi−1 , σi , σi+1 , . . . , σn ). The following example shows that an instance G∗ of the game G does not necessarily have a Nash equilibrium in pure strategy. Example 9.12 (Nonexistence of a Pure NE in a Game with Local Sequencing Rules) Consider an instance G∗ of the game G with |N| = 5, N = {a, b, c, d, e}, and
9.2 Complete Information Games
583
M = {M1 , M2 , M3 }. The nominal job processing times are pa = 5, pb = 4, pc = 4.5, pd = 9.25, and pe = 2. The machine speeds are s1 = 1, s2 = s3 = 1/2. The local sequencing rules on the machines are π1 = (a, b, c, d, e), π2 = π3 = (e, d, b, c, a). Because job a is ordered last on M2 and M3 , it is clearly on M1 in every Nash equilibrium. Similarly, job e is not on M1 in an NE, since job e is first on M2 or M3 . Since these two machines have the same local sequencing rule and speed, then without loss of generality, if an NE exists, then there exists an NE in which job e is on M3 . Thus, job a is first on M1 and job e is first on M3 . Since job e is on M3 , job d prefers M2 over M3 . Therefore, job d is on M1 or M2 . We consider both cases: 1. Job d is on M1 . Then, since job b has the highest remaining priority between b and c on all machines, job b picks the machine that offers the lowest completion time that is M2 , and hence, job c is on M1 . As a result, job d prefers a completion time of pd /s2 = 9.25/(1/2) = 18.5 on M2 over a completion time of (pa + pc + pd )/s1 = (5 + 4.5 + 9.25)/1 = 18.75 on M1 , and the solution is not in equilibrium. 2. Job d is on M2 . Then, since job b has the highest remaining priority between b and c on all machines, job b picks the machine with the lowest completion time that is M1 , and hence, job c is on M3 . As a result, job d prefers a completion time of (pa + pb + pd )/s1 = (5 + 4 + 9.25)/1 = 18.25 on M1 over a completion time of pd /s2 = 9.25/(1/2) = 18.5 on M2 , and again the solution is not in equilibrium. Thus, by examination of all nondominated schedules, G∗ has no pure Nash equilibrium. Example 9.12 raises the question of how difficult it is to determine whether a given instance of game G has a pure Nash equilibrium. The next result of Vijayalakshmi et al. (2021) answers this question. Theorem 9.12 Given an instance of the game G, it is unary NP-complete to decide whether the game has a Nash equilibrium in pure strategy. Proof Given a game and a schedule profile σ , verifying whether σ is a Nash equilibrium can be performed by checking for every job whether its current assignment is also its best response; hence, the problem is in NP. The reminder of the proof is by reduction from the following problem that is known to be unary NP-complete (Kann, 1991). 3-Bounded 3-Dimensional Matching (3DM-3) Given a set of triplets T ⊆ X × Y × Z, where |T | ≥ n and |X| = |Y | = |Z| = n, and where the number of occurrences of every element of X ∪ Y ∪ Z in T is at most 3, does T have a 3-dimensional matching of size n, i.e., a subset T ⊆ T , where |T | = n and every element in X ∪ Y ∪ Z appears exactly once in T ? Given an instance T of 3DM-3, we construct the following scheduling game, GT . The set of jobs consists of:
584
1. 2. 3. 4. 5.
9 Noncooperative Supply Chain Scheduling
The 5 jobs {a, b, c, d, e} from the game G∗ in Example 9.12 A single dummy job, f , with processing time 2 A set D of |T | − n dummy jobs with processing time 3 A set U of |T | + 1 long dummy jobs with processing time 20 3n jobs with processing time 1, one for each element in X ∪ Y ∪ Z
There are m = |T |+4 machines, M1 , M2 , . . . , M|T |+4 . All the machines except M2 and M3 have speed sj = 1, whereas s2 = s3 = 1/2. The construction of GT makes use of instance G∗ from Example 9.12 through the local sequencing rules defined below. The local sequencing rules are as follows. Where the list includes a set, it means that the set elements can appear in arbitrary order. For the first machine, π1 = (a, b, c, d, e, f, U, X, Y, Z, D). For the second and third machines, π2 = π3 = (e, d, b, c, a, f, U, X, Y, Z, D). For the fourth machine, the local sequencing rule is π4 = (f, X, Y, Z, e, U, D, a, b, c, d). The remaining |T | machines are defined as triplet-machines. For every triplet t = (xi , yj , zk ) ∈ T , the priority list of the tripletmachine corresponding to t is (D, xi , yj , zk , U, f, X\xj , Y \yj , Z\zj , a, b, c, d, e). Observe that in any Nash equilibrium, the dummy job f with processing time 2 is assigned as the first job on M4 . Also, the dummy jobs in D have the highest priority on the triplet-machines. Hence, in every Nash equilibrium, there are |D| = |T | − n triplet-machines on which the first job is from D. Finally, in every Nash equilibrium, there is exactly one dummy job from U on each of the last |T | + 1 machines, due to the length of those jobs. We provide some intuition about the proof that follows. First, the dummy jobs in U are long enough to guarantee that each of the jobs {a, b, c, d} prefers the first three machines over the last |T | + 1 machines. Next, observe that, in Example 9.12, if job e is not on M1 , M2 , or M3 , then a Nash equilibrium exists. Since job e has last priority on the triplet-machines, it will always choose one of M1 , . . . , M4 . Thus, it only remains to show that (a) if a 3DM-3 matching exists, then job e prefers M4 , thus leaving the first three machines for {a, b, c, d} that results in a Nash equilibrium, and (b) if there is no 3DM-3 matching, then some job that originates from the elements in X ∪ Y ∪ Z precedes job e on M4 , and e’s best response is on M2 or M3 , as in G∗ in Example 9.12. We now show that the constructed instance of the game has a pure NE if and only if the 3DM-3 instance has a matching of size n. (⇒) Let T ⊆ T be a matching of size n. Assign the jobs of X ∪ Y ∪ Z on the triplet-machines corresponding to T and the jobs of D on the remaining tripletmachines. Assign jobs f and e on M4 . Also, assign a single job from U on all but the first three machines. This leaves the jobs a, b, c, d that are assigned on the first three machines: a and d on M1 , b on M2 , and c on M3 . Observe that all the jobs originating from X ∪ Y ∪ Z complete at time 3 or earlier and thus have no incentive to select M4 . Thus, job e completes at time pc /s4 = 2/(1/2) = 4 on M4 and has no incentive to join the first three machines. Hence, the resulting assignment is a Nash equilibrium.
9.2 Complete Information Games
585
(⇐) Assume that a matching of size n does not exist. Then, at least one job from X ∪ Y ∪ Z is not assigned on its triplet-machine and thus prefers M4 , where it follows job f and its completion time is (2 + 1)/1 = 3. Thus, job e prefers to be first on M2 or M3 , where its completion time is p2 /(1/2) = 4. The presence of the long dummy jobs guarantees that machines M1 , M2 , and M3 process the five jobs {a, b, c, d, e} and no others. Then, the game G∗ of Example 9.12 is played on the first three machines, and as shown there, a Nash equilibrium does not exist. Remark 9.3 Recall Definitions 9.3 and 9.4 for the PoA and PoS, respectively. Vijayalakshmi et al. (2021) study four special cases of the general problem discussed above, corresponding to (a) unit size jobs, (b) two machines, (c) identical machines, and (d) a global priority list, and evaluate the PoA and PoS in each case. They also study the problem of approximating the best Nash equilibrium solution within a given factor in case (c) and identify limits to approximability unless P = NP. The work of Vijayalakshmi et al. (2021) described here provides an elegant illustration of the analysis of the computational complexity of determining the existence of a Nash equilibrium. It therefore provides a useful complement to the algorithms for finding a Nash equilibrium discussed elsewhere within Sect. 9.2.2.
9.2.2.5
Congestion and Activation Costs
Feldman and Tamir (2012) study a supply chain scheduling game that includes strategic resource allocation decisions. Let N = {1, . . . , n} denote a set of jobs to be processed, and M = {M1 , . . .} a set of identical parallel machines for processing them. These definitions specifically allow for the use of n machines, each with one job assigned to it. Jobs correspond to self-interested players who choose resources, i.e., machines, with the objective of minimizing their individual cost, which has two components. The first component is its congestion cost, which is the total processing time of the jobs assigned to the same machine; this cost increases with congestion, i.e., with the number of jobs sharing the same machine. The second component is the job’s share of the machine’s activation cost; this cost decreases with congestion. This creates an interesting tradeoff. More formally, given a schedule s = (s1 , . . . , sn ) where job j selects machine Mi , which is denoted as sj = Mi , the cost of job j is given by cj (s) = Li (s) + bj (s), where Li (s) is the total load on machine Mi and bj (s) is the share of the activation cost of Mi paid by job j . Let B denote the activation cost of any machine. The activation cost of a machine is shared by the jobs assigned to that machine, according to two alternative rules that are discussed below. There is no cost consequence of the order of the jobs, since it is assumed they use a shared resource simultaneously. The social objective is the minimization of the total cost of all the jobs. The activation cost component in the cost function of a job depends on a sharing rule. Under the uniform sharing rule, all the jobs assigned to a particular resource share its cost equally; hence, the share of activation cost incurred by job j with
586
9 Noncooperative Supply Chain Scheduling
sj = Mi is bj (s) = B/|{k ∈ N | sk = Mi }|. Alternatively, under the proportional sharing rule, the jobs assigned to a particular machine share its cost in proportion to their lengths; hence, the share of activation cost incurred by job j with sj = Mi is bj (s) = pj B/Li (s) since Li (s) = k∈N | sk =Mi pk . Example 9.13 (Alternative Cost Sharing Rules in a Congestion Game) Consider an instance with two jobs, lengths p1 = 2, p2 = 3, and activation cost B = 10. If schedule s assigns both jobs to the same machine, its workload is 5. Under the uniform sharing rule, c1 (s) = c2 (s) = (2 + 3) + 10/2 = 10. Under the proportional sharing rule, c1 (s) = (2 + 3) + 2(10)/(2 + 3) = 9 and c2 (s) = (2 + 3) + 3(10)/(2 + 3) = 11. The choice of rule for sharing the activation cost of the jobs that are scheduled on the same machine has significant implications. Under the uniform sharing rule, a pure strategy Nash equilibrium does not in general exist, as shown by the following example. Example 9.14 (Nonexistence of a Nash equilibrium in a Congestion Game) Consider an instance with two jobs, lengths p1 = 1, p2 = 13 and activation cost B = 8. If schedule s assigns both jobs to the same machine, c1 (s) = c2 (s) = (1 + 13) + 8/2 = 18. If schedule s assigns them to separate machines, c1 (s) = 1 + 8 = 9 and c2 (s) = 13+8 = 21. Hence, if the jobs are assigned to the same machine, job 1 will leave to join a dedicated machine, thereby reducing its cost from 18 to 9. But, if it does so, the increased cost to job 2 will incentivize it to join job 1, thereby reducing its cost from 21 to 18. However, Feldman and Tamir (2012) show that, under the proportional sharing rule, a Nash equilibrium always exists, and moreover they provide a polynomialtime algorithm to find one. The remaining discussion in this section therefore focuses on the proportional sharing rule. The longest processing time (LPT) rule, developed by Graham (1969), finds a Nash equilibrium in a load balancing problem without activation costs and with a fixed number of machines (Fotakis et al., 2002). For the present problem, this result does not hold, since there is the possibility to open a dedicated machine for each job. However, Feldman and Tamir (2012) show that a generalization of this rule, Algorithm LPT that is described below, computes a pure Nash equilibrium in polynomial time. A number of machines are set aside for the processing of one long job each. Any other machines that are used are designated as LPT machines in the algorithm and related discussion. Algorithm LPT 1. Assign each “long job” j , i.e., job j where pj ≥ B, to a separate dedicated machine. 2. Assign the remaining “short jobs,” i.e., those where pj < B, one at a time in nonincreasing length order, to m LPT machines, where the assignment is to the machine that minimizes the job’s total congestion and activation cost, and m is the minimal number of machines such that the schedule over the LPT machines
9.2 Complete Information Games
587
has makespan at most B. If that makespan would be exceeded by assigning the next job to any LPT machine, then that job is the first to be assigned to a newly opened LPT machine. Observe that the assignment of jobs to machines in Step 2 is the application of Graham’s (1969) LPT rule to identical parallel machines, except where the limit on makespan invokes the opening up of a new machine. Since all the jobs considered in Step 2 are short, and new machines can be opened as needed, a schedule with all machine loads not larger than B over the LPT machines is found by construction, if necessary using a separate machine for each short job. The running time of Algorithm LPT is O(n log2 n). It is shown below that Algorithm LPT finds a Nash equilibrium. Before presenting the main result, several preliminary results are needed. We refer the reader to Feldman and Tamir (2012) for the proofs. The first result defines necessary and sufficient conditions under which a job will move to another machine under the proportional sharing rule. Lemma 9.6 Consider the congestion game under the proportional sharing rule. Further, consider a given schedule where sj = Mi . Then, job j will move from machine Mi to machine Mh if and only if either: (a) Lh (s) + pj > Li (s) and B > Li (s)[Lh (s) + pj ]/pj , in which case the maximum load on the two machines increases (b) Lh (s) + pj < Li (s) and B < Li (s)[Lh (s) + pj ]/pj , in which case the maximum load on the two machines decreases Also, Feldman and Tamir (2012) prove the following property of the LPT algorithm. Let Lmax (s) = maxi∈M {Li (s)} denote the makespan of a schedule s. + Lemma 9.7 Let N be a set of n jobs with sizes p1 , . . . , pn . Let C ∈ R be such that pj < C for j ∈ N , and C ≤ j ∈N pj . Let sk denote a schedule of the jobs of N that uses k machines. Finally, let m denote the minimal number of machines such that Lmax (sm ) ≤ C < Lmax (sm−1 ). Then, Li (sm ) + Lk (sm ) > C, for 1 ≤ i = k ≤ m.
In order to establish that Algorithm LPT finds a Nash equilibrium, Feldman and Tamir (2012) also prove the following preliminary result. Lemma 9.8 Consider a schedule s found by Algorithm LPT. Then: (i) No long job can benefit from migration to another machine. (ii) No short job can benefit from migrating to a machine that has a long job, or from activating a new machine. The main result is now presented. Theorem 9.13 For an instance of the congestion game under the proportional sharing rule, every schedule found by Algorithm LPT is a Nash equilibrium.
588
9 Noncooperative Supply Chain Scheduling
Proof Let s be any schedule that is found by Algorithm LPT. It is sufficient to show that no job unilaterally migrates from s. From Lemma 9.8, it remains to show that no short job can benefit from migrating to another LPT machine. If the total load of short jobs is not more than B, then LPT assigns them to a single machine, and no such migration is possible. It then remains to show that if the total load of short jobs is greater than B and LPT assigns them to multiple machines, no migration among those machines is beneficial. Let j be a short job assigned to LPT machine Mi . We show that job j on machine Mi cannot reduce its cost by moving to some other LPT machine Mh . From a wellknown property of LPT schedules, the load of Mh after the move is at least the load of Mi in s, i.e., Lh (s) + pj ≥ Li (s). Consequently, only load-increasing moves need to be considered. From Lemma 9.6, if sj = Mi , a cost reduction is available to job j for moving from Mi to Mh if and only if either (a) Lh (s) + pj > Li (s) and Bpj > Li (s)[Lh (s) + pj ] or (b) Lh (s) + pj < Li (s) and Bpj < Li (s)[Lh (s) + pj ]. Only (a) is load-increasing and (b) is not. Hence, it suffices to show that B ≤ Li (s)[Lh (s) + pj )]/pj = Li (s)Lh (s)/pj + Li (s). Now, since pj ≤ Li (s), we have Li (s)Lh (s)/pj + Li (s) ≥ Lh (s) + Li (s) ≥ B, where the last inequality follows from Lemma 9.7. The following result is analogous with that of Theorem 9.11 of Agnetis et al. (2015), as discussed in Sect. 9.2.2.3. Although a Nash equilibrium can be found in polynomial time, finding a Nash equilibrium with social cost no larger than a given amount is an NP-hard problem, as shown by Feldman and Tamir (2012). However, the proof in this case is only of binary NP-hardness. Theorem 9.14 Given an instance of the congestion game under the proportional sharing rule, and a constant c ∈ R+ , it is binary NP-hard to determine whether there exists a Nash equilibrium solution that achieves social cost less than or equal to c. Proof By reduction from Partition (Garey& Johnson, 1979, p.223): given a set of positive integers A = {a1 , . . . , an }, with nj=1 aj = 2S, does there exist a subset A ⊂ A such that j ∈A aj = S? Given A, consider an instance of the game containing n jobs with lengths a1 , . . . , an and machines with activation cost B = S 2 /amax , where amax = max1≤j ≤n {aj }, and where c = 2S. We show that this instance of the game admits a Nash equilibrium with a social cost of at most c if and only if A admits a partition. (⇒) Assume that A admits a partition, and consider a schedule s on two machines, each with a load of S. Because all the jobs incur the same load, the maximal cost is incurred by the longest job and is given by S + amax B/S = 2S. It remains to show that s is a Nash equilibrium. Consider a largest job j with length aj . From condition (a) in the proof of Theorem 9.13, moving to a nonempty machine reduces the cost of job j only if B = S 2 /amax > S(S+aj )/aj , i.e., only if S/amax > (S +aj )/aj = S/aj +1, which is clearly impossible. From condition (b) in the proof of Theorem 9.13, moving to an empty machine reduces the cost of job j only if
9.3 Enhanced Complete Information Games
589
B < S, i.e., only if S < amax , which is impossible from the existence of a partition. It follows that s is a Nash equilibrium. (⇐) Assume that A does not admit a partition. Hence, in any Nash equilibrium, the longest job is assigned to a machine with load l = S. The√cost of the longest job is l + amax √B/ l, which achieves √ its minimum value at l = amax B = S, where the cost is amax B + amax B/ amax B = 2S = c. It follows that, for any l = S, the cost of the longest job is strictly greater than c. To summarize, the inclusion of both congestion effects and activation costs within supply chain scheduling games generates new and interesting results about the existence of Nash equilibria and the computational difficulty of finding them.
9.3 Enhanced Complete Information Games The high price of anarchy in many noncooperative games and several practical concerns about the implementation of such games both provide motivation for the enhancement of noncooperative games to improve the performance of their equilibrium outcomes. This enhancement is possible in various ways. In Sect. 9.3.1, we consider games where the players make their strategic decisions sequentially, rather than simultaneously, and evaluate the resulting improvement in the price of anarchy. In Sect. 9.3.2, we consider games with a central planner who acts as a leader to improve the outcome of the game, as well as another game where a leader and follower are both selfish. In Sect. 9.3.3, we study the consequences of altruistic behavior, i.e., where some players’ objectives are at least partly supportive of the social optimum. Finally, in Sect. 9.3.4, we discuss the use of manipulation by a central authority to guide players from a high cost equilibrium to a lower cost one.
9.3.1 Sequential Games In this section, we discuss supply chain scheduling games where the players make their decisions sequentially rather than simultaneously. These games consist of homogeneous players making the same decisions with the same self-interested perspective, which distinguishes them from the leader–follower games studied in Sect. 9.3.2. As discussed below, sequential decision making enables improved performance for the worst-case outcomes of the games. Moreover, from a practical viewpoint, simultaneous playing of some games seems unnatural. It is not necessarily the case administratively that each player is ready to reach a decision at the same time, especially where the players are involved in various other revenuegenerating activities. A common practical example arises in scheduling, where each player controls a job. The previous processing or preparation of the jobs may not complete at the same time for all players. For this reason, if the strategic decision of
590
9 Noncooperative Supply Chain Scheduling
each player is to choose a machine on which to process his job, it is natural to allow players to select machines sequentially. Allowing sequential decision making may eliminate some bad quality equilibria and thereby reduce the price of anarchy. We provide two examples. Leme et al. (2012) demonstrate improvements to the price of anarchy in two simple scheduling games that are played sequentially. Given n players, we assume that the game has n rounds, where player i only acts in round i, for i = 1, . . . , n. The order of the players is arbitrary and is public information. All players are selfish utility maximizers. Since this is a complete information game, each player can predict with certainty how later players will react to his decision, and make his decision accordingly. The players have action sets A1 , . . . , An , and functions u1 , . . . , un that map actions into costs. At each round i, player i observes the actions chosen by players 1, . . . , i − 1 and chooses an action ai ∈ Ai . Hence, the strategy of player i is a mapping si : A1 × · · · × Ai−1 → Ai . Then, the outcome a = (a1 , . . . , an ) is defined by: a1 = s1 (∅), a2 = s2 (a1 ), a3 = s3 (a1 , a2 ), . . . , ai = si (a1 , . . . , ai−1 ). Thus, the cost of player i is determined by his action, as well as by all previous and subsequent actions by other players. As a result, player i gains utility ui (ai , . . . , an ). Given pre-specified actions α1 , . . . , αi−1 , an induced subgame of the original game is defined for players i, i + 1, . . . , n. As defined in Section 2.3.6, a set of strategies (s1 , . . . , sn ) is a subgame perfect equilibrium if it is simultaneously an equilibrium of all subgames defined by the pre-specified actions which it observes (Osborne, 2004). It is also a Nash equilibrium of the original sequential game in the case where there are no pre-specified actions. Let SP E denote the set of all possible subgame perfect equilibrium solutions. The following definition is needed. Definition 9.7 Given a social cost function W (a) that maps actions into a positive real number, the sequential price of anarchy (SPoA) of a sequential game is the ratio between the cost of the worst subgame perfect equilibrium and the cost of the socially optimal solution W ∗ = mina∈A1 ×···×An {W (a)}. Thus, SP oA =
maxa∈SP E {W (a)} . W∗
(9.29)
Consider a simple cost sharing game with a set N of n jobs and a set R of m identical parallel machines. Each player i ∈ N can choose to place his job on any eligible machine in a given set Ri ⊆ R. Each machine j has a running cost cj , independent of the number of jobs assigned to it, that is divided equally among the players choosing that machine. This is similar to the uniform sharing rule for activation cost of Feldman and Tamir (2012) discussed in Sect. 9.2.2.5 and is here described as a fair cost allocation. Then, if x players choose machine j , each incurs a cost cj /x. We assume for simplicity that no combination of machine j and a number of players x choosing that machine produces the same cost allocation as another pair, i.e., ci /y = cj /x, for 1 ≤ i = j ≤ n, 0 < x, y ≤ n. If necessary, this assumption can be realized by a small perturbation of the data and hence is made
9.3 Enhanced Complete Information Games
591
without loss of generality. Each player minimizes the cost of his job. The social objective is minimization of the total cost of all the players. Leme et al. (2012) prove the following result. Theorem 9.15 For any machine cost sharing game with fair cost allocation and arbitrary costs, the sequential price of anarchy satisfies SP oA ≤ O(log n). Proof Consider the following greedy algorithm: while there are jobs that are not yet assigned to machines, choose the machine that has the smallest ratio of its cost to the number of as yet unassigned jobs for which that machine is an available choice. This algorithm, originally developed for the classical set covering problem (Chvátal, 1979), has a worst-case bound, i.e., the ratio of the cost of a solution delivered by the greedy algorithm to an optimal cost, of O(log n). We show that the outcome of this greedy algorithm is the unique subgame perfect equilibrium of this game. To solve the game, we calculate for t = n, n − 1, . . . , 1 the best move player t has available at each round, which is unique due to the absence of ties. We show by backward induction that all players play according to the greedy algorithm. Let r1 , . . . , rk be the machines in the order picked by the greedy algorithm, and let Nj denote the subset of jobs that are first allocated to machine rj . Consider the players in N1 , who incur cost cr1 /|N1 |. From the definition of r1 and the greedy choice rule, this is the smallest possible cost available. Hence, the last player in N1 cannot do better and, since there are no ties, will choose r1 . Further, the second last player in N1 also chooses r1 , since he knows that by doing so, the last player will choose r1 too, thereby reducing his cost to cr1 /|N1 |. Continuing similarly, all players in N1 choose machine r1 , whatever other players do. From the definition of the greedy algorithm, the best possible cost for players in N2 is cr2 /|N2 |. The same argument again applies and can be repeated for the other machines. In this problem, the price of anarchy of a simultaneous game is n (Anshlevich et al., 2004), whereas Theorem 9.15 shows that a subgame perfect equilibrium solution described above for the sequential game has a price of anarchy of O(log n). This improvement illustrates the benefit of sequential decision making in noncooperative supply chain scheduling games. Corollary 9.1 The subgame perfect equilibrium solution is independent of the order in which the players move. Moreover, the players do not need to know the order in which the rest of the players act to find their optimal move. Consequently, the subgame perfect equilibrium is also a Nash equilibrium of the sequential game described. As a second example of sequential games, consider a set M of m unrelated parallel machines and n players, each of whom owns a single job j . Let pij denote the processing time of job j on machine i. Recall the classical problem Rm ||Cmax ,
592
9 Noncooperative Supply Chain Scheduling
which requires allocating the jobs nonpreemptively to the machines to minimize the makespan, i.e., the processing time of the most loaded machine. Our focus is on a noncooperative game defined over this scheduling problem. The objective of each player is the minimization of the load of the machine to which his job is assigned. The social objective is the minimization of the makespan. The classical simultaneous version of this game has an unbounded PoA, even for n = m = 2, as Leme et al. (2012) show by example. The purpose of this analysis is to establish a better price of anarchy through sequential decision making. They prove the following result. Theorem 9.16 The SPoA of the sequential game for unrelated parallel machine scheduling described above satisfies SP oA ≤ O(m2n ). ¯ denote the makespan resulting from a vector L¯ = (L1 , . . . , Lm ) Proof Let M(L) of machine loads. Let L¯ 0 denote a given vector of initial machine loads. Also, let SP E(L¯ 0 , k) denote the makespan of the subgame perfect equilibrium obtained when players k, k + 1, . . . , n make decisions starting from L¯ 0 . Let pj∗ = mini∈M {pij }, i.e., the shortest processing time of job j on any machine. The result is proved using the induction hypothesis: SP E(L¯ 0 , k) ≤ M(L¯ 0 ) + 2n−k
n
L¯ 0 ∈ Rm +.
pj∗ ,
j =k
Consider the last player, n. Since his cost is determined by the makespan of the machine which he chooses, he chooses the machine that provides the minimum makespan. Hence, the resulting makespan is at most M(L¯ 0 ) + pn∗ . Suppose the hypothesis holds for players j = n, n − 1, . . . , k + 1. There are two cases: Case 1. Player k allocates his job to the machine where he has processing time pk∗ , resulting in a new vector of machine loads denoted by L¯ 1 . Then, M(L¯ 1 ) ≤
n
pj∗ + M(L¯ 0 ).
(9.30)
j =k
Therefore, from the induction hypothesis, n
SP E(L¯ 0 , k) ≤ M(L¯ 1 ) + 2n−k−1
pj∗
j =k+1
≤ M(L¯ 0 ) + 2n−k
n j =k
pj∗ ,
from (9.30).
9.3 Enhanced Complete Information Games
593
Case 2. Player k allocates his job to another machine i where his cost is lower because the machine is less loaded, resulting in a load vector L¯ = (L1 , . . . , Lm ). Hence, Li ≤ pk∗ + M(L¯ 0 ) + 2n−k−1
n
pj∗ .
j =k+1
Then, since the load is unchanged for any machine h = i, we have M(L¯ ) ≤ M(L¯ 0 ) + 2n−k−1
n
pj∗ .
(9.31)
j =k
Therefore, SP E(L¯ 0 , k) = SP E(L¯ , k + 1) ≤ M(L¯ ) + 2n−k−1
n
pj∗ ,
from the induction hypothesis
j =k+1
≤ M(L¯ 0 ) + 2n−k
n
pj∗ ,
from (9.31).
j =k
the result is established by setting L¯ 0 = 0, k = 1, and noting that nFinally, ∗ is not larger than m times the optimal makespan. p j =1 j Theorem 9.16 shows that a subgame perfect equilibrium solution described above for the sequential game has a price of anarchy of O(m2n ), whereas in the equivalent simultaneous game the price of anarchy is unbounded. This result further illustrates how sequential decision making can improve the quality of a worst-case equilibrium. Chen and Xu (2020) consider a scheduling situation where N is the set of n players, each of whom represents a job, and M the set of unrelated parallel machines, where m = |M|. Let pij denote the processing time of job j on machine i and pj∗ = mini∈M {pij } denote the minimum processing time of job j on any machine. The players in publicly known sequence 1, . . . , n choose one of the machines to process their job. A schedule σ = (σ1 , σ2 , . . . , σn ) represents the sequence of machines chosen by jobs 1, . . . , n, respectively. The load Li (N ) = j |σ (j )=i pij is the total processing on machine i. Over this situation, they define a supply chain scheduling game where player i’s objective is to minimize the load of the machine which he chooses, taking into account the choices of all predecessors and k successors. This objective is motivated by a situation where a machine delivers all its jobs together when all have
594
9 Noncooperative Supply Chain Scheduling
completed processing. The social objective is the minimization of the makespan. In this environment, the players have bounded rationality, i.e., they are only able to look ahead to the next k decisions before making their own decision. Here, 0 ≤ k ≤ n − 1, where k = 0 corresponds to an online greedy solution and k = n − 1 corresponds to perfect rationality as assumed in the work of Leme et al. (2012) discussed above. Bounded rationality is defined by Simon (1955) as “rational choice that takes account the cognitive limitations of the decision maker—limitations of both knowledge and computational capacity.” A player has a k-lookahead ability in a sequential game if he computes his best decision using the decisions of his predecessors and his first k−1 successors. This decision process can be conceptualized as follows: when a player makes a decision, he draws a (k + 1)depth decision tree that includes his own node, assigns the corresponding costs to the leaves, and then performs backward induction to determine what decision to make. If k = 0, he assumes that his successors will choose machines with minimum processing times, which defines his best choice. This game always has a subgame perfect equilibrium (see Definition 2.13). However, finding one that minimizes the central objective of the makespan is an intractable problem (Leme et al., 2012). Some additional notation is needed. Let [a : b] = {a, a + 1, . . . , b} and [b] = [1 : b], where a, b are the integers. Let Kj = [j + 1 : min{j + k, n}] denote the lookahead set for job j , where |Kj | ≤ k. Let L¯ 0 denote an initial vector of machine loads before the game, and M(L¯ 0 , ∅) its makespan. More generally, L¯ denotes a vector of current loads on the machines. This definition provides a baseline for calculating the increase in makespan at any point during the playing of the game. ¯ J ) denote the load of machine i after the set of players J ⊆ N has played, Let Li (L, ¯ J ) = maxi∈M {Li (L, ¯ J )} the resulting makespan. and M(L, Considering any possible initial load L¯ 0 ∈ Rm + , we define ¯ J ) − M(L¯ 0 , ∅)}. ΔL(J ) = sup {M(L, m ¯ L∈R +
Here, ΔL(J ) is used to bound the increase in makespan as a result of scheduling the set of jobs J , relative to any initial load. This amount in turn can be used to bound the SPoA, as shown below. Consider the general case where each player j has k-lookahead ability, j = 1 ≤ k ≤ n − j . Chen and Xu (2020) prove the following preliminary result. Lemma 9.9 ΔL([j : n]) ≤ ΔL([j + 1 : n]) + pj∗ + ΔL(Kj ), j = 1, . . . , n. This result bounds the amount that each job can contribute to the makespan, and enables the main result that follows. Let OP T (N) denote the value of a socially optimal solution that minimizes the makespan. Theorem 9.17 For the sequential scheduling game where players have klookahead ability, the sequential price of anarchy for the makespan is at most O(k 2 ) for the two unrelated machines environment R2 , and at most O(2k min{mk, n}) for the m unrelated machines environment Rm .
9.3 Enhanced Complete Information Games
595
Proof From Lemma 9.9, ΔL(N ) ≤ ΔL([2 : n]) + p1∗ + ΔL(K1 ) ≤ · · · ≤
n
pj∗ +
j =1
n
ΔL(Kj ).
(9.32)
j =1
First, consider the case of two unrelated machines. From (Chen et al., 2016, Theorem 4), ΔL(Kj ) ≤ (k − 1)
pi∗ .
(9.33)
i∈Kj
This gives ΔL(N ) ≤
n j =1
≤
n
pj∗ +
n
pj∗ + (k − 1)
(
n
pj∗ +
j ∈K1
j =1
≤
from (9.32)
ΔL(Kj ),
j =1
pj∗ + k(k − 1)
j =1
= (k 2 − k + 1)
n
pj∗ + · · · +
j ∈K2
) pj∗ ,
from (9.33)
j ∈Kn
pj∗
j =1 n
pj∗ .
j =1
Therefore, it follows that SP oA ≤
ΔL(N ) OP T (N)
(k 2 − k + 1) nj=1 pj∗ n ≤ ∗ j =1 pj /2 = 2(k 2 − k + 1) = O(k 2 ). Second, consider the case of m unrelated machines. Leme et al. (2012, Theorem 4) and Bilò et al. (2016, Theorem 5) provide upper bounds for ΔL(Kj ):
596
9 Noncooperative Supply Chain Scheduling
ΔL(Kj ) ≤ 2k
pj∗ , and
(9.34)
j ∈Kj
ΔL(Kj ) ≤ 2k max {pj∗ }.
(9.35)
j ∈Kj
These bounds are now used in turn to estimate the SPoA. Using OP T (N) ≥ j ∈N pj∗ /m, we obtain ΔL(N ) OP T (N) ∗ j ∈N pj + j ∈N ΔL(Kj ) , from (9.32) ≤ j ∈N pj /m ∗ ∗ k j ∈N pj + k2 j ∈N pj ≤ , from (9.34) ∗ j ∈N pj /m
SP oA ≤
= m + mk2k = O(mk2k ).
(9.36)
Using OP T (N) ≥ maxj ∈N {pj∗ }, we obtain SP oA ≤ ≤
ΔL(N ) OP T (N) ∗ j ∈N pj + j ∈N ΔL(Kj )
≤
OP T (N) j ∈N
pj∗
+
,
n2k maxj ∈N {pj } , OP T (N)
from (9.32)
OP T (N) ∗ n2k maxj ∈N {pj∗ } j ∈N pj ≤ + ∗ maxj ∈N {pj∗ } j ∈N pj /m
from (9.35)
= m + n2k = O(n2k ). Combining (9.36) and (9.37) gives SP oA = O(2k min{mk, n}).
(9.37)
Table 9.3 summarizes results for the sequential price of anarchy from the literature, including from Chen and Xu (2020). These results illustrate why Chen and Xu (2020) use the term “curse of rationality” in the title of their work. Chen and Xu (2020) also study the case of simple-minded players, who select a machine with minimum anticipated load, under the assumption that all subsequent
9.3 Enhanced Complete Information Games Table 9.3 Sequential price of anarchy results for makespan on unrelated machines
597 Machines Online 1-lookahead k-lookahead n-lookahead
Two machines 2 2 O(k 2 ) Θ(n)
m machines m O(m) O(2k min{mk, n}) O(2n )
players choose machines with minimum processing time. They show that, in this case, the SPoA is exactly m, the number of machines. Noncooperative supply chain scheduling games with limited lookahead ability are an important subject for further research (see Sect. 9.6).
9.3.2 Leader–Follower Games This section discusses two games with leaders and followers. While these games are sequential in nature, we distinguish them from the games considered in Sect. 9.3.1 by the fact that either the objectives of the leaders and followers are different, or their range of control is different. The sequential games studied above consist of homogeneous players making the same decisions with the same self-interested perspective. A further distinction is that the number of decision making stages here is only two. In the first game we describe, the leader is motivated by optimization of social welfare, whereas the followers are self-interested. In the second game studied, the self-interested leader makes a decision about price, whereas the self-interested follower makes a decision about how much work to subcontract. A Stackelberg game (Fudenberg & Tirole, 1993, Chapter 3) is a complete information game in which one or more players, i.e., leaders, move first, and then one or more other players, i.e., followers, react to the decisions of the leaders. A Stackelberg game contains several structural assumptions. First, the leaders know before they make their decisions that the followers will observe those decisions. Further, the leaders know the best response of the followers to their decisions and are therefore able to determine both their outcome and the overall outcome of the system from their own decisions. Solution of a Stackelberg game model is typically achieved by backward induction, i.e., by considering the followers’ best responses as a function of the leaders’ decisions and then optimizing over the latter. Solution of the game finds a Stackelberg equilibrium, i.e., a subgame perfect equilibrium that is a combination of sequential strategies that best serve each player, given the strategies of the other players. Then, every player is at a Nash equilibrium in every subgame. Regarding applications, many Stackelberg games model the leaders and followers as two groups of self-interested players who are either responsible for different decisions or distinguished from the other groups by order of decision making. An example of this in a supply chain is a supplier or subcontractor that makes pricing
598
9 Noncooperative Supply Chain Scheduling
decisions before a manufacturer does. The work of Qi (2012) discussed below in this section provides an example. An alternative perspective offered by Roughgarden (2004) defines a game where a central planner solves part of a planning problem, and self-interested players react to this partial solution and solve the remainder of the problem. In this game, the central planner is the leader and is responsible for allocating a fraction of the total available work to machines. The central planner has complete information about how the other players will react to any strategy which it adopts. The objective of the central planner is to minimize the total cost of the machines. In this role, the central planner has limited power but can partially control the solution determined by the following self-interested players. This process results in a Nash equilibrium; however, the social cost of that equilibrium can vary considerably based on the leader’s strategy. It is therefore useful to evaluate, for any central planner’s strategy, the ratio of social cost given by the Stackelberg equilibrium to the optimal social cost. A further challenge is to identify the leader’s strategy that minimizes this ratio at the induced Stackelberg equilibrium. These challenges fall within the study of Stackelberg games. Consider a set M = {1, . . . , m} of machines. Machine i has a latency function c(·) that measures the load-dependent time required to complete work. Each latency function is assumed to be a nonnegative, continuous, nondecreasing, and convex function of its argument. The following players choose machines to minimize the latency of their jobs. There is a known, finite, positive, and constant rate r of arriving jobs that need to be processed by the machines. The central planner controls a fraction α of the arriving jobs, which defines an arrival rate of αr jobs to the central planner. The central planner allocates these jobs to the machines. The remaining work, with an arrival rate of (1 − α)τ , is assigned to the machines by the choices of the selfish, independent following players who represent the work not allocated by the central planner. An instance (M, r, α) of the Stackelberg game is defined by the set of machines M, the arrival rate of jobs r, and the fraction α of those jobs that are controlled by the decision maker. If there are no centrally controlled jobs, and hence all decisions are made by the self-interested players, then an instance is denoted as (M, r). The following definition clarifies the role of the central planner and the other players: Definition 9.8 (i) A strategy s = (s1 , . . . , sm ) for the Stackelberg instance (M, r, α) is an assignment of work αr to machines by the leader that is feasible for the game instance (M, αr). (ii) An equilibrium induced by strategy s is an assignment t at Nash equilibrium for the instance (M, (1 − α)r) with respect to latency functions fi (·), i ∈ M. (iii) Then, s + t is an assignment induced by s for the original Stackelberg game instance (M, r, α), where s describes the leader’s strategy, and t describes the decisions of the selfish players in reacting to the leader’s strategy.
9.3 Enhanced Complete Information Games
599
To elaborate on Definition 9.8, (i) defines the only role of the central planner as assigning part of the arriving work among the machines. However, this is done with an understanding of how the remaining work will be allocated. Also, (ii) describes the situation after the jobs not allocated by the central planner have selfishly chosen their machines. Finally, (iii) describes the complete solution by both the central planner and the selfish followers. Anassignment of the jobs to the machines is an m-vector x ∈ RM + , such that x = r, i.e., both the centrally controlled work and the remaining i i∈M work have been allocated to the machines. The performance of the system, as viewed by the central planner, is measured by minimization of its total latency C(x) = m i=1 xi fi (xi ), where fi (xi ) measures the performance of machine i given workload xi . In general, the latency function varies among the machines, as is the case in many supply chain scheduling applications that employ resources of varying age and quality. Each player minimizes his job’s latency by choosing a machine on which it is to be processed. This perspective is similar to that in the congestion game of Feldman and Tamir (2012) in Sect. 9.2.2.5. All jobs assigned to the same machine experience the same latency. This assumption is consistent with the modeling of congested systems where a particular allocation of resources represents a “steadystate solution” with jobs arriving continuously over time. The development of a good strategy by the central planner is key to obtaining good overall system performance. Roughgarden (2004) applies the intuition that a good strategy by the central planner, i.e., one that balances workload among the machines, should give more work to the machines that are least appealing to the following selfish users, i.e., machines with relatively high latency. This motivates the following strategy. Algorithm Largest Latency First (LLF) 1. Compute an optimal assignment x ∗ for problem (M, r) in polynomial time, using the mathematical model: xi fi (xi ) min i∈M
s.t.
xi = r
i∈M
xi ≥ 0,
i ∈ M.
∗ ). 2. Index the machines of M such that f1 (x1∗ ) ≤ · · · ≤ fm (xm m ∗ 3. Define k ⎧ = min{i ≤ m | h=i+1 xh ≤ αr}. ∗ ⎪ i>k ⎪ ⎨xi , ∗ 4. Set si = αr − m i=k i=k+1 xi , ⎪ ⎪ ⎩0, i < k.
600
9 Noncooperative Supply Chain Scheduling
We provide an example of Algorithm LLF. Example 9.15 (Application of Algorithm LLF) Let M = {1, 2, 3} denote a set of machines, and let τ = 10 denote the arrival rate of work. Let α = 0.9; hence, the central authority can assign the total work of ατ = 9. Consider the latency functions l1 (x1 ) = 2x1 + 1, l2 (x2 ) = x2 , and l3 (x3 ) = 4. The assignment problem in Step 1 is min
2x12 + x1 + x22 + 4x3 s.t.
x1 + x2 + x3 = 10 x1 , x2 , x3 ≥ 0,
with optimal solution x1∗ = 0, x2∗ = 2, x3∗ = 8. In Step 2, we have l1 (x1∗ ) = 1, l2 (x2∗ ) = 2, and l3 (x3∗ ) = 4, i.e., l1 (x1∗ ) ≤ l2 (x2∗ ) ≤ l3 (x3∗ ), and hence, the machines are correctly indexed. In Step 3, we have k = 2. In Step 4, since ατ = 9, we have s3 = 8, s2 = 1. The remaining work of 1 remains to be assigned among the three machines by the selfish players. Under the assumption that the latency function li (xi ) of each machine i is convex, Roughgarden (2004) shows that Step 1 involves the minimization of a convex function over a convex set that is the polytope of possible assignments, and can therefore be computed in polynomial time using convex programming techniques. As a special case, if the latency functions are linear, then Step 1 requires O(m2 ) time. The LLF strategy fills the machines one by one up to their x ∗ level, in order from the largest latency with respect to x ∗ to the smallest, until there is no unallocated work remaining, and thus clearly runs in polynomial time. Next, the performance of the LLF strategy is evaluated. Roughgarden and Tardos (2002) show that a Nash equilibrium in this problem can be arbitrarily bad if there is no central planner; hence, the gains achieved under central planning are potentially significant. Roughgarden (2004) proves the following preliminary results that are needed for analysis of the problem. Let ti denote the amount of work assigned to machine i ∈ M by the following players. Lemma 9.10 Let M1 denote the machines i ∈ M for which ti = 0 and M2 denote the machines i ∈ M for which ti > 0. For i = 1, 2, let αi denote the amount of centrally controlled jobs assigned to machines in Mi , and Ci the cost incurred by the induced assignment s + t on machines in Mi , where α1 + α2 = α. Then, every machine i with ti > 0 has the same latency, which we denote by L. Moreover, C2 = (1 − α1 )L and C1 ≥ α1 L. Lemma 9.10 is used to prove the next result. Lemma 9.11 Let (M, r, α) denote a Stackelberg instance with optimal assignment ∗) ≥ x ∗ from Step 1 of Algorithm LLF and index the machines of M such that fm (xm ∗ fi (xi ), i = 1, . . . , m − 1. Then: ∗ ) ≥ L. (i) fm (xm
9.3 Enhanced Complete Information Games
601
∗ , then there exists (ii) If s is a strategy from Step 4 of Algorithm LLF with sm = xm an equilibrium induced by s where tm = 0.
Part (ii) of Lemma 9.11 states that if the LLF strategy fills the mth machine up to ∗ , then some induced equilibrium assigns all work to the first m − 1 machines and xm none to machine m. These properties enable the main result for the performance of an LLF-induced strategy. Theorem 9.18 Let (M, r, α) denote a Stackelberg game instance: (i) If s is an LLF central planner’s strategy for this game instance that induces equilibrium t and x ∗ is an optimal assignment for this instance, then C(s +t) ≤ C(x ∗ )/α. (ii) The ratio bound of 1/α is best possible under Stackelberg strategies. Proof (i) The proof proceeds by induction on m, the number of machines. For each fixed m, the theorem is proved for arbitrary latency functions f (·), r and α. The case of m = 1 machine is trivial. Hence, we assume m ≥ 2. Consider a Stackelberg instance (M, r, α) with m ≥ 2. Let x ∗ denote an optimal assignment to the instance (M, r) and s the corresponding LLF strategy that induced ∗ ). Rescale the total x ∗ . Index the machines such that f1 (x1∗ ) ≤ · · · ≤ fm (xm ∗ workflow to 1. Let L = fm (sm + tm ) = fm (xm + tm ) denote the common latency with respect to s +t of every machine i ∈ M2 with ti > 0 as defined in Lemma 9.10. Case 1. Suppose tk = 0 for some machine k. Let M1 = {i ∈ M | ti = 0} and M2 = M \ M1 , where M1 , M2 = ∅. From Lemma 9.10, C2 = (1 − α1 )L and C1 ≥ α1 L. Further, since x ∗ restricted to M2 is an optimal assignment for (M2 , 1 − α1 , 1), the strategy s restricted to M2 is an LLF strategy for the instance (M2 , 1 − α1 , α2 /(1 − α1 )). From the induction hypothesis and the fact that xi∗ ≥ si = si + ti , i ∈ M1 , we have C(x ∗ ) ≥ C1 + α2 C2 /(1 − α1 ). Proving that C(s + t) ≤ C(x ∗ )/α thus reduces to showing that α(C1 + C2 ) ≤ C1 + α2 C2 /(1 − α1 ).
(9.38)
Since α ≤ 1 and C1 ≥ α1 L, it suffices to prove (9.38) with C1 replaced by α1 L, i.e., α(α1 L + C2 ) ≤ α1 L + α2 C2 /(1 − α1 ). Now, setting C2 = (1 − α1 )L, both sides of (9.39) reduce to αL.
(9.39)
602
9 Noncooperative Supply Chain Scheduling
Case 2. Suppose ti > 0 for every machine i; hence, C(s + t) = L. If the LLF ∗ , then from part (ii) of Lemma 9.11, the argument of Case 1 strategy has sm ≥ xm ∗ , as is the case in Example 9.15. Further, from applies. Hence, we assume α < xm ∗ part (i) of Lemma 9.11, fm (xm ) ≥ L, else li (xi∗ ) < L, i = 1, . . . , m, in which case x ∗ and s + t do not deliver the same total load. Then, ∗ ∗ fm (xm ) C(x ∗ ) ≥ xm
≥ αL = αC(s + t). (ii) The following example shows that the ratio bound of 1/α is the best possible result under Stackelberg strategies. Example 9.16 (Worst-Case Instance of an LLF Strategy in a Stackelberg Game) Consider an example with m = 2 machines, α = 1/2, and latency functions f1 (x1 ) = 1 and f2 (x2 ) = 2k x2k , where k is a positive integer. For this example, any Stackelberg strategy induces the assignment (1/2, 1/2) with the total cost 1. However, an optimal assignment is (1/2 + δk , 1/2 − δk ) with the total cost 1/2 + k , where δk , k → 0 as k → ∞. Thus, the best induced assignment may be (arbitrarily close to) twice as costly as the optimal assignment. Similar examples can be developed for any α, 0 < α < 1. For the natural case of linear latency functions, Roughgarden (2004) proves a stronger ratio bound of 4/(3 + α). He also shows that, even for this special case, the problem of computing an optimal Stackelberg strategy is binary NP-hard. Having presented the above theoretical background to Stackelberg games, we now discuss an interesting application that provides different intuition. Qi (2012) describes a two-stage Stackelberg game for a manufacturer and a subcontractor whose decisions collectively form a supply chain scheduling problem. The selfinterested manufacturer needs to process a set of jobs, and outsourcing some or all of them to a subcontractor can reduce its tardiness cost that is incurred when a customer deadline is not met. In the first stage of the game, the self-interested subcontractor (i.e., leader) sets a unit price, and in the second stage the manufacturer (i.e., follower) uses this information to decide which jobs to subcontract and also how to schedule the jobs on both its and the subcontractor’s resources. It is assumed that the subcontractor accepts the manufacturer’s schedule for outsourced work, based on the manufacturer’s due date priorities, as part of the subcontract. The subcontractor knows the response of the manufacturer, i.e., the amount of work that is subcontracted, to whatever pricing decision it makes. Consider a manufacturer with n jobs to schedule. Each job j has a processing time pj , a due date dj where d1 ≤ · · · ≤ dn ≡ D, and a fixed tardiness cost wj if it completes at time Cj where Cj > dj . A cost cm per unit time is incurred for in-house processing; hence, the cost of processing job j is cm pj if it is not
9.3 Enhanced Complete Information Games
603
outsourced. If job j is outsourced, it requires pj time at the subcontractor, where in general pj = pj . Let P = nj=1 pj , and P = nj=1 pj . The subcontractor’s capacity is P , and therefore not a binding constraint; in practice, this is justified by the possibility of further subcontracting by the subcontractor. The subcontractor determines a price x per unit time for work received, which is therefore xpj for processing job j . The subcontractor’s cost of processing per unit time is cs . Naturally, the manufacturer incurs the tardiness cost wj if it is tardy, even if a job is outsourced. Each job is scheduled either entirely in-house or entirely outsourced and in both cases is processed nonpreemptively. The manufacturer minimizes its total cost, which includes processing, outsourcing, and tardiness costs. The subcontractor maximizes its net profit, which is its revenue from the manufacturer, less its processing cost. Given a price x set by the subcontractor, consider the manufacturer’s problem of determining which of its jobs to outsource and whether it is worth the increased outsourcing cost of scheduling them in order that they be delivered on time. This problem can be solved using the following dynamic program. Algorithm SC Preprocessing Index the jobs in EDD order, i.e., such that d1 ≤ · · · ≤ dn ≡ D. Value Function Let fj (a, b) denote the minimum total in-house processing, subcontracting, and tardiness cost, for scheduling jobs 1, . . . , j , where the total processing time of the on-time in-house jobs is a and the total processing time of the on-time outsourced jobs is b. Boundary Condition f0 (0, 0) = 0. Recurrence Relation ⎧ ⎪ fj −1 (a, b) + cm pj + wj ⎪ ⎪ ⎪ ⎨f (a, b) + xp + w j −1 j j fj (a, b) = min ⎪vj (a, b) ⎪ ⎪ ⎪ ⎩ yj (a, b), where
fj −1 (a − pj , b) + cm pj , if a ≤ dj vj (a, b) = min ∞, if a > dj ,
fj −1 (a, b − pj ) + xpj , if b ≤ dj yj (a, b) = min ∞, if b > dj . Optimal Solution Value h(x) ≡ min0≤a≤P , 0≤b≤P {fn (a, b)}.
604
9 Noncooperative Supply Chain Scheduling
The recurrence relation includes four alternatives. In the first two alternatives, job j is tardy. In the first alternative, it is processed in-house, whereas in the second alternative it is subcontracted. The third and fourth alternatives attempt to schedule job j on time. However, this is only possible by in-house processing in the third alternative if a ≤ dj , and it is only possible by subcontracting in the fourth alternative if b ≤ dj . Finally, h(x) represents the minimal total cost of the manufacturer, given the subcontractor’s choice of x as the price. Theorem 9.19 For a given subcontractor’s price x, Algorithm SC finds an optimal selection of jobs to outsource in O(nP P ) time. Proof Since an EDD sequence is optimal for on-time jobs on each machine (Lawler & Moore, 1969) for the classical scheduling problem P2 || wj Uj , the algorithm compares the cost of all possible schedules of in-house and outsourced jobs and therefore finds a minimum cost solution. Regarding the computation time, 1 ≤ j ≤ n, 0 ≤ a ≤ P , 0 ≤ b ≤ P , and each application of the recurrence relation requires constant time. Qi (2012) proves the following preliminary result. Lemma 9.12 The manufacturer’s minimum cost function h(x) is a piecewise linear concave increasing function of the unit subcontracting price, x. The next result provides a path to computationally efficient solution of the overall problem of the manufacturer and subcontractor. Theorem 9.20 (i) The manufacturer’s optimal total subcontracting time b∗ (x) is a stepwise nonincreasing function of the unit subcontracting price x and has the same breakpoints as the manufacturer’s minimum cost function, h(x). (ii) The subcontractor needs to consider only the same breakpoints as the manufacturer in setting its optimal price. Proof (i) The result follows from Lemma 9.12. (ii) Observe that the manufacturer does not change its schedule, and therefore, the subcontractor’s revenue does not change between two price breakpoints. Therefore, the subcontractor’s optimal price is found by comparing its profit at each of the manufacturer’s breakpoints. Qi (2012) provides a simple algorithm for finding all the breakpoints of h(x), which from Theorem 9.20 is sufficient to enable the manufacturer to evaluate and compare its cost under any given price x, and moreover is sufficient to define the set of candidate prices that the subcontractor needs to consider. Remark 9.4 The availability of complete information and sequential decision making help to identify an equilibrium solution in this game. While the subcontractor
9.3 Enhanced Complete Information Games
605
plays first by setting the price, it is able to predict with certainty the manufacturer’s reaction to that price, as specified by the total amount of time subcontracted, and therefore its own revenue and cost. Moreover, the subcontractor needs only to optimize over the price breakpoints that correspond to prices where the manufacturer’s subcontracting decision changes. The equilibrium solution found by the above analysis is in general not optimal for the system as a whole. Further investigation of this point requires the following definition. Definition 9.9 (i) The total system cost equals the manufacturer’s processing cost, plus the subcontractor’s processing cost, plus the tardiness cost. (ii) The system is coordinated if the pricing decision of the subcontractor and the outsourcing decision of the manufacturer are aligned such that the total system cost is minimized. Qi (2012) describes a coordinating contract that contains a quantity discount. In such a contract, which is defined by a triple (q, x1 , x2 ), the subcontractor announces a threshold q for the amount of time subcontracted and two unit prices x1 and x2 , where x1 > x2 . The unit price paid by the manufacturer depends on the total subcontracting time, i.e.,
x=
x1 ,
if b < q
x2 ,
if b ≥ q.
Thus, the manufacturer enjoys a discounted unit price if and only if it subcontracts a sufficient amount of work. Let b∗ (cs ) denote the optimal amount subcontracted by the manufacturer if the subcontractor’s price is cs . Further, let g(b) denote the manufacturer’s minimum cost, excluding subcontracting cost, if the total amount of time subcontracted is b. The following result (Qi, 2012) specifies the design of such a coordinating contract. Theorem 9.21 A quantity discount contract (q ∗ , x1∗ , x2∗ ) where q ∗ = b∗ (cs ), x1∗ = 1 + cm + minj ∈N {wj /pj }, and x2∗ = cs + [g(0) − g(b∗ (cs )) − cs b∗ (cs )]/b∗ (cs ) coordinates the system. Proof It suffices to prove that: (i) The optimal subcontracting time for the manufacturer is q ∗ . (ii) The subcontractor cannot reduce its cost by changing x1∗ and x2∗ . To prove (i), if the manufacturer outsources a quantity smaller than q ∗ , the unit price which it pays is 1 + cm + minj ∈N {wj /pj }, which exceeds any possible in-house production cost, including tardiness penalties.
606
9 Noncooperative Supply Chain Scheduling
Hence, the amount of time subcontracted by the manufacturer is at least q ∗ . If it is exactly q ∗ , the profit of the subcontractor is (x2∗ − cs )b∗ (cs ), and hence, the total system cost is g(b∗ (cs )) + cs b∗ (cs ), which is the minimum system cost. If the amount of time subcontracted exceeds q ∗ , the subcontractor’s profit is strictly greater than (x2∗ − cs )b∗ (cs ). Since the total system cost is bounded below by g(b∗ (cs )) + cs b∗ (cs ), the manufacturer’s costs must be strictly greater than if it subcontracted exactly q ∗ jobs. Consequently, the manufacturer will choose not to subcontract this much. This completes the proof of (i). To prove (ii), the profit of the subcontractor under the proposed contract is (x2∗ − cs )b∗ (cs ), which equals the total system saving relative to no subcontracting. Hence, the subcontractor cannot increase its profit without incentivizing the manufacturer to avoid subcontracting entirely, which in turn will reduce the subcontractor’s profit. This widely observed outsourcing application, where a subcontractor sets a price first and then the manufacturer reacts to it in a way that the subcontractor can predict, provides valuable intuition about Stackelberg games. For discussions of subcontracting problems in a centralized supply chain scheduling environment, we refer the reader to Chap. 6.
9.3.3 Altruistic Games Most classical game theory models assume that players are both rational and selfish. The players therefore focus on optimizing their utility, for example by minimizing their personal delay in a routing or congestion game. However, this assumption has been repeatedly questioned by economists and psychologists. In experiments, it has been observed that participants’ behavior can be quite complex and contradictory to selfishness (Ledyard, 1997; Levine, 1998). Further motivation for altruistic behavior arises from Internet behavior, such as Wikipedia, open-source software development, or Web 2.0 applications, which explicitly rely on voluntary participation and contributions toward a joint project without direct personal benefit. These environments demonstrate forms of altruism in which players accept certain personal burdens (e.g., by investing time, attention, and money) to improve a common outcome. We consider two games that involve different ways of modeling altruistic behavior. In Sect. 9.3.3.1, we consider a congestion game where the players are all pure egoists or pure altruists. In Sect. 9.3.3.2, each player has an objective that is a weighted combination of egoistic and altruistic cost measures.
9.3.3.1
Egoists and Altruists
Motivated by the substantial evidence of altruism discussed above, Hoefer and Skopalik (2013) consider congestion games where the players, although rational,
9.3 Enhanced Complete Information Games
607
are altruistic. These games model supply chain scheduling problems in a horizontal supply chain, as studied by Li (2002). Each player i is assumed to be partly selfish and partly altruistic, and his objective is to optimize a linear combination of personal cost and social cost, where the latter is defined as the total cost of all players. The strength of altruism of each player i is captured by his altruism level βi ∈ [0, 1], where βi = 0 implies purely egoist behavior and βi = 1 implies pure altruism. A congestion game contains a set of players N = {1, . . . , n}. This is a supply chain scheduling problem where each player owns one or more jobs that must be assigned to a resource. Available to the players is a set E of resources or facilities that we henceforth refer to as machines for consistency with the scheduling literature. Each player i makes a choice about what subset Si of the available machines to use. We describe this as a strategy Si ⊆ 2E . A joint strategy of all the players is denoted by s ∈ S1 × · · · × Sn . Given s, let xe (s) denote the number of players who choose machine e ∈ E. These choices result in delays that are described by delay functions de : N → R+ . This delay is experienced by all the players who use machine e, since it is a congestion effect that affects them all equally. Given s, the objective of player i is to minimize his total cost ci (s) = e∈Si de (xe (s)). The social cost is the total cost of all the players. Various classes of congestion games are available: Definition 9.10 (i) If each player is allowed to select only a single machine, then the game is a singleton game. (ii) If each player has the same set of available strategies, then the game is symmetric. We consider symmetric singleton congestion games, where each player i ∈ N is either a pure egoist (βi = 0) or a pure altruist (βi = 1). A vector of strategies s = (S1 , . . . , Sn ) chosen by the players defines a state. Let di (ni ) denote the delay experienced by each of ni players who choose machine i, which is a nondecreasing function of ni . The following example shows that in a symmetric singleton congestion game there may be no pure Nash equilibrium, even if the game contains only pure egoists and pure altruists. Example 9.17 (Nonexistence of a Pure NE in an Altruistic Congestion Game) Consider a symmetric singleton congestion game with two machines a and b, three pure egoists, and one pure altruist. The delay functions are da (x) = db (x) with da (1) = 4, da (2) = 8, da (3) = 9, and da (4) = 11. If either all three egoists or two egoists and the altruist choose the same machine, then one of the egoists can reduce his cost from 9 or more to 8 or less by moving to the other machine. Hence, in equilibrium, each machine must be chosen by exactly two players. However, in this case, the social cost is 2(8) + 2(8) = 32, as a result of which the altruist is motivated to change machine so that the resulting social cost is 1(4) + 3(9) = 31. In that event, the previous situation applies. Hence, no pure Nash equilibrium exists.
608
9 Noncooperative Supply Chain Scheduling
In view of Example 9.17, it is valuable to develop a methodology to determine in polynomial time, for a given instance of a symmetric singleton congestion game, whether it has a Nash equilibrium. We also show how to compute a Nash equilibrium with minimum and maximum social costs, if such an equilibrium exists. Let ne denote the number of egoists and na the number of altruists in an arbitrary symmetric singleton game. Hoefer and Skopalik (2013) provide the following result that simplifies the game into one with only egoists. Lemma 9.13 An altruist can be modeled as an egoist with a transformed cost function. Proof An altruist moves from strategy Si to strategy Si if and only if the decrease in the total delay on the machines e ∈ Si \ Si from which it is leaving exceeds the increase in the total delay on the machines e ∈ Si \ Si which it is joining. Consequently, for the purposes of computing a Nash equilibrium, an altruist can be modeled as a selfish player i with a transformed cost function ci (s) = e∈Si de (ne ), where de (ne ) = ne de (ne ) − (ne − 1)de (ne − 1), for ne > 0. We provide some additional notation. For a given state s, let Ee (respectively, Ea ) denote the set of machines chosen by at least one egoist (resp., altruist). Let the maximum delay of any machine chosen by an egoist be denoted by demax = maxi∈Ee di (ni ) and the minimum delay of any machine if an additional player is added be denoted by demin + = mini∈Ee di (ni + 1). Similarly, let the maximum altruistic delay of any machine chosen by an altruist be denoted by damax = maxi∈Ea di (ni ) and the minimum altruistic delay of any machine if an additional player is added be denoted by damin + = mini∈Ea di (ni + 1). Given this notation, the following result by Hoefer and Skopalik (2013) characterizes a Nash equilibrium in a symmetric singleton congestion game. Lemma 9.14 Necessary and sufficient conditions for a Nash equilibrium are that demax ≤ demin + and damax ≤ damin + .
(9.40)
Proof Let Ne denote the set of egoists where ne = |Ne |, and let Na denote the set of altruists where na = n − ne = |Na |. Thus, Ee = ∪i∈Ne Si and Ea = ∪i∈Na Si . Observe that, if and only if the first inequality in (9.40) is not satisfied, then an egoist can move from one machine to another and reduce his cost. Further, if and only if the second inequality in (9.40) is not satisfied, then an altruist can move similarly. Hoefer and Skopalik (2013) use Lemma 9.14 to prove the following result: Theorem 9.22 (i) Given an instance of the symmetric singleton congestion game described above with only pure altruists and egoists, there is an algorithm that determines if a pure Nash equilibrium exists in O(n3e n3a m5 ) time.
9.3 Enhanced Complete Information Games
609
(ii) The same algorithm can be modified to compute the lowest and highest social cost Nash equilibrium with the same running time. Proof (i) Fix values of demax , demin + , damax , and damin + . The following procedure tests for the existence of a Nash equilibrium with exactly those four values. Index the machines in arbitrary order. For machines 1 and 2, find a combination of egoists and altruists that satisfies the conditions in (9.40). Now, add machines i one at a time and test the number of egoists and altruists who could be assigned to i while sustaining a Nash equilibrium. By doing so, bounds are obtained on the feasible numbers of altruists and egoists remaining unassigned for later machines. To implement this procedure, maintain a binary matrix R = {rhj } of dimension (ne + 1) × (na + 1), where rhj = 1 if and only if there is a feasible assignment of ne − h egoists and na − j altruists to the previously considered machines. Now, consider a new machine i. For this machine, we test all possible combinations of ye egoists and ya altruists that could be allocated to i such that conditions (9.40) remain satisfied. If so, the matrix entry rh−ye ,j −ya is set to 1. If, when the last machine has been added, the matrix entry r00 = 1, this means that all players have been assigned and a Nash equilibrium exists for the given values of demax , demin + , damax , and damin + . If so, this is sufficient to terminate the process. Otherwise, another combination of the values of demax , demin + , damax , and damin + is tested. Failure to find a Nash equilibrium for any such combination determines that no Nash equilibrium exists. Regarding the running time of the above procedure, observe that demax , demin + ≤ (ne + 1)m, and damax , damin + ≤ (na + 1)m; hence, there are O(n2e n2a m4 ) iterations of the process. Each iteration tests O(ne na ) combinations for the numbers of egoists and altruists to add, at each of m stages corresponding to the number of machines being tested. Hence, the overall running time of the algorithm is O(n3e n3a m5 ). (ii) Lemma 9.14 can also be used to find the lowest and highest social cost Nash equilibrium. To accomplish this for the best Nash equilibrium, the procedure for identifying feasibility with an entry rij is modified to store the lowest social cost of a feasible assignment. Similarly, the worst Nash equilibrium can be found by storing the highest social cost of a feasible solution. The decisions that provide the highest and lowest costs can be found by retracing the solution. Finally, consider the problem faced by a central planner who wishes to convince as many players as necessary to become altruists, in order to achieve a Nash equilibrium that is socially optimal. In this context, a natural question is how many altruists are required to stabilize a social optimum. Intuitively, the more altruists and fewer egoists are present in the game, the easier it is to establish a Nash equilibrium that is socially optimal. The investigation of this issue requires the definition of two performance measures for the game:
610
9 Noncooperative Supply Chain Scheduling
(a) An optimal stability threshold, which is the minimum number of altruists such that there exists an optimal Nash equilibrium. (b) An optimal anarchy threshold, which is the minimum number of altruists such that every Nash equilibrium is optimal. For symmetric singleton congestion games, Hoefer and Skopalik (2013) adapt the procedure described in the proof of Theorem 9.22 above for computing Nash equilibria to determine both thresholds. The main result of this analysis now follows. We provide an outline of the proof and refer the reader to their work for details. Theorem 9.23 The optimal stability threshold and optimal anarchy threshold of symmetric singleton congestion games with only pure altruists and egoists can be computed in polynomial time. Proof By iteratively applying the polynomial time algorithm that is described in the proof of Theorem 9.22 for different numbers of altruists, for any given number of altruists, compare the cost of the best or worst Nash equilibrium with the cost of the social optimum. Hoefer and Skopalik (2013) also show the limits to analysis of the type described above by proving that, for symmetric but nonsingleton congestion games with quadratic delay functions, it is unary NP-complete to determine whether a singleton congestion game with only pure egoists and pure altruists has a pure Nash equilibrium.
9.3.3.2
Common Altruistic Preference
Apt and Schäfer (2014) provide a perspective on altruistic games that is different from that of Hoefer and Skopalik as discussed in Sect. 9.3.3.1. In their version of such games, each player’s payoff is modified by adding a positive fraction α of the social welfare realized by a joint strategy of all the players to the individual player’s payoff. Hence, each player is partly but not completely altruistic, and to the same extent. The selfishness level of a game, which is formally defined below, is the infimum over all values of α ≥ 0 that results in a social optimum being realized at a pure Nash equilibrium. Intuitively, the selfishness level of a game can be viewed as a measure of the players’ unwillingness to cooperate. A low selfishness level, i.e., a low value of α, indicates that the players are easily incentivized to align their interests with those of the society, whereas a high selfishness level suggests that the players are reluctant to cooperate in this way. Since it is a measure of unwillingness to cooperate, the selfishness level is not directly comparable with the price of anarchy, hence using it provides different insights about noncooperative games. We first discuss a general model of these altruistic games and then demonstrate how this model can be applied to a linear congestion game. An altruistic cost game G = (N, {Si , i ∈ N}, {ci , i ∈ N}) is defined by a set N = {1, . . . , n} of players, a nonempty set of strategies Si for every player i ∈ N,
9.3 Enhanced Complete Information Games
611
and a scheduling cost function ci for every player i ∈ N where ci : S1 × · · · × Sn → R. The players choose their strategies simultaneously, and every player i ∈ N aims at choosing a strategy si ∈ Si so as to minimize his individual cost ci (s) = ci (s1 , . . . , sn ). We define s ∈ S1 × · · · × Sn as a joint strategy with ith element si . Let s−i = (s1 , . . . , si−1 , si+1 , . . . , sn } and S−i = (S1 , . . . , Si−1 , Si+1 , . . . , Sn }. The social objective is the minimization of the social cost of the game, which is defined as SC(s) ≡
n
ci (s).
i=1
Now, define an altruistic cost game instance G(α) = (N, {Si , i ∈ N }, {ci , i ∈ N }, α ≥ 0). The objective of each player i is to minimize his partly altruistic cost τi = ci + αSC(s). If, for some α ≥ 0, a pure Nash equilibrium of G(α) is also a social optimum, then G(α) is said to be α-selfish. Then, the selfishness level of G(α) is inf{α ∈ R+ | G(α) is α−self ish.}. The motivation for studying the selfishness level of G(α) is that it provides an indication of how much altruism for all players would be needed to ensure that a socially optimal solution is stable. Then practical measures, for example direct appeals to the players or public service announcements, can be undertaken to induce that level. A social optimum s is stable if, for all i ∈ N and alternative strategies si ∈ Si , ci (si , s−i ) ≤ ci (si , s−i ), i.e., no player is better off by unilaterally deviating to another social optimum. Finally, we define the appeal factor AF (·, ·) of strategy si of player i, given the social optimum s, as AFi (si , s) =
ci (si , s−i ) − ci (si , s−i ) . SC(si , s−i ) − SC(si , s−i )
(9.41)
The numerator in (9.41) represents the reduction in cost experienced individually by player i in changing his strategy from si to si , whereas the denominator represents the increase in social cost that results. Hence, if the numerator is large but the denominator is small, this change of strategy is appealing to player i. The selfishness level of a game G can be characterized by bounds on the appeal factors of possible deviations from a stable social optimum. First, Apt and Schäfer (2014) prove the following result about the properties of social optima.
612
9 Noncooperative Supply Chain Scheduling
Lemma 9.15 Consider a noncooperative game G(α) = (N, {Si , i ∈ N}, {ci , i ∈ N}, α ≥ 0): (i) If s is both a Nash equilibrium of G(α) and a social optimum of G, then s is a stable social optimum of G(α). (ii) If s is a stable social optimum of G, then s is a Nash equilibrium of G(α) if and only if, for all i ∈ N and si ∈ Ui (s), AFi (si , s) ≤ α, where Ui (s) = {si , i ∈ Si | ci (si , s−i ) < ci (si , s−i )}.
(9.42)
The set Ui (s) in (9.42) contains players who could reduce their individual cost by moving from their current strategy si to an alternative strategy si and indeed would do so if α = 0. Also, to interpret part (ii) of Lemma 9.15, we may think of α as a minimum threshold for the appeal factor at which any possible change of strategy from si to si is not appealing to any player i ∈ N. Lemma 9.15 enables the main result for general games that follows. Theorem 9.24 Consider a game G(α) as defined above. (i) The selfishness level of G(α) is finite if and only if a stable social optimum s exists for which α(s) ≡ supi∈N,s ∈Ui (s) {AFi (si , s)} is finite. i (ii) If the selfishness level of G(α) is finite, then it equals the minimum value of α(s) over all stable socially optimal solutions. (iii) If G(α) is finite, then its selfishness level is finite if and only if it has a stable social optimum. In particular, if G(α) has a unique social optimum, then its selfishness level is finite. (iv) If β > α ≥ 0 and G(α) is α-selfish, then G(α) is β-selfish. Proof Part (i) follows from Lemma 9.15. Part (ii) follows from part (i) and Lemma 9.15. Part (iii) follows from part (i). Part (iv) follows from part (ii) of Lemma 9.15. We provide some intuition about Theorem 9.24. In part (i), if there exists a player in Ui (s) with current strategy si and an infinite appeal factor α(s) for another si , then no finite value of α will ensure that the game is stable. Part (ii) recognizes that since different socially optimal solutions may have different values of α(s), the selfishness level is defined by the most stable of those solutions. Part (iii) is useful in establishing a property of a unique social optimum. Part (iv) makes the point that a game that is selfish under a given value of α is also selfish under a higher value of α, which follows from (9.42). We apply the above results for general games to a symmetric singleton congestion game, as discussed by Hoefer and Skopalik (2013) in Sect. 9.3.3.1. However, we add an extra condition that the game is linear, i.e., the delay function of every machine e ∈ E is of the form de (xe ) = ae xe + be , where xe is the load on machine e under a given strategy s of all the players. This defines a linear symmetric singleton congestion game. Let s be a stable social optimum. We write xe in place of xe (s) for conciseness. Let the discrepancy between two machines e and e be defined as
9.3 Enhanced Complete Information Games
2ae xe + be 2ae xe + be − . ae + ae ae + ae
δ(xe , xe ) =
613
(9.43)
Further, let δmax (s) = max {δ(xe , xe ) | ae + ae > 0, δ(xe , xe ) < 1}. e,e ∈E
Then, δmax is the maximum discrepancy over all stable social optima. Further, let Δmax = maxe∈E {ae + be } and Δmin = mine∈E {ae + be }. Finally, let amin = mine∈E {ae | ae > 0}. Apt and Schäfer (2014) prove the following preliminary result. Lemma 9.16 Consider the linear symmetric singleton congestion game defined above. Let s be a social optimum and e, e ∈ E be two machines with ae + ae > 0. Then the discrepancy between e and e under s satisfies δ(xe , xe ) ∈ [−1, 1]. The main result for congestion games can now be stated. Theorem 9.25 The selfishness level of a symmetric singleton linear congestion game is at most & ' Δmax − Δmin 1 max 0, . − 2(1 − δmax )amin 2 Moreover, this bound is tight. Proof Let s be a stable social optimum that exists from Theorem 9.24, parts (ii) and (iii). If Ui (s) = ∅, i ∈ N, then the selfishness level is 0, from Theorem 9.24, part (ii). Now, consider some player i ∈ N with Ui (s) = ∅. Let s = (si , s−i ) for some si ∈ Ui (s). Let xe and xe refer to xe (s) and xe (s ), for e ∈ E, respectively. For every e ∈ E, ⎧ ⎪ ⎪ ⎨xe + 1, if e ∈ si \ si , xe = xe − 1, if e ∈ si \ si (9.44) ⎪ ⎪ ⎩x , otherwise. e
Let si = {e} and si = {e } be the sets of resources chosen by player i in s and s , respectively. From (9.44), we have ci (si , s−i ) − ci (si , s−i ) = ae xe + be − ae (xe + 1) − be .
(9.45)
SC(si , s−i ) − SC(si , s−i ) = ae (2xe + 1) + be − ae (2xe − 1) − be .
(9.46)
Also,
614
9 Noncooperative Supply Chain Scheduling
Now, the left-hand side of (9.45) must be strictly positive, since si ∈ Ui (s). Also, the left-hand side of (9.46) must be strictly positive, since s is a stable equilibrium and si ∈ Ui (s). Hence, ae + ae > 0, to avoid a contradiction between (9.45) and (9.46). Further, using the definition of δ in (9.44), the left-hand side of (9.46) evaluates to (1 − δ)(ae + ae ) > 0, which implies that δ = 1. Then, from Lemma 9.16, we have δ < 1. As a result, AFi (si , s) =
(ae + ae )δ + be − be − 2ae 2(1 − δ)(ae + ae )
=
(ae + be ) − (ae + be ) 1 − 2(1 − δ)(ae + ae ) 2
≤
Δmax − Δmin 1 − , 2(1 − δmax )amin 2
where the inequality follows from the definitions of Δmax , Δmin , δmax , and amin . The result now follows from Theorem 9.24, part(ii). The following example shows that this bound is tight, even for n = 2 players and two resources. Example 9.18 (Instance of an Altruistic Game with Maximum Selfishness Level) Let N = {1, 2}, E = {e, e }, and S1 = S2 = {{e}, {e }}. Suppose we are given δ ∈ [0, 1) and ae ∈ R+ . Let de (x) = (2+δ)ae and de (x) = ae x. The joint strategy s = ({e}, {e }) is the unique social optimum with SC(s) = (3 + δ)ae . Further, c1 (s) = (2 + δ)ae and c2 (s) = ae . Now, suppose player 1 deviates to s1 = {e }, then SC(s1 , s2 ) = 4ae and c1 (s1 , s2 ) = 2ae . Thus, AFi (s1 , s) = δ/(1 − δ), which matches the upper bound in the theorem statement. The case of δ ∈ [−1, 0] is similar. The two works on altruistic games discussed in this section provide valuable insights about how variations in the motivations of players can influence the outcomes of noncooperative supply chain scheduling games. The study of altruistic supply chain scheduling games offers considerable potential for future research, and we refer the reader to Sect. 9.6 for a related discussion.
9.3.4 Central Authority Manipulation Balcan (2011) discusses methods to improve a Nash equilibrium solution with a high social cost into another Nash equilibrium with a lower social cost. Recall the definitions of Price of Anarchy (PoA) in Definition 9.3 and Price of Stability (PoS) in Definition 9.4. There are many practical noncooperative games where the PoA (which evaluates the quality of the highest cost Nash equilibrium) is large, while the PoS (which evaluates the quality of the lowest cost Nash equilibrium) is small.
9.3 Enhanced Complete Information Games
615
For example, as shown below, in job scheduling on unrelated machines, the PoA is unbounded, while there is a Nash equilibrium that is socially optimal and hence the PoS is 1. Example 9.19 (Noncooperative Game with PoS of 1 and Unbounded PoA) Consider the classical scheduling problem Rm ||Cmax and a supply chain scheduling instance where m = n = 2. The social objective is the minimization of makespan. Each player, represented by a job, minimizes the completion time of his job. Let pij denote the processing time of job j on machine Mi , where p11 = p22 = 1 and p12 = p21 = 1/δ, for some 0 < δ < 1. Then, a solution with job 1 on machine M1 and job 2 on machine M2 is a Nash equilibrium and has Cmax = 1. This solution is socially optimal, and hence, the PoS is 1. However, a solution with job 1 on machine M2 and job 2 on machine M1 is also a Nash equilibrium, since if either player changes their decision, their cost increases from 1/δ to 1 + 1/δ. This solution has Cmax = 1/δ, and hence, the PoA is unbounded as δ → 0. In situations where there are both high cost and low cost Nash equilibria, it is potentially valuable for a central authority—for example, a government agency or another regulator—to try to “nudge” decisions that are currently stuck at a high cost equilibrium into a low cost one, for example by running a public service advertising campaign that promotes socially better decisions. However, it is in practice too optimistic to hope that everyone will follow any given piece of advice, even if the recommended behavior is optimal if everyone else follows it. A more realistic assumption is that following a public service announcement, some fraction 0 < α < 1 of players will follow it, whereas other players will continue to behave selfishly. For any such game, an important question is what can be achieved in this situation. More specifically, Balcan (2011) asks, “Is affecting a small constant fraction α of players sufficient to cause the rest to head toward a low-cost equilibrium, or on the other hand, is even a small constant fraction [of the players] not paying attention enough to cause the whole thing to unravel?” This question can be generalized to consider situations where the fraction of players who follow the advice from the central authority changes over time, for example as a result of the information becoming viral through social media. There are two models (Balcan et al., 2009) by which it is possible for players to learn toward an improved cost Nash equilibrium solution. The first is a simple advertising model, under which the central authority first suggests to each player a proposed action, and each player accepts the proposal with some probability. The players that accept the new action stay with it until the other players, conditioned on that response, converge to a Nash equilibrium. The goal of the central authority is to design its advertising in such a way that the process converges to a Nash equilibrium with a low social cost. Here, it is easy to see that tradeoffs emerge in this design. For example, the more draconian the advice offered in the advertising message, the more effective it may be for those who follow it, but the smaller the proportion α of players who do so. Similarities may be observed in reactions to public service messages related to the global public health emergency in 2020–2021. The second approach uses adaptive learning, where each player individually decides, in each
616
9 Noncooperative Supply Chain Scheduling
round, between following the advertised strategy or acting in a best response manner with some probability. Players may adjust their probabilities over time using some learning rule of their choosing. The goal again is to show that (in expectation, or with high probability) this process results in a low cost Nash equilibrium solution, under conditions that are as mild as possible on the learning rules used by the individual players. Regrettably, based on currently existing research, supply chain scheduling games seem to be less amenable to these types of learning than others. Balcan et al. (2009) describe a negative result in this context. Consider the unrelated parallel-machine problem Rm ||Cmax . In this case, even for m = n, and allowing the central authority to convince n − 2 of the players to follow its advertising, there is still a possibility of reaching a pure Nash equilibrium with unbounded P oA. Even for m = 2 machines, the same result holds if no more than n/2−1 jobs follow the recommended behavior. Nonetheless, there are intriguing questions here for future research (see Sect. 9.6).
9.4 Private Information: Mechanisms Without Payments This section studies supply chain scheduling games where part of a player’s information is private. This information may be misreported to a central authority and to other players. Achieving good system performance in this situation requires the design of mechanisms that induce truthful reporting of private information. In general, a mechanism includes (a) an algorithm for converting reported information from the players into an output, which in the supply chain scheduling context is typically a schedule for the system, and (b) a payment scheme that defines a vector of payments to or from the players. However, the mechanisms discussed in this section rely only on an algorithm, which in some cases includes randomization steps, and do not require the use of payments either to or from the players to ensure truthfulness. Within social choice settings generally, there are various situations where payment is ethically or legally problematic (Schummer & Vohra, 2007). Within supply chain scheduling, similarly problematic issues are most likely to arise from antitrust concerns. In Sect. 9.4.1, we describe the main concepts necessary to design mechanisms and provide a generic description of one. An important concept explored here is different types of truthfulness, including deterministic truthfulness, universal truthfulness, and truthfulness in expectation. Each of these has its own characteristics regarding when it can be used and what it enables for a particular supply chain scheduling application. In Sect. 9.4.2, we describe an application of deterministic truthfulness without payments. Section 9.4.3 demonstrates the power of randomization in designing truthful mechanisms for two supply chain scheduling applications without payments. The design of mechanisms that include both an algorithm and a payment scheme is deferred to Sect. 9.5.
9.4 Private Information: Mechanisms Without Payments
617
9.4.1 Design Concepts In this section, we describe several design concepts that are important for the study of private information settings where payments are not used. In Sect. 9.4.1.1, we describe the steps in a generic mechanism design process. In Sect. 9.4.1.2, we describe three different levels of truthfulness that can be implemented through mechanism design.
9.4.1.1
A Mechanism
Consider a situation where a principal, or central authority, wants to achieve a good overall performance for a system that includes multiple self-interested players. A mechanism is a decision structure to elicit truthful reporting by the players who otherwise may have an incentive to provide false information in the hope of improving their outcome. The central authority designs a mechanism to collect truthful information and then uses it to determine a good or even optimal solution for the system. A mechanism has two parts. The first part is an algorithm implemented by the central authority to generate an outcome that defines a value for all the players. In the present context, an outcome is a schedule of jobs owned by the players. The value received by a player may be, for example, the cost determined by the completion time of his job in that schedule. In introducing the concept of a mechanism in Sect. 9.1, we refer to this as a truthful mechanism if it induces each player to report his private information truthfully. The second part of a mechanism is a payment between the central authority and the players, which needs to be based on the value they have received. Examples of payment schemes, along with supporting design concepts, are provided in Sect. 9.5. We now summarize the steps of a generic mechanism. Mechanism Any 1. The central authority announces a mechanism to the players. (For example, it may announce that all jobs submitted by the players will be processed in order of nonincreasing waiting cost and a scheme for how payments will be transacted with each player based on the reported waiting costs of the players.) 2. The players report information about their private data to the central authority, in the form of a “report,” “announcement,” or “bid.” (For example, the players may report their waiting costs to the central authority. The submitted information may be false, if the submitting player believes that false reporting will improve his outcome. However, a well designed mechanism should disincentivize false reporting.) 3. Using the reported information, the central authority applies an algorithm to compute and possibly implement an outcome that specifies a value for each player. (For example, the outcome could be a schedule of all the submitted jobs, which defines a completion time for each job i ∈ N and a resulting value for
618
9 Noncooperative Supply Chain Scheduling
each player, such as how long he needs to wait for his job to start in the computed schedule.) 4. Based on the announced payment scheme and the outcome generated, the central authority transacts a payment with each player. (For example, each player may receive compensation based on the start time of his job, which can be viewed as the inconvenience he incurs through waiting.) As mentioned above, this section discusses the use of mechanisms without payment. Hence, for the current discussion, Step 1 does not include the announcement of a payment scheme, and Step 4 is not needed. The full version of a mechanism that includes payments is discussed in Sect. 9.5. We complete this brief introduction to mechanism design with several important definitions. Let O denote a set of possible outcomes that could be chosen by an algorithm α that is part of a mechanism. For example, O could represent the set of all permutations of jobs N = {1, . . . , n}, each of which represents a schedule. Each job i ∈ N is represented by a player with true but private information ti . Let o ∈ O denote a particular outcome, for example, a well defined schedule of the jobs. Then, for i ∈ N, let vi (o | ti ) denote the value received by player i in schedule o, given his true information. Let πi denote a payment specified by the mechanism that player i ∈ N must pay to the central authority. Definition 9.11 If the utility of player i can be written as vi (o|ti ) − πi , i ∈ N, then we say that the players have quasilinear preferences. In common with much of the mechanism design literature, we assume quasilinear preferences.
9.4.1.2
Levels of Truthfulness
In this section, we define three concepts of truthfulness that guide the subsequent discussion and examples in this section and also in Sect. 9.5. Before doing so, however, we need some perspective on why truthfulness is important. The reason for an insistence on truthful reporting of private data by players is not immediately obvious. In this context, a reasonable question to consider is: Q1: Might allowing some strategic false reporting by players be less costly to an overall system solution than imposing constraints to ensure that they report truthfully? This question can be answered in the negative, as explained below. A related issue is what type of actions should we expect a player to take as part of a mechanism. One possible answer is provided by the following definition. Definition 9.12 A direct revelation mechanism is a mechanism where the only action that a player is required to take is reporting his type. We observe that not all mechanisms are direct; examples of indirect mechanisms include some auctions. In a traditional or English auction, each bidder has to answer multiple binary questions about whether to participate at different bid levels. The
9.4 Private Information: Mechanisms Without Payments
619
literature of mechanism design focuses largely on the design of direct revelation mechanisms, and it is reasonable to wonder why that is the case. Hence, it is reasonable to ask another question: Q2: Might a more elaborate mechanism, for example one that requires multiple responses over time, produce a better outcome? This question can also be answered in the negative. The reason for the two negative answers to Q1 and Q2 above lies in the Revelation Principle (Myerson, 1981; Vazirani et al., 2007, pp.224–225). This important principle states that every available truthful equilibrium can be replicated within the class of direct revelation mechanisms. Therefore, there is no loss implied by insisting on truthfulness, nor is there any loss implied by restricting the search for a suitable mechanism to the class of direct revelation mechanisms. As a result, a mechanism designer who wants to implement some outcome or property can restrict his search to mechanisms where the players reveal their private information truthfully and directly to the mechanism designer. The above discussion enables us to summarize the three main levels of truthfulness used in the algorithmic mechanism design literature: Definition 9.13 (i) Under deterministic truthfulness, a player always maximizes his utility by reporting his private data truthfully. There is no randomization involved in the process. The following definitions (ii) and (iii) both belong to the category of randomized mechanism design. (ii) Under universal truthfulness, the mechanism is a probability distribution over deterministically truthful mechanisms. The mechanism remains truthful even after the realization of the random numbers that are used to specify individual choices, for example which machine processes a job. (iii) Under truthfulness in expectation, a player always maximizes his expected utility by reporting truthfully. However, once he sees the realized outcome, he may realize that his ex-post utility has not been maximized. The three concepts of truthfulness introduced in Definition 9.13 define a hierarchy of strength. Deterministic truthfulness implies truthfulness in expectation; however, the converse is not true. Relaxing the truthfulness requirement provides more flexibility to achieve stronger performance results, for example, better performance guarantees for an approximation algorithm where an underlying scheduling problem is intractable. In other cases, there may be mathematical problems in establishing deterministic truthfulness, whereas truthfulness can be established using one of the two randomized concepts. The two definitions of truthfulness that fall within randomized mechanism design have important differences. First, since universal truthfulness is the result of a randomization over deterministic mechanisms, the use of randomization in this case cannot improve truthfulness; it can only improve other aspects of the mechanism such as an approximation bound (see Nisan & Ronen, 2001 in Sect. 9.5.3). However,
620
9 Noncooperative Supply Chain Scheduling
truthfulness in expectation may be achievable in cases where universal truthfulness is not. Second, the use of universal truthfulness makes no assumptions about a player’s attitude to risk. This makes it significantly stronger in practice than truthfulness in expectation, for which reporting the truth is only provably the best strategy for players who are risk neutral. The majority of the literature on mechanism design for supply chain scheduling problems without the use of payments falls into either the first or third category of truthfulness described above. Section 9.4.2 explores the design of algorithms that achieve deterministic truthfulness without the need for payments. Section 9.4.3 shows how randomized mechanisms can be used to establish truthfulness in expectation, also without using payments. Section 9.5 allows the use of payments to support algorithms within mechanism design, which enables the presentation of examples of all three types of truthfulness.
9.4.2 Deterministic Truthfulness We describe an application that uses a deterministically truthful mechanism without the need for a payment. This discussion shows how to design an algorithm that is both truthful and achieves a socially optimal solution. This requires that the equivalent scheduling problem under centralized decision making is efficiently solvable. Angel et al. (2016) describe a truthful algorithm that is also optimal for a noncooperative game defined over the classical scheduling problem of minimizing the total weighted completion time on a single machine, or problem 1|| wj Cj . The centralized decision making version of this problem is solved by scheduling the jobs in shortest weighted processing time order, i.e., w1 /p1 ≥ · · · ≥ wn /pn (Smith, 1956). Consider a set of jobs N = {1, . . . , n} and a single machine for processing them nonpreemptively. To clarify the following discussion, while processing of each job is eventually nonpreemptive for feasibility, it may be necessary, as a device to ensure truthful reporting of private information, to threaten preemption in order to discourage false reporting. Each player i is the owner of a single job i, and he alone knows the job length pi . The job weight wi is public information. The player reports to a central scheduler his job length as bid bi , which is not necessarily equal to pi . Let B = {b1 , . . . , bn } denote the set of all bids. The central scheduler uses the information B to create an output schedule o(B). Under the assumptions of the strong model of execution assumed here, once job i starts to be executed, it is executed for pi time units, irrespective of the value of bi . Either pi < bi or pi ≥ bi is possible; in the first case, the processing of job i finishes sooner than the scheduler expects, whereas in the latter case the scheduler allows the job to continue to completion. A mechanism for this problem is an algorithm A that determines an output o(B). For every job i, let Si denote the set of jobs scheduled before i in the output schedule
9.4 Private Information: Mechanisms Without Payments
621
o(B), and let Ti = {pj | j ∈ Si }, i.e., the set of true lengths of the jobs that precede i in o(B). Each player plays selfishly to maximize his utility ui (pi , o(B), B, Ti ) = −Ci (pi , o(B), B, Ti ), i.e., minimize his job’s completion time. The objective of the mechanism is to determine a schedule of the jobs that minimizes the sum of weighted completion times ni=1 wi Ci (pi , o(B), B, Ti ) or equivalently maximizes the social welfare. The designer needs to propose a truthful mechanism, i.e., a mechanism that incentivizes the players to declare their true processing times, and moreover delivers a socially optimal solution. The following definition formalizes the concept of truthfulness for this purpose. Definition 9.14 A mechanism is truthful if and only if, for every player i, 1 ≤ i ≤ n, and every bid bj , j = i, the utility ui of job i is maximized when player i bids bi = pi . Thus, a mechanism is truthful if truth-telling is the best strategy for a player i, regardless of the strategies adopted by the other players. The truthful algorithm described below makes use of the procedure that is now defined. Recall that player i has reported the bid bi as the job length of job i. While the scheduler does not know the true length pi of job i until the job completes processing, he does know that it is at least equal to the total amount of processing of that job that has occurred at any point in time. Based on this information, it is possible to know when pi > bi and implement the following scheduling rule. Definition 9.15 An algorithm uses preventive preemption if it constructs a schedule in which a job i is preempted after it has been processed for bi time units and (if not completed) resumed later, if and only if pi > bi . Remark 9.5 The intuition behind preventive preemption is that whenever a player bids a length smaller than its real length, the scheduler preempts his job at the end of the bid processing time and resumes it later, in fact potentially much later. This is essentially a threat that discourages untruthful bidding. This device enables a simple optimal truthful algorithm with no payments for the problem considered here. A preemptive schedule on a single machine can be defined as a vector σ = (ρ1 , . . . , ρn ), where for every job i, 1 ≤ i ≤ n, ρi corresponds to the set of k time j j intervals during which job i is executed, i.e., ρi = ∪kj =1 [li , ri ), where li1 < ri1 < j j li2 < ri2 < · · · < lik < rik and kj =1 (ri − li ) = pi , which is the true length of job i. Also, for i, j ∈ N , ρi ∩ ρj = ∅. Thus, in schedule σ , job i is potentially processed in the interval [li1 , ri1 ], then preempted, then processed in the interval [li2 , ri2 ], again preempted, and so on, until it completes processing at time rik . Clearly, for the objective of minimizing the sum of weighted completion times, any schedule where at least one job is preempted is not better than the optimal nonpreemptive schedule. Hence, given that we are interested in obtaining a truthful algorithm that outputs an optimal outcome, we need to design an algorithm that preempts the execution of a job only when the job bids a false value of its length. The algorithm proposed by Angel et al. (2016), named SWPT-PP and now described, uses the sequencing rule of Smith (1956), i.e., schedules the jobs
622
9 Noncooperative Supply Chain Scheduling
following the increasing order of the ratio of the job’s reported length to its publicly known weight, and uses preventive preemption. It executes each job i during bi units of time in the time interval [li1 , li1 + bi ), as specified in Step 2 below. Whenever the 1 real length of a job is greater than its declared length, the job is preempted at li + bi and restarted after time i∈N bi , following a round robin policy of rotating through the jobs if more than one job has been preempted. However, if the length of job i is reported truthfully, it completes processing by time li +bi without being preempted. Algorithm SWPT-PP 1. Sort the jobs in shortest weighted processing time order based on their bid lengths, i.e., such that w1 /b1 ≥ · · · ≥ wn /bn . i−1 2. Schedule the first interval [li1 , ri1 ) of every job i such that li1 = j =1 bj and 1 = 0. l ri1 = li1 + bi , where n 1 3. From time t = j =1 bj , schedule the jobs that are not yet completed using a round robin policy, i.e., by rotation over job index i among the preempted jobs. For each x = 2, 3, . . . , n, the scheduler checks whether job i still has uncompleted work at time nj=1 bj + n(x − 2) + i − 1. If so, this job is scheduled in its dedicated time interval [lix , rix ), where lix = nj=1 bj + n(x − 2) + i − 1 and rix = nj=1 bj + n(x − 2) + i. Stop. Remark 9.6 Observe that Step 3 of Algorithm SWPT-PP sets aside dedicated unit size intervals of time for each preempted job independently. Therefore, the timing of the preempted part of job i does not depend on the reporting decisions of the other jobs. This is the reason why the reporting decisions of the other players do not affect the incentive for an individual player to report truthfully, as required by Definition 9.14. The schedule produced by Algorithm SWPT-PP could in theory include some periods of idle time if there is false reporting such as bi > pi . However, this possibility does not affect the reporting decision of job i, where a job does not use its setaside preemption intervals because it was not preempted. Also, observe that the preemption rule in Step 3 of Algorithm SWPT-PP is quite penal, in that a job that has not been completed is sent to the back of the schedule. However, this is not unreasonable, in that this only happens if the job has failed to complete processing in the time that it bid. The main result that follows analyzes the performance of Algorithm SWPT-PP. Theorem 9.26 Algorithm SWPT-PP is a polynomial time, optimal, and truthful algorithm for the single machine problem where the private data of every job is its length and the social welfare is the weighted sum of completion times. Proof There are two cases: Case 1. If job i bids bi > pi , then from Steps 1 and 2 of SWPT-PP, it will not start earlier than if it bids bi = pi and hence there is no reduction in completion time from reporting falsely.
9.4 Private Information: Mechanisms Without Payments
623
Case 2. If job i bids bi < pi , then from Step 3 of SWPT-PP, it will be preempted bi units of time after its starting time and its remaining processing time (pi − bi ) will be continued after time nj=1 bj . As a result, its completion time is at least (pi − bi ) + nj=1 bj = pi + nj=1,j =i bj . However, if job i reports truthfully, it will not be preempted. Then, since no job j is allowed more than bj processing time within the interval [0, bj ], its completion time will be at most pi + nj=1|j =i bj = nj=1 bj . From the consideration of both cases, job i has no incentive to report falsely, and hence, Algorithm SWPT-PP is truthful. Thus, the obtained schedule is nonpreemptive, as in the classical SWPT algorithm. From the optimality of the nonpreemptive SWPT algorithm for problem 1|| wj Cj (Smith, 1956), it follows that Algorithm SWPT-PP is also optimal. Angel et al. (2016) further demonstrate the power of preventive preemption by showing that, for the unweighted version of the game, there is no optimal truthful mechanism without preventive preemption, even if payments are allowed. They also study the problem of minimizing the sum of completion times on identical parallel machines, or Pm || Cj . The centralized version of this problem is polynomially solvable (Smith, 1956). They consider a game defined on this problem, where the private data is the processing time of the jobs, and the social objective is minimization of the total completion time. They prove that an algorithm similar to SWPT-PP is truthful and optimal for this game.
9.4.3 Randomized Mechanisms We provide two examples of the use of randomized mechanisms without payments. The first example in Sect. 9.4.3.1 is an application of truthfulness in expectation for a problem where the players represent unrelated parallel machines that report their processing times for jobs, perhaps falsely, as they attempt to minimize their individual expected cost. In Sect. 9.4.3.2, a second example shows how an approximation algorithm for a centralized scheduling problem on uniform parallel machines can be extended, through the use of a randomized mechanism, to provide an approximation algorithm that is truthful in expectation for a decentralized version of that problem under private information.
9.4.3.1
Unrelated Parallel Machines
For the first example, we consider a simple scheduling game with job set N = {1, . . . , n} and available machines M = {1, . . . , m}, as studied by Koutsoupias (2014). In this game, each machine acts as a selfish player. The game proceeds as follows. A central scheduler announces a mechanism that specifies the probabilities
624
9 Noncooperative Supply Chain Scheduling
that jobs are assigned to the various machines, based on the not yet reported processing times for the jobs. Machine i requires time pij to process job j , but this information is private. Every machine i reports its private information, perhaps untruthfully, to the central scheduler as a bid bij , where b−ij denotes the bids of all machines except i for job j . If bij > pij , then its actual processing time is bij . A practical explanation for this assumption is that, as a result of the reported processing time, an equivalent block of capacity is set aside. In the other case where bij < pij , the actual processing time is pij . Combining the two cases, the actual processing time of job j on machine i is max{pij , bij }. This is known as a weak model of execution, as also used by Angel et al. (2009) and discussed in the second example below in this section. We observe that it is not in the interests of a machine to bid an extremely large processing time for a job in order to reduce the probability of having that job assigned to it, since it may nonetheless have that job assigned to it, which would commit it to the large processing time that it had bid. Let xij = 1 if job j is assigned to machine i, and xij = 0 otherwise. The cost of the players social objective is to minimize either the total actual max{p , b }x , or the actual makespan max ij ij ij i∈M i∈M j ∈N j ∈N max{pij , bij } xij . For reference below, we note that, in the case of a single job, the total completion time and makespan objectives are equivalent. The mechanism determined by the central scheduler specifies a probability function φij (bij , b−ij ) that, for any job j ∈ N , defines the probability that it is assigned to machine i ∈ M based on its own bid and those of all the other machines. The central scheduler implements this probabilistic assignment using random numbers. A player makes a decision about bidding his reported time for each job but after bidding makes no further decisions, accepts the assignment of jobs randomly assigned by the central scheduler, and schedules them. The objective of player i ∈ M is to minimize his expected cost ci = j ∈N φij (bij , b−ij ) max{bij , pij }. While we present results for general values of m and n, we first develop intuition by considering the case of n = 1, i.e., one job. Since there is only one job, we omit the second subscript on bij , pij , and φij . Hence, we let φi (bi , b−i ) denote the probability that the single job is allocated to machine i, i ∈ M, where this probability depends on its reported processing time or bid bi , and those of other machines b−i , through a mechanism that is described below. We describe a mechanism that is truthful in expectation, i.e., one where each player minimizes his expected cost by reporting truthfully, as well as delivering a schedule that provides a close approximation in cost to a socially optimal schedule. The following result by Koutsoupias (2014) provides intuition about the reporting process. Theorem 9.27 Consider an instance of the one job scheduling game with m ≥ 2 machines. We define the following conditions: for all i ∈ M and b−i , (i) φi (bi , b−i )bi is nondecreasing in bi . (ii) φi (bi , b−i ) is nonincreasing in bi .
9.4 Private Information: Mechanisms Without Payments
625
Then, conditions (i) and (ii) are sufficient and necessary for an algorithm to be truthful in expectation for the game. Proof We first prove sufficiency. Suppose bi ≥ pi , then from (i), the cost ci = φi (bi , b−i ) max{pi , bi } = φi (bi , b−i )bi is minimized at bi = pi . Alternatively, if bi ≤ pi , then from (ii), ci = φi (bi , b−i ) max{pi , bi } = φi (bi , b−i )pi is also minimized at bi = pi . Conditions (i) and (ii) are also both necessary. We consider each condition in turn and show that its contradiction leads to false reporting. First, assume there exist ˜ b−i )b˜ < φi (b, ¯ b−i )b, ¯ which contradicts some b¯ and b˜ such that b¯ < b˜ and φi (b, ¯ Then, in both cases bi ≥ pi and bi < pi , player i condition (i), where pi = b. ˜ Alternatively, assume there can directly reduce his cost by falsely reporting bi = b. ¯ b−i ) > φi (b, ˜ b−i ), which contradicts exist some b¯ and b˜ such that b¯ > b˜ and φi (b, ¯ Then, player i can reduce both his probability of being condition (ii), where pi = b. ˜ assigned the task, and his cost if that occurs, by bidding bi = b. To develop further intuition, we consider the case of m = 2, i.e., two machines, and still assume one job, i.e., n = 1. For this case, we can immediately present the main result for this problem. Theorem 9.28 The central scheduler indexes the machines based on the bids received, such that b1 ≤ b2 . Then, the mechanism defined by the following probabilities of assigning the single job to the two machines is φ1 (b1 , b2 ) = 1 − (b1 /2b2 ) and φ2 (b1 , b2 ) = b1 /2b2
(9.47)
(a) is truthful in expectation (b) has an approximation ratio with the optimal cost of 3/2 Proof (a) We first consider player 1. Observe that player 1 does not know b2 . Therefore, while he knows the two probability formulas announced by the central scheduler in (9.47), he does not know which formula applies to him. Hence, he needs to consider his bid in the two cases b1 ≤ b2 and b1 > b2 . Case 1a: Suppose b1 ≤ b2 and b1 ≤ p1 . Then, since φ1 (b1 , b2 ) is nonincreasing in b1 , it follows that c1 = φ1 (p1 , b2 )p1 ≤ φ1 (b1 , b2 )p1 , and the processing time does not change if he bids b1 = p1 , player 1 does not benefit from bidding b1 < p1 . Case 1b: Suppose b1 ≤ b2 and b1 > p1 . Then, since c1 = φ1 (b1 , b2 )b1 = b1 − b1 b1 /2b2 = (2b1 b2 − b12 )/2b2 is increasing in b1 for b1 < b2 , player 1 does not benefit from bidding b1 > p1 . Case 2a: Suppose b1 > b2 and b1 ≤ p1 . In this case, the order of the values changes, and the probability of being assigned the task is φ1 (b2 , b1 ) = b2 /2b1 , giving an expected cost of c1 = φ1 (b2 , b1 )p1 = (b2 /2b1 )p1 , which is decreasing in b1 . Thus, if he alternatively bids b1 = p1 , the probability of being
626
9 Noncooperative Supply Chain Scheduling
assigned the job decreases, and the processing time of the job does not change. Therefore, he bids b1 = p1 to minimize his expected cost. Case 2b: Suppose b1 > b2 and b1 > p1 . In this case, c1 = φ1 (b2 , b1 )b1 = (b2 /2b1 )b1 = b2 /2, which is unchanged if he bids b1 = p1 . The analysis for the second player is similar. Hence, based on the reporting decisions of the two players to minimize their expected costs, both report their true values, and the mechanism is truthful in expectation. (b) The social cost of the mechanism described above, under truthful reporting, is p p1 1 φ1 (p1 , p2 )p1 + φ2 (p1 , p2 )p2 = 1 − p1 + p2 2p2 2p2 = p1 −
p12 p1 + 2p2 2
=
p2 3p1 − 1 2 2p2
≤
3p1 . 2
Therefore, the approximation ratio is always less than 3/2 and tends to 3/2 as p2 → ∞. Koutsoupias (2014) extends the above analysis to consider a general number of players representing m machines, for the one job case. For this case, the following mechanism is proposed. Let b = (b1 , . . . , bm ), where we assume b1 ≤ · · · ≤ bm . φ1 (b) = φk (b) =
1 b1
5
m b1 6
1−
0
1 b1 bk
i=2
5
b1 0
5
y
y dy, and bi 6
0 i=2,...,m,i=k
x 1− dxdy, bi
(9.48) k = 2, . . . , m. (9.49)
It is easy to show that (9.48) and (9.49) define (9.47) for the special case m = 2. The main result of this analysis is as follows: Theorem 9.29 (i) The mechanism defined by (9.48) and (9.49) provides a truthful in expectation mechanism without payments for the problem of scheduling one job on m unrelated machines with an approximation ratio (m + 1)/2 for both total cost and makespan. (ii) No other truthful mechanism has a better approximation ratio. We refer the reader to Koutsoupias (2014) for details of the proof.
9.4 Private Information: Mechanisms Without Payments
627
Koutsoupias (2014) generalizes the above results to m ≥ 2 machines and n ≥ 1 jobs, by allowing the mechanism defined by (9.48) and (9.49) to run independently for each task, for which it still achieves truthfulness in expectation. This results in the same approximation bound of (m + 1)/2 for the total cost problem and m(m + 1)/2 for the makespan problem. This result for the total cost problem is known to be the best possible approximation, as a direct corollary of part (ii) of Theorem 9.29. However, it is an open question whether this result for the makespan problem can be improved by an alternative mechanism that is truthful in expectation.
9.4.3.2
Uniform Parallel Machines
In our second example of randomized mechanism design, the scheduling problem under centralized decision making is an intractable one, and hence, the result achieved is an approximate, rather than optimal, algorithm. Angel et al. (2009) consider the classical problem of scheduling n tasks on m uniform parallel machines with the objective of minimizing makespan, or problem Qm ||Cmax . In the noncooperative supply chain scheduling game which they define over this problem, each task is owned by a selfish but rational player who alone knows the length of his task. There is a central scheduler who works with information reported by the players. Initially, the players report the lengths of their tasks, and then given this information, the scheduler allocates the tasks to the machines. The objective of the central scheduler is to minimize the makespan, i.e., the time at which the last task finishes its execution. The objective of each player is to minimize his task’s completion time, and a player may misreport the length of his task in order to achieve this. We are given machines M1 , . . . , Mm with speeds s1 , . . . , sm , respectively. This information is public. Without loss of generality, let s1 ≤ · · · ≤ sm , and denote by r = sm /s1 ≥ 1 the ratio between the largest and smallest machine speed. We are given a set of tasks N = {T1 , . . . , Tn }. Let pi denote the actual length of task i. If task Ti is scheduled on machine Mj , its processing time is pi /sj . Let C(Tj ) denote the completion time of task j in a given schedule. The goal of the analysis below is to design a scheduling algorithm that (a) ensures that all the players report the true values of their jobs’ lengths and (b) approximately minimizes the makespan maxj ∈N {C(Tj )} with bounded performance error. Each player bids a (not necessarily true) length for his task to the algorithm. In a weak model of execution, if a task Ti with true length pi bids a length pi , then its length in the implemented schedule is max{pi , pi }. In particular, we consider the wweak model, i.e., the weak model without shrinkage, under which pi ≥ pi , i ∈ N. That is, no player can bid a length for his job that is shorter than its true length. Before describing a truthful mechanism for problem Qm ||Cmax , some additional notation is required. Let A be an approximation algorithm for the equivalent identical parallel-machine problem, Pm ||Cmax , with a worst-case performance ratio of c. Let N denote a set of tasks in a given instance. Then, Ai (N ) denotes the set
628
9 Noncooperative Supply Chain Scheduling
of tasks scheduled on machine Mi by Algorithm A, and Li (N ) = j ∈Ai (N ) pj , denotes the load of machine Mi , for 1 ≤ i ≤ m. Let Cmax (N ) = max1≤i≤m {Li (N )} denote the maximum load of any machine, i.e., the makespan. Consider the following Procedure T (A) that takes as input a set of tasks N, the number of machines m, and the algorithm A. The output of this procedure is a schedule for problem Q||Cmax . Procedure T (A) 1. Suppose that the machines all have the same fastest speed sm , and apply Algorithm A for the tasks of N. Let Li (N ), i = 1, . . . , m denote the load on machine Mi in this solution. Let C¯ max (N ) denote the makespan of the resulting schedule for problem Pm ||Cmax . 2. Add to machine Mi a dummy task of length C¯ max (N )−Li (N ), for i = 1, . . . , m. Let Si denote the sets of jobs, including dummy jobs, scheduled on machine Mi . 3. Randomly assign the set of tasks Si to the set of machines M1 , . . . , Mm using a uniform distribution, i.e., each set of tasks has an equal probability of being completely assigned to any machine. Let machine Mi have the original speed si , for i = 1, . . . , m. The result is a new schedule with makespan Cmax (N ) ≤ r C¯ max (N ) for problem Q||Cmax . 4. On each machine, schedule the assigned tasks in random sequence, where the execution of the dummy task corresponds to idle time on its machine. Output this schedule for problem Q||Cmax . We define a concept that is needed for the analysis that follows. Definition 9.16 Let N = {T1 , . . . , Tn } and N = {T1 , . . . , Tn } denote two sets of jobs that are both in nonincreasing order of processing times, which we denote by pi and pi , respectively, i = 1, . . . , n. If pi ≥ pi , 1 ≤ i ≤ n, we say that N dominates N, which is denoted by N ≺ N. Then, an Algorithm A is increasing if, given two sets of jobs N1 and N2 where N2 ≺ N1 , it returns a schedule that satisfies Cmax (N2 ) ≥ Cmax (N1 ). Next, we present the following preliminary result that is due to Koutsoupias and Papadimitriou (1999). Lemma 9.17 If jobs T1 , . . . , Tk of lengths p1 , . . . , pk are scheduled in a sequence that is randomly chosen from a uniform distribution where each set of tasks has an equal probability of being completely assigned to any machine, then the expected completion time of task Ti is pi + kj =1,j =i pj /2. We can now analyze the truthfulness of Algorithm T (A). Theorem 9.30 If A is an increasing scheduling algorithm for P ||Cmax , then Procedure T (A) is a truthful algorithm for problem Qm ||Cmax in the w-weak model of execution. Proof Let H denote an instance where tasks T1 , . . . , Ti−1 , Ti+1 , . . . , Tn bid , p , . . . , p , respectively. We compare the expected completion p1 , . . . , pi−1 n i+1
9.4 Private Information: Mechanisms Without Payments
629
time of task Ti under its two options for the w-weak model of execution, i.e., to bid its true value pi or a false value pi > pi . From Lemma 9.17, if task Ti is scheduled on machine Mj with k − 1 other tasks from instance H , its expected completion time is [(pi + kj =1,j =i pj )/2]/sj . On each machine, the sum of the tasks’ lengths is equal to C¯ max (N ) due to the dummy task added at Step 2. Moreover, task Ti is scheduled on machine Mj , j ∈ {1, . . . , m} with a probability equal to 1/m. The expected completion time of this task is thus equal to m ( j =1
pi +
m 1 C¯ max (N ) − pi ) 1 /(msj ) = pi + C¯ max (N ) . 2 2m sj j =1
Let Htrue be an instance where task Ti bids pi and each other task Tj bids pj , and Hf alse be a similar instance where task Ti bids pi > pi . Since by assumption A is an increasing algorithm, C¯ max (Htrue ) ≤ C¯ max (Hf alse ), where C¯ max (I ) is the makespan of the schedule found by Algorithm A for instance I . Consequently, the expected completion time of task Ti is larger if it bids pi than if it bids the true length pi . The result in Theorem 9.30 becomes most valuable when supported by the analysis of the accuracy of Procedure T (A) in the following result. Theorem 9.31 Let r = sm /s1 . If A is a c approximation algorithm for problem Pm ||Cmax , then Procedure T (A) is a truthful (r · c) approximation algorithm for problem Qm ||Cmax in the w-weak model of execution. Proof Let N be an instance of problem Qm ||Cmax . Let C1∗max (respectively, C2∗max ) be the makespan of an optimal solution of the problem that schedules the jobs of N on machines with the actual speeds s1 , . . . , sm (resp., with all speeds sm ). Then, C1∗max ≥ C2∗max . Since A is a c approximation algorithm, the makespan of the schedule returned at Step 2 is no larger than c · C2∗max . At Steps 3 and 4 of Procedure T (A), since each set of tasks Si is scheduled on a machine that is at most r times slower than the original machine that has a speed of sm , the makespan of the schedule is no larger than r · c · C2∗max . Since C1∗max ≥ C2∗max , this schedule is therefore (r · c) approximate. Angel et al. (2009) also discuss the use of Procedure T (A) for online problems, where jobs arrive during processing and their data is unknown until they arrive. Remark 9.7 Lavi and Swamy (2009) study a noncooperative game defined over the makespan minimization problem on unrelated parallel machines, i.e., problem Rm ||Cmax . In the special case they study, the processing time of each job has only two possible values, which are designated as “low” or “high.” For this special case, they describe a technique that converts any α-approximation algorithm into a 3αapproximation mechanism that is truthful in expectation.
630
9 Noncooperative Supply Chain Scheduling
9.5 Private Information: Mechanisms with Payments This section focuses on algorithmic mechanism design for noncooperative supply chain scheduling games with private information. The definition of a mechanism used here includes both an allocation algorithm and a payment scheme. There is a large body of literature on such mechanisms. Nisan et al. (2007) provide a comprehensive introduction to algorithmic mechanism design. Section 9.5.1 provides an introduction to the environment, objectives, and solution concepts, of mechanism design with payments. Section 9.5.2 provides an example of deterministic truthfulness with payments, applied to an online supply chain scheduling problem. Section 9.5.3 provides an example of universally truthful mechanism design, with an application to a supply chain scheduling problem on unrelated parallel machines. Section 9.5.4 provides an example of a mechanism design that delivers truthfulness in expectation. Finally, Sect. 9.5.5 considers situations where private information is not completely unknown to other players. Here, all players and a central authority share prior probabilistic beliefs about the private information. For such situations, alternative solution concepts are available, and in Sect. 9.5.5, we illustrate them using a supply chain scheduling game with the social objective of minimizing expected total cost.
9.5.1 Design Concepts This section provides an introduction to the environment, objectives, and solution concepts, of mechanism design, as well as several examples of their application. In Sect. 9.5.1.1, we introduce the fundamental concept of monotonicity, which establishes conditions for implementability, i.e., the potential to find an equilibrium, of a truthful mechanism. Section 9.5.1.2 introduces the concept of dominant strategy incentive compatibility, which is used to describe the strongest type of equilibrium available within mechanism design. A widely applied payment scheme for implementing a truthful algorithm is discussed in Sect. 9.5.1.3. Finally, the important concept of weak monotonicity, which provides conditions for ensuring truthful reporting, is discussed in Sect. 9.5.1.4. We first provide two alternative, but equivalent, conceptualizations of an algorithmic mechanism design problem. The first is more intuitive but more abstract. Suppose there are n players and k outcomes. Then, the problem is defined by a realvalued n×k matrix by which each player values every possible outcome. There is an overall social choice function that is analogous to an objective function in the case of a centralized optimization problem. Each player knows the values of his own row of the valuation matrix; this is private information known only to that player. In a direct revelation mechanism (see Definition 9.12), each player declares his valuations of all possible outcomes; however, these declarations are not necessarily truthful. The value declarations of the players collectively form a new n × k matrix. One task
9.5 Private Information: Mechanisms with Payments
631
of the mechanism designer is to take as input the matrix of reported valuations and use a suitably chosen algorithm to compute a specific outcome from the finite set of possible outcomes. In the supply chain scheduling context, this finite set would typically be the set of all feasible schedules, and the outcome would be one of them. At the same time, the designer computes a payment scheme that defines a payment that will be required from each player. The payment scheme is a mapping from an n vector of reported valuations at the chosen outcome into an n vector of specific amounts payable. The utility received by each player is his true valuation of the chosen outcome, minus the payment required. There are two performance criteria for the mechanism design. First, the choice of outcome must be desirable, as measured by the social choice function. Second, the payments must be designed such that the players announce their values in a way that leads to desirable outcomes. The mechanism is called truthful when the algorithm and the payment functions ensure that, for a given set of reported values by the other players, the objective of each individual player is maximized when he reports his valuations for all possible outcomes truthfully. An appealing introduction to mechanism design for decentralized scheduling problems is provided by Heydenreich et al. (2007). The definitions and basic results presented here follow their discussion. A description of a mechanism design problem that is more concrete than the one in the previous paragraph now follows. A mechanism μ = (α, π ) consists of an allocation algorithm α and a payment scheme π . The allocation algorithm takes as input any known public information, as well as reported but not necessarily true, information provided by the players, and computes an outcome, i.e., a schedule. The allocation algorithm and payment scheme jointly need to ensure that all players report their private information truthfully, leading to a good, ideally optimal, social outcome. The following notation is used to describe a generic mechanism design problem. Consider a set of players N = {1, . . . , n}. The data for player k is referred to as type k and denoted by tk . The type of player k includes both private and public information. For player k, a strategy sk is a mapping from a type tk to action ak . For the strategies, types, and actions of all players other than k, we use the notation s−k , t−k , and a−k , respectively. Referring similarly to all the players, we use the notation s(k,−k) , t(k,−k) , and a(k,−k) , respectively. We provide some examples of the notation introduced in the previous paragraph. In a supply chain scheduling game, a player could represent a machine and his type could represent the time or cost to process each job. Alternatively, if a player represents a job, then his type could be the value of that job, or its waiting cost. Given his type, a player’s strategy determines his actions. An action could be a machine deciding to report its speed falsely or a job determining on which machine to be processed. The outcome of the game depends on the actions of all the players and also on an allocation algorithm that uses those actions as input.
632
9.5.1.1
9 Noncooperative Supply Chain Scheduling
Monotonicity
In this section, we consider necessary and sufficient conditions for the implementability of a truthful mechanism. More specifically, we focus on mechanisms where only a single parameter of each player is private. An example of such a parameter is a job’s cost of waiting. Myerson (1981) proves the following fundamental result for this situation, formulated for an auction setting. Theorem 9.32 If players’ values can be described with a single parameter, a social choice function is truthfully implementable if and only if it is monotone. That is, a player’s winnings can only increase when his bid increases, assuming that the bids of other players remain unchanged. We may interpret “implementable” as meaning that it can form an equilibrium. As an illustration of Theorem 9.32, consider a single-item auction that awards the item to the highest bidder. If a player is the winner, and then raises his bid, keeping all other bids constant, then he is still the winner. However, a similar auction where the item is awarded to the second highest bidder is not monotone, since a winning player who raises his bid may lose. Closer to the supply chain scheduling domain, the outcome of the mechanism is determined by an allocation algorithm rather than an auction. Suppose the players are waiting for service from a common server and need to report their cost of waiting. Further suppose that a player reports a higher waiting cost, and the reported costs of all other players remain unchanged. Then, if the result of reporting the higher waiting cost is service that is either earlier or at the same time, the allocation algorithm is monotone. However, if the allocation algorithm that defines a schedule is heuristic, then it may happen that the service time is later as a result of the higher reported waiting cost. This situation is discussed further in Sect. 9.5.1.4 below. The following remark provides some perspective. Remark 9.8 In a truthful mechanism, the following must hold: (i) For a fixed outcome, i.e., schedule, the payment of a player cannot depend on his own private valuation; however, it may depend on the valuations of the other players. (ii) Also, the schedule must maximize the player’s utility as a function of the payments and the player’s valuation. An example of Remark 9.8, part (i), within a scheduling context, occurs where the players represent machines to which the mechanism is assigning jobs. In this case, the payment received by a machine cannot depend on its reported valuation, rather it can only depend on the jobs assigned to it and the other player’s reported valuations. This point is quite intuitive, since it suggests that the payment to a machine derives from the influence of that machine on the utilities of the other players. See Example 9.22 below for a numerical example that supports this intuition. The next section establishes a standard for an equilibrium in this context.
9.5 Private Information: Mechanisms with Payments
9.5.1.2
633
Dominant Strategy Incentive Compatibility
For games with private information, we describe an equilibrium concept that is strong, in the sense that it incentivizes truthful reporting by an individual player without requiring any assumptions about the truthfulness of the reporting of other players. We first define some notation. The allocation algorithm α maps the actions of the players, i.e., (a1 , . . . , an ) or equivalently (ak , a−k ) if we wish to distinguish player k, into an outcome. In our context, this outcome is a schedule, which in turn determines a value that is defined as vj (α(aj , a−j )) for each player j ∈ N. As an example of player k’s value, the schedule might place his job k sixth among the jobs scheduled on a single machine. Then, if the value of the job is defined by (the negative of) its completion time, it would equal (the negative of) the total processing time of the first six jobs in the schedule. However, since it is possible that player k submitted an action that was not based on his true type tk , the true value gained by player k needs to be evaluated using his true type, i.e., his job’s actual data. Thus, it can be written as vk (α(ak , a−k ) | tk ),
k ∈ N,
(9.50)
where “|tk ” can be read as “given that player k’s true type is tk .” As mentioned above, a mechanism also contains a payment scheme that specifies a payment to each player. Since this scheme is based solely on actions that may be misleading, it is independent of the true type tk and can be written as πk (ak , a−k ),
k ∈ N.
(9.51)
Finally, we apply the concept of a strategy, defined above as a mapping from a true type tk into an action ak . This enables us to replace ak by sk (tk ) in (9.50) and (9.51) for the case where player k reports his type truthfully. The objective of a player k is to maximize his utility, which we define as his value from the outcome, minus his payment to the system. This motivates the following definition that establishes a benchmark for algorithmic mechanism design. Definition 9.17 A strategy vector s is a dominant strategy equilibrium, if for all players k, for all types tk of player k, for all actions a−k of the other players, and all alternative actions ak of player k, vk (α(sk (tk ), a−k ) | tk ) − πk (sk (tk ), a−k ) ≥ vk (α(ak , a−k ) | tk ) − πk (sk (ak ), a−k ). Thus, a dominant strategy equilibrium describes a situation where, independent of the actions of the other players, it never benefits any player k to deviate from the action sk (tk ) based on his true type tk and adopt some alternative action ak . The strength of this result lies in the emphasized condition which implies that player k need not know the strategy with respect to truth-telling or otherwise of the other players in order to benefit from truth-telling.
634
9 Noncooperative Supply Chain Scheduling
Recall that the Revelation Principle (see Sect. 9.4.1.2) effectively narrows the search for a direct revelation mechanism that can provide an equilibrium solution. We now apply that discussion using the following definitions: Definition 9.18 (i) A direct revelation mechanism μ = (α, π ) is dominant strategy incentive compatible if the strategy vector s in which each player truthfully reports his type is a dominant strategy equilibrium. (ii) An allocation algorithm is truthfully implementable if there exists a payment rule π such that the mechanism μ = (α, π ) is dominant strategy incentive compatible. Definition 9.18 (i) provides a sufficient condition for a mechanism to be dominant strategy incentive compatible. Definition 9.18 (ii) defines a requirement for a mechanism to allow, which in practice means also to specify, a payment scheme that coordinates effectively with the allocation algorithm α. The following sections describe how this can be achieved.
9.5.1.3
Vickrey–Clarke–Groves Mechanism
We describe a general method for implementing a truthful equilibrium in mechanism design that applies to several supply chain scheduling problems. The most widely applicable general mechanism is the Vickrey-Clarke–Groves (VCG) payment scheme. This scheme was originally developed for a special case by Vickrey (1961) and then established more generally by Clarke (1971), Groves (1973), and Roberts (1979). A formal explanation of the VCG mechanism requires additional notation. Let Y denote the set of all possible outcomes, i.e., feasible schedules. We start with a useful definition. Definition 9.19 Given n players, their types t1 , . . . , tn , valuation functions v1 , . . . , vn , strictly positive weights γ1 , . . . , γn , and constants βy , y ∈ Y , an allocation algorithm α is an affine maximizer if it finds a schedule y ∈ Y that maximizes βy + nj=1 γj vj (y | tj ). While it may appear complex when stated formally, the content of Definition 9.19 is quite simple. Observe that the weights γi , i ∈ N and the constants βy , y ∈ Y do not depend on the players’ valuations. Consider an objective function that maps any schedule into a real number, where this number consists of a constant that is unique to that schedule plus a total value from that schedule to the players. Then an affine maximizer optimizes this objective, given the reported information. We provide an example. Example 9.20 (An Affine Maximizer) Consider a scheduling problem with job set N = {1, 2} and processing times p1 = 2, p2 = 5. The jobs need to be scheduled on a single machine. The value of each job is (the negative of) its completion time
9.5 Private Information: Mechanisms with Payments
635
in a given schedule. The social objective is defined by relative weights γ for the jobs and costs β for all possible schedules. We assume γ1 = 2, γ2 = 1, for the two jobs. There are two possible schedules: σ12 = (1, 2) and σ21 = (2, 1). Associated with these schedules are costs β12 = −6 and β21 = −2. These costs are most likely to arise from resource costs for processing particular jobs at particular times. Then, the value of σ12 = −6 + 2(−2) + 1(−2 − 5) = −17, and the value of σ21 = −2 + 1(−5) + 2(−5 − 2) = −21. An allocation algorithm is an affine maximizer if, given all the γ and β values and the information reported by the players, it finds an optimal schedule, in this case σ12 . The focus on affine maximizers follows from the work of Roberts (1979), which shows that, in a game with three or more possible outcomes, and where the players’ valuations are arbitrary or “unrestricted,” only affine maximizers are implementable. While the characterization of VCG payments in the following theorem is presented in this full generality, it should be noted that in most scheduling problems valuations are not unrestricted. For example, a player representing a job typically cares only about the cost of his job, not the costs of other jobs. However, it has proved difficult to establish general results for payment schemes under less restrictive but still practical conditions for players’ valuations. Dobzinski and Sundararajan (2008) provide an interesting discussion of this issue. The following theorem defines the payments needed to ensure that a mechanism is truthful. The VCG payment scheme shown here is a general one that allows for flexibility in the total amount of payment. A particular commonly used implementation of this scheme is discussed in Remark 9.9 following the theorem. Theorem 9.33 Let an allocation algorithm α be an affine maximizer, and t denote a vector of reported types of the players. Let α(t) denote an outcome found by algorithm α, given t. For every player k, let hk be an arbitrary function mapping reports of type t−k of the other players to real numbers. Then, the mechanism μ = (α, π ) is truthful if the payments required from player k, k = 1, . . . , n satisfy πk (t) = hk (t−k ) − βα(t) /γk −
γj vj (α(t) | tj )/γk .
(9.52)
j =k
Proof Suppose player k reports false information tˆk instead of his true information tk , and let tˆ = (tˆk , t−k ). Since α is an affine maximizer, then βα(t) +
γj vj (α(t)|tj ) ≥ βα(tˆ) +
j
⇒ vk (α(t)|tk ) + ≥ vk (α(tˆ)|tk ) +
βα(t) + γk βα(tˆ) γk
+
γj vj (α(tˆ)|tj )
j j =k γj vj (α(t)|tj )
γk ˆ j =k γj vj (α(t )|tj ) γk
636
9 Noncooperative Supply Chain Scheduling
βα(t) ⇒ vk (α(t)|tk ) + + γk ≥ vk (α(tˆ)|tk ) +
βα(tˆ) γk
+
j =k γj vj (α(t)|tj )
γk ˆ j =k γj vj (α(t )|tj ) γk
− hk (t−k ) − hk (t−k )
⇒ vk (α(t)|tk ) − πk (t) ≥ vk (α(tˆ)|tk ) − πk (tˆ). The first inequality holds because if player k reports true information and algorithm α optimizes over it, then greater utility (when correctly evaluated using true information) cannot be achieved by applying α to false information. The left-hand side of the last inequality is the utility of player k for making a truthful declaration, and the right-hand side is his utility for making a false declaration. Hence, each player has an incentive to report his information truthfully. The following discussion provides guidance about the flexibility that is available within the VCG payment scheme. Remark 9.9 The payment scheme in (9.52) includes an arbitrary function hk (t−k ), which maps reports of the other players into a real number. This function does not affect the incentive of player k for truthful reporting, since it depends only on the reports of the other players and appears on both sides of the second last line of the proof of Theorem 9.33. It thus offers considerable flexibility in the design of a mechanism. On the other hand, if extreme values are used for hk (t−k ), then it may not be individually rational for the players to participate, or in the opposite case, the system may be bankrupted by paying the players to participate when they also receive value. In practical usage, a common implementation of the general payment scheme in (9.52) is to set hk (t−k ) equal to the total value or cost of the other players if player k does not participate in the game. Then, the payment is the total value which the other players could achieve in that smaller game, minus the total value of the other players in the n player game. This implementation has the following natural interpretations: (i) Consider a game with n players, where the players gain value by participating and then have to make a payment to a central authority in exchange. In this case, the utility of a player k is the total value of all n players in an optimal solution to the game, minus the total value of the other (n − 1) players in an optimal solution to a game in which only they participate. This utility equals player k’s marginal value to the game. (ii) Alternatively, consider a game with n players, where a player incurs costs by participating and receives a payment from a central authority in exchange. In this case, the utility of a player k is the total cost of all n players in an optimal solution to the game, minus the total cost incurred by the other (n−1) players in
9.5 Private Information: Mechanisms with Payments
637
an optimal solution to a game in which only they participate. This utility equals player k’s marginal cost to the game. Finally, we observe that the use of optimal solutions to enable these computations suggests that if an optimal solution is difficult to find, then it may become challenging to implement the VCG payment scheme correctly. This is indeed the case, as discussed in Sect. 9.5.1.4 below. We now provide an example of the VCG payment scheme described in Remark 9.9. Example 9.21 (Application of a Common VCG Payment Scheme) Consider a game with a set of players N = {A, B, C}. With reference to (9.52), let βy = 0, y ∈ Y , and γi = 1, i ∈ N. The values which the players receive from participating in the game are as follows: A 57, B 48, C 35. The total value of the game is 140. Further, consider two player games among the three players. If A and B play, the total value is 106; if A and C play, the total value is 97; and if B and C play, the total value is 84. Based on this given information, we now calculate the VCG payments due from the three players. Player A has received value 57 directly from participating. Against this, he must make a payment of 84 − (48 + 35) = 1. Here, 84 comes from the first term, and (48 + 35) comes from the last term, in the right-hand side expression in (9.52). Therefore, the utility of A is 57 − 1 = 56. Similarly, player B has received a value 48 directly and makes a payment of 97 − (57 + 35) = 5. Thus, the utility of B is 48 − 5 = 43. Similarly, player C has received value 35 directly and makes a payment of 106 − (57 + 48) = 1. Thus, the utility of C is 35 − 1 = 34. As a result, each player ends up with the marginal value he adds by participating in the game: player A receives 140 − 84 = 56, B receives 140 − 97 = 43, and C receives 140 − 106 = 34. An example that demonstrates the calculation of payments under the VCG scheme to a supply chain scheduling game now follows. Example 9.22 (Application of VCG Payment Scheme in a Scheduling Game) Con sider an instance of the classical scheduling problem 1|| wj Cj , with job set N = {1, 2, 3}, where publicly known processing times are p = (1, 2, 4) and private weights are w = (6, 4, 2). The payoff valuation of a player is the negative of its weighted completion time, which makes the players payoff maximizers rather than cost minimizers. Hence, they will need to make a payment to the system. The set of all possible schedules is denoted by Y . We let βy = 0, y ∈ Y , and γi = 1, i ∈ N, in this example. Let Ck (t) denote the completion time of job k in the optimal schedule of the instance with all three jobs. Let Cj (t−k ) denote the completion time of job j in the optimal solution of an instance in which job k is removed, j ∈ N \ {k}. We initially assume that reporting is truthful. An affine maximizer is an optimal algorithm α that minimizes the weighted sum of completion times. From Smith
638
9 Noncooperative Supply Chain Scheduling
(1956), the allocation algorithm α schedules the jobs in SWPT order, i.e., (1, 2, 3), and is an affine maximizer. 3 The payment specified by (9.52) is j =1 wj Cj if we set hk (t−k ) = 0. However, following the discussion in Remark 9.9, we choose to set hk (t−k ) = w C (t ), which is the total value of the other jobs if job k does not j j −k j =k participate. This information is as follows: C1 (t) = C1 (t−2 ) = C1 (t−3 ) = 1; C2 (t) = 3, C2 (t−1 ) = 2, C2 (t−3 ) = 3; and C3 (t) = 7, C3 (t−1 ) = 6, C3 (t−2 ) = 5. We now compute the VCG payments, from (9.52). However, the signs are reversed because a job’s value is the negative of its weighted completion time, i.e., player j receives a value of −Cj , j ∈ N. These payments, computed from the publicly known processing times pj and the truthfully reported job weights wj , are as follows: wj Cj (t−k ) + wj Cj (t) πk (t) = − j =k
=
j =k
=
j =k
wj [Cj (t) − Cj (t−k )]
w j pk .
j | wj /pj 0 and small. Then, wˆ 3 /p3 = (8 + )/4 > 2 = w2 /p2 . Since the allocation algorithm α schedules the jobs in SWPT order based on their reported weights, job 3 obtains the second position in the schedule and a completion time of 5 instead of 7. Hence, its new value is −2(1 + 4) = −10; therefore, its increase in value directly from the game is −10 − (−14) = 4. However, it must now make a new payment of w2 p3 = 4(4) = 16 > 4, which is clearly not worthwhile. To provide some further intuition, we consider an alternative situation where w3 = 8. In this case, w2 /p2 = w3 /p3 = 2. Then, job 3 can be scheduled second rather than third by falsely reporting w3 = 8 + , where > 0 and small. Here, the increase in value for job 3 is 8(−5) − (8)(−7) = 16, while the new payment is 16 as in the previous example. Thus, no advantage is gained by submitting the false report, even where the extent of the deception is arbitrarily small. The success of the VCG payment scheme in truthfully optimizing the game in Example 9.22 relies on the fact that the allocation algorithm α used, namely SWPT,
9.5 Private Information: Mechanisms with Payments
is optimal for the scheduling problem 1|| maximizer, as in Definition 9.19.
9.5.1.4
639
wj Cj . Hence, the algorithm is an affine
Weak Monotonicity
This section is motivated by two considerations. The first consideration is that we may wish to consider private data with more than one type. For example, a supply chain scheduling problem may have jobs where both their processing times and their waiting costs are private. In this more general situation, the analysis underlying Myerson’s (1981) proof of Theorem 9.32 does not generate a simple monotonicity requirement. Instead, it generates a requirement for cyclic monotonicity, as proved by Rochet (1987). However, cyclic monotonicity is difficult to interpret and apply. As a result, it is commonly represented by a weaker but more intuitive and implementable condition, weak monotonicity, as defined below. As explained by Bikhchandani et al. (2006), the distinction between the two conditions is as follows. Cyclic monotonicity is a requirement on every finite selection of type vectors from the domain, whereas weak monotonicity is only a requirement on every pair of type vectors. However, in some applications, the two conditions are equivalent, and we refer the reader to Bikhchandani et al. (2006) for more discussion of this issue. The second consideration is that, only when the scheduling problem underlying a supply chain scheduling game is efficiently solvable, is it generally possible to find an efficient optimal allocation algorithm for mechanism design. In this case, VCG payments (see Sect. 9.5.1.3) are sufficient to ensure deterministically truthful reporting. On the other hand, if the underlying scheduling problem is NP-hard, then the only available allocation algorithm may be heuristic. If it is heuristic, then it is not an affine maximizer. In such a case, VCG payments do not in general ensure truthful declaration of private information. However, there are alternative paths, which typically rely on a combination of weak monotonicity and problem-specific properties, to the development of truthful mechanisms. The following discussion (Heydenreich et al., 2007) provides helpful guidance. Let α(tk , t−k ) be an outcome computed by allocation algorithm α, where player k reports its type tk and players 1, . . . , k − 1, k + 1, . . . , n report their types t1 , . . . , tk−1 , tk+1 , . . . , tn , respectively. Observe that this definition is identical to (9.50), where the action required by player k is simply the reporting of its type. Further, let v(α(tk , t−k ) | tk ) denote the value gained by player k from this outcome, given that its true type is tk . Definition 9.20 An allocation algorithm α satisfies weak monotonicity if, for all players k, for all given types tk , other types tˆk , and any fixed types t−k of all other players, v(α(tˆk , t−k ) | tk ) − v(α(tk , t−k ) | tk ) ≤ v(α(tˆk , t−k ) | tˆk ) − v(α(tk , t−k ) | tˆk ).
640
9 Noncooperative Supply Chain Scheduling
A less formal but more intuitive explanation of weak monotonicity is as follows. Suppose a player k’s true type changes from tk to tˆk and doing so changes the outcome, i.e., the schedule, given by the allocation algorithm. Then, the difference in the total valuation of all the players between the original and new outcomes, evaluated at the new type, must be at least as much as that difference evaluated at the original type. Equivalently, if the outcome changes when a single player changes his valuation, then this must be because that player increased his value of the new outcome relative to his value of the old outcome. The next result establishes a connection between weak monotonicity and truthful implementability. Theorem 9.34 Weak monotonicity is a necessary condition for a deterministically truthful implementation of an allocation algorithm. Proof Assume that truthful payments exist. Then, we have (a)
v(α(tk , t−k )|tk ) − π(tk , t−k ) ≥ v(α(tˆk , t−k )|tk ) − π(tˆk , t−k )
⇒ v(α(tk , t−k )|tk ) − v(α(tˆk , t−k )|tk ) ≥ π(tk , t−k ) − π(tˆk , t−k ), (b)
and
(9.53)
v(α(tˆk , t−k )|tˆk ) − π(tˆk , t−k ) ≥ v(α(tk , t−k )|tˆk ) − π(tk , t−k ) ⇒ π(tk , t−k ) − π(tˆk , t−k ) ≥ v(α(tk , t−k )|tˆk ) − v(α(tˆk , t−k )|tˆk ), then
(9.54)
v(α(tˆk , t−k )|tk ) − v(α(tk , t−k )|tk ) ≤ v(α(tˆk , t−k )|tˆk ) − v(α(tk , t−k )|tˆk ), from (9.53) and (9.54), i.e., weak monotonicity is established.
Nonetheless, in some environments, weak monotonicity may also be sufficient for deterministically truthful implementation. An important result regarding this issue is due to Saks and Yu (2005), who show that, on any convex domain, weak monotonicity is both necessary and sufficient. However, in many applications, insistence on a truthful mechanism is incompatible with finding a socially optimal outcome. Consider a noncooperative game defined over the classical scheduling problem of minimizing the makespan on m unrelated parallel machines, or problem Rm ||Cmax . In this game, the players are the machines, and their private information is their processing times of all the jobs. The following result is due to Nisan and Ronen (2001). Theorem 9.35 There does not exist a deterministically truthful mechanism that minimizes the makespan in the unrelated parallel-machine scheduling game. Proof Recall that Theorem 9.34 shows that satisfying weak monotonicity is a necessary condition for truthfulness. Now, consider the following example (Heydenreich et al., 2007).
9.5 Private Information: Mechanisms with Payments
641
Example 9.23 (Nonexistence of Weak Monotonicity in a Scheduling Game) Consider an instance with m = 2 and n = 4. Let the private processing times on machine M2 be (1, 1, 1, 1). Initially, let the private processing times on machine M1 be p = (1, 1, 1, 1). Assume without loss of generality that the allocation algorithm assigns jobs 1 and 2 to machine M1 . That is, for type p = (1, 1, 1, 1), the set T = {1, 2} of jobs is assigned to machine 1. Consider an alternative reported set of processing times on machine M1 , p = (, , 1 + , 1 + ), where > 0 is small. Now, an optimal allocation algorithm must assign jobs 1, 2 and either 3 or 4 to machine M1 and the remaining job to machine M2 . Without loss of generality, we assume that {1, 2, 3} is the set of jobs assigned to machine M1 , represented by T = {1, 2, 3}. Then, weak monotonicity implies v1 (T | p ) − v1 (T | p) + v1 (T | p) − v1 (T | p ) ≥ 0 ⇔− pj + pj − pj + pj ≥ 0 j ∈T
⇔
j ∈T
(pj − pj ) +
j ∈T \T
j ∈T
j ∈T
(pj − pj ) ≥ 0.
j ∈T \T
Evaluating the left-hand side of the last inequality for this example gives p3 − p3 = 1 − (1 + ) = − < 0. Hence, weak monotonicity is not satisfied and, from Theorem 9.34, the mechanism is not truthful. In fact, Nisan and Ronen (2001) establish the stronger but less concisely proved result that there does not exist a deterministically truthful mechanism that approximates the makespan for the unrelated parallel-machine scheduling problem with an error ratio bound strictly less than two. From a practical perspective, when truthfulness and finding a socially optimal solution are incompatible, a central authority needs to understand the sensitivity of the social cost function to false reporting.
9.5.2 Deterministic Truthfulness This section studies the application of deterministically truthful mechanism design with payments to games defined over online supply chain scheduling problems. In practice, many manufacturing and service processes are online, since customers have the option to submit orders at any time. The use of Internet platforms for placing orders increases the practical relevance of this environment. In an online scheduling problem, jobs arrive during the execution of the schedule, and some or even all information about those jobs is unknown until they arrive. Pruhs et al. (2004) provide a comprehensive introduction to online scheduling problems. Chen et al. (2016) consider an online scheduling environment with a central scheduler, which owns a machine that the players use to have their jobs processed
642
9 Noncooperative Supply Chain Scheduling
for a payment. Each job has a release date, a due date, a processing time, and a value if it is completed by its due date. None of the parameters of a job are known until it is released. Each job is owned by a separate, self-interested player. When a job arrives, it is released to the player who owns it. The player then has several options: it can decide when to pass the job to the central scheduler who owns the machine, it can falsely report the processing time, and it can declare an arbitrary value and due date. In this problem, jobs are preemptive under either preempt-restart or preempt-resume mode. In the former mode, a job that is preempted must restart its processing from the beginning, whereas in the latter mode processing restarts from the exact point where it left off previously. Assume an infinite time period T . There is a single machine that processes at most one job at any given time. A set J of jobs arrives over time. Each job i ∈ J is owned by a self-interested player i and characterized by a type θi = (ri , di , pi , vi ), representing its release date, deadline, processing time, and value, respectively. All this information is private to the owner of the job. The value of a job is earned if and only if it completes by its deadline. However, a player reports the details of its job as θˆi = (ˆri , dˆi , pˆ i , vˆi ), perhaps falsely. The details θˆi reported for job i, whether truthfully or falsely, are collectively described as its bid. Let θˆ−i denote the reported information of all jobs except i. Remark 9.10 Some options for false reporting can be eliminated straightforwardly. First, if the job processing time is underreported, i.e., pˆ i < pi , then even if job i is scheduled, it cannot be completed. It would also be problematic to overreport a due date, i.e., dˆi > di , since the job could be late when it was returned to the player. Finally, in this online problem, a player i has no knowledge of his job until its release date ri , hence it is not possible to report rˆi < ri . We therefore assume for the following analysis that pˆ i ≥ pi , dˆi ≤ di , rˆi ≥ ri , i ∈ J . Observe that the reporting options vˆi < vi and vˆi > vi remain available at this point. Let κ = maxi,j ∈J,i=j {pi /pj }, i.e., the maximum ratio of the processing times of any two jobs. To normalize the data, we assume without loss of generality that pj ∈ [1, κ], j ∈ J . The objective of each player is to maximize his utility, which is the value of his job, less the payment required by the central planner. More formally, ˆ θi ) = qj (θ, ˆ dj )vj − πj (θˆ ), where qj (θˆ , dj ) = 1 if the utility of player j is uj (g(θ), job j is completed on time, and 0 otherwise, since no payment is required if a job is not completed on time. The objective of the central planner is to maximize the total value of jobs that are delivered on time. Let ej (θˆ , t) denote the amount of processing of job j that is completed by time t when the job sequence results from each player i submitting a bid θˆi , i ∈ J . We now describe the proposed mechanism. Mechanism Γ (i) When the machine becomes available, i.e., when either an existing job is completed or a new job arrives, the next job is chosen for processing. This ˆ choice is based on the priority score for every job j , which is vˆj · β pˆj −ej (θ,t) , where 0 < β < 1, and the highest priority score feasible job is processed next.
9.5 Private Information: Mechanisms with Payments
643
(ii) The payment is equal to the minimum bid that the players have to make in order for the job to be completed, i.e., πj (θˆ ) = min vj | qj (((ˆrj , dˆj , pˆ j , vj ), θˆ−j ), dˆj ) = 1 . We provide some intuition about Mechanism Γ . In either the preempt-restart or the preempt-resume mode, processing is preemptive, and the job currently in process can be preempted at any time if another job has a higher priority score, from (i). The priority rule in (i) models the intuition that a job with higher value has higher priority, and a job with larger remaining processing time has lower priority. The value of β can be adjusted for the analysis of approximation bounds, but for the purposes of defining Mechanism Γ and establishing truthfulness any 0 < β < 1 suffices. If a job j is completed by its deadline dj , then the mechanism requires a ˆ based on the reported information of all the jobs, from payment from job j of πj (θ) (ii). Both the allocation rule and the payment rule can be implemented efficiently. The allocation rule is only applied when a job arrives or a job is completed. Since the set of critical time points t ∈ [rj , dj ) has polynomial size, the payment for each player can be computed in polynomial time. From the payment rule, it is clear that mechanism Γ is individually rational. The remaining issue to consider is incentive compatibility. Suppose that job j has been executed k > 0 times when truthfully declared p but eventually abandoned. Let tis and ti denote the ith time at which job j starts execution and is preempted, respectively, where i = 1, . . . , k, and let t a = arg inft (ej (t) + dˆj − t < pˆ j ) be the time at which job j is abandoned. Also, within the interval [rj , t a ], let the executing period A and the pending period P of job j be p p p defined according to those times. Thus, for job j , A = [t1s , t1 )∪[t2s , t2 )∪. . .∪[tks , tk ) p s p a s and P = [rj , t1 ) ∪ [t1 , t2 ) ∪ . . . ∪ [tk , t ). Chen et al. (2016) prove the following preliminary result. Lemma 9.18 Let J (respectively, J ) denote the jobs that are executed during period P when θj is truthfully (resp., falsely) declared. Let I (respectively, I ) denote the jobs that are pending during A when θj is truthfully (resp., falsely) declared. Then: (i). I ∩ J = ∅. (ii). I ∩ J = ∅. (iii). J = J . We refer the reader to Chen et al. (2016) for a proof. In Lemma 9.18, (i) means that, if θj is declared truthfully, job i ∈ I with lower priority than job j in period A ∪ P cannot be executed in period P , since job j with higher priority than i is pending in that period. Also, (ii) means that, if θj is declared falsely, then job i cannot be executed in period P either. Finally, (iii) means that, regardless of whether θj is declared truthfully or not, the jobs that are executed in period P are the same. Theorem 9.36 Mechanism Γ is dominant strategy incentive compatible, in both the preempt-restart model and the preempt-resume model.
644
9 Noncooperative Supply Chain Scheduling
Proof We first interpret monotonicity (see Theorem 9.32) for the problem at hand. An allocation rule within a mechanism is monotone if, given that a job with truthfully reported type θj = (rj , dj , pj , vj ) cannot be completed, then if it reports rˆj ≥ rj , dˆj ≤ dj , pˆ j ≥ pj and vˆj ≤ vj , it still cannot be completed. From Theorem 9.32, a sufficient condition for the truthfulness of a mechanism is the monotonicity of its allocation rule. Hence, we prove the monotonicity of the allocation rule of mechanism Γ . Observe that this is a composite rule that incorporates the reported job value vˆj and reported processing time pˆ j explicitly into the choice of the next job to process. Moreover, the reported ready time rˆj and reported due date dˆj are implicitly incorporated through the definition of feasibility. We first recall the restrictions on the possibilities for false reporting discussed in Remark 9.10. Next, consider monotonicity with regard to rˆj only. For feasibility, rˆj ∈ [rj , t a ] = P ∪ A. If player j reports falsely, a necessary condition for job j to be completed is that it should be executed sometime in the period P . We show that this condition cannot be met. Consider a job i ∈ I that has lower priority than job j in period A ∪ P . We first show that job i cannot be executed in period P , regardless of how job j reports. There are two cases: Case 1. Job j reports truthfully. Then, Lemma 9.18, part (i), implies that job i cannot be executed in period P , since job j that has higher priority is pending in period P. Case 2. Job j reports falsely. Then, Lemma 9.18, part (ii), implies that again job i cannot be executed in period P . The two cases above show that job i cannot be executed in period P . Then, Lemma 9.18, part (iii), implies that job j cannot be executed in P either. Hence, declaring rˆj ≥ rj cannot cause job j to be completed if it is not completed under true reporting. A similar argument applies to dˆj , pˆ j , and vˆj . As is intuitive, declaring dˆj ≤ dj , pˆ j ≥ pj , or vˆj ≤ vj does not improve job j ’s priority from the composite allocation rule and cannot cause it to be completed. Hence, the allocation rule of Γ is monotone, and from Theorem 9.32, it admits a truthful payment scheme. The one remaining opportunity for false reporting is vˆi > vi , which potentially provides job i with more chance of being scheduled. However, the payment rule of Mechanism Γ implies that such false reporting would increase the amount payable by the player to the central scheduler. Hence, the payment rule is truthful, and Mechanism Γ is incentive compatible. The following competitive ratio results are achieved by Chen et al. (2016), under the above assumptions about private data: (i). In the preempt-restart model with private job lengths, Mechanism Γ achieves the optimal competitive ratio of 5 for equal-length jobs and a near optimal ratio 1 of [ (1−) 2 + o(1)]κ/ ln κ for unequal-length jobs, where 0 < < 1. (ii). In the preempt-resume model with private job lengths, Mechanism Γ achieves the best possible competitive ratio of 5 for equal-length jobs and a competitive ratio within a factor of 2 for unequal-length jobs.
9.5 Private Information: Mechanisms with Payments
645
In earlier work, Porter (2004) derives deterministic truthfulness and approximability results for a similar online problem. It is interesting to compare the results of Porter (2004) and Chen et al. (2016), based on the different models of preemption assumed and the use of different parameters to evaluate the competitive ratios, in their respective works.
9.5.3 Universal Truthfulness We provide an example of the use of randomized mechanism design to establish universal truthfulness, as defined in Sect. 9.4.1.2. Nisan and Ronen (2001) introduce randomized mechanism design in their study of a game defined over the problem of minimizing the makespan on two unrelated parallel machines, or problem R2 ||Cmax . There is a set of jobs N = {1, . . . , n}. These jobs require nonpreemptive processing on the machines. In this game, the players represent the two machines. Each player or machine has private information, which is the time it takes for it to process each of the jobs. If machine i processes job j , the processing time is pij , but this information is known only to player i. Each player maximizes its utility, which is defined as its payment received based on which jobs it has processed, less its processing load. In order to improve its utility, player i may report processing times that are false, i.e., pˆ ij instead of pij . The time for which a job is processed is its privately known processing time, independent of the time bid for it. The social objective is the minimization of the makespan. As a benchmark for mechanism design for this problem, we first consider the following deterministic mechanism due to Nisan and Ronen (2001). We assume that this mechanism is implemented by a central authority. The mechanism contains both an algorithm for assigning the jobs to the machines and a payment for compensating the machines for processing the allocated jobs. Mechanism MinWork 1. Each player reports a bid, i.e., its processing time for each job. 2. Each job is assigned to the machine where it has smaller reported processing time, with ties broken arbitrarily. 3. Each machine receives, for each job that it processes, a payment that equals the second smallest reported processing time for that job. The following result specifies the performance of Mechanism MinWork relative to the social objective of makespan minimization. Theorem 9.37 Mechanism MinWork is truthful, i.e., the players report the processing times of all jobs truthfully, and provides a 2-approximation for problem R2 ||Cmax . We refer the reader to Nisan and Ronen (2001) for a proof. In order to improve on the ratio bound of 2 in Theorem 9.37, it is necessary to use a randomized mechanism. Let omi (a), i ∈ F denote the output, i.e., in this context
646
9 Noncooperative Supply Chain Scheduling
the schedule, obtained by applying Mechanism mi in a family F of mechanisms to a set a of strategies, i.e., reported bids, of the players, given their true types t. Then, let f (omi (a), t) denote the centralized objective value achieved in that case. A formal definition of a randomized mechanism now follows. Definition 9.21 A randomized mechanism is a probability distribution over a family {mi | i ∈ F } of mechanisms each having the same sets of strategies and possible outputs. The outcome of such a mechanism is a probability distribution over outputs and payments. For optimization problems, the objective function over such a distribution is the expected objective value, Ei∈F [f (omi (a), t)]. To clarify, the use of expectation in Definition 9.21 does not imply that the resulting mechanism is only truthful in expectation. In fact, the mechanism described below is universally truthful, which means truthful for any realization of the random process, since it is a randomization over deterministically truthful mechanisms. For problem R2 ||Cmax , consider the following mechanism. The bias parameter δ introduced in Step 2 is used to control the balance of load between the two machines. The mechanism is a probability distribution over biased MinWork mechanisms. Mechanism Randomly Biased MinWork 1. Each player reports his processing time for each job. 2. Define a constant δ = 4/3. 3. Consider the jobs in arbitrary order, j = 1, . . . , n, and for each: Generate a random integer s uniformly from s ∈ {1, 2}. If pˆ sj ≤ δ pˆ 3−s,j : Job j is assigned to machine s. Machine s receives a payment of δ pˆ 3−s,j . Otherwise: Job j is assigned to Machine 3 − s. Machine 3 − s receives a payment of pˆ s,j /δ. The main result for this mechanism can now be stated. We provide a brief outline of the proof. For full details of the proof, we refer the reader to Nisan and Ronen (2001). Theorem 9.38 Mechanism Randomly Biased MinWork is a polynomial time universally truthful mechanism that provides a 7/4-approximation for problem R2 ||Cmax . Proof Observe that the overall utility of each player, i.e., machine, is the sum of the utilities of the jobs assigned to it at each job allocation; hence, it is sufficient to consider the case of a single job. The single job case is equivalent to a weighted VCG mechanism, as in (9.52) with weights γ1 = 1, γ2 = δ or γ1 = δ, γ2 = 1, depending on the random value of s. Therefore, it is a randomization over deterministically truthful VCG algorithms. This establishes universal truthfulness. To prove the approximation bound, the jobs are divided into “balanced” jobs where the ratio of larger to smaller processing times between the two machines
9.5 Private Information: Mechanisms with Payments
647
does not exceed δ, and the remaining jobs that are described as “unbalanced.” Then, the worst-case outcome is shown to exist with exactly four jobs, two balanced and two unbalanced. Moreover, each of the machines schedules one balanced and one unbalanced job. This leaves three cases to consider, based on the relative processing times of the four jobs. In each case, the approximation bound of 7/4 is established. The work of Nisan and Ronen (2001) has motivated a substantial research literature on randomized mechanism design.
9.5.4 Truthfulness in Expectation We illustrate the application of truthfulness in expectation with the use of payments. Archer and Tardos (2001) study a supply chain scheduling game defined over a scheduling problem on an arbitrary number of uniform parallel machines. The set of jobs is N = {1, . . . , n}. There are players M = {1, . . . , m}, each of whom represents a machine. Each player has private data ti ∈ R, which represents the cost per unit time of the machine. The machines accept and process work that is assigned to them by a mechanism, the details of which are discussed below. The reported value of ti by player i is denoted as bi , for i = 1, . . . , m. Let O denote a set of allowable outcomes, i.e., feasible schedules. Given a vector b of reported costs by the players, an algorithm within the mechanism computes an output function o(b) ∈ O, i.e., a schedule that defines a cost for all players. Each player incurs a cost ci (ti , o) for processing the work that is assigned to it but receives a payment πi (b) from the mechanism as compensation. Consider a special form of the player’s cost, i.e., ci (ti , o) = ti wi (o). In this case, a player’s cost is its private cost per unit of work times the amount of work wi (o) assigned to it. Then, each player i is self-interested and maximizes its utility, πi (b) − ti wi (o). The social objective is minimization of a function g(o, b). For this problem, Archer and Tardos (2001) describe a necessary and sufficient condition for truthfulness, that is based on “decreasing work curves,” using the following definition. Definition 9.22 Assume that the bids of all other players are fixed at b−i , consider the workload of player i as a function wi (b−i , bi ). This is the work curve of player i. If wi (b−i , bi ) is a decreasing function of bi for all i and b−i , then the work curve is decreasing. That is, a machine that reports a higher cost receives less work. The following result shows that these definitions are important in establishing truthfulness. Recall that an algorithmic mechanism consists of an output function o(b) and a payment scheme that need to be mutually compatible to ensure truthful reporting of costs by the players. The following result specifies conditions for this compatibility.
648
9 Noncooperative Supply Chain Scheduling
Theorem 9.39 The output function o(b) is implementable by a truthful payment scheme, i.e., one that incentivizes the players to report their costs truthfully, if and only if it is decreasing. In this case, the mechanism is truthful if and only if the payments πi (b−i , bi ), i ∈ M, are of the form 5 hi (b−i ) + bi wi (b−i , bi ) −
0
bi
wi (b−i , u)du,
(9.55)
where the hi functions are arbitrary. We refer the reader to Archer and Tardos (2001) for the proof of Theorem 9.39. As discussed in Remark 9.9, the functions hi (·) are useful for maintaining individual rationality and preventing overpayment. We relate the general problem description above to the supply chain scheduling problem Q||Cmax , i.e., the minimization of makespan on uniform parallel machines, by setting ti = 1/si , where si represents the privately known speed of machine i. Then, if machine i has the total work wi (o) assigned to it, it requires time ti wi (o) = wi (o)/si to complete it. The social objective is the minimization of the makespan Cmax = maxi∈M {wi (o)/si }. Observe that the uniform parallel-machine problem Q||Cmax is equivalent to bin packing with bins of unequal sizes that represent the processing speeds of the machines. A mechanism that allows the jobs to be split between bins is now described. In the following, bin i represents machine i, and bi represents the bid of machine i about its cost, or equivalently, the reciprocal of its speed. Algorithm Greedy 1. Number the bins from largest to smallest bid of the corresponding machine, i.e., b1 ≥ · · · ≥ bm and similarly number of the jobs p1 ≥ · · · ≥ pn . 2. Assign jobs 1, . . . , k − 1 to bin 1, where k is the first job that would cause the bin to overflow. 3. Further, assign to bin 1 a piece of job k exactly as large as the remaining capacity in bin 1. 4. Continue by assigning jobs to bin 2, starting with the remaining part of job k. Repeat for the remaining jobs. Problematically, Algorithm Greedy does not yield decreasing work curves. Hence, from Theorem 9.39, it does not admit a truthful payment scheme. Randomization is now introduced in order to obtain a monotone work curve. Randomization Step Starting from Step 4 of Algorithm Greedy, job j is assigned to machine i with a probability that is equal to the proportion of j that is fractionally assigned to bin i. The main result requires the following preliminary calculation of a lower bound TLB on the optimal value of Cmax .
9.5 Private Information: Mechanisms with Payments
649
Lemma 9.19 TLB
j pk . ≥ max min max bi pj , i k=1 i j l=1 1/bl
(9.56)
Proof For each job j , let i(j ) denote the last bin that is at least as large as job j . Observe that, for job j , the value of i(j ) is at least as large as the value of j that is minimum for job j in (9.56). Then, the greedy assignment is valid if and only if, for each j , the total capacity of the first i(j ) bins is at least the total size of the first j jobs. So, if the greedy assignment is valid and i is the last bin to which job j is j
partially assigned, then TLB ≥ max{bi pj , i k=1
pk
l=1 1/bl
}.
The main result can now be stated. Theorem 9.40 The Greedy Algorithm with Randomization Step admits a truthful payment scheme satisfying voluntary participation and deterministically provides a polynomial time 3-approximation mechanism for problem Q||Cmax . Proof The approximation bound is easy to prove. Observe from Steps 2 through 4 of the Greedy Algorithm that each bin is assigned at most two fractional jobs. If the fractions of these two jobs are increased to full size, the amount of work added is not more than that of two jobs. Hence, each bin is not more than 300% full deterministically, i.e., regardless of how the Randomization Step realizes. From Theorem 9.39, a sufficient condition for truthfulness is that the expected load on each machine i decreases as i increases its bid, which is equivalent to claiming to be slower. Now, the expected load is the load from the randomized greedy assignment. For full bins this is TLB = bi , for the (at most one) partially full bin it is the work left over from the full bins, and for the empty bins it is 0. Suppose some machine claims to be slower, replacing its bid bi with αbi , for some α > 1. ≥ T This would provide a new lower bound TLB LB from (9.56). However, we also have TLB ≤ αTLB , since shrinking bin i by a factor of α and then expanding all bins by a factor of α > 1 would allow for a valid fractional assignment. Thus, the overall effect of increasing i’s bid is to enlarge the other bins while shrinking bin i, so the greedy fractional assignment gives machine i less work. This satisfies the condition in Theorem 9.39. 7 ∞To compute the payments requires the computation of wi (b−i ) and the integral bi wi (b−i , x)dx. This reduces to computing an integral with a closed form expression over a polynomial number of intervals, which is an overall polynomialtime computation. Archer and Tardos (2001) extend their results for the makespan objective to develop a truthful mechanism for the problem of minimizing total completion time on uniform machines, or Q|| Cj . Dhangwatnotai et al. (2011) present a monotone randomized polynomial-time approximation scheme (PTAS, see Section 2.3.4.2 for definitions) for problem Q||Cmax . This gives a polynomial time, truthful in expectation mechanism whose
650
9 Noncooperative Supply Chain Scheduling
approximation guarantee attains the best possible one for all polynomial-time algorithms, if P = NP . We provide a brief description of their approximation scheme. First, jobs with processing time sizes that differ by a factor of not more than 1 + are grouped together. Temporarily assume that every job in a group has a processing time equal to the average processing time in its group. The jobs are assigned to the machines, allowing fractional assignments. Randomized rounding is used to obtain an integer schedule. Finally, the processing times of the jobs are restored to their original values. We refer the reader to that work for additional details.
9.5.5 Bayes–Nash Incentive Compatibility The assumption about private information made in all the previous sections is that players other than the owner of that information have no knowledge whatsoever about the information. However, it is easy to think of applications where, for example, one company would be able to estimate—perhaps not perfectly, but with reasonable accuracy—the costs of another company in the same industry. Such estimates might be available in the form of prior probabilities over a discrete set of reasonable values. In principle, it would be valuable to incorporate this information into mechanisms that ensure truthfulness in reporting and good performance of an overall system. This can be accomplished using a Bayes–Nash equilibrium and related concepts, as now defined. Definition 9.23 (i) A Bayes–Nash equilibrium is a strategy profile that maximizes the expected utility of each player, given their beliefs and the strategies played by other players. (ii) In a mechanism that is Bayes–Nash incentive compatible, if all the other players report truthfully, then any given player is at least not worse off in expectation by reporting his type truthfully. We observe that the additional condition in Definition 9.23 (ii) that all the other players are acting truthfully makes Bayes–Nash incentive compatibility weaker than dominant strategy incentive compatibility. See Definition 9.17 for comparison. In addition, the use of expected utility makes an implicit assumption that the players are risk neutral. We describe an application of Bayes–Nash incentive compatibility. Duives et al. (2015) consider a single machine setting where the players represent jobs that require compensation for waiting, where each job’s waiting cost is private information. Each job must be processed nonpreemptively. Let N = {1, . . . , n} denote the set of jobs with publicly known processing times pj and private weights wj . The other players, however, know a set of possible discrete types of job j , i.e., possible values for wj . This set is denoted by Tj , where mj = |Tj |. Then,
9.5 Private Information: Mechanisms with Payments
651
wji , i = 1, . . . , mj , are possible values of wj with positive and commonly known probabilities which we denote by φj (wji ). A vector of payments, computed from the reported weights of all the jobs, compensates the jobs for waiting. Based on reported information about the possible types of all the jobs and prior beliefs, the mechanism designer uses an allocation rule f to compute a schedule, which is a sequence of the jobs on the single machine. In a given schedule, let Sj denote the waiting time of job j , i.e., the time at which it starts processing. The expected utility of a job is its expected payment from the system for waiting, less the cost of its expected waiting time. Since the waiting cost of each job is private, the player who is represented by that job may report a higher than true waiting cost, in the hope that doing so will generate higher compensation payments for waiting. The optimal mechanism design problem is then to find a scheduling rule and a payment scheme under which the jobs are incentivized both to participate and to report their private information truthfully, while at the same time minimizing the total expected payments π that are made to the jobs. The following definition is needed. Definition 9.24 A mechanism μ = (α, π ), consisting of an allocation algorithm α and a payment scheme π , is Bayes–Nash incentive compatible for the supply chain scheduling game if truth-telling is a weakly dominant strategy in expectation, so for j j every job j and every two types wj , wjk ∈ Tj , where wj is the true type, . j/ . . / . / j j/ j Eπj wj − wj ESj α, wj ≥ Eπj wjk − wj ESj α, wjk .
(9.57)
In (9.57), the left-hand side represents the expected compensation received by job j j less its expected cost if it reports true type wj ∈ Tj , and the right-hand side is a similar calculation if it reports false type wjk ∈ Tj . This expectation assumes that all jobs other than j report their type truthfully. If a given allocation algorithm α admits a payment scheme π such that the mechanism μ = (α, π ) is Bayes–Nash incentive compatible, then α is Bayes–Nash implementable and the payment scheme is incentive compatible. Besides incentive compatibility, the other constraint that is required in a Bayes– Nash equilibrium is individual rationality, which ensures that each job is interested in participating. While this may seem unnecessary in the current problem setting where all jobs must be scheduled, it can be motivated in practice as ensuring “reasonable cooperation” by the job with the mechanism designer, for example timely provision of the report about the private waiting cost and timely submission of the job when scheduled. Individual rationality is now defined for truthful jobs. Definition 9.25 A mechanism μ(α, π ) is individually rational if, for every player j j and every true type wj ∈ Tj , . j/ . j j/ Eπj wj − wj ESj α, wj ≥ 0,
j
w j ∈ Tj .
(9.58)
652
9 Noncooperative Supply Chain Scheduling
Observe that this condition is stated only for truthful jobs. The following definition is also needed to define the Bayes–Nash implementability of an allocation rule. Definition 9.26 An allocation algorithm α satisfies monotonicity with respect to weights if, for every job j , wji < wjk implies that ESj (α, wji ) ≥ ESj (α, wjk ). Definition 9.26 is intuitive. It states that the reporting of a smaller waiting cost wj cannot decrease the expected start time of a job. Duives et al. (2015) apply this definition to establish the following result. Theorem 9.41 An allocation algorithm α is Bayes–Nash implementable if and only if it satisfies monotonicity with respect to weights. The proof relies on construction of a complete directed type graph for each job j , where nodes represent all possible types and arc lengths between them represent the gain in expected valuation for reporting one type over another. The Bayes–Nash implementability of f is equivalent to there being no negative length directed cycles in this graph. We refer the reader to Duives et al. (2015) for a detailed proof. The concept of a type graph is explored further below. We provide an example to demonstrate the use of these concepts. Example 9.24 (Application of Bayes–Nash Implementability) Consider the following instance of the problem: n = 2, p1 = 1, w1 = 1, or w1 = 2, both with probability 0.5; p2 = 3, and w2 = 4 deterministically. We define the allocation rule to be the indexing rule of Smith (1956), where the jobs are sequenced in nonincreasing order of wj /pj . As an illustration of Theorem 9.41, this rule satisfies monotonicity, since if the weight of a job increases, its start time cannot increase. Now, if w1 = 2, job 1 is scheduled first, S1 = 0 and S2 = 1; whereas if w1 = 1, job 2 is scheduled first, S1 = 3 and S2 = 0. Thus, since job 1 is truthful, ES2 = 1(0.5) + 0(0.5) = 0.5. For job 1, Bayes–Nash incentive compatibility (9.57) implies E(π1 | w1 = 1) − 1 · E(S1 | w1 = 1) ≥ E(π1 | w1 = 2) − 1 · E(S1 | w1 = 2) ⇒ E(π1 | w1 = 1) − E(π1 | w1 = 2) ≥ 1(3) − 1(0) = 3,
and
E(π1 | w1 = 2) − 2 · E(S1 | w1 = 2) ≥ E(π1 | w1 = 1) − 2 · E(S1 | w1 = 1) ⇒ E(π1 | w1 = 2) − E(π1 | w1 = 1) ≥ 2(0) − 2(3) = −6. The individual rationality constraints (9.58) for job 1 are E(π1 | w1 = 1) − 1 · E(S1 | w1 = 1) ≥ 0 ⇒ E(π1 | w1 = 1) ≥ 1(3) = 3,
and
E(π1 | w1 = 2) − 2 · E(S1 | w1 = 2) ≥ 0 ⇒ E(π1 | w1 = 2) ≥ 2(0) = 0.
9.5 Private Information: Mechanisms with Payments
653
Observe that, for the above incentive compatibility constraints, the first condition applies to the case w1 = 1, and the second condition applies to the case w1 = 2. The individual rationality constraints follow the same format. Solving the above inequalities, we observe that the payment scheme E(π1 | w1 = 1) = 3 and E(π1 | w1 = 2) = 0 is both Bayes–Nash incentive compatible and individually rational for job 1. Since job 2 has only one type, it has no private information, and no incentive compatibility constraints arise. However, individual rationality (9.58) implies Eπ2 − w2 ES2 ≥ 0 ⇒ Eπ2 ≥ 4[0.5(0) + 0.5(1)] = 2. For example, π2 = 2 in both cases w1 = 1 and w1 = 2 suffices. However, the solution shown above for Example 9.24 is only one implementable payment scheme π . It is also valuable to compute the minimal payment scheme that is incentive compatible and individually rational. This is indeed possible, by computing shortest path lengths in the graph now described, which is justified by the absence of negative length directed cycles. Definition 9.27 Given an allocation algorithm α, the type graph Gj (α) for job j is m a complete directed graph with node set Wj = {wj1 , . . . , wj j }, which describes the type space of job j and an arc from any node wji to any node wjk of length . / . / lik = wji ESj α, wjk − ESj α, wji , which is the gain in expected waiting cost for player j from reporting its true type wji instead of a false type wik . We add a dummy end node mj + 1 to Gj (α). This definition enables the main result that follows. Theorem 9.42 For a Bayes–Nash implementable allocation algorithm α, the paym +1 ment scheme defined by πj (wj j ) = 0, and m
j . i/ . / . / πj wj = wjk ESj α, wjk − ESj α, wjk+1 ,
(9.59)
k=i
for i = 1, . . . , mj , is incentive compatible, individually rational, and also minimizes the expected total payment made to the jobs. Proof Since α is Bayes–Nash implementable, Tj (α) satisfies the nonnegative cycle property. Consequently, we can compute shortest paths in Tj (α). Let P = (wji = m +1
a0 , a1 , . . . , am = wj j
m +1
) denote a directed path from wji to a dummy node wj j
m +1
in the type graph for job j , and L(P ) = L(a0 , am ) its length. Let Δ(wji , wj j
)
654
9 Noncooperative Supply Chain Scheduling m +1
denote the length of a shortest path from node wji to node wj j in the type graph for job j . Adding the incentive compatibility constraints obtained from (9.57), Eπj (ai ) ≤ Eπj (ai−1 ) + ai−1 [ESj (α, ai ) − ESj (α, ai−1 )] = Eπj (ai−1 ) + L(ai−1 , ai ), for i = 1, . . . , mi , gives . m +1 / . / . / . m +1 / ≤ Eπj wji + L(P ) = Eπj wji + Δ wji , wj j . Eπj wj j m +1
Now, since Eπj (wj j Eπj (wji ).
(9.60) m +1
) = 0 by definition, (9.60) implies −Δ(wji , wj j
)≤
m +1
Hence, −Δ(wji , wj j ) is a lower bound on the expected payment for reporting wji . Further, observe that for any two types wji and wjk , . . m +1 / m +1 / Δ wji , wj j ≤ L(i, k) + Δ wjk , wj j . . m +1 / m +1 / ⇒ −Δ wjk , wj j ≤ −Δ wji , wj j + L(i, k). Consequently, setting the expected payment to every job for any reported type . / . m +1 / πj wji = −Δ wji , wj j yields a Bayes–Nash incentive compatible payment scheme that minimizes the expected payment to every job for any reported type of the player. It is easy to show that if i < k < l, then L(i, k) + L(k, l) ≤ L(i, l) and L(l, k) + L(k, i) ≤ L(l, i), a property that Duives et al. (2015) name decomposition m +1 monotonicity. Hence, a shortest path from wji to wj j is exactly the path that m +1
m
includes wji , . . . , wj j . Finally, we observe that Δ(wj j −Δ
.
m +1 / wji , wj j
=
mj
m +1
, wj j
) = 0 and
. / . / wjk ESj α, wjk − ESj α, wjk+1 ,
k=i m
for wji ∈ {wj1 , . . . , wj j }. This establishes the result.
We refer the reader to Duives et al. (2015) for an efficiently computable closed form expression for the minimal expected total payment. Duives et al. (2015) also show by example that, even for a problem with two symmetric jobs, each having two equal probability weights, the use of the VCG
9.6 Future Research
655
mechanism can result in payments that are 50% greater than those required by their mechanism described above. In related work, Hoeksma and Uetz (2016) consider a supply chain scheduling problem where the processing times and weights of jobs are both private information. To model this problem, they construct a linear programming problem that represents the problem of designing a Bayes–Nash incentive compatible mechanism. The main result is a polynomial-time solution procedure for the mechanism design problem. The methodology presented also allows for the possibility of correlation across the types of different jobs.
9.6 Future Research We provide an overview of several promising directions for future research, following the organization of the chapter into complete information games, enhanced complete information games, mechanisms without payments, and algorithmic mechanism design. For supply chain scheduling games with complete information, relevant topics include the following: • Lee et al. (2012) study coordination mechanisms for parallel-machine scheduling problems. Each player with a job acts selfishly to minimize his own disutility, for example, the congestion time or completion time of the job on the machine that processes it. The machines announce a common sequencing rule for the jobs assigned to them. Of particular interest is extending this work to allow for the practical generalization that each machine announces a different local sequencing rule, and analyzing the PoA and APoA in that more general environment. The work of Vijayalakshmi et al. (2021) discussed in Sect. 9.2.2.4 is an example. Classical machine scheduling generalizations such as the presence of release dates should also be considered. • Glazer et al. (2018) study a game that involves timing the arrivals of jobs to minimize a function of job earliness and tardiness around a common due date. Various generalizations are possible, for example considering multiple servers, or considering a common due date that is restrictively early. In addition, also adding practicality to the problem, it would be valuable to study groups of customers with due dates that are common within the group and different but not widely separated across groups. An interesting question related to this problem is under what conditions all jobs in a group arrive consecutively in a Nash equilibrium. • Vairaktarakis (2013) studies a problem including a set of manufacturers, all of which may subcontract part or all of their work to a third party that prioritizes smaller workloads, and develops Nash equilibria under three different production protocols. For possible extensions, it would be valuable to consider different scheduling environments such as flowshops, different objectives of the players
656
•
•
•
•
•
9 Noncooperative Supply Chain Scheduling
such as the completion times of multiple jobs, and different priority rules specified by the third party. Bukchin and Hanany (2007) consider an environment where decentralized decision makers compete for limited resources. They study the decentralization cost, which is the ratio between the cost of the solution reached when decision makers make their decisions independently while taking into account the decisions of others and the cost of a centrally optimized decision that in general is not a Nash equilibrium. While they consider minimization of the total completion time, several other objectives are also relevant. Agnetis et al. (2015) study a project scheduling game where multiple players have the option to crash, or expedite, their tasks and share a reward for doing so from the project client in fixed and known proportions. This presents a tradeoff with the cost of crashing. While the paper focuses on finding a Nash equilibrium solution, it would also be valuable to identify Pareto optimal strategies. For a given strategy, Nash equilibrium and Pareto optimality are independent concepts in this context, i.e., neither implies the other. Also of interest is the consideration of this problem in a private information setting. Vijayalakshmi et al. (2021) study supply chain scheduling problems where every machine has an independent priority list for the jobs that are assigned to it. This problem raises interesting issues as a variant of a classical scheduling problem where each machine defines a separate sequencing rule. Since their game may not have a Nash equilibrium, it would be interesting to study the existence of α-approximate Nash equilibria, under which no job changes strategy unless it can achieve a cost reduction of at least α. This problem is motivated by the cost and inconvenience of changing strategy. A further natural generalization is the consideration of games in which jobs have an arbitrary strategy space, and the cost of a job is the sum of the cost for the resources used, where each resource has its own priority list. Feldman and Tamir (2012) study conflicting congestion effects in resource allocation games with supply chain scheduling applications. A resource activation cost is divided between the users of that resource, whereas many users of the same resource generate congestion effects; hence, an interesting tradeoff arises. It would be valuable to generalize their results to other job scheduling settings with different machine models, different sharing rules, different cost structures, and different social choice functions. Valuable insights could also be gained from providing a characterization of initial states from which best response dynamics are guaranteed to converge to a Nash equilibrium. Additional notions of equilibria are also relevant here, for example strong equilibrium where stability is guaranteed against coalitional deviations. For enhanced games with complete information, the following topics are relevant for future research. In their discussion of the benefits of sequential, rather than simultaneous, decision making, Leme et al. (2012) motivate similar studies of a broader class of games. Of particular interest is identifying classes of games where the subgame perfect equilibrium of the sequential version is a pure Nash equilibrium of the
9.6 Future Research
•
•
•
•
•
657
simultaneous version. They observe that where the subgame perfect equilibrium solution does not depend on the ordering of the players’ decisions, then this result should apply. Chen and Xu (2020) investigate the interesting issue of bounded rationality, which is modeled either by limiting the number of lookahead steps that a player can use or by limiting the complexity of calculations they can perform. Such limitations apparently offer the potential for significant improvement in the price of anarchy. Their work focuses on unrelated parallel-machine scheduling games; however, their ideas can be applied more generally. They also consider games with single-minded players who always choose machines on which their jobs have minimum processing time, and such games deserve further investigation. Roughgarden (2004) considers scheduling strategies in Stackelberg games where the leader maximizes social welfare. He suggests extensions to consider problems without jobs of negligible size, which is not only more practical but may improve the results obtained. In addition, various practical conditions can be imposed on the machine latency functions. More generally, there are many possible extensions of Stackelberg games to different supply chain scheduling applications. In work that is closely related to a specific application, Qi (2012) analyzes a Stackelberg game for a manufacturer and a subcontractor. Possible extensions can include multiple manufacturers who share a common subcontractor, to address the issue of how the subcontractor may use pricing as a decision variable. An alternative direction is the consideration of multiple subcontractors who may compete with each other for the business of the manufacturer or alternatively form a coalition to negotiate more effectively with the manufacturer. Hall and Liu (2010) analyze a related problem in a cooperative game context. Hoefer and Skopalik (2013) study altruism in atomic congestion games, a class that includes several supply chain scheduling games. They study the existence of pure Nash equilibria and the convergence of better response dynamics in games with the total social cost. The most natural open problems include analysis of models for other relevant social functions, such as the makespan on parallel machines. Further research issues include understanding the convergence of best response dynamics in games with altruistic players. It is also of interest to consider the effect of altruism in Stackelberg games for supply chain scheduling. Apt and Schäfer (2014) study the effect on several strategic games of the selfishness level, which they define to be the smallest fraction of social welfare that needs to be offered to each player such that a social optimum is realized in a pure Nash equilibrium, i.e., such that the price of stability is 1. A natural extension of their work is to study a similar question for mixed, rather than pure, Nash equilibria, for which they provide an example outside the scope of supply chain scheduling games. There are also two alternative definitions of selfishness that are valuable to investigate. First, it would be interesting to study how to find the smallest value of the selfishness level such that the price of stability is 1. Second, the same question can be asked for the price of anarchy to be 1, i.e., such that all Nash equilibria are socially optimal.
658
9 Noncooperative Supply Chain Scheduling
• Balcan (2011) describes two models by which a central authority can influence players to move from a poor quality Nash equilibrium to a better one. However, there is an unexplored tradeoff in this idea. As a result of trying to induce a better solution, the price of stability may change if the best available Nash equilibrium solution becomes unstable. Thus, starting from a good equilibrium, it is important to investigate whether a small shock to the system can produce a bad state from which natural dynamics cannot recover (Balcan et al., 2009). For mechanisms without payments, we discuss three works. • Angel et al. (2016) develop truthful and socially optimal algorithms for supply chain scheduling problems. They suggest extensions to multiple machine problems, using randomized truthful approximation algorithms. • Koutsoupias (2014) develops a truthful in expectation mechanism for an m makespan problem with an approximation bound of m(m + 1)/2, and it is an open question whether any such mechanism can provide a better approximation. Also, the question remains whether there exists a non-truthful mechanism that provides a better approximation. • Angel et al. (2009) discuss tradeoffs that arise if the requirement that an algorithm is truthful is relaxed. They mention a case where a given approximation ratio is still achievable, even if the algorithm is not truthful. This raises the interesting and more philosophical question as to what is the value of truthfulness if the real objective is the optimization of social welfare. For algorithmic mechanism design including payments, relevant topics for future research include the following. • From a general perspective, Heydenreich et al. (2007) emphasize the importance of considering other criteria besides efficiency and truthfulness. They mention various definitions of fairness, as in the discussion of matching markets by Roth et al. (2004). Connections with combinatorial auctions (Cramton et al., 2006) are also relevant, especially when the allocation rule involves assigning and timing resources, as in supply chain scheduling. • Kress et al. (2018a) provide a comprehensive overview of the literature of mechanism design for scheduling problems, as well as identifying many open research problems. We refer the reader to their work for many details. A significant and general question is how to achieve a better understanding of the tradeoff between truthfulness on one hand and computational complexity and approximation on the other hand. There also remain many open research questions with respect to supply chain scheduling games defined over classical machine scheduling settings. The literature they review focuses on parallel-machine settings, and it is also of interest to analyze games defined over flowshop, openshop, or jobshop problems. Furthermore, the literature rarely considers general and practical job characteristics such as job release dates or precedence relations. There are also various research opportunities related to emerging applications; interesting ones are described by Kovalyov and Pesch (2014). The topic of risk aversion among the players also presents interesting problems. • A topic that includes several open problems is mechanism design in the presence of multi-dimensional private types. Lavi and Swamy (2009) obtain some initial
9.6 Future Research
659
results of this type. More recently, Kress et al. (2018b) show how to take advantage of problem structure to simplify the conditions of cycle monotonicity. They suggest the use of their results with heuristics for intractable supply chain scheduling problems to construct truthful polynomial-time mechanisms. Another possible research direction is considering players who are risk averse or risk seeking. • Vairaktarakis (2013), as discussed above under complete information settings, also identifies several research issues for supply chain scheduling games with private information. It is unclear under what conditions it would be worthwhile for players to report falsely, since doing so may expose them to considerable risk. In this case, players may respond with strategies that hedge against poor outcomes. • Chen et al. (2016) develop a mechanism for online supply chain scheduling problems with preempt-restart and preempt-resume modes. They mention several possible extensions of their work. One is a study of a hybrid model where some of the jobs are preempt-restart and others are preempt-resume. Strategic issues also arise, for example whether a preempt-resume job can benefit by presenting itself as a preempt-restart job. Finally, motivated by the increasing use of cloud computing, it would be valuable to study supply chain scheduling problems with multiple heterogeneous machines. • Duives et al. (2015) study both one- and two-dimensional private information in a single machine scheduling environment. In the one-dimensional environment, an efficiently computable closed form expression exists for an optimal mechanism design. For the two-dimensional case, an optimal randomized mechanism can be computed in polynomial time (Hoeksma & Uetz, 2016), but the computational complexity of doing so for an optimal deterministic mechanism remains an open problem. To conclude this chapter, the research area of noncooperative supply chain scheduling is very active, with many challenging questions remaining to be solved. Moreover, the economic insights gained from this analysis are in many cases highly valuable for a diverse range of supply chain scheduling applications.
References
Aarts, E., & Lenstra, J. K. (2003). Local search in combinatorial optimization. Princeton, NJ: Princeton University Press. Adiri, I., & Amit, N. (1984). Openshop and flowshop scheduling to minimize sum of completion times. Computers & Operations Research, 11, 275–284. Adiri, I., Bruno, J., Frostig, E., & Rinnooy Kan, A. H. G. (1989) Single machine flow-time scheduling with a single breakdown. Acta Informatica, 26, 679–696. Agnetis, A., Aloulou, M. A., & Fu, L.-L. (2014a) Coordination of production and interstage batch delivery with outsourced distribution. European Journal of Operational Research, 238, 130– 142. Agnetis, A., Billaut, J.-C., Gawiejnowicz, S., Pacciarelli, D., & Soukhal, A. (2014b). Multiagent scheduling: models and algorithms. Berlin, Germany: Springer. Agnetis, A., Briand, C., Billaut, J.-C., & Šucha, P. (2015). Nash equilibria for the multi-agent project scheduling problems with controllable processing times. Journal of Scheduling, 18, 15–27. Agnetis, A., Detti, P., Meloni, C., & Pacciarelli, D. (2001). Set-up coordination between two stages of a supply chain. Annals of Operations Research, 107, 15–32. Agnetis, A., Hall, N. G., & Pacciarelli, D. (2006). Supply chain scheduling: Sequence coordination. Discrete Applied Mathematics, 154, 2044–2063. Agrawal, V., & Seshadri, S. (2000). Joint determination of allocation & the timing of inventories in a supply chain. Working paper, Stern School of Business, New York University. Ahmadi, J. H., Ahmadi, R. H., Dasu, S., & Tang, C. S. (1992). Batching and scheduling jobs on batch and discrete processors. Operations Research, 40, 750–763. Albers, S., & Brucker, P. (1993). The complexity of one-machine batching problems. Discrete Applied Mathematics, 47, 87–107. Alidaee, B., & Ahmadian, A. (1993). Two parallel machine sequencing problems involving controllable job processing times. European Journal of Operational Research, 70, 335–341. Allahverdi, A., Ng, C. T., Cheng, T. C. E., & Kovalyov, M. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, 187(3), 985– 1032. Anderson, E., & Simester, D. (2003). Effects of $9 price endings on retail sales: Evidence from field experiments. Quantitative Marketing and Economics, 1(1), 93–110. Angel, E., Bampis, E., Pascual, F., Tchetgnia, A.-A. (2009). On truthfulness and approximation for scheduling selfish tasks. Journal of Scheduling, 12, 437–445.
© Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9
661
662
References
Angel, E., Bampis, E., Pascual, F., & Thibault, N. (2016). Truthfulness for the sum of weighted completion times. In Computing and Combinatorics (COCOON 2016), Lecture Notes in Computer Science (Vol. 9797, pp. 15–26). Anshlevich, E., Dasgupta, A., Kleinberg, J. M., Tardos, É., Wexler, T., & Roughgarden, T. (2004). The price of stability for network design and fair cost allocation. In 45th Symposium on Foundations of Computer Science (FOCS 2004) (pp. 285–304). Apt, K. R., & Schäfer, G. (2014). Selfishness level of strategic games. Journal of Artificial Intelligence Research, 49, 207–240. Archer, A., & Tardos, É. (2001). Truthful mechanisms for one-parameter agents. In Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science (FOCS’01). Arkin, E. M., & Silverberg, E. B. (1987). Scheduling jobs with fixed start and end times. Discrete Applied Mathematics, 18, 1–8. Armstrong, R., Gao, S., & Lei, L. (2008). A zero-inventory production and distribution problem with a fixed customer sequence. Annals of Operations Research, 159, 395–414. Atay, A., Calleja, P., & Soteras, S. (2019). Open shop scheduling games. Working paper, Hungarian Academy of Sciences, July. Averbakh, I. (2010). On-line integrated production-distribution scheduling problems with capacitated deliveries. European Journal of Operational Research, 200, 377–384. Averbakh, I., & Baysan, M. (2012). Semi-online two-level supply chain scheduling problems. Journal of Scheduling, 15, 381–390. Averbakh, I., & Baysan, M. (2013). Batching and delivery in semi-online distribution systems. Discrete Applied Mathematics, 161, 28–42. Aydinliyim, T., & Vairaktarakis, G. L. (2010). Coordination of outsourced operations to minimize weighted flow time and capacity booking costs. Manufacturing & Service Operations Management, 12(2), 236–255. Aydinliyim, T., & Vairaktarakis, G. L. (2011). Sequencing strategies and coordination issues in outsourcing and contracting operations. Section 12 In K. Kempf, P. Keskinocak, & R. Uzsoy (Eds.), Planning production and inventories in the extended enterprise. International Series in Operations Research and Management Science (Vol. 151, pp. 269–319). New York: Springer. Aydinliyim, T., & Vairaktarakis, G. L. (2013). A cooperative savings game approach to a time sensitive capacity allocation and scheduling problem. Decision Sciences, 44(2), 357–376. Bagchi, T. P., Gupta, J. N. D., & Sriskandarajah, C. (2006). A review of TSP based approaches for flowshop scheduling. European Journal of Operational Research, 169, 816–854. Balcan, M.-F. (2011). Leading dynamics to good behavior. CM SIGecom Exchanges, 10(1), 19–22. Balcan, M.-F., Blum, A., & Mansour, Y. (2009). Improved equilibria via public service advertising. In Proceedings of ACM-SIAM Symposium on Discrete Algorithms (pp. 728–737). Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W., & Vance, P. H. (1998). Branchand-price: Column generation for solving huge integer programs. Operations Research, 46(3), 316–329. Bazaraa, M. S., Sherali, H. D., & Shetty, C. M. (2013). Nonlinear programming: Theory and algorithms (2nd ed.). Hoboken: Wiley. Bazinet, C. G., Kahn, S. A., & Smith, S. J. (1998). Measuring the value of outsourcing. Best’s Review, 99, 85–88. Bean, J. C. G., Birge, J. R., Mittenthal, J., & Noon, C. E. (1991). Matchup scheduling with multiple resources, release dates and disruptions. Operations Research, 39, 470–483. Bergantiños, G., Valencia-Toledo, A., & Vidal-Puga, J. (2018). Hart and Mas-Colell consistency in PERT problems. Discrete Applied Mathematics, 243, 11–20. Berghman, L., & Spieksma, F. C. R. (2015). Valid inequalities for a time-indexed formulation. Operations Research Letters, 43, 268–272. Berghman, L., Spieksma, F. C. R., & t’Kindt, V. (2021). Solving a time-indexed formulation for an unrelated parallel machine scheduling problem by preprocessing and cutting planes. RAIROOperations Research, 55, S1747–S1765. Bertrand, J. W. M., & Sridharan, V. (2001). A study of simple rules for subcontracting in make-toorder manufacturing. European Journal of Operational Research, 128, 509–531.
References
663
Bikhchandani, S., Chatterji, S., Lavi, R., Mu’alem, A., Nisan, N., & Sen, A. (2006). Weak monotonicity characterizes deterministic dominant-strategy implementation. Econometrica, 74(4), 1109–1132. Bilgen, B., & Ozkarahan, I. (2004). Strategic tactical and operational production-distribution models: A review. International Journal of Technology Management, 28, 151–171. Bilò, V., Flammini, M., Monaco, G., & Moscardelli, L. (2016). Some anomalies of farsighted strategic behavior. Theoretical Computer Science, 56(1), 156–180. Bish, E. K., Muriel, A., & Biller, S. (2005). Managing flexible capacity in a make-to-order environment. Management Science, 51, 167–180. Blumenfeld, D. E., Burns, L. D., & Daganzo, C. F. (1991). Synchronizing production and transportation schedules. Transportation Research, Part B, 25, 23–37. Bondareva, O. N. (1963). Some applications of linear programming methods to the theory of cooperative games. Published in Russian. Problemy Kybernetiki, 10, 119–139. Borm, P., Fiestras-Janeiro, G., Hamers, H., Sánchez, E., & Voorneveld, M. (2002). On the convexity of sequencing games with due dates. European Journal of Operational Research, 136, 616–634. Boysen, N., Bock, S., & Fliedner, M. (2013). Scheduling of inventory releasing jobs to satisfy time-varying demand: an analysis of complexity. Journal of Scheduling, 16, 185–198. Boysen, N., Scholl, A., & Wopperer, N. (2012). Resequencing of mixed-model assembly lines: Survey and research agenda. European Journal of Operational Research, 216, 594–604. Brãnzei, R., Ferrari, G., Fragnelli, V., & Tijs, S. (2002). Two approaches to the problem of sharing delay costs in joint projects. Annals of Operations Research, 109, 359–374. Brucker, P. (2013). Scheduling algorithms (4th Ed.). Springer. Bruno, J., Coffman Jr., E. G., & R. Sethi. (1974). Scheduling independent tasks to reduce mean finishing time. Communications of the ACM, 17, 383–387. Bruno, J., & Downey, P. (1978). Complexity of task sequencing with deadlines, set-up times and changeover costs. SIAM Journal on Computing, 7, 393–404. Bukchin, Y., & Hanany, E. (2007). Decentralization cost in scheduling: A game-theoretic approach. Manufaturing & Service Operations Management, 9(3), 263–275. Cachon, G. P. (2003). Supply chain coordination with contracts. In A. G. de Kok, & S. C. Graves (Eds.), Supply chain management: Design, coordination, and operation (Vol. 11, pp. 229–339). Cachon, G. P., & Lariviere, M. A. (1999). Capacity choice and allocation: Strategic behavior and supply chain performance. Management Science, 45, 1091–1108. Cai, X., & Vairaktarakis, G. L. (2012). Coordination of outsourced operations at a third-party facility subject to booking, overtime and tardiness costs. Operations Research, 60(6), 1436– 1450. Calleja, P., Borm, P., Hamers, H., Klin, F., & Slikker, M. (2002). On a new class of parallel sequencing situations and related games. Annals of Operations Research, 109, 265–277. Calma, A., Ho, W., Shao, L., & Li, H. (2021). Operations Research: Topics, impact, and trends from 1952–2019. Operations Research, to appear. Carr, S., & Duenyas, I. (2000). Optimal admission control and sequencing in a make-tostock/make-to-order production system. Operations Research, 48, 709–720. Castro, J., Gómez, D., & Tejada, J. (2007). A project game for PERT networks. Operations Research Letters, 35(6), 791–798. Celik, S., & Maglaras, C. (2008). Dynamic pricing and lead-time quotation for a multiclass maketo-order queue. Management Science, 54(6), 1132–1146. Chand, S., & Schneeberger, H. (1988). Single machine scheduling to minimize weighted earliness subject to no tardy jobs. European Journal of Operational Research, 34, 221–230. Chang, Y.-C., & Lee, C.-Y. (2004). Machine scheduling with job delivery coordination. European Journal of Operational Research, 158, 470–487. Charnsirisakskul, K., Griffin, P.M., & Keskinocak, P. (2006). Pricing and scheduling decisions with leadtime flexibility. European Journal of Operational Research, 171(1) 153–169. Chen, B., & Vestjens, A. P. A. (1997). Scheduling on identical machines: How good is LPT in an on-line setting? Operations Research Letters, 21 165–169.
664
References
Chen, C., & Xu, Y. (2020). The curse of rationality in sequential scheduling games. Working paper arXix:2009:03634v2 (September 2020). Chen, F. (2003). Information sharing and supply chain coordination. In A. G. de Kok, & S. C. Graves (Eds.), Supply chain management: Design, coordination, and operation (Vol. 11 pp. 341–421). Chen, M., & Chen, Z.-L. (2015). Recent developments in dynamic pricing research: multiple products, competition, and limited demand information. Production and Operations Management, 24(5), 704–731. Chen, M., & Chen, Z.-L. (2018). Robust dynamic pricing with two substitutable products. Manufacturing & Service Operations Management, 20 249–268. Chen, X., Hu, X., Liu, T.-Y., Ma, W., Qin, T., Tang, P., Wang, C., & Zheng, B. (2016). Efficient mechanism design for online scheduling. Journal of Artificial Intelligence Research, 56 429– 461. Chen, X., & Simchi-Levi, D. (2012) Pricing and inventory management. In Ö. Özer, R. Phillips (Eds.) The Oxford handbook of pricing management (pp. 784–824). Chen, Z.-L. (2004). Integrated production and distribution operations: Taxonomy, models, and review. In D. Simchi-Levi, S. D. Wu, & Z.-J. Shen (Eds.), Handbook of quantitative supply chain analysis: Modeling in the E-business era. Kluwer Academic Publishers. Chen, Z.-L. (2010). Integrated production and outbound distribution scheduling: Review and extensions. Operations Research, 58, 130–148. Chen, Z.-L., & Hall, N. G. (2007). Supply chain scheduling: Conflict and cooperation in assembly systems. Operations Research, 55, 1072–1089. Chen, Z.-L., & Hall, N. G. (2010). The coordination of pricing and scheduling decisions. Manufacturing & Service Operations Management, 12(1), 77–92. Chen, Z.-L., & Li, C.-L. (2005). Scheduling with subcontracting options. Working Paper. University of Maryland, College Park, MD 20742. Chen, Z.-L., & Li, C.-L. (2008). Scheduling with subcontracting options. IIE Transactions, 40(12), 1171–1184. Chen, Z.-L., & Powell, W. B. (1999a). A column generation based decomposition algorithm for a parallel machine just-in-time scheduling problem. European Journal of Operational Research, 116(1), 220–232. Chen, Z.-L., & Powell, W. B. (1999b). Solving parallel machine scheduling problems by column generation. INFORMS Journal on Computing, 11, 78–94. Chen, Z.-L., & Pundoor, G. (2006). Order assignment and scheduling in a supply chain. Operations Research, 54(3), 555–572. Chen, Z.-L., & Pundoor, G. (2009). Integrated order scheduling and packing. Production and Operations Management, 18(6), 672–692. Chen, Z.-L., & Vairaktarakis, G. L. (2005). Integrated scheduling of production and distribution operations. Management Science, 51, 614–628. Cheng, T. C. E., & Kahlbacher, H. G. (1993). Scheduling with delivery and earliness penalties. Asia-Pacific Journal of Operational Research, 10, 145–152. Cheng, T. C. E., & Liu, Z. (2004). Parallel machine scheduling to minimize the sum of quadratic completion times. IIE Transactions, 36(1), 11–17. Chou, M. C., Queyranne, M., & Simchi-Levi, D. (2006). The asymptotic performance ratio of an on-line algorithm for uniform parallel machine scheduling with release dates. Mathematical Programming, 106(1), 137–157. Chung, D., Lee, K., Shin, K., & Park, J. (2005). A new approach to job shop scheduling problems with due date constraints considering operation subcontracts. International Journal of Production Economics, 98, 238–250. Chvátal, V. (1979). A greedy heuristic for the set covering problem. Mathematics of Operations Research, 4(3), 233–235. Çiftçi, B., Borm, P., & Hamers, H. (2013). Batch sequencing and cooperation. Journal of Scheduling, 16, 405–413.
References
665
Claassen, G. D. H., Gerdessen, J. C., Hendrix, E. M. T., & van der Vorst, J. G. A. J. (2016). On production planning and scheduling in food processing industry: Modelling non-triangular setups and product decay. Computers & Operations Research, 76, 167–182. Clarke, E. H. (1971). Multipart pricing of public goods. Public Choice, 11, 17–33. Coffman, E. G., Jr., & Lueker, G. S. (1991). Probabilistic analysis of packing and partitioning algorithms. John Wiley & Sons Ltd. Cole, R., Correa, J. R., Gkatzelis, V., Mirrokni, V., & Olver, N. (2011). Inner product spaces for minsum coordination mechanisms, In L. Fortnow, & S. P. Vadhan (Eds.), Proceedings of the 43rd ACM Symposium on Theory of Computing (pp. 539–548). Corfman, K. P., & Lehman, D. R. (1993). The importance of others’ welfare in evaluating bargaining outcomes. Journal of Consumer Research, 14, 1–13. Cramton, P., Shoham, Y., & Steinberg, R. (2006). Combinatorial auctions. Cambridge, MA: MIT Press. Craumer, M. (2002). How to think strategically about outsourcing. Harvard Management Update, 7, 4–6. Curiel, I. (2010). Multi-stage sequencing situations. International Journal of Game Theory, 39, 151–162. Curiel, I. (2011). Project management games. International Journal of Game Theory, 13(3), 281– 300. Curiel, I. (2015). Compensation rules for multi-stage sequencing games. Annals of Operations Research, 225, 65–82. Curiel, I., Pederzoli, G., & Tijs, S. (1989). Sequencing games. European Journal of Operational Research, 40, 344–351. Curiel, I., Potters, J., Prasad, R., Tijs, S., & Veltman, B. (1994). Sequencing and cooperation. Operations Research, 42(3), 566–568. Curiel, I., Potters, J., Tijs, V. R., Prasad., S., & Veltman, B. (1993). Cooperation in one-machine scheduling. Zeitschrift für Operations Research, 38, 113–129. Daniels, R.L., & Kouvelis, P. (1995). Robust scheduling to hedge against processing time uncertainty in single-stage production. Management Science, 41(2), 363–376. Dantzig, G.B., & Wolfe, P. (1960). Decomposition principle for linear programs. Operations Research, 8, 101–111. Dawande, M., Geismar, H. N., Hall, N. G., & Sriskandarajah, C. (2006). Supply chain scheduling: Distribution systems. Production and Operations Management, 15, 243–261. de Kok, A. G., & Graves, S. C. (Eds.) (2003). Supply chain management: Design, coordination and operation. Handbooks in Operations Research and Management Science (Vol. 11). Elsevier. Desaulniers, G., Desrosiers, J., & Solomon, M. M. (2010). Column generation. Springer. Dhangwatnotai, P., Dobzinski, S., Gughmi, S., & Roughgarden, T. (2011). Truthful approximation schemes for single-parameter agents. SIAM Journal on Computing, 40(3), 915–933. Dobzinski, S., & Sundararajan, M. (2008). On characterizations of truthful mechanisms for combinatorial auctions and scheduling. In Proceedings of the 9th ACM Conference on Electronic Commerce, Chicago, IL, July. Dragan, I. (2013). Scheduling jobs with a common due date via cooperative game theory. American Journal of Operational Research, 3, 439–443. Driessen, T., Tijs, S. H. (1985). The τ -value, the core and seminconvex games. International Journal of Game Theory, 14, 229–247. Du, J., & Leung, J. Y.-T. (1990). Minimizing total tardiness on one machine is N P -hard. Mathematics of Operations Research, 15(3), 483–495. Duives, J., Heydenreich, B., Mishra, D., Müller, R., & Uetz, M. (2015). On optimal mechanism design for a sequencing problem. Journal of Scheduling, 18, 45–59. Durango-Cohen, E. J., & Yano, C. A. (2006). Supplier commitment and production decisions under a forecast-commitment contract. Management Science, 52(1), 54–67. Eliashberg, J., & Steinberg, R. (1993). Marketing-production joint decision making. In Handbooks in operations research and management science (Vol. 5, pp. 827–880). Amsterdam, Netherlands: Elsevier Science Publishers.
666
References
Elmaghraby, W., & Keskinocak, P. (2003). Dynamic pricing in the presence of inventory considerations: Research overview, current practices, and future directions. Management Science, 49(10), 1287–1309. Engels, D. W., Karger, D. R., Kolliopoulos, S. G., Sengupta, S., Uma, R. N., & Wein, J. (2003). Techniques for scheduling with rejection. Journal of Algorithms, 49, 175–191. Erengüç, S. ¸ S., Simpson, N. C., & Vakharia, A. J. (1999). Integrated production/distribution planning in supply chains. European Journal of Operational Research, 115, 219–236. Estévez-Fernández, A. (2012). A game theoretical approach to sharing penalties and rewards in projects. European Journal of Operational Research, 216(3), 647–657. Estévez-Fernández, A., Borm, P., & Hamers, H. (2007). Project games. International Journal of Game Theory, 36, 149–176. Estévez-Fernández, A., Mosquera, M. A., Borm, P., & Hamers, H. (2008). Proportionate flow shop games. Journal of Scheduling, 11, 433–447. Fang, Q., Zhu, S., Cai, M., & Deng, X. (2002). On computational complexity of membership test in flow games and linear production games. International Journal of Game Theory, 31, 39–45. Farahani, P., Grunow, M., & Günther, H.-O. (2012). Integrated production and distribution planning for perishable food products. Flexible Services and Manufacturing Journal, 24, 28–51. Feldman, M., & Tamir, T. (2012). Conflicting congestion effects in resource allocation games. Operations Research, 60(3), 529–540. Feng, X., Cheng, Y., Zheng, F., & Xu, Y. (2016). Online integrated production-distribution scheduling problems without preemption. Journal of Combinatorial Optimization, 31, 1569– 1585. Fisher, M. L. (1997). What is the right supply chain for your product? Harvard Business Review, 75, 105–117. Fotakis, D., Mavronicolas, M., Kontogiannis, S., & Spiraklis, P. (2002). The structure and complexity of Nash equilibria for a selfish routing game. In: International Colloquium on Automata, Languages, and Programming (ICALP) (pp. 510–519). Berlin: Springer. Frank, R. H., & Parker, I. C. (2004). Microeconomics and behavior (2nd ed.) Boston, MA: McGraw-Hill. Fudenberg, D., & Tirole, J. (1993). Game theory. Cambridge, MA: MIT Press. Garcia, J. M., & Lozano, S. (2004a). Production and delivery scheduling problem with time windows. Computers & Industrial Engineering, 48, 733–742. Garcia, J. M., & Lozano, S. (2004b). Production and vehicle scheduling for ready-mix operations. Computers & Industrial Engineering, 46, 803–816. Garey, M. R., & Johnson, D. S. (1978). “Strong” NP-completeness results: Motivation, examples, and implications. Journal of the ACM, 25(3), 499–508. Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. San Francisco, CA: Freeman. Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1, 117–129. Geismar, H. N., Laporte, G., Lei, L., & Sriskandarajah, C. (2008). The integrated production and transportation scheduling problem for a product with a short lifespan. INFORMS Journal on Computing, 20(1), 21–33. Geismar, H. N., & Murthy, N. M. (2015). Balancing production and distribution in paper manufacturing. Production and Operations Management, 24(7), 1164–1178. Gerichhausen, M., & Hamers, H. (2009). Partitioning sequencing situations and games. European Journal of Operational Research, 196, 207–216. Gharbi, A., & Haouari, M. (2002). Minimizing makespan on parallel machines subject to release dates and delivery times. Journal of Scheduling, 5, 329–355. Gilbert, S. M. (2000). Coordination of pricing and multiple-period production across multiple constant priced goods. Management Science, 46(12), 1602–1616. Gilmore, P. C., & Gomory, R. E. (1964). Sequencing a one state-variable machine: A solvable case of the traveling salesman problem. Operations Research, 12, 655–679.
References
667
Glazer, A., Hassin, R., & Ravner, L. (2018). A strategic model of job assignment to a single machine with earliness and tardiness penalties. IISE Transactions, 50(4), 265–278. Goetschalckx, M., Vidal, C. J., & Dogan, K. (2002). Modeling and design of global logistics systems: A review of integrated strategic and tactical models and design algorithms. European Journal of Operational Research, 143, 1–18. Goldfarb, D., & Liu, S. (1993). An O(n3 L) primal-dual potential reduction algorithm for solving convex quadratic programs. Mathematical Programming, 61, 161–170. Graham, R. L. (1969). Bounds on multiprocessor timing anomalies. SIAM Journal on Applied Mathematics, 17(2), 263–269. Graham, R. L., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287–326. Granot, D., & Huberman, G. (1982). The relationship between convex games and minimal cost spanning tree games: A case for permutationally convex games. SIAM Journal of Algebraic and Discrete Methods, 3, 288–292. Grieco, J. (1988). Realist theory and the problem of international cooperation: Analysis with an amended prisoner’s dilemma model. Journal of Politics, 50, 600–625. Grosvenor, F., & Austin, T. A. (2001). Cisco’s eHub initiative. Supply Chain Management Review July/August 28–35. Groves, T. (1973). Incentives in teams. Econometrica, 41, 617–631. Grundel, S., Çiftçi, B., Borm, P., & Hamers, H. (2013). Family sequencing and cooperation. European Journal of Operational Research, 226, 414–424. Hall, L. A., & Shmoys, D. B. (1989). Approximation algorithms for constrained scheduling problems. In Proceedings of the 30th Annual Symposium on Foundations of Computer Science (pp. 134–140). Hall, L. A., & Shmoys, D. B. (1992). Jackson’s rule for single-machine scheduling: making a good heuristic better. Mathematics of Operations Research, 17, 22–35. Hall, N. G. (1986). Single and multiple processor models for minimizing completion time variance. Naval Research Logistics Quarterly, 33, 49–54 (1986). Hall, N. G. (2016). Research and teaching opportunities in project management. In INFORMS Tutorials in Operations Research, November, 329–388. Available at: https://doi.org/10.1287/ educ.2016.0146 Hall, N. G., Kubiak, W., & Sethi, S. P. (1991). Earliness-tardiness scheduling problems, II: deviation of completion times about a restrictive common due date. Operations Research, 39, 847–856. Hall, N. G., ‘Lesaoana, M. A., & Potts, C. N. (2001). Scheduling with fixed delivery dates. Operations Research, 49, 134–144. Hall, N. G., & Liu, Z. (2010). Capacity allocation and scheduling in supply chains. Operations Research, 58(6), 1711–1725. Hall, N. G., & Liu, Z. (2016). Capacity allocation games without an initial sequence. Operations Research Letters, 44(6), 747–749. Hall, N. G., Liu, Z., & Potts, C. N. (2007). Rescheduling for multiple new orders. INFORMS Journal on Computing, 19(4), 633–645. Hall, N. G., & Posner, M. E. (1991). Earliness-tardiness scheduling problems, I: Weighted deviation of completion times about a common due date. Operations Research, 39(5), 836– 846. Hall, N. G., & Posner, M. E. (2001). Generating experimental data for computational testing with machine scheduling applications. Operations Research, 49(6), 854–865. Hall, N. G., Posner, M. E., & Potts, C. N. (2009). Online scheduling with known arrival times. Mathematics of Operations Research, 34(1), 92–102. Hall, N. G., & Potts, C. N. (2003). Supply chain scheduling: batching and delivery. Operations Research, 51, 566–584. Hall, N. G., & Potts, C. N. (2004). Rescheduling for new orders. Operations Research, 52(3), 440–453.
668
References
Hall, N. G., & Potts, C. N. (2005). The coordination of scheduling and batch deliveries. Annals of Operations Research, 135, 41–64. Hall, N. G., & Potts, C. N. (2010). Rescheduling for job unavailability. Operations Research, 58(3), 746–755. Hall, N. G., & Sriskandarajah, C. (1996). A survey of machine scheduling problems with blocking and no-wait in process. Operations Research, 44, 510–525. Hamers, H., Borm, P., & Tijs, S. (1995). On games corresponding to sequencing situations with ready times. Mathematical Programming, 70, 1–13. Hamers, H., Klijn, F., & Suijs, J. (1999). On the balancedness of multimachine sequencing games. European Journal of Operational Research, 119, 678–691. Hamers, H., Klijn, F., & van Velzen, B. (2002). On the convexity of precedence sequencing games. CentER Discussion Paper 2002–112, Tilburg University, Netherlands. Hamers, H., Suijs, J., Tijs, S., & Borm, P. (1996). The split core for sequencing games. Games and Economics Behavior, 15, 165–176. Han, B., Zhang, W., Lu, X., & Lin, Y. (2015). On-line supply chain scheduling for single-machine and parallel-machine configurations with a single customer: minimizing the makespan and delivery cost. European Journal of Operational Research, 244, 704–714. Harsanyi, J. C. (1981). Solutions for some bargaining games under the Harsanyi-Selten solution theory, part II: analysis of specific bargaining games. Working paper CP-432, Center for Research in Management Sciences, University of California, Berkeley, CA. He, Y., Zhong, W., & Gu, H. (2006). Improved algorithms for two single machine scheduling problems. Theoretical Computer Science, 363, 257–265. Hernandez, A. (1989). Just-in-time manufacturing: A practical approach. Englewood Cliffs, NJ: Prentice-Hall. Heydenreich, B., Müller, R., & Uetz, M. (2007). Games and mechanism design in machine scheduling - An introduction. Production and Operations Management, 16(4), 437–454. Hochbaum, D. S. (Ed.) (1996). Approximation algorithms for NP-hard problems. Boston, MA: PWS Publishing Company. Hochbaum, D. S., & Landy, D. (1997). Scheduling semiconductor burn-in operations to minimize total flowtime. Operations Research, 45, 874–885. Hoefer, M., & Skopalik, A. (2013). Altruism in atomic congestion games. ACM Transactions on Economics and Computation, 1(4), Article 21. Hoeksma, R., & Uetz, M. (2016). Optimal mechanism design for a sequencing problem with twodimensional types. Operations Research, 64(6), 1438–1450. Hoogeveen, J. A., & van de Velde, S. L. (1995). Minimizing total completion-time and maximum cost simultaneously is solvable in polynomial-time. Operations Research Letters, 17, 205–208. Hoogeveen, J. A., & Vestjens, A. P. A. (1996). Optimal on-line algorithms for single-machine scheduling. Lecture Notes in Computer Science, 1084, 404–414. Hoogeveen, J. A., & Vestjens, A. P. A. (2000). A best possible deterministic on-line algorithm for minimizing maximum delivery time on a single machine. SIAM Journal on Discrete Mathematics, 13, 56–63. Hopp, W. J., & Spearman, M. L. (2000). Factory physics(2nd ed.). New York: Irwin McGraw-Hill. Hu, X., Cui, N., & Demeulemeester, E. (2015). Effective expediting to improve project due date and cost performance through buffer management. International Journal of Production Research, 53(5), 1460–1471. Hurter, A. P., & van Buer, M. G. (1996). The newspaper production/distribution problem. Journal of Business Logistics, 17, 85–107. Hurter, A. P., & van Buer, M. G. (1999). Solving the medium newspaper production/distribution problem. European Journal of Operational Research, 115, 237–253. Ibarra, O., & Kim, C. (1977). Heuristic algorithms for scheduling independent tasks on nonidentical processors. Journal of the ACM, 24(2), 280–289. Immorlica, N., Li, L., Mirrokni, V. S., & Schulz, A. (2005). Coordination mechanisms for selfish scheduling. In X. Deng, & Y. Ye (Eds.), Internet and network economics. Lecture Notes in Computer Science (Vol. 3828, pp. 55–69). Berlin, Germany: Springer.
References
669
Iñarra, E., Serrano, R., & Shimomura, K.-I. (2019). The nuclelolus, the kernel and the bargaining set: An update. Working paper series II, 113/19, Departamento de Fundamentos del Análisis Económico, University of the Basque Country, Spain. ˙ Inkaya, T., & Akansel, M. (2017). Coordinated scheduling of the transfer lots in an assembly-type supply chain: a genetic algorithm approach. Journal of Intelligent Manufacturing, 28, 1005– 1015. Ivanov, D., Sokolov, B., & Dolgui, A. (2014). Multi-stage supply chain scheduling with nonpreemptive continuous operations and execution control. International Journal of Production Research, 52(13), 4059–4077. Iyer, A. V., Deshpande, V., & Wu, Z. (2003). A postponement model for demand management. Management Science, 49(8), 983–1002. Jackson, J. R. (1955). Scheduling a production line to minimize maximum tardiness. Research Report 43, Management Science Research Project, University of California, Los Angeles. Ji, M., He, Y., & Cheng, T. C. E. (2007). Batch delivery scheduling with batch delivery cost on a single machine. European Journal of Operational Research, 176, 745–755. Johnson, S. M. (1954). Optimal two and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, 1, 61–67. Kaminsky, P. (2003). The effectiveness of the longest delivery time rule for the flow shop delivery time problem. Naval Research Logistics, 50(3), 257–272. Kaminsky, P., & Kaya, O. (2008). Scheduling and due-date quotation in a make-to-order supply chain. Naval Research Logistics, 55(5), 444–458. Kaminsky, P., & Simchi-Levi, D. (1998). Probabilistic analysis and practical algorithms for the flow shop weighted completion time problem. Operations Research, 46(6), 872–882. Kanet, J. J. (1981). Minimizing the average deviation of job completion times about a common due date. Naval Research Logistics Quarterly, 28(4), 643–652. Kann, V. (1991). Maximum bounded 3-dimensional matching is MAX SNP-complete. Information Processing Letters, 37(1), 27–35. Karp, R. M. (1972). Reducibility among combinatorial problems. In R. E. Miller, & J. W. Thatcher (Eds.), Complexity of computer computations (pp. 85–103). New York: Plenum Press. Kellerer, H., Pferschy, U., & Pisinger, D. (2004). Knapsack problems. Berlin: Springer. Kelley Jr., & Walker, M. R. (1959). Critical-path planning and scheduling. In Proceedings of the Eastern Joint Computer Conference. National Joint Computer Committee (pp. 160–173). New York: ACM. Kergosien, Y., Gendreau, M., & Billaut, J.-C. (2017). A Benders decomposition-based heuristic for a production and outbound distribution scheduling problem with strict delivery constraints. European Journal of Operational Research, 262, 287–298. Kerzner, H. R. (2013). Project management: A systems approach to planning, scheduling, and controlling (11th ed.). Hoboken, NJ: Wiley. Kise, H., Ibaraki, T., & Mine, H. (1979). Performance analysis of six approximation algorithms for the one-machine maximum lateness scheduling problem with ready times. Journal of the Operations Research Society of Japan, 22(3), 205–224. Klastorin, T. D. (2012). Project management: Tools and trade-offs (3rd Pearson, ed.). Upper Saddle River, NJ: Pearson Learning Solutions. Kleinberg, J., & Tardos, É. (2006). Algorithm design. Pearson Education. Klijn, F., & Sánchez, E. (2006). Sequencing games without initial order. Mathematical Methods of Operations Research, 63, 53–62. Kolawa, A. (2004). Outsourcing is not the enemy. Wall Street Journal, Feb. 24, 2004, page B2. Koulamas, C. (2010). The single-machine total tardiness scheduling problem: Review and extensions. European Journal of Operational Research, 202, 1–7. Koulamas, C., Antony, S. R., & Jaen, R. (1994). A survey of simulated annealing applications to operations research problems. Omega, 22, 41–56. Koutsoupias, E. (2014). Scheduling without payments. Theory of Computer Systems, 54, 375–387.
670
References
Koutsoupias, E., & Papadimitriou, C. (1999). Worst-case equilibria. In C. Meinel, & S. Tison (Eds.), STAC 1999, 16th Annual Symposium on Theoretical Aspects of Computer Science. Lecture Notes in Computer Science (Vol. 1563, pp. 404–413). Berlin, Germany: Springer. Kovalyov, M. Y., & Pesch, E. (2014). A game mechanism for single machine sequencing with zero risk. Omega, 44, 104–110. Kreipl, S., & Pinedo, M. (2004). Planning and scheduling in supply chains: An overview of issues in practice. Production and Operations Management, 13(1), 77–92. Kress, D., Meiswinkel, S., & Pesch, E. (2018a). Mechanism design for machine scheduling problems: Classification and literature overview. OR Spectrum, 40, 583–611. Kress, D., Meiswinkel, S., & Pesch, E. (2018b). Incentive compatible mechanisms for scheduling two-parameter jobs on parallel identical machines to minimize the weighted number of late jobs. Discrete Applied Mathematics, 242, 89–101. Kroon, L. G., Salomon, M., & Van Wassenhove, L. N. (1995). Exact and approximation algorithms for the operational fixed interval scheduling problem. European Journal of Operational Research, 82, 190–205. Kunreuther, H., & Schrage, L. (1973). Joint pricing and inventory decisions for constant priced items. Management Science, 19(7), 732–738. Laffont, J. J. (1988). Fundamentals of public economics. Cambridge, MA: The MIT Press. Lane, D. E., & Sidney, J. B. (1993). Batching and scheduling in FMS hubs: flow time considerations. Operations Research, 41, 1091–1103. Lavi, R., & Swamy, C. (2009). Truthful mechanism design for multidimensional scheduling via cycle monotonicity. Games and Economic Behavior, 67(1), 94–124. Lawler, E. L. (1977). A ‘pseudopolynomial’ time algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics, 1, 331–342. Lawler, E. L., & Moore, J. M. (1969). A functional equation and its application to resource allocation and sequencing problems. Management Science, 16(1), 77–84. Le Breton, M., Owen, G., & Weber, S. (1992). Strongly balanced cooperative games. International Journal of Game Theory, 20, 419–427. Ledyard, J. (1997). Public goods: A survey of experimental research. In J. Kagel, & A. Roth (Eds.), Handbook of experimental economics (pp. 111–194). Princeton University Press. Lee, C.-Y., & Chen, Z.-L. (2001). Machine scheduling with transportation considerations. Journal of Scheduling, 4, 3–24. Lee, C.-Y., Cheng, T. C. E., & Lin, B. M. T. (1993). Minimizing the makespan in the 3-machine assembly-type flowshop scheduling problem. Management Science, 39, 616–625. Lee, C.-Y., & Uzsoy, R. (1999). Minimizing makespan on a single batch processing machine with dynamic job arrivals. International Journal of Production Research, 37, 219–236. Lee, C.-Y., Uzsoy, R., & Martin-Vega, L. A. (1992). Efficient algorithms for scheduling semiconductor burn-in operations. Operations Research, 40(4), 764–775. Lee, H. L., Padmanabhan, V., Taylor, T. A., & Wang, S. (2000). Price protection in the personal computer industry. Management Science, 46, 467–482. Lee, H. L., Padmanabhan, V., & Whang, S. J. (1997). Information distortion in a supply chain: The bullwhip effect. Management Science, 43, 546–558. Lee, I. S., & Sung, C. S. (2008a). Minimizing due date related measures for a single machine scheduling problem with outsourcing allowed. European Journal of Operational Research, 186, 931–952. Lee, I. S., & Sung, C. S. (2008b). Single machine scheduling with outsourcing allowed. International Journal of Production Economics, 101, 623–634. Lee, K., & Choi, B.-C. (2011). Two-stage production scheduling with an outsourcing option. European Journal of Operational Research, 213, 489–497. Lee, K., Leung, J.Y.-T., & Pinedo, M. L. (2012). Coordination mechanisms for parallel machine scheduling. European Journal of Operational Research, 220, 305–313. Lee, K. C., & Tse, C. S. (1992). Inventory control at Procter and Gamble, Inc. Undergraduate Thesis, Department of Mechanical and Industrial Engineering, University of Toronto.
References
671
Lehman, D. (2001). The impact of altruism and envy on competitive behavior and satisfaction. International Journal of Research in Marketing, 18, 5–17. Lei, L., Ruszcynski, A., Park, S., & Lui, S. (2006). On the integrated production, inventory and distribution routing problem. IIE Transactions, 38, 955–970. Lejeune, M. (2008). A unified approach for cycle service levels. Technical Report TR-2008-19, The Institute for Integrating Statistics in Decision Sciences, The George Washington University, Washington, DC. Leme, R. P., Syrgkanis, V., & Tardos, É. (2012). The curse of simultaneity. In Proceedings of the 3rd Innovations in Theoretical Computer Science Conference (pp. 60–67). Leng, M., & Parlar, M. (2010). Analytic solution for the nucleolus of a three-player cooperative game. Naval Research Logistics, 57, 667–672. Lenstra, J. K., Rinnooy Kan, A. H. G., & Brucker, P. (1977). Complexity of machine scheduling problems. Annals of Discrete Mathematics, 1, 343–362. Leung, J. Y.-T., & Anderson, J. H. (Eds.) (2004). Handbook of scheduling: Algorithms, models and performance analysis. Chapman & Hall/CRC Press. Leung, J. Y.-T., & Chen, Z.-L. (2013). Integrated production and distribution with fixed delivery departure dates. Operations Research Letters, 41(3), 290–293. Levine, D. (1998). Modeling altruism and spitefulness in experiments. Review of Economic Dynamics, 1, 593–622. Li, C.-L., Vairaktarakis, G., & Lee, C.-Y. (2005a). Machine scheduling with deliveries to multiple customer locations. European Journal of Operational Research, 164, 39–51. Li, F., Chen, Z.-L., & Tang, L. (2017). Integrated production, inventory and delivery problems: Complexity and algorithms. INFORMS Journal on Computing, 29(2), 232–250. Li, K. P., Ganesan, V. K., & Sivakumar, A. I. (2005b). Synchronized scheduling of assembly and multi-destination air-transportation in a consumer electronics supply chain. International Journal of Production Research, 43(13), 2671–2685. Li, K. P., Ganesan, V. K., & Sivakumar, A. I. (2006). Scheduling of single stage assembly with air transportation in a consumer electronics supply chain. Computers & Industrial Engineering, 51, 264–278. Li, K. P., Sivakumar, A. I., & Ganesan, V. K. (2008). Analysis and algorithms for coordinated scheduling of parallel machine manufacturing and 3PL transportation. International Journal of Production Economics, 115(2), 482–491. Li, L. (2002). Information sharing in a supply chain with horizontal competition. Management Science, 48(9), 1196–1212. Liu, L., Qi, X., & Xu, Z. (2018a). Simultaneous penalization and subsidization for stabilizing grand cooperation. Operations Research, 66(5), 1362–1375. Liu, M., Chu, C., Xu, Y., & Zheng, F. (2010). An optimal online algorithm for single machine scheduling with bounded delivery times. European Journal of Operational Research, 201, 693– 700. Liu, P., & Lu, X. (2015). Online scheduling on two parallel machines with release dates and delivery times. Journal of Combinatorial Optimization, 30, 347–359. Liu, Z., Lu, L., & Qi, X. (2012). Simultaneous and sequential price quotations for uncertain order inquiries with production scheduling cost. IIE Transactions, 44, 820–833. Liu, Z., Lu, L., & Qi, X. (2018b). Cost allocation in rescheduling with machine unavailable period. European Journal of Operational Research, 266, 16–28. Liu, Z., Lu, L., & Qi, X. (2020). Price quotation for orders with different due dates. International Journal of Production Economics, 220, 107448. Lu, L., Liu, Z., & Qi, X. (2013). Coordinated price quotation and production scheduling for uncertain order inquiries. IIE Transactions, 45, 1293–1308. Lu, L., Yuan, J., & Zhang, L. (2008). Single machine scheduling with release dates and job delivery to minimize the makespan. Theoretical Computer Science, 393, 102–108. Lu, L., Zhang, L., & Ou, J. (2021). In-house production and outsourcing under different discount schemes on the total outsourcing cost. Annals of Operations Research, 298, 361–374.
672
References
Lu, X., Sitters, R. A., & Stougie, L. (2003). A class of on-line scheduling algorithms to minimize total completion time. Operations Research Letters, 31, 232–236. Mahajan, M., Rama, R., & Sundarrajan, V. (2003). On sorting by 3-bounded transpositions. Electronic Notes in Discrete Mathematics, 15, 117–120. Maniquet, F. (2003). A characterization of the Shapley value in queueing problems. Journal of Economic Theory, 109, 90–103. Manoj, U. V., Gupta, J. N. D., Gupta, S. K., & Sriskandarajah, C. (2008). Supply chain scheduling: Just-in-time environment. Annals of Operations Research, 161, 53–86. Manoj, U. V., Sriskandarajah, C., & Wagneur, E. (2012). Coordination in a two-stage production system: Complexity, conflict and cooperation. Computers & Operations Research, 39, 1245– 1256. Mastrolilli, M. (2003). Efficient approximation schemes for scheduling problems with release dates and delivery times. Journal of Scheduling, 6, 521–531. Melo, R. A., & Wolsey, L. A. (2010). Optimizing production and transportation in a commit-todelivery business mode. European Journal of Operational Research, 203, 614–618. Mishra, D., & Rangarajan, B. (2007). Cost sharing in a job scheduling problem. Social Choice and Welfare, 29, 369–382. Monma, C. L., & Potts, C. N. (1989). On the complexity of scheduling with batch set-up times. Operations Research, 37, 798–804. Moore, J. M. (1968). A n job, one machine sequencing algorithm for minimizing the number of late jobs. Management Science, 15, 102–109. Moore, S., & Gray, K. (2011). GPOs and buying consortiums must be on the radar for 2011–2012. Available online at: https://spendmatters.com/pdf/GPOperspectivespaper.pdf Moses, M., & Seshadri, S. (2000). Policy mechanisms for supply chain coordination. IIE Transactions, 32, 245–262. Munson, C. L., & Jackson, J. (2015). Quantity discounts: an overview and practical guide for buyers and sellers. Foundations and Trends in Technology, Information and Operations Management, 8(12), 1–130. Musegaas, M., Borm, P. E. M., & Quant, M. (2015). Step out-step in sequencing games. European Journal of Operational Research, 246, 894–906. Muto, S., Nakayama, M., Potters, J., & Tijs, S. H. (1988). On big boss games. Economic Studies Quarterly, 39, 302–321. Myerson, R. B. (1981). Optimal auction design. Mathematics of Operations Research, 6(1), 58–73. Myerson, R. B. (1997). Game theory: Analysis of conflict. Cambridge, Massachusetts: Harvard University Press. Nash, J. F. (1950). The bargaining problem. Econometrica, 18, 155–162. Nash, J. F. (1951). Non-cooperative games. The Annals of Mathematics, 54(2), 286–295. Nash J. F. (1953). Two-person cooperative games. Econometrica, 21, 128–140. Naso, D., Surico, M., Turchiano, B., & Kaymak, U. (2007). Genetic algorithms for supply-chain scheduling: A case study in the distribution of ready-mixed concrete. European Journal of Operational Research, 177, 2069–2099. Nellemann, D. O., & Smith, L. F. (1982). Just-in-time vs. just-in-case production systems borrowed back from Japan. Production and Inventory Management, 23, 12–21. Nemhauser, G. L., & Wolsey, L. A. (1988). Integer programming and combinatorial optimization. Chichester: Wiley. Ng, C. T., Cheng, T. C. E., & Kovalyov, M. Y. (2003). Batch scheduling with controllable setup and processing times to minimize total completion time. Journal of the Operational Research Society, 54, 499–506. Ng, C. T., & Lu, L. (2012). On-line integrated production and outbound distribution scheduling to minimize the maximum delivery completion time. Journal of Scheduling, 15, 391–398. Ng, C. T., & Lu, L. (2020). Private communication. December 2020. Ng, C. T. (2021). Private communication. August 2021. Nisan, N., & Ronen, A. (2001). Algorithmic mechanism design. Games and Economic Behavior, 35, 166–196.
References
673
Nisan, N., Roughgarden, T., Tardos, É. Vazirani, V. (Eds.) (2007). Algorithmic game theory. Cambridge, U.K.: Cambridge University Press. Ohno, T. (1988). Toyota production system: Beyond large-scale production. Shelton, CT: Productivity Press, Productivity . Oron, D. (2014). Scheduling controllable processing time jobs in a deteriorating environment. Journal of the Operational Research Society, 65(1), 49–56. Osborne, M. J. (2004). An introduction to game theory. Oxford, U.K.: Oxford University Press. Ouchi, W. G. (1980). Markets, bureaucracies and clans. Administrative Science Quarterly, 25, 129– 142. Owen, G. (1975). On the core of linear production games. Mathematical Programming, 9, 358– 370. Özer, Ö., & Wei, W. (2006). Strategic commitments for an optimal capacity decision under asymmetric forecast information. Management Science, 52(8), 1238–1257. Panwalkar, S. S., Smith, M. L., & Seidmann, A. (1982). Common due date assignment to minimize total penalty for the one machine scheduling problem. Operations Research, 30(2), 391–399. Papadimitriou, C. H., & Steiglitz, K. (1998). Combinatorial optimization: Algorithms and complexity. North Chelmsford, U.K.: Courier Corporation. Parlar, M., & Weng, Z. K. (1997). Designing a firm’s coordinated manufacturing and supply decisions with short product life cycles. Management Science, 43, 1329–1344. Peleg, B., & Sudhölter, P. (2007). Introduction to the theory of cooperative games. Springer. Perakis, G., & Roels, G. (2008). Regret in the newsvendor model with partial information. Operations Research, 56(1), 188–203. Pereira, V., & Costa, H. G. (2015). A literature review on lot size with quantity discounts: 1995– 2013. Journal of Modelling in Management, 10(3), 341–359. Pinedo, M. L. (2016). Scheduling: Theory, algorithms, and systems (5th ed.). Springer. Pinedo, M. L., & Chao, X. L. (1999). Operations scheduling with applications in manufacturing and services (1st ed.). Irwin McGraw-Hill. Porter, R. (2004). Mechanism design for online real-time scheduling. In Proceedings of the 5th ACM Conference on Electronic Commerce (pp. 61–70). Potts, C. N. (1980). Analysis of a heuristic for one machine sequencing with release dates and delivery times. Operations Research, 28, 1436–1441. Potts, C. N., & Kovalyov, M. (2000). Scheduling with batching: a review. European Journal of Operational Research, 120(2), 228–249. Potts, C. N., Sevast’janov, S. V., Strusevich, V. A., Van Wassenhove, L. N., & Zwaneveld, C. M. (1995). The two-stage assembly scheduling problem: complexity and approximation. Operations Research, 43, 346–355. Project Management Institute (2019). Practice Standard for Scheduling (3rd ed.). Project Management Institute (2021). What is project management? Available at: https://www.pmi. org/about/learn-about-pmi/what-is-project-management, last accessed April 14, 2021. Pruhs, K., Sgall, J., & Torng, E. (2004). Online scheduling. In J.Y.-T. Leung (Ed.), Handbook of scheduling: Algorithms, models, and performance analysis, Chapter 15. Boca Raton: CRC Press. Pundoor, G., & Chen, Z.-L. (2005). Scheduling a production-distribution system to optimize the tradeoff between delivery tardiness and total distribution cost. Naval Research Logistics, 52, 571–589. Qi, X. (2008). Coordinated logistics scheduling for in-house production and outsourcing. IEEE Transactions on Automation Science and Engineering, 5, 188–192. Qi, X. (2011). Outsourcing and production scheduling for a two-stage flowshop. International Journal of Production Economics, 129, 43–50. Qi, X. (2012). Production scheduling with subcontracting: the subcontractor’s pricing game. Journal of Scheduling, 15, 773–781. Rajagopalan, S., & Malhotra, A. (2001). Have U.S. manufacturing inventories really decreased? An empirical study. Manufacturing & Service Operations Management, 3, 14–24.
674
References
Rebollo, M., Julian, V., Carrascosa, C., & Botti, V. (2000). A multi-agent system for the automation of a port container terminal. In Proceedings, Agents 2000 Workshop. Ren, J., Du, D., & Xu, D. (2013). The complexity of two supply chain scheduling problems. Information Processing Letters, 113, 609–612. Respício, A., & Captivo, M. E. (2008). Marketing-production interface through an integrated DSS. Journal of Decision Systems, 17, 119–132. Roberts, K. (1979). The characterization of implementable choice rules. In J.-J. Laffont (Ed.), Aggregation and revelation of preferences. North-Holland, Amsterdam, Netherlands. Rochet, J.C. (1987). A necessary and sufficient condition for rationalizability in a quasilinear context. Journal of Mathematical Economics, 16, 191–200. Ross, S. (1998). A first course in probability (5th ed.). Prentice Hall. Roth, A., Sotomayor, M. A. O., & Chesher, A. (Eds.) (2004). Two-sided matching: A study in game theoretic modeling and analysis. Cambridge, MA: Cambridge University Press. Roughgarden, T. (2004). Stackelberg scheduling strategies. SIAM Journal on Computing, 33(2), 332–350. Roughgarden, T., & Tardos, É. (2002). How bad is selfish routing? Journal of the ACM, 49(2), 236–259. Sahin, F., & Robinson, E. P. (2002). Flow coordination and information sharing in supply chains: review, implications, and directions for future research. Decision Sciences, 33(4), 505–536. Saks, M., & Yu, L. (2005). Weak monotonicity suffices for truthfulness on convex domains. In Proceedings of the 6th ACM Conference on Electronic Commerce (pp. 286–293). New York: ACM. Santos, C., & Magazine, M. (1985). Batching in single operation manufacturing systems. Operations Research Letters, 4, 99–103. Sarmiento, A. M., & Nagi, R. (1999). A review of integrated analysis of production-distribution systems. IIE Transactions, 31, 1061–1074. Sawik, T. (2009). Coordinated supply chain scheduling. International Journal of Production Economics, 120, 437–451. Schmeidler, D. (1969). The nucleolus of a characteristic function game. SIAM Journal on Applied Mathematics, 17(6), 1163–1170. Schönhage, A., Paterson, M., & Pippenger, N. (1976). Finding the median. Journal of Computer and System Sciences, 13, 184–199. Schrage, L. (1968). A proof of the optimality of the shortest remaining processing time discipline. Operations Research, 16, 687–690. Schubert, D., Scholz, A., & Wäscher, G. (2018). Integrated order picking and vehicle routing with due dates. OR Spectrum, 40, 1109–1139. Schulz, A. S., & Uhan, N. A. (2010). Sharing supermodular costs. Operations Research, 58(4), 1051–1056. Schummer, J., & Vohra, R. V. (2007). Mechanism design without payment. Chapter 10 In N. Nisan, T. Roughgarden, É. Tardos, & V. Vazirani (Eds.), Algorithmic game theory. Cambridge, U.K.: Cambridge University Press. Schuurman, P., & Woeginger, G. J. (2011). Approximation schemes–a tutorial. In R. H. Möhring, C. N. Potts, A. S. Schulz, G. J. Woeginger, & L. A. Wolsey (Eds.), Lectures on scheduling. Shabtay, D., & Steiner, G. (2007). A survey of scheduling with controllable processing times. Discrete Applied Mathematics, 155(13), 1643–1666. Shakhlevich, N., Hoogeveen, H., & Pinedo, M. (1998). Minimizing total weighted completion time in a proportionate flow shop. Journal of Scheduling, 1(3), 157–168. Shapley, L. S. (1953). A value for n-person games. In Contributions to the theory of games (AM28) (Vol. 11, pp. 307–318). Princeton University Press. Shapley, L. S. (1967). On balanced sets and cores. Naval Research Logistics Quarterly, 14(4), 453–460. Shapley, L. S. (1971). Cores of convex games. International Journal of Game Theory, 1(1), 11–26. Shapley, L. S., & Shubik, M. (1972). The assignment game, I: The core. International Journal of Game Theory, 1(1), 111–130.
References
675
Simchi-Levi, D., Chen, X., & Bramel, J. (2013). The logic of logistics: Theory, algorithms, and applications for logistics management (3rd ed.). Springer. Simchi-Levi, D., Kaminsky, P., & Simchi-Levi, E. (2008). Designing & managing the supply chain: Concepts, strategies and case studies (3rd ed.). McGraw-Hill Book Company. Simchi-Levi, D., Wu, S. D., & Shen, Z.-J. (2004). Handbook of quantitative supply chain analysis: Modeling in the E-business era. Kluwer Academic Publishers. Simon, H. A. (1955). A behavioral model of rational choice. The Quarterly Journal of Economics, 69(1), 99–118. Slikker, M. (2006). Relaxed sequencing games have a nonempty core. Naval Research Logistics, 53, 235–242. Smith, W. E. (1956). Various optimizers for single stage production. Naval Research Logistics Quarterly, 3, 59–66. So, K. C., & Song, J. S. (1998). Price, delivery time guarantees and capacity selection. European Journal of Operational Research, 111(1), 28–49. Sokolov, B., Ivanov, D., & Dolgui, A. (Eds.) (2020). Scheduling in industry 4.0 and cloud manufacturing. Springer. Sousa, J. P., & Wolsey, L. A. (1992). A time indexed formulation of non-preemptive single machine scheduling problems. Mathematical Programming, 54, 353–367. Sriskandarajah, C., & Ladet, P. (1986). Some no-wait shops scheduling problems: Complexity aspects. European Journal of Operational Research, 24, 424–438. Statista (2021). Global market size of outsourced services from 2000 to 2019. Available at: https://www.statista.com/statistics/189788/global-outsourcing-market-size/ Stecke, K. E., & Zhao, X. (2007). Production and transportation integration for a make-to-order manufacturing company with a commit-to-delivery business mode. Manufacturing & Service Operations Management, 9(2), 206–224. Stein, T., & Sweat, J. (1998). Killer supply chains. Information Week. Talluri, K. T., & Van Ryzin, G. (2004). The theory and practice of revenue management. Boston: Kluwer Academic Publishers. Tan, Z., & Zhang, A. (2013). Online and semi-online scheduling. In P. M. Pardalos, D.-Z. Du, & R. L. Graham (Eds.), Handbook of combinatorial optimization (pp. 2192–2252). New York: Springer Press. Tang, C. S. (2010). A review of marketing-operations interface models: From co-existence to coordination and collaboration. International Journal of Production Economics, 1, 22–40. Tang, L., & Gong, H. (2008). A hybrid two-stage transportation and batch scheduling problem. Applied Mathematical Modeling, 52, 2467–2479. Tang, L., Li, F., & Chen, Z.-L. (2019). Integrated scheduling of production and two-stage delivery of make-to-order products: offline and online algorithms. INFORMS Journal on Computing, 31(3), 493–514. Tayur, S., Ganeshan, R., & Magazine, M. (Eds.) (1999). Quantitative models for supply chain management. Kluwer Academic Publishers. The Economist (2001). A long march to mass customisation. The Economist 360(8230), 63. The Standish Group (2020). CHAOS Report. Available at: https://www.standishgroup.com/news/ 45 Thomas, D. J., & Griffin, P. M. (1996). Coordinated supply chain management. European Journal of Operational Research, 94, 1–15. Tian, J., Cheng, T. C. E., Ng, C. T., & Yuan, J. (2012). An improved on-line algorithm for single parallel-batch machine scheduling with delivery times. Discrete Applied Mathematics, 160, 1191–1210. Tian, J., Fu, R., & Yuan, J. (2008). A best on-line algorithm for single machine scheduling with small delivery times. Theoretical Computer Science, 393, 287–293. Tian, J., Fu, R., & Yuan, J. (2011). An on-line algorithm for the single machine unbounded parallel-batching scheduling with large delivery times. Information Processing Letters, 111, 1048–1053.
676
References
Tijs, S. (1981). Bounds for the core of a game and the τ -value. In O. Moeschlin, & D. Pallaschke, Game theory and mathematical economics (pp. 123–132). North-Holland. Tijs, S. H., Parasarathy, T., Potters, J. A. M., & Prasad, V. R. (1984). Permutation games: Another class of totally balanced games. OR Spektrum, 6, 119–123. Toptal, A., Koc, U., & Sabuncuoglu, I. (2014). A joint production and transportation planning problem with heterogeneous vehicles. Journal of the Operational Research Society, 65, 180– 196. Trietsch, D., & Baker, K. R. (1993). Basic techniques for lot streaming. Operations Research, 41, 1065–1076. Tsai, L.-H. (1992). Asymptotic analysis of an algorithm for balanced parallel processor scheduling. SIAM Journal on Computing, 21(1), 59–64. Ullrich, C. A., & Herrmann, J. (2013). The cost cutting potential of supply chain scheduling. Working paper, Department of Business Administration and Economics, Bielefeld University, Germany, February. Available at: https://papers.ssrn.com/sol3/papers.cfm?abstract_id= 1829138 Vairaktarakis, G. L. (2013). Noncooperative games for subcontracting operations. Manufacturing & Service Operations Management, 15(1), 148–158. Van Dal, R., van der Veen, J. A. A., & Sierksma, G. (1993). Small and large TSP: Two polynomially solvable cases of the traveling salesman problem. European Journal of Operational Research, 69, 107–120. Van den Akker, J. M., Hoogeveen, J. A., & Van de Velde, S.L. (1999). Parallel machine scheduling by column generation. Operations Research, 47, 862–872. Van den Akker, J. M., Hurkens, C. A., & Savelsbergh, M. W. (2000). Time-indexed formulations for machine scheduling problems: Column generation. INFORMS Journal on Computing, 12(2), 111–124. Van den Nouweland, A., Krabbenborg, M., & Potters, J. (1992). Flowshops with a dominant machine. European Journal of Operational Research, 62, 38–46. van Velzen, B. (2006). Sequencing games with controllable processing times. European Journal of Operational Research, 172, 64–85. Vazirani, V. V. (2001). Approximation algorithms. New York: Springer. Vazirani, V. V., Nisan, N., Roughgarden, T., & Tardos, É. (2007). Algorithmic game theory. Cambridge, U.K.: Cambridge University Press. Vestjens, A. P. A. (1997). Online machine scheduling. PhD. Thesis, Department of Mathematics and Computing Science, Eindhoven University of Technology, Eindhoven, The Netherlands. Vickrey, W. (1961). Counterspeculation, auctions, and competitive sealed tenders. Journal of Finance, 16, 8–37. Vickson, R. G. (1980). Choosing the job sequence and processing times to minimize total processing plus flow cost on a single machine. Operations Research, 28(5), 1155–1167. Vijayalakshmi, V. R., Schröder, M., & Tamir, T. (2021). Theoretical Computer Science, 855, 90– 103. Voss, S., Martello, S., Osman, I. H., & Roucairol, C. (Eds.) (1999). Meta-heuristics: Advances and trends in local search paradigms for optimization. Springer. Walts, A. (2020). How inventory reduction actually helps you make more money. Available at: https://www.skuvault.com/blog/how-inventory-reduction-actually-helps-you-make-moremoney/ Wan, G., Vakati, S. R., Leung, J. Y.-T., & Pinedo, M. (2010). Scheduling two agents with controllable processing times. European Journal of Operational Research, 205(3), 528–539. Wang, D.-Y., Grunder, O., & El Moundni, A. (2015). Integrated scheduling of production and distribution operations: A review. International Journal of Industrial and Systems Engineering, 19(1), 94–122. Wang, Q., Batta, R., & Szczerba, R. J. (2005). Sequencing the processing of incoming mail to match an outbound truck delivery schedule. Computers & Operations Research, 32, 1777– 1791.
References
677
Wang, S., & Wang, X. (2019). Parallel machine scheduling with pricing and rejection. In 16th International Conference on Service Systems and Service Management (ICSSSM) (pp. 1–5). IEEE. Weng, Z. K. (1995). Channel coordination and quantity discounts. Management Science, 41, 1509– 1522. Williamson, O. E. (1975). Markets and hierarchies. New York: Free Press. Woeginger, G. J. (1994). Heuristics for parallel machine scheduling with delivery times. Acta Informatica, 31, 503–512. Woeginger, G. J. (2000). When does a dynamic programming formulation guarantee the existence of a fully polynomial time approximation scheme (FPTAS)? INFORMS Journal on Computing, 12(1), 57–74. Wu, S. D., Storer, R. H., & Chang, P.-C. (1993). Robust deterministic scheduling in stochastic environments: The method of capacity hedge points. International Journal of Production Research, 35, 369–379. Yang, S., Peng, D., Meng, T., Wu, F., Chen, G., Tang, S., Li, Z., & Luo, T. (2019). On designing distributed auction mechanisms for wireless spectrum allocation. IEEE Transactions on Mobile Computing, 18(9), 2129–2146. Yang, X. (2000). Scheduling with generalized batch delivery dates and earliness penalties. IIE Transactions, 32, 735–741. Yano, C. A., & Gilbert, S. M. (2004). Coordinated pricing and production / procurement decisions: A review. In A. Chakravarty, & J. Eliashberg (Eds.), Managing business interfaces: Marketing, engineering and manufacturing perspectives. Kluwer Academic Publishers. Yeung, W.-K., Choi, T.-M., & Cheng, T. C. E. (2011). Supply chain scheduling and coordination with dual delivery modes and inventory storage cost. International Journal of Production Economics, 132, 223–229. Yuan, J., Li, S., Tian, J., & Fu, R. (2009). A best possible on-line algorithm for the single machine parallel-batch scheduling with restricted delivery times. Journal of Combinatorial Optimization, 17, 206–213. Yue, Q., Chen, Z.-L., & Wan, G. (2019). Integrated pricing and production scheduling of multiple customized products with a common base product. IISE Transactions, 51(12), 1383–1401. Zhang, J., Liu, F., Tang, J., & Li, Y. (2019). The online integrated order picking and delivery considering pickers’ learning effects for an O2O community supermarket. Transportation Research Part E: Logistics and Transportation Review, 123, 180–199. Zhang, L., Lu, L., & Yuan, J. (2009). Single machine scheduling with release dates and rejection. European Journal of Operational Research, 198, 975–978. Zhang, J., Wang, X., & Huang, K. (2018). On-line scheduling of order picking and delivery with multiple zones and limited vehicle capacity. Omega, 79, 104–115. Zhong, W., Chen, Z.-L., & Chen, M. (2010). Integrated production and distribution scheduling with committed delivery dates. Operations Research Letters, 38(2), 133–138. Zhong, W., Dosa, G., & Tan, Z. (2007). On the machine scheduling problem with job delivery coordination. European Journal of Operational Research, 182, 1057–1072.
Index
A Absolute price of anarchy, 550, 552, 554, 561–563 Activation, 564, 585–590, 656 Activity, 1, 32, 55, 443, 446, 456, 503, 505, 506, 509, 512, 514–519, 547, 578–582, 589 Activity-on-arcs, 505, 578, 580 Admissibility, 432, 434, 436, 442, 456, 457, 459, 461, 463, 464, 470, 477, 480, 487, 490, 538, 547 Admissible sequence, 44, 458, 465, 467 Affine maximizer, 634, 635, 637–639 Agent, 1, 3, 19–23, 43, 48, 336, 338, 434, 438, 549 Aggregate planning, 20, 185, 186 Algorithmic mechanism, 22, 551, 619, 630, 633, 647, 655, 658 Allocation algorithm, 523–525, 553, 630–635, 638–643, 651–653 Allocation rule, 46, 449, 450, 460, 480–482, 485, 492, 514, 518, 520, 522, 543, 643, 644, 651, 652, 658 Allowable prices, 187, 188, 205–207, 210–220, 222, 223, 227–229, 231, 238 Almost surely, 41, 42, 264, 351, 352, 376 Alternating schedule, 558 Altruist, 607, 608 Altruistic, 22, 550, 589, 606–608, 610–614, 657 Altruistic game, 606–614 Apparel, 12, 19
Appeal factor (AF), 611 Appliance manufacturers, 10 Approximability, 585, 645 Approximation algorithm, 22, 39, 149, 233–236, 619, 623, 627, 629, 658 Approximation ratio, 625, 626, 658 Artificial initial sequence, 432, 490–497 Assembly, 8, 10, 13, 18, 22, 125, 138, 303–305, 307, 335–377, 420, 428, 430 Assignment, 19, 118–122, 124, 386, 388, 395, 399, 400, 443, 444, 470, 583, 584, 586, 587, 598–602, 609, 624, 649, 650 Asymmetric information, 428, 429, 545, 548 Asymmetry, 6 Asymptotic, 41, 264, 266, 267, 308, 343, 348, 354 Asymptotically optimal, 41, 71, 79, 84, 89, 95, 122, 125, 131, 134, 256, 260, 264–266, 362, 365 Asymptotic analysis, 13, 243, 263, 341, 346, 350, 352 Asymptotic competitive ratio, 43, 152, 154, 183 Asymptotic performance, 11, 40, 41, 43, 82, 243, 255, 256 Asymptotic probabilistic analysis, 41 Auction, 19, 547, 618, 632, 658 Automated storage and retrieval system, 18 Automobile plants, 18 Auxiliary problem, 75–77, 80–83, 93–98, 248, 250, 296–298 Average-case performance, 41
© Springer Nature Switzerland AG 2022 Z.-L. Chen, N. G. Hall, Supply Chain Scheduling, International Series in Operations Research & Management Science 323, https://doi.org/10.1007/978-3-030-90374-9
679
680 B Balanced game, 441, 495, 504 Bargaining, 6, 113, 114, 334–336, 354, 360, 362, 378, 428, 522, 523 Base product, 12, 188, 220–223, 234 Batch delivery, 21, 22, 54, 60, 88, 135, 175, 308, 313, 317, 322, 325, 427 Batch delivery by direct shipping, 58–60, 88 Batch delivery to a single customer, 54, 60, 72–88, 135, 140, 147–168 Batch delivery to multiple customers, 54, 55, 60, 88–102, 135, 140, 168–175 Batch delivery with routing, 59, 88 Bayes-Nash, 552, 650–655 Benefit of cooperation, 304, 306, 308, 331–334, 382, 386, 397–403, 426, 428 Best possible algorithm, 43, 141 Best response, 555, 576, 577, 583, 584, 597, 616, 656, 657 β-rule, 454, 455, 462 Bid, 19, 506, 617, 618, 620–622, 624, 625, 627–629, 632, 642, 643, 645–649 Big boss game, 504, 510–512 Binary NP-hard, 27, 428, 461, 496, 499, 525, 532, 536, 588, 602 Block family, 382, 384–386, 389–391, 398 Bottleneck, 13, 71, 340, 376, 382, 470, 501 Bounded rationality, 594, 657 Branch-and-bound, 29, 31–33, 39, 40, 71, 240, 271, 276 Breakpoint, 503, 546, 604, 605 Buffer, 4, 7, 18, 307, 308, 320, 404–412, 415, 416, 419–425, 429, 430 Burn-in, 144, 467
C Capacity allocation, 5, 15–16, 22, 24, 433, 434, 493–496, 520–536, 545, 547 Capacity planning, 2, 3, 12, 17 Catering, 8, 9 Central authority, 550–553, 556, 589, 600, 614–618, 630, 636, 641, 645, 658 Centralized agent, 1, 3 Centralized decision maker, ix, 2, 3, 241 Centralized supply chain, ix, 5–7, 23, 241, 537, 554, 569, 606 Central planner, 19, 301, 499, 550, 551, 553, 589, 598–601, 609, 642 Central scheduler, 551, 553, 620, 623–625, 627, 641, 642, 644
Index Changeover, 306, 307, 404, 488 Characteristic function, 44–46, 443, 447, 448, 458, 461, 463, 477, 490, 491, 494, 516, 517, 542, 543 Chemical, 7, 8, 20, 378, 404, 480 Cloud computing, 659 Coalition, x, 14, 15, 44–46, 432, 433, 435–445, 447–448, 451, 452, 454–471, 473–475, 477, 478, 480, 481, 484, 485, 487, 489–491, 493–497, 499–502, 505–511, 513, 515, 516, 519, 521, 525–535, 538–543, 546, 549, 657 Coalitional rationality, 437, 449, 500, 539 Column generation, 33, 35–40 Combinatorial auction, 658 Commit-to-deliver, 106, 107 Commit-to-ship, 107 Common due date, 57, 434, 435, 564, 655 Common sequence, 307, 345, 348, 350, 358, 362, 366 Compensation, 44, 362, 367, 399, 403, 433, 481, 482, 484–485, 504, 513, 543, 546, 618, 647, 650, 651 Competition, x, 3, 46, 53, 113, 131, 138, 433, 513 Competitive analysis, 42–43, 146, 158–160, 176, 182, 183 Competitive ratio, 43, 138, 140, 141, 143–145, 149, 150, 152, 154, 157–164, 173, 176, 178, 179, 181, 183, 644, 645 Complete information, 22, 47, 182, 550–616, 655, 656, 659 Completion time, 13, 24, 56, 145, 186, 244, 312, 442, 556 Computational complexity, ix, 5, 25–28, 117, 243, 309, 582, 585, 658, 659 Computer assemblies, 10 Concave cost game, 491 Concession, 441, 442 Concrete, 7, 631 Conflict, x, 4, 6, 12, 15, 18, 22, 303–430, 572 Congestion, 338, 552, 564, 585–589, 599, 606–608, 610, 612, 613, 655–657 Connected component, 447, 448, 455, 457–459, 463, 471, 472, 477, 479 Consistency, 23, 314, 315, 320, 322, 324, 460, 607 Consistent quotation, 217, 220 Consumer electronics, 6, 138 Container port, 19
Index Controllable processing time, 486–489, 577 Convex combination, 397, 399, 452, 453 Convex game, 16, 45, 46, 439, 448, 452, 495, 511 1-Convex game, 504, 507, 508, 510 Convex hull, 452, 453, 519 Cooperative game, x, 15, 16, 29, 43–46, 303, 431–447, 455, 457, 459, 461, 472, 477, 487, 490, 493, 497, 499, 504, 505, 507, 513, 514, 520, 525, 537, 538, 541–543, 545, 547, 549, 657 Cooperative game theory, 15, 29, 43–46, 303, 431, 433, 434, 436, 438, 439, 504, 525 Coordinated pricing and production scheduling (CPPS), 12, 186, 220, 239, 240 Coordinated problem, 12, 203 Coordination, ix, x, 3–4, 6, 7, 9, 11–17, 22, 48, 203, 204, 207–209, 303, 305, 306, 308, 332, 335, 377, 378, 427–429, 527, 534–536, 545, 547, 551, 575–577, 655 Core, 45, 46, 242, 432, 437–, 440, 442, 445, 449, 451–453, 455, 462, 463, 465–469, 473, 477, 478, 482, 484–486, 488–490, 492–500, 504–507, 516, 518–520, 526–536, 539–540, 542, 543, 547, 642, 643 Core allocation, 45, 46, 455, 478, 484, 485, 494, 496, 542, 543 Core emptiness test, 496, 531, 535, 536 Core membership test, 527–529, 535 Core solution, 438, 445, 449, 451–453, 462, 468, 477, 484–486, 489, 490, 492, 499, 519, 520, 527, 542, 543 Cost allocation scheme, 437 Cost game, 45, 491, 492, 504, 515, 516, 518, 520, 610, 611 Cost of conflict, x, 15, 304, 306, 308, 354, 381–388, 390–392, 396, 397, 429 Cost saving, 15–17, 43–46, 306, 336, 367, 370–376, 378, 400, 403, 430, 432, 436, 437, 441, 443, 445, 449, 451, 454, 455, 457, 458, 461–465, 468, 473, 475–477, 481, 482, 487, 490, 536, 538–540, 543 Cost sharing mechanism, 493, 514–516, 518 Crashing, 486, 487, 509, 512, 513, 578–581, 656 Critical sequence, 62–64 Curse of rationality, 596 Customer service, 14, 53, 113, 221, 239, 306, 338, 521 Customization, 9, 221, 222
681 Cutting plane, 501 Cycle time, 393 Cyclic, 381, 393, 639 D Deadlines, 24, 56, 57, 75–77, 105, 107, 108, 110, 112, 182, 184, 210, 244, 307, 335, 366, 488, 602, 642, 643 Decentralized agent, 1, 3, 23, 549 Decentralized decision maker, ix, x, 3, 656 Decentralized supply chain, 6, 14, 23, 243, 303, 304, 433, 549, 552 Decreasing work curve, 647, 648 Delay, 10, 12, 13, 138, 163–167, 173–179, 181, 276, 284, 291, 333, 362, 408, 409, 432, 504, 513–516, 519, 520, 548, 575, 606–608, 610, 612 Delivery characteristics, 57, 58, 125 Delivery date, 10, 21, 107, 506 Delivery deadline, 56, 107, 182 Delivery lead time, 9, 25, 118, 138, 186, 222, 223, 243, 244, 246, 257, 259 Delivery schedule, 6, 20, 22, 37, 54, 56, 67, 79, 87, 100, 108, 119, 121, 122, 133, 153, 161, 165, 170, 172, 242, 289, 303, 312, 325, 386, 387 Delivery sequence, 381, 393 Delivery vehicle, 54, 56, 58, 60, 61, 66, 69, 85, 102, 104, 116, 135, 136, 140, 147, 157, 160, 182, 183 Demand gap, 208 Deterministic truthfulness, 552, 616, 619–623, 630, 641–645 Direct revelation, 618, 619, 630, 634 Direct-revelation mechanism, 618, 619, 630, 634 Direct-sell, 138 Direct shipping, 55, 58–60, 88–96, 99–102, 139, 147, 184 Discount scheme, 242, 292–298 Distributors’ game, 520, 526–528, 535, 536 Dominant decision maker, 378, 389 Dominant power, 370, 390, 395 Dominant strategy equilibrium, 633, 634 Dominant strategy incentive compatible, 633–634, 643 Due date, 2, 24, 56, 184, 185, 244, 307, 435, 553 Dynamic pricing, 188, 221, 238–240 Dynamic program, 72, 198–202, 204, 213, 235, 247, 317, 319, 322, 324, 327, 330, 502, 603
682 Dynamic programming, 14, 28–31, 33, 40, 42, 71, 75, 79, 87, 89, 92, 94, 97, 101, 104, 120, 121, 129, 133, 161, 190, 192, 197, 198, 200, 204, 208, 212, 213, 217, 225–228, 234, 236, 240, 246, 270, 271, 273, 274, 279, 285, 290, 291, 296, 316, 317, 319, 320, 322, 325, 326, 328, 411, 415, 461, 528, 531, 538
E Earliest due date (EDD), 10, 26, 74, 75, 77, 92, 93, 95, 108, 109, 116, 190–192, 204, 273–275, 286–287, 314, 315, 317–319, 322, 324, 325, 327, 328, 330, 337, 350, 351, 373, 383, 384, 389, 391, 538, 561, 562, 603, 604 Earliest Latest Eligible-Departure-Time first (ELEDT), 116, 117 Earliness, 116, 435, 436, 438, 547, 552, 563–569, 655 Earned value management, 514 EDD-LPT, 109 Efficiency, 2, 6, 19, 185, 305, 430, 437, 439–441, 449, 451, 454, 458, 460, 462, 511, 540, 546, 658 Egoist, 606–610 Electronics, 6, 12, 125, 138, 305 Equal gain splitting (EGS), 46, 449–451, 454, 481, 482 Equilibrium, x, 18, 22, 550–551, 554–556, 563–590, 593, 597, 598, 601, 604, 605, 607, 608, 614, 615, 619, 630, 632–634, 656, 658 ERT rule, 296 Expected cost, 556, 566–568, 623–626, 651 Expected net profit, 211 Expected total profit, 210, 214, 218, 219 Expected utility, 48, 555, 556, 619, 650, 651 Expedition, 504, 514–519 Exponential-time algorithm, 26, 39
F Fair cost allocation, 590, 591 False reporting, 540, 617, 618, 620, 622, 625, 638, 641, 642, 644 Family ordered, 489 Family sequencing, 488–489 Fertilizer, 404 Finished goods inventory, 7, 11 First-come first-served (FCFS), 16, 46, 537, 541, 545, 564 Five-field notation, 57, 107, 114, 139
Index Fixed delivery departure date, 54, 59, 60, 102–117, 136, 184 Fixed delivery time, 57, 59, 71 Fixed interval scheduling, 8, 71 Flowshop, 2, 22, 24, 25, 57, 59, 66, 69, 186, 188–193, 196–198, 200, 201, 204, 208, 209, 242, 243, 276–284, 289–292, 325, 337, 376, 405, 434, 442, 446, 470–476, 546, 655, 658 Flow time, 162, 311, 312, 316–317, 320–322, 325–327 Follower, 22, 288, 543, 550, 552, 589, 597, 599, 602 Food, 7–9 Food processing, 8, 378 Full batch, 157, 159, 163, 170, 467 Fully coordinated, 12, 207 Fully polynomial time approximation scheme (FPTAS), 42, 188, 190, 197–203, 224, 233–236, 298, 461
G Gantt chart, 2 General quotation, 217, 218, 220 Genetic algorithm, 8, 40, 428 Glass, 523 Grand coalition, 44, 437–439, 441, 448, 452, 454, 490, 493, 496, 497, 499, 500, 507–510, 516, 521, 526, 528, 529, 531–535, 546, 549 Greedy, 591, 594, 648, 649
H Hessian matrix, 215, 216 Heterogeneous vehicles, 55, 58, 102, 106–117 Heuristic, 2, 39, 62, 140, 190, 243, 304, 488, 634 Holding cost, 11, 17, 24, 306, 308, 312, 333, 378, 381, 386–388, 393–395, 400, 521, 547 Home textile, 8 Homogeneous vehicles, 55, 56, 102–106, 126 Horizontal supply chain, x, 3, 377 Household cleaners, 377
I Identical parallel machines, 24, 86, 125, 244, 245, 248, 249, 501, 554, 558, 561, 585, 587, 590, 627 Imperfect information, 428, 429
Index Incentive, 2, 3, 6, 14, 18, 45, 47, 209, 210, 304, 305, 333–335, 354, 356, 357, 360, 361, 367, 403, 405, 429, 452, 493, 494, 505, 507, 514, 552, 554, 573–575, 584, 617, 622, 623, 630, 633–634, 636, 643, 644, 650–654 Incremental discount, 243, 293–298 Individual and immediate delivery, 54, 55, 58–73, 139–147 Individual rationality, 437, 438, 440, 441, 449, 651–653 Industrial chemicals, 8, 378 In-house facility, 242, 264, 284, 285, 289, 291, 574–577 In-house machine, 243, 244, 248, 250–255, 262, 269, 270, 273, 277, 284–289, 299, 575 In-house plant, 242, 244, 276, 284, 286 In-house production, 12, 241, 245, 246, 253, 257, 258, 289, 299 Integer programming, 29, 33–39, 95, 109, 247, 428 Integrated production and outbound distribution scheduling, ix, 53–184 Interchange cost, 307, 308, 404, 407–412, 416, 421–424, 426 Interference job, 62–65 Intractability, 8, 11, 22, 306–309, 314, 362, 427–429, 495, 497 Inventory, 3, 7–11, 13, 17, 24, 53, 107, 113–115, 185, 186, 190, 221, 292, 305, 306, 334, 338, 377, 378, 380, 381, 386–388, 393–395, 400, 403, 420, 428, 429, 480, 521, 547, 564
J Job, 1, 23, 54, 137, 239, 241, 304, 431, 551 Jobshop, 2, 24, 239, 546, 658 Johnson’s Rule, 191, 192, 201, 204, 277–280, 282, 283, 290, 291 Joint strategy, 607, 610, 611, 614 Joint subcontracting and scheduling, 241–300 Just-in-time, 15, 19, 113–114, 306
K k−lookahead, 594, 597 Kitchen furniture, 18 Knapsack problem, 228, 531
683 L Latency, 598–602, 657 Lateness, 16, 25, 57, 61, 75–77, 89–96, 105, 106, 184, 188–192, 195–198, 204, 208, 209, 243, 285, 286, 337, 338, 348–354, 366, 373–376, 379, 383–385, 389–392, 397, 398, 403, 547 Laundry, 381 Laws of large numbers, 341, 347 Leader, 22, 288, 403, 548, 550, 552, 589, 597–606, 657 Leader-follower game, 552, 589, 597–606 Lead time, 8, 9, 18, 22, 25, 55, 118–120, 138, 186, 222, 223, 242–260, 269, 272, 298, 299, 338, 362 Least core, 438, 493, 497–500 Limited number of vehicles, 21, 55, 66–70, 74, 85–89, 99–102 Linear allocation (LA), 246, 522 Linear decomposition, 36, 446, 469 Linear programming game, 526 Liquid crystal display, 13 Local sequencing rule, 552, 582–585 Logistics, 1, 10, 11, 58, 59, 102, 107, 114, 305, 334, 335, 427, 428, 486, 505 Longest processing time (LPT), 80, 81, 109, 133, 144, 153, 158, 159, 179, 181, 220, 274, 502, 586–588 Lookahead, 594, 597, 657 Lot splitting, 521 Lot streaming, 428 Lower bound, 8, 9, 11, 32, 33, 36, 37, 40, 41, 77, 81, 95, 120–123, 125, 198, 199, 234, 256, 258, 261, 267, 268, 342–344, 347–349, 352, 354, 356, 358, 370–375, 413, 557, 559, 560, 562, 572, 581, 648, 649, 654 LP relaxation, 32, 33, 36–38, 95, 122–124, 247, 248, 257, 260 LP-relaxation problem, 248, 257, 260 LTT rule, 168–171
M Mail, 7, 16, 20, 490 Makespan, 13, 24, 56, 188, 244, 305, 504, 556 Make-to-order, 5, 9–12, 51, 54, 106, 107, 113, 118, 125, 185, 186, 220, 239, 381, 453 Manufacturers’ game, 539 Manufacturing cost, 12, 381 Marginal cost, 437, 491, 637, 638 Marginal value, 437, 438, 441, 442, 452, 507, 636
684 Marginal vector, 452, 486–489 Matching, 557, 562, 583, 584, 658 Materials requirements planning, 2 Maximum delivery time, 54–56, 61–70, 122–127, 131–134, 140–145, 147–160, 168–173 Maximum lateness, 25, 57, 61, 75–77, 89–96, 105, 243, 285, 286, 337, 348–354, 375, 379, 383–385, 389, 390, 403 Maximum tardiness, 9, 243, 269, 273–274, 561 Mechanism, 4, 47, 289, 304, 493, 551 Medication, 9 Metaheuristic, 8 Misreporting, 403 Mixed integer program, 246, 388, 428 Mixed-model, 18, 430 Mixed strategy, 47, 48, 555, 556, 566 Mixed strategy Nash equilibrium, 47, 555, 556 Modular pricing, 188, 221 Monotonicity, 437, 439, 547, 630, 632, 639–641, 644, 652, 654, 659 Multi-agent, 20 Multi-period problem, 187, 217, 220–239 Multiple decision makers, x, 6, 14, 18 Multiple plants, 55, 60, 117–125, 136 Multiple stages, 136, 186, 240, 305, 429 Multi-stage, 18, 20, 217, 428, 434, 443, 480–485, 546
N Nash equilibrium, 47–49, 333, 551, 552, 554–564, 569–573, 575–591, 597, 598, 600, 607–612, 614–616, 650, 651, 655–658 Negotiating power, 397, 403 Negotiation, 335, 403, 428, 429, 438 Net profit, 12, 189, 191, 192, 194–202, 205–209, 211, 227, 523, 524, 578, 579, 603 New product development, 333 Newspapers, 7, 16, 377–379, 382, 397 Nonbottleneck, 335–337 Noncooperative, ix–xi, 5, 7, 14, 22, 29, 43, 46–48, 243, 301, 303, 549–659 Noncooperative game theory, x, ix, 5, 7, 14, 29, 46–49 Nonpreemptive, 10, 21, 152–156, 161, 164–168, 171, 222, 336, 379, 383, 461, 464, 480, 490, 497, 553, 569, 571, 573, 574, 592, 603, 620, 621, 623, 645, 650 Non-preemptive problem, 140, 152–156, 164–168, 171 No-wait, 57, 66, 69, 424, 425
Index No-wait flow shop, 66 NP-complete, 194, 245, 316, 317, 319, 320, 322, 324, 325, 328, 357, 366, 376, 527–529, 535, 564, 580, 583, 610 NP-hard, 26, 61, 140, 188, 243, 379, 461, 588 Nucleolus, 439, 440, 442, 505, 508, 509, 512 Number of late jobs, 56, 243, 285–287, 312, 317–320, 323, 325, 327–330, 428
O Offline algorithm, 42, 43, 139, 181–183 Offline counterpart, 140, 147–149, 157 Online, 10, 24, 54, 138, 214, 299, 453, 594 Online algorithm, 42, 43, 51, 138, 140–142, 144, 145, 147, 149, 150, 152, 157, 158, 160–164, 168, 169, 171, 173, 175, 176, 179, 182–184 On-time, 6, 16, 53, 74, 91, 191, 204, 221, 286–288, 311, 312, 314, 315, 317, 319, 322–325, 328, 330, 332, 513, 519, 538, 568, 603, 604, 642 On-time job, 312, 323, 328, 330, 568 Openshop, 24, 434, 442, 476–478, 658 Optimal anarchy threshold, 610 Optimal basic solution, 124, 248, 260 Optimal offline solution, 150–152, 154, 165, 174, 175, 182 Optimal online algorithm, 43 Optimal schedule, 34, 63, 64, 141, 191, 253, 306, 434, 557 Optimal sequence, 447, 449, 451, 454, 456, 466, 473, 481, 482, 490, 491, 497, 539 Optimal stability threshold, 610 Optimization, x, ix, 4, 5, 15, 21, 22, 25, 28, 31, 35, 40, 78, 239, 243, 301, 303–432, 434, 456, 460, 520, 529, 549, 565, 572, 597, 630, 646, 658 Order based problem, 187, 210–220 Order inquiry, 210–212 Ordinarily NP-hard, 27–29, 37, 42, 70, 79, 89, 96, 117, 122, 135, 190, 194–196, 212, 229, 230, 245, 258, 275, 277, 278, 281, 282, 286, 289, 291, 294, 296, 461 Outbound distribution, ix, 7, 21, 53–134, 137–184 Outsourcing, 3, 5, 13, 17, 22, 434, 537–545, 547, 570–573, 602, 603, 605, 606 Overtime, 16, 386, 397, 537, 538
P Paper manufacturing, 429 Parallel batching, 144
Index Parallel machines, 2, 23–25, 29, 36, 47, 48, 55, 59, 66, 79–85, 96–99, 125, 127, 128, 130, 131, 133, 136, 140, 145–147, 156, 157, 175, 176, 180, 239, 244, 245, 248, 249, 256, 263, 286, 289, 427, 435, 501, 546, 554, 558, 561, 582, 585, 587, 590–593, 616, 623–630, 640, 641, 645, 647, 648, 655, 657, 658 Pareto optimal, 21, 245, 359, 360, 545, 656 Partial batch, 104, 157, 159, 170, 174, 175 Partially coordinated, 12, 203, 207 Partial order, 8, 108, 334, 521–531, 534–536 Partition, 31, 33, 36, 38, 78–80, 98, 192, 194–197, 201, 229, 234, 278, 317, 320, 328, 340, 341, 357, 363, 366, 455–463, 471, 496, 529, 530, 532, 533, 546, 580–582, 588, 589 Partition equal gain sharing (PEGS), 457–459 Partition problem, 36, 38, 193, 194, 229, 278 Partition sequencing, 456–460, 546 Parts suppliers, 22, 303, 428 Payment scheme, 22, 437–440, 449, 551, 552, 616–618, 630, 631, 633–638, 646–649, 651, 653, 654 Payoff vector, 495, 496, 527–530, 532, 533, 535, 536 z-Penalized optimal cost allocation, 500 Penalty, 10, 16, 56, 116, 184, 222–224, 226, 231, 232, 295, 432, 434, 438, 453, 490, 497–504, 506, 513, 514, 520, 538, 540, 546, 558, 564, 575, 577, 607 Penalty-subsidy function, 500, 501, 503, 546 Perishable product, 7, 16, 185, 306, 377 Permutational convexity, 487 Permutation game, 434, 443–444, 465, 486, 546 Permutation schedule, 314, 325, 471, 472 Pessimistic, 491–493, 515, 516 Placement probability, 211–216, 218, 219 Planning system, 13, 14 Player, 43, 304, 432, 551 Polynomially reducible, 27, 74 Polynomially solvable, 26–28, 100, 117, 243, 281–282, 294, 395, 501, 623 Polynomial time, 26, 65, 148, 188, 246, 308, 461, 564 Polynomial-time algorithm, 26–28, 42, 67, 75, 100, 106, 148, 248, 308, 314, 531, 532, 610, 650 Polynomial time approximation scheme, 42, 65, 188, 190, 197–203, 461, 649 Pool point, 11, 125–134, 176–181 Positional penalty, 502, 558, 575, 577
685 Precedence constraints, 64, 65, 299, 485, 509, 512 Preemption, 147, 160–162, 165, 167, 168, 171, 173, 494, 521, 569, 574, 620–623, 645 Preemptive, 140, 149–152, 162–164, 175, 379, 569–571, 621, 642, 643 Preemptive problem, 140, 149–152, 162–164 Preempt-restart, 642–644, 659 Preempt-resume, 642–644, 659 Preventive preemption, 621–623 Price of anarchy, 48, 550–552, 554, 556–563, 589–594, 596, 597, 610, 614, 657 Price of stability, 561, 614, 657, 658 Price quotation, 12, 186, 210, 211, 214, 217–219, 240 Pricing, ix, 3–5, 11–12, 21, 24, 28, 51, 185–240, 547, 597, 602, 605, 657 Pricing-scheduling coordination, 203 Priority rule, 541, 570–574, 643, 656 Priority score, 642, 643 Private information, x, 4, 22, 47, 301, 540, 541, 547, 550–552, 616–656, 659 Probabilistic analysis, 41 Probabilistic assignment, 624 Probabilistic initial sequence, 493–497 Process industry, 378, 404 Product based problem, 187–210 Production planning, 2, 3, 11, 185 Production schedule, 6, 9, 13, 17, 22, 29, 30, 107, 115, 133, 134, 155, 165–167, 170, 174, 221, 223, 244, 303, 305, 379, 400, 429 Profile, 47, 48, 192, 193, 199–201, 407–410, 420–423, 578, 580, 582, 583, 650 Profit gap, 208, 209 Project, 2, 113, 432, 552 Proportional allocation, 522–524 Proportional sharing rule, 586, 588 Proportionate flowshop, 243, 278, 282–284, 442, 446, 471–476 Pseudo polynomial time, 26–29, 37, 42, 190, 194–196, 204, 212, 224–226, 229, 230, 246, 270, 273, 274, 277, 279, 281, 282, 286, 290, 291, 300, 316, 319, 325, 461, 528, 529, 532, 564 Pseudo-polynomial-time algorithm, 26, 27, 190, 194–196, 224, 226, 229, 230, 277, 281, 282, 286, 300, 316 Public information, 578, 590, 620, 631 Pure strategy, 47, 48, 554, 555, 557, 558, 560, 561, 566, 570, 572, 577, 582, 583, 586 Pure strategy Nash equilibrium, 47, 48, 554, 557, 570, 572, 586
686 Q Quadratic program, 215, 216 Quantity discount, 242, 243, 292, 293, 605 Quasilinear, 618
R Radio spectrum, 19 Railcar distribution, 429 Randomization, 551, 616, 619, 648, 649 Randomized mechanism, 552, 619, 620, 623–629, 647, 659 Randomized rounding, 652 Regular cost, 434, 442, 446, 447, 453–456 Relative error, , 197, 260, 339, 341, 343–346, 348–350, 352–354 Relaxed sequencing game, 444, 463–467 Release date, 2, 56, 57, 61, 308, 311–314, 319–321, 331, 546, 553, 642, 655 Rescheduling game, 446, 456–463 Rescheduling problem, 456, 538, 546 Resequencing, 18, 306, 307, 320, 404–427, 429–432, 454, 455, 457, 465, 468, 473, 477, 490, 538, 545 Reservation, 15, 17, 433, 537, 538, 547, 574 Resource allocation, 446, 585 Retailer, 3, 6, 10, 12, 118, 137, 138, 333, 377, 378, 380, 381, 386–388, 393, 429, 480 Revelation principle, 619, 636 Revenue, 6, 12, 28, 54, 56, 57, 59, 71, 72, 186, 188–190, 192, 197, 203–206, 209, 211, 212, 214, 215, 217–219, 221–228, 231–233, 235, 521–523, 525, 535, 536, 570, 589, 603, 604 Reward, 20, 432, 504, 505, 513–519, 547, 563, 577–581 Risk aversion, 660 Rolling horizon, 21, 138, 140, 181, 182, 184, 429 Rule S, 63, 64, 140, 141
S Saturated batch, 164, 166 Scheduling game, 5, 16, 22, 432–434, 437, 438, 461, 467, 468, 478, 489–503, 545, 546, 550–554, 556, 563, 564, 567, 569, 578, 582, 583, 585, 589–591, 593, 594, 597, 614, 616, 623, 624, 627, 632, 633, 639, 640, 649, 653, 657–661 Scheduling situation, 444, 486, 553, 593 SEDD, 93–96
Index Self-interested, ix, 5, 14, 20, 22, 48, 304, 404, 553, 585, 589, 597, 598, 602, 617, 642, 649 Selfish, 550, 551, 589, 590, 598–600, 606, 608, 611, 612, 623, 627 Selfishness level, 610–614, 659 Semiconductor, 15, 144, 433, 537 Semi-online, 184 Sensitivity analysis, 208, 261, 267, 536 Separation problem, 501, 502 SEQC, 217–220 SEQG, 217–220 Sequence-dependent, 488, 538 Sequence-independent, 38, 488, 523, 529 Sequencing, 2, 24, 71, 190, 307, 432, 553 Sequential game, 48, 49, 589–597 Sequential quotation, 12, 188, 210, 214, 217–220 Sequencing game, 16, 22, 44, 46, 431–434, 442–490, 497, 545, 546 Service, 1, 6, 8, 14, 16, 19, 20, 22, 53, 59, 102, 113, 185, 186, 221, 239, 242, 258, 299, 306, 338, 432, 443, 444, 446, 480, 503, 513, 521, 537, 550, 564–566, 569, 611, 615, 634, 641 Set covering, 591 Setup, 6, 13, 18–19, 22, 185, 292, 299, 303, 306, 307, 377–382, 384–386, 388, 390–392, 395–400, 403, 427, 488, 538 Shapley value, 46, 438, 439, 442, 445, 452, 453, 459, 460, 462, 463, 468–470, 474–476, 481, 489, 492, 493, 499, 505, 512, 542 Shifted shortest processing time (SSPT) rule, 161, 162, 164, 175–177 Shipping due date, 93, 95 Shipping with fixed delivery departure dates, 59 Shortest processing time (SPT), 39, 47, 74, 79, 81, 85–87, 97, 99–101, 103, 104, 119–121, 127, 128, 131, 152, 181, 216, 220, 225, 226, 270–272, 285, 314–316, 320, 322, 325, 327, 337, 339, 342, 347, 351, 371, 373, 456, 502, 541, 553–555, 558–560, 570–572, 575–577, 592 Shortest weighted processing time (SWPT), 190, 191, 198, 204, 205, 211, 212, 215, 225, 234, 447, 450, 461, 473, 492, 494, 495, 523–525, 621–623, 638, 640 Short lead time, 8, 18 Short shelf-life, 5, 7–9, 19, 54 σ0 -component additive, 455, 468, 470, 472, 477, 486, 487, 489
Index Simulated annealing, 40, 371, 372 Simultaneous game, 48, 591, 593 Simultaneous quotation, 188, 210, 214–216, 220 Single decision maker, x, ix, 4, 5, 20, 21, 43, 554 Single machine, 2, 23, 59, 156, 189, 245, 309, 434, 566 Single-period problem, 187, 217, 239 Smallest counterexample, 143 Socially optimal, 551, 554, 561, 565, 567, 569, 575, 577, 580, 590, 609, 611, 612, 615, 620, 621, 624, 640, 641, 659, 660 Social optimum, 568, 589, 609–614, 659 Social welfare, 550, 597, 610, 621, 622, 659, 660 Split job, 249–253, 260 Splittable delivery, 59, 114, 115 SRPT rule, 148–151, 161–163, 165, 166, 174, 175 s-shipment, 127, 131, 177, 178 Stability, x, 15, 331, 431–433, 480, 500, 504, 507, 547, 561, 580, 610, 614, 658–660 Stable coalition, 534 Stable equilibrium, 614 Stable game, 16, 45, 480, 481, 551, 611 Stackelberg, 288, 403, 548, 550, 597, 598, 600–602, 606, 659 State space trimming, 197, 234 Steel, 11, 13, 113–115, 125 Storage, 7, 10, 18, 29, 113, 114, 307, 308, 320, 404, 406, 407, 411–424, 426, 427 Strategic behavior, 545, 547 Strong law of large numbers, 42 Strongly NP-hard, 26–28, 33, 37, 39, 42, 61, 62, 69, 70, 77, 78, 96, 100, 116, 117, 119, 127, 135, 136, 140, 149, 157, 161, 168, 173, 239, 245, 497, 501 Strongly polynomial-time algorithm, 26, 248 Strong model of execution, 620 Subcontracting, ix, 4–6, 12–13, 17–18, 22, 24, 241–300, 541, 542, 545, 547, 552, 563, 569–577, 603–606 Subcontracting budget, 243, 269–276 Subcontracting cost, 13, 242–245, 248, 251, 253, 258, 262, 269, 270, 272, 273, 275, 277, 282, 283, 289, 291–299, 605 Subcontractor, 13, 242–247, 250–252, 256–259, 261, 262, 264–269, 272, 284–292, 298, 299, 432, 504, 545, 546, 563, 570, 574–576, 597, 602–606, 659 Subgame perfect equilibrium, 49, 590–594, 597, 658, 659
687 Submodular, 45 Submodularity, 45 Subset sum, 89, 230, 245, 258 Subsidy, 432, 434, 497, 499–503, 546 Sufficient number of vehicles, 55, 58, 59, 61, 73, 76, 85, 183 Sum of weighted completion times, 621 Superadditive, 454, 455, 468, 472, 477, 487, 539 Supermodular, 45, 490, 497, 499 Supermodularity, 45 Supplier, x, 3, 6, 14, 17–19, 22, 113, 114, 303–316, 319, 320, 324–326, 328, 331–343, 345–352, 354–357, 359–362, 364, 366–373, 376, 377, 404–413, 416, 419–426, 428–430, 433, 493, 494, 569, 597 Suppliers’ game, 431, 433, 435, 438 Supply chain, 1, 23, 53, 54, 137, 185, 241, 303, 431, 549 Supply chain performance, 1, 19, 22, 304 Surplus sharing mechanism, 516, 518 Symmetric singleton congestion game, 607, 608, 610, 612, 613 Symmetric strategy, 566, 567 Symmetry, 394, 425, 437, 439–441, 460, 547 System cost, 6, 16, 305, 312, 324, 332, 334, 357, 371, 378, 397, 400, 405, 429, 550, 556, 561, 564, 576, 577, 606
T Tabu search, 11, 40 Tail game, 434, 490–493 Tardiness, 9, 25, 26, 56, 57, 184, 188, 222–227, 230–232, 236, 239, 243, 269, 270, 273–276, 338, 379, 428, 429, 453, 537, 538, 552, 561–569, 602, 603, 605, 657 Task, 470, 497, 504, 513, 514, 516, 578, 579, 581, 625, 627–629 Taxation game, 516, 520 Terminal management, 19 Textile company, 19 Third party, 10, 11, 15, 17, 58, 59, 107, 114, 335, 427, 433, 434, 537–541, 545, 547, 569, 657, 658 Third-party logistics (3PL), 10, 11, 58, 59, 107, 335, 427 Three-field notation, 25 Time-indexed formulation, 33–35 Time window, 11, 19, 56, 71, 113, 114, 538 Total delay time, 163–167, 174–179 Total delivery cost, 82, 157, 164, 165, 167, 291
688 Total delivery time, 30, 34, 35, 55, 59, 79–85, 87, 88, 96–99, 101, 119–122, 126, 127, 129–131, 160–168, 173–175 Total tardiness, 26, 184, 222, 224, 226, 227, 231, 243, 269, 270, 274–276, 338, 379, 428, 453, 561, 562 Transportation cost, 34, 35, 37, 54, 56, 57, 59, 73–85, 96–99, 105–107, 113, 118–123, 126, 127, 131, 156–160, 162, 168–174, 176, 242, 284, 285 Transportation time, 30, 34, 37, 56, 58, 60–62, 66, 69, 73, 81, 89, 103, 124, 126, 141–145, 150, 153, 155, 168, 169, 176, 184, 284, 289, 291, 337, 346, 376, 405 Truckload, 379–381 Truthful algorithm, 47, 551, 620–622, 628, 632 Truthful mechanism, 551, 616, 617, 619–621, 623, 626, 627, 632, 634, 639–641, 648, 651, 660 Truthfulness in expectation, 552, 616, 619, 620, 623, 627, 632, 649–652 Truthful payment scheme, 644, 650 Truthful reporting, 4, 22, 540, 551, 616–618, 620, 626, 632, 635, 638–640, 649 Two-stage flowshop, 243, 276, 282, 284, 289–292 Two stages of job delivery, 60 U Unanimity game, 434, 443–446, 458, 459, 468, 469, 474, 475, 486 Unary NP-hard, 27, 428 Uncertainty sequencing situation, 490 Uniform parallel machines, 558, 582, 627–632, 649, 650 Uniform sharing rule, 585, 586, 590 Unit sequencing game, 464, 465 Universal truthfulness, 552, 619, 620, 647–649 Unrelated parallel machines, 558, 592, 616, 623–627, 630, 640, 641, 659 Unsaturated batch, 163, 166 Upper bound, 40, 41, 77, 120, 130, 145, 198, 202, 227, 228, 261–263, 299, 342, 347, 366, 369–371, 526, 557, 559, 562, 579, 580, 595, 614 Upstream, 307, 335, 404
Index Utility, 46–48, 435, 440, 553–556, 590, 606, 618, 619, 621, 633–635, 638, 639, 642, 647–649, 652, 653, 657 Utilization, 138, 308, 569, 571, 572
V τ -value, 441, 442, 452, 453, 505, 508, 509, 511, 512 Value of coordination, x, 12, 15, 203, 208, 306 Value of integration, 98, 99 Value of partial coordination, 208 Value of subcontracting, 22, 51, 242, 243, 260–269 Vehicle capacity, 56, 58, 75, 77, 79, 81, 89, 92, 95, 99, 135, 136, 150, 153, 155, 169, 377 Vehicle routing, 3, 8, 14, 59, 85, 88, 89, 99, 135, 136, 377 Vertical supply chain, 3 Vickrey–Clarke–Groves (VCG), 636–639, 648, 656 Volume discount, 22 v-shipment, 82, 87, 126–134, 176–180
W Waiting strategy, 141, 149 Weak model of execution, 627–629 Weak monotonicity, 632, 639–641 Weight, 2, 24, 56, 58, 107, 115, 189, 190, 211, 213, 216, 222, 229, 310, 319, 324, 400, 447, 461, 464, 467, 486, 490, 494–497, 500, 521, 553, 620, 622, 640, 654 Work-in-process, 5, 24, 186, 190, 312, 338, 428, 521, 535, 536 Work-in-process inventory, 24, 190, 428, 521 Worst case, 13, 25, 26, 40–43, 48, 51, 62, 64, 65, 79, 82, 83, 97, 109, 112, 124, 125, 131, 140, 146, 149, 182, 240, 243, 255, 260, 277, 294, 296–298, 305, 338, 398, 494, 556, 589, 591, 593, 602, 627, 649 Worst-case analysis, 13, 240, 243 Worst-case performance, 40, 43, 48, 51, 62, 64, 65, 83, 97, 109, 112, 125, 131, 140, 149, 260, 294, 296, 627