Capacity Allocation and Coordination Issues for the Timely Processing of Outsourced Operations
Tolga Aydinliyim Loomba Department of Management Zicklin School of Business Baruch College, City University of New York New York, NY 10010-5585
[email protected]
Xiaoqiang Cai * Department of Systems Engineering and Engineering Management The Chinese University of Hong Kong Shatin, N.T., Hong Kong
[email protected]
George L. Vairaktarakis Department of Operations Weatherhead School of Management Case Western Reserve University Cleveland, OH, 44106-7235
[email protected]
* Corresponding Author. Tel: +852-3943-8321
Capacity Allocation and Coordination Issues for the Timely Processing of Outsourced Operations We consider dynamic capacity booking problems faced by multiple manufacturers each outsourcing certain operations to a common third-party firm. Each manufacturer, upon observing the current state of the third-party schedule, books capacity with the objective to jointly minimize holding costs that result from early deliveries, tardiness penalties due to late deliveries, and third-party capacity booking costs. When making a reservation, each manufacturer evaluates two alternative courses of action: (i) reserving capacity not yet utilized by other manufactures who booked earlier; or (ii) forming a coalition with a subset or all of other manufacturers to achieve a schedule minimizing coalition costs, i.e., a centralized schedule for that coalition. The latter practice surely benefits the coalition as a whole; however, some manufacturers may incur higher costs if their operations are either pushed back too much, or delivered too early. For this reason, a cost allocation scheme making each manufacturer no worse than they would be when acting differently (i.e., participating in a smaller coalition or acting on their own behalf,) must accompany centralized scheduling for the coalition. We model this relationship among the manufacturers as a cooperative game with transferable utility, and present optimal and/or heuristic algorithms to attain individually and coalitionally optimal schedules as well as a linear program formulation to find a core allocation of the manufacturers’ costs.
1
Introduction
Manufacturers at various industries have increasingly utilized outsourcing practices to respond to demand requiring capabilities beyond their immediate competitive priorities. When multiple manufacturers outsource to the same third-party contractor, how the third-party allocates its limited capacity among these manufacturers’ outsourced and time-sensitive jobs becomes a paramount issue. In this paper, we will consider the economics that relate to such outsourcing settings wherein an arbitrary number of manufacturers, who incur earliness and tardiness costs when their jobs are not completed at manufacturer-specific due dates, reserve contractor capacity a third-party makes available at arbitrary booking costs. We will highlight how coordinating the joint booking and scheduling decisions of all, or a subset of, manufacturers can generate cost savings provided the ensuing economic value is distributed equitably among the manufacturers. Examples of the aforementioned outsourcing settings include, but not limited to, how firms within Cisco’s extended supply chain operate wherein third-party contractors accept testing jobs from various manufacturing partners (Aydinliyim and Vairaktarakis, 2010), and the similar operational protocol of the Semiconductor Product Analysis and Design Enhancement (SPADE) Center various semiconductor companies utilize for the analysis and optimization of their designs and 1
products using SPADE’s testing equipments (Cai and Vairaktarakis, 2012). The standard protocol in such outsourcing settings involves the third-party announcing its available production capacity as defined by pre-set manufacturing time windows and the corresponding prices at which these windows can be reserved, followed by the manufacturers booking capacity in a First-Come-FirstServed (FCFS) basis. This protocol limits the booking and scheduling flexibility of manufacturers who arrive later, thus causing third-party capacity to not be utilized in ways that create the most economic value. Consider, for example, the semiconductor manufacturers who rely on fab tool vendors from whom they acquire the tools and equipment required to carry out their operations to respond to demand for chips. The market research firm VLSI Research Inc. reported1 that “[f ]ab tool vendor’s production capabilities [are] tapped out. . . . Worldwide semiconductor equipment bookings amounted to $4.93 billion while equipment revenues reached $4.57 billion in March 2004, for a book-to-bill ratio of 1.08. [In other words] chip equipment production capacity is maxed out, and [thus] most equipment manufacturers have hit lead-time stops and are no longer accepting orders because the delivery date is too far out.” This situation naturally begs the question(s): Can the fab tool manufacturers’ current commitments not be delayed in favor of new jobs that necessitate more immediate capacity? Can one devise an incentive payment scheme to allocate the economic value created by rescheduling jobs among customers who accept high costs due to rescheduling? In this paper, we present algorithms and devise cost allocation schemes to achieve such coordination and generate economic value. Our analytic models address the dynamic capacity booking problems faced by multiple manufacturers who outsource certain operations to a single third-party. Each manufacturer, upon observing the current state of the third-party schedule, books capacity with the objective of jointly minimizing his holding costs that result from early deliveries, tardiness penalties due to late deliveries, and capacity booking costs at the third-party. When making his reservations, each manufacturer has two alternative courses of action: (i) reserving capacity that is not utilized by other manufactures who made their bookings earlier; or (ii) forming a coalition with a subset or all of other manufacturers to achieve a more efficient schedule that minimizes all manufacturers’ costs, i.e., a centralized schedule for the subset. The latter practice surely benefits the coalition as a whole; however, some manufacturers may incur higher costs if their operations are either pushed back too much, or delivered too early. For this reason, a cost allocation scheme making each manufacturer no worse than they would be when acting differently (i.e., participating in a smaller coalition or acting on their own behalf,) must accompany centralized scheduling for the coalition. We model this 1 Fab Tool Vendors’ Capacity Maxed Out, Says VLSI Research. Electronic News (10616624); 4/26/2004, Vol. 50 Issue 17.
2
relationship among the manufacturers as a cooperative game with transferable utility, and present optimal and/or heuristic algorithms to attain individually and coalitionally optimal schedules as well as a linear program formulation to find a core allocation of the manufacturers’ costs.
2
Literature Review
Research at the interface of scheduling and supply chain management has recently gained significant attention in the operations management literature. Most papers in this are have looked at coordination and cooperation issues in various settings, and utilized game theory to address interactions among supply chain members. For a more detailed literature review, we refer the reader to Curiel, Hamers, and Klijn (2002), Hall and Liu (2008), and Aydinliyim and Vairaktarakis (2011). The outsourcing setting we considered in this paper is most similar to the one considered by Aydinliyim and Vairaktarakis (2010) and Cai and Vairaktarakis (2012). The most significant differences are that, in this paper, we considered a more complex objective, namely the sum of booking, earliness and tardiness costs, and hence deriving a closed-form “savings” allocation rule is not possible. Therefore, instead of following the groundwork laid out in the literature for sequencing games (see Curiel, Pederzoli, and Tijs, 1989; Curiel, Potters, Prasad, Tijs, and Veltman, 1994; Calleja, Est´ evez-Fern´ andez, Borm, and Hamers, 2006) we proposed a linear programming formulation to test whether a core “cost” allocation is possible, and if so, generate one such allocation. This requires solving multiple optimization problems for each possible coalition, and we offer algorithms with reasonable computational requirements despite the complexity of the setting we consider. Finally, our methodology can easily be applied to a dynamic setting, wherein cost allocation possibilities are explored every time a new manufacturer request third-party capacity. Our study is also related to prior work that focus on time-sensitive capacity allocation issues. Among these Hain and Mitra (2004) and Hall and Liu (2010) also considered outsourcing settings similar to this work. On the other hand, Bukchin and Hanany (2007), Aydinliyim and Vairaktarakis (2013), and Vairaktarakis (2013) focused on subcontracting settings, where processing at a thirdparty is optional, but not necessary. Another major distinction is that the latter set of papers studied mostly competitive settings, whereas the focus of our paper is coordination by cooperation. Among the ways to achieve coordination across multiple supply chain members is integrating the scheduling decisions made by agents that operate at consecutive supply chain tiers. This issue is of particular attention in the supply chain scheduling literature, most recently by Hall and Potts (2003), Agnetis, Hall, and Pacciarelli, (2006), Dawande, Geismar, Hall, and Sriskandarajah (2006), Chen and Hall (2007), Chen and Li (2008), and Manoj, Sriskandarajah, and Wagneur (2008, 2012).
3
We differ from this research in multiple ways, most notably in the sense that our focus is not only on coordination, but also on finding an equitable allocation of supply chain costs among supply chain members.
3
The Model and Assumptions
We consider set M = {1, . . . , i, . . . , m} of manufacturers each having ni jobs that belong to set Ni = {Ji1 , . . . , Jini }, where N =
S
i∈M
Ni , and each job Jij ∈ Ni requires processing for pij time
units. Each manufacturer, say i, must deliver his jobs in Ni to its customers by due date di , but lacks the capability or the capacity to process them in-house. Consequently, manufacturers outsource jobs in N to a third-party, which we denote by 3P . Reflecting common practice in most outsourcing settings, we assume that 3P permits his capacity to be reserved in increments of fixed time units which, we will henceforth refer to as manufacturing windows. We denote by set Γ = {W1 , . . . , WT } these T manufacturing windows, each of which spans L hours of productive capacity. We also assume there is G hours of downtime between two consecutive windows. In other words, window Wk spans period [Dk − L, Dk ], where Dk = (k − 1)(L + G) + L. We permit cost hk the 3P charges to reserve each window to vary by window to reflect booking cost differences due to peak-demand and low-demand periods and/or weekend rates. The standard practice in the outsourcing settings we consider is what we will refer to as FirstCome-First-Served (FCFS) booking of the 3P ’s capacity by manufacturers. Without loss of generality, we will assume that the manufacturers are indexed according to the timing of their contracting with the 3P . Therefore, manufacturer 1 has all windows in Γ to choose from, whereas manufacturer 2 can only select the windows that are not previously booked by manufacturer 1. Denoting by Γi the set of windows manufacturers reserve from the 3P , FCFS booking dictates that manufacturer i must optimize his schedule by utilizing only Γ \ {Γ1 , . . . , Γi−1 }.
(1)
While making a capacity reservation, manufacturer i would try to find schedule σi that minimizes holding costs due to early deliveries, tardiness penalties due to late deliveries, capacity booking costs at 3P . Regarding earliness and tardiness costs, we assume that manufacturer i aims to ship all the jobs in Ni to its customer at the due date di . Consequently, an early delivery of job Jij ∈ Ni from 3P causes a penalty of αi per time unit to reflect the holding cost manufacturer i incurs until shipping the job to its customer at di . If the 3P delivers job Jij after di , then it would be shipped immediately to manufacturer i’s customer, yet at a penalty of βi per time unit after the due date 4
di . Accounting for these costs in addition to the booking cost hk manufacturer i pays the 3P to utilize part or all of window Wk . Denoting by σi a schedule for the jobs of manufacturer i, by Cij (σi ) the completion time of job Jij according to schedule σi , and by X
T Ci (σi ) =
αi (di − Cij (σi ))+ +
Jij ∈Ni
βi (Cij (σi ) − di )+ +
X Jij ∈Ni
X
hk ,
(2)
Wk ∈Γi ⊆ Γ \ {Γ1 ,...,Γi−1 }
the total cost manufacturer i incurs according to schedule σi , the optimal FCFS schedule for manufacturer i, i.e., σi∗ , satisfies σi∗ = arg min T Ci (σi ).
(3)
σi
In the alternative booking protocol we consider, manufacturer i can form a coalition Si = {1, . . . , i} with others, i.e., manufacturers in Si−1 = {1, . . . , i−1}, who booked earlier. By having the flexibility to utilize windows that are already booked, i.e., Wk ∈ Γ \ {Γ1 , . . . , Γi−1 }, in addition to the windows manufacturer i would optimally book in a FCFS schedule, i.e., Wk ∈ Γi , manufacturer i cannot do any worse individually. Furthermore, the total cost for coalition Si of manufacturers would not increase, either, as the optimal schedule for coalition Si , say σS∗ i , satisfies σS∗ i = arg min σSi
X
T Cm (σSi ).
(4)
m∈Si
In other words, mathematically, the principle of optimality dictates X
∗ T Cm (σm )≥
m∈Si
T Cm (σS∗ i−1 ) + T Ci (σi∗ ) ≥
X
X
T Cm (σS∗ i ).
m∈Si
m∈Si−1
However, the individual costs of some manufacturers in Si−1 may be higher in schedule σS∗ i compared to their individual costs in schedule σS∗ i−1 . And thus, for the coalitionally optimal schedule σS∗ i to be agreeable to all manufacturers in Si , one must find an equitable way to allocate cost P
m∈Si
T Cm (σS∗ i ) among the members of Si .
We propose a cooperative game formulation to test whether there exists an allocation of the total optimal cost
P
m∈Si
T Cm (σS∗ i ), which would convince all manufacturers in {1, . . . , i} to willingly
form Si and schedule their jobs according to σS∗ i . Specifically, we seek {x1 , . . . , xi } that satisfies the following: ∗ xm ≤ T Cm (σm ) ∀m ∈ Si
X m∈Si
xm =
X
T Cm (σS∗ i )
m∈Si
5
(5) (6)
Condition (5) ensures that allocation {x1 , . . . , xi } is individually stable, in other words, each manufacturer in {1, . . . , i} weakly prefers joining Si and following schedule σS∗ i to booking according to an optimal FCFS schedule σi∗ . Condition (6), on the other hand, ensures an efficient allocation, in the sense that all costs are allocated. What conditions (5) and (6) do not achieve is to guarantee that a subset S ⊂ Si of manufacturers would not secede from the Si to coordinate their bookings only among themselves over the windows
S
m∈S
Γm and follow σS∗ . If one also desires to ensure
that the grand coalition Si to be weakly preferable to all smaller coalitions S ⊂ Si , allocation {x1 , . . . , xi } must also satisfy X
xm ≤
m∈S
X
T Cm (σS∗ ) ∀S ⊂ Si .
(7)
m∈S
Next, we propose a linear programming (LP) formulation, which can not only test if an allocation {x1 , . . . , xi } satisfying conditions (5), (6), and (7) exists, but also generate one as a solution if such allocations exist: max
{x1 ,...,xi }
subject to
P
xm
P
xm ≤
m∈Si
m∈S
(8) ∗ m∈S T Cm (σS )
P
∀S ⊆ Si .
Note that the constraint in formulation (8) for all subsets of Si (including Si ), and the maximization objective forces condition (6) to be satisfied by a solution to the LP. Furthermore, as each manufacturer is a 1-member subset coalition of Si , any solution satisfying the LP’s constraint would also satisfy condition (5). Consequently, optimization theory dictates, this LP can be solved in reasonable time requirements provided one can offer methodologies to find the right-hand-side (RHS) values for constraints
P
m∈S
T Cm (σS∗ ).2 In the following two sections, we will describe algorithms
to find and/or approximate these RHS values.
4
Finding the Individually Optimal FCFS Schedules
In this section, we will develop algorithms to find σi∗ , i.e., the optimal schedule for manufacturer i if he is reserving 3P capacity in the FCFS order. Without loss of generality, we will assume that i = 1 and all windows are available. The algorithms work for any i > 1 after setting hk → ∞ for all Wk ∈ {Γ1 , . . . , Γi−1 }. We will also assume–again, without loss of generality–that the jobs in Ni for all manufacturers in M are indexed in non-decreasing order of their processing times, i.e., pi1 ≤ pi2 ≤ pi3 ≤ . . . ≤ pini
∀i ∈ M.
2 One drawback with this approach is that the size of the problem instance for this LP grows exponentially, as the number of constraints is the cardinality of all subsets of Si , i.e., 2i .
6
Note that a schedule σi for manufacturer i has two components, i.e., σi = (πi , Γi ). Here, πi defines a single machine schedule over consecutive windows, i.e., πi ∈ {σi | G = 0; hk = 0 , ∀Wk ∈ Γ}; and Γi , as noted earlier, is the collection of windows over which jobs in Jij ∈ Ni are processed. Knowing πi and Γi , one can calculate the total cost T C(σi ) manufacturer i would incur when following schedule σi . We will begin our analysis by stating some optimal properties for schedule σi∗ . Property 1 In an optimal schedule σi∗ , there is at most one job, say Jˆij , that starts before di and finishes after di . We will henceforth call this job, say Jˆij , the middle job for manufacturer i (if one such job exists). Property 2 In an optimal schedule σi∗ , if there is no middle job then the shortest job of manufacturer i with procession time pi1 either starts or finishes at di . Property 3 An optimal sequence of jobs πi∗ is V-shaped. This means that all jobs that are scheduled before Jˆij are in processed in non-increasing order of their processing times. Similarly, all jobs that follow Jˆij are processed in non-decreasing order of their processing times. Property 4 In an optimal schedule σi∗ , there is no gap between the jobs that are processed in the same window. However, within the first utilized window, the first scheduled job may not be scheduled to start at the beginning of the window. Next, we will invoke these optimal properties to develop a pseudo-time polynomial dynamic program (DP) for the problem of finding schedule σi∗ . We first introduce the following notation: • fis (j, k1 , k2 , t) : Minimum cost of processing the shortest j jobs {Ji1 , . . . , Jij } of manufacturer i when his shortest job Ji1 starts s time units after the beginning of the last utilized window before di ; the total workload processed before di is t; the first utilized window is Wk1 ; and the last utilized window is Wk2 . • M Ttij (Must Tardy): The indicator variable that takes a value of 1 if Jij must be to added to the end of partial sequence of the shortest j − 1 jobs of manufacturer i as a tardy job, and 0 otherwise, i.e.,
M Ttij
1 if = 0
L · | [Γ \ {Γ1 , . . . , Γi−1 }] ∩ {W1 , . . . , Wdˆi } | − t < pij otherwise
7
(9)
• Let dˆi be the subscript of the window that contain di , i.e.,Ddˆi − L < di ≤ Ddˆi . In a partial schedule of the j shortest jobs Ji1 , . . . , Jij of manufacturer i where t units of workload is processed before di , the amount of processing capacity utilized in windows after Wdˆi equals (Pij − t) − (Ddˆi − di ), where Pij is the sum of the processing times of the j shortest jobs in Ni . Consequently, the number of windows (other than Wdˆi ) needed to process this workload is ωtij = d
(Pij − t) − (Ddˆi − di ) L
e.
• T Ntij (Tardy New): The indicator variable that takes a value of 1 if the addition of tardy job Jij to the partial sequence of the shortest j − 1 jobs of manufacturer i requires a new window to be utilized, and 0 otherwise, i.e.,
T Ntij
1 if ω > ω tij tij−1 = 0 otherwise
(10)
where Pij is the sum of the processing times of the j shortest jobs of manufacturer i, i.e., Pij =
P
Jij ∈Ni
pij .
• In a partial schedule of the j shortest jobs Ji1 , . . . , Jij of manufacturer i where t units of workload is processed before di , the amount of processing capacity utilized in windows up to and including Wdˆi equals t − (di − Ddˆi + L). Consequently, the number of windows including Wdˆi needed to process this workload is $tij = d
t − (di − Ddˆi + L) L
e=b
t − (di − Ddˆi ) L
c.
• ENtij (Early New): The indicator variable that takes a value of 1 if the addition of early job Jij to the partial sequence of the shortest j − 1 jobs of manufacturer i requires a new window to be utilized, and 0 otherwise, i.e.,
ENtij
1 if = 0
$tij > $tij−1
(11)
otherwise
• Si : The set of possible start times for the shortest job Ji1 of manufacturer i for all single machine schedules πi . Mathematically, Si = {−(pi1 + pini ) + 1, . . . , (pini − 1)}, thus ensuring the V-Shape property (see Property 3) for an optimal schedule σi∗ is maintained. • SVsij (V-Shape Violation): The indicator variable that takes a value of 1 if there can be no 8
partial schedule of the shortest j jobs of manufacturer i when the shortest job of manufacturer i, i.e., Ji1 starts at s in a single machine schedule πi , i.e.,
SVsij
1 if = 0
di − s − pi1 ≥ pij
(12)
otherwise
We will refer to the DP that finds manufacturer i’s optimal FCFS schedule σi∗ as the Algorithm to Find the Best FCFS Schedule, or A-FCFS in short. Next, using the notation we introduced, we will provide an intuitive explanation of how A-FCFS works. A-FCFS will iteratively construct a schedule where the partial schedule σ ˆi (j) of the j shortest jobs of manufacturer i differs from the partial schedule σ ˆi (j − 1) of the j − 1 shortest jobs of manufacturer i in one of the following ways: 1. Job Jij has to be added to the end of σ ˆi (j − 1), because Jij does not fit into the non-utilized portion of the windows before Wdˆi , i.e., M Ttij = 1. In this case there are two possibilities: (a) A new window needs to be booked for Jij because the idle time in the last booked window of σ ˆi (j − 1) is less than pij , i.e., T Ntij = 1. (b) Jij because the idle time in the last booked window of σ ˆi (j − 1), i.e., T Ntij = 0. 2. Job Jij has to be added to the end of σ ˆi (j − 1), as it does not fit into the non-utilized portion of the windows before Wdˆi , i.e., M Ttij = 1, but the V-shape property (see Property 3) is violated since a job longer than Ji1 finishes before di , SVtij = 1. 3. Job Jij is added to the end of σ ˆi (j − 1) by choice, i.e., M Ttij = 0 but T Ntij = 1, but the V-shape property (see Property 3) is violated since a job loner than Ji1 finishes before di , SVtij = 1. 4. Job Jij may to be added to either the beginning or the end of σ ˆi (j − 1), i.e., M Ttij = 0. Then, one of the following four cases, which best recognizes the trade-off between the three types of costs, is realized: (a) Jij is added to the end of σ ˆi (j −1) and a new window needs to be booked, i.e., T Ntij = 1, and hence the best window later than the last utilized window in σ ˆi (j − 1) is sought for. (b) Jij is added to the end of σ ˆi (j − 1) and it fits the the last utilized window in σ ˆi (j − 1), i.e., T Ntij = 0. (c) Jij is attached to the beginning of σ ˆi (j − 1) and a new window needs to be booked, i.e., ENtij = 1, and hence the best window earlier than the last utilized window in σ ˆi (j − 1) is sought for. 9
(d) Jij is attached to the beginning of σ ˆi (j − 1) and it fits the the first utilized window in σ ˆi (j − 1), i.e., ENtij = 0. Note that, for subcases 4(c) and 4(d) where the j th shortest job is scheduled tardy, the algorithm should verify that the V-shape property is not violated, i.e., SVtij = 0. Using the intuition described above, we next present the recursive relation for A-FCFS. The recursive relation for A-FCFS:
fis (j, k1 , k2 , t) =
min
dˆi