Coordination of Outsourced Operations at a Third ...

4 downloads 0 Views 340KB Size Report
The corresponding statistics for O > 0 are denoted by ∆CO, ∆BO, A+ ..... [6] Calleja, P., Est´evez-Fern´andez, M. A., Borm, P. and Hamers, H. Job Scheduling, Cooperation ..... Schedule jobs in {Jik+1 ,...,Jir } as late as possible in windows in Wf,F.
Submitted to Operations Research manuscript OPRE-2009-04-180.R4

Coordination of Outsourced Operations at a Third-Party Facility Subject to Booking, Overtime, and Tardiness Costs Xiaoqiang Cai Department of Systems Engineering and Engineering Management, The Chinese University of Hong Kong, Shatin, NT, Hong Kong, [email protected]

George L. Vairaktarakis Weatherhead School of Management, Department of Operations, Case Western Reserve University, 10900 Euclid Avenue, Cleveland, OH 44106-7235, [email protected]

We consider an outsourcing problem where a group of manufacturers outsource jobs to a single third-party who owns a specialized facility needed to process these jobs. The third-party announces the time slots available on her facility and the associated prices. Manufacturers reserve, on a first-come-first-book basis, time slots that they desire to utilize. Booking of overtime is possible, at a higher cost. A job completed after its due date incurs a tardiness cost. Each manufacturer books chunks of facility time and sequences his jobs over the time slots booked, so as to minimize his booking, overtime, and tardiness costs. This model captures the main features of outsourcing operations in industries like semiconductor manufacturing, biotechnology, drug R&D, etc. In current practice, the third-party executes all outsourced jobs without performing optimization and coordination. We investigate the issue of the third-party serving as a coordinator to create a win-win solution to all. We propose a model based on a cooperative game as follows: (i) Upon receiving the booking requests from the manufacturers, the third-party derives an optimal solution if manufacturers cooperate, and computes the savings achieved; (ii) She devises a savings sharing scheme so that, in monetary terms, every manufacturer is better off to coordinate than act independently or coalesce with a sub-group of manufacturers; (iii) For her work, the third-party withholds a portion ρ of the booking revenue paid by the manufacturers for time slots that are released after coordination. We further design a truth-telling mechanism, which can prevent any selfinterested manufacturer from purposely reporting false job data so as to take advantage of the coordination scheme. We also show that the mechanism still ensures the (modified) savings sharing distribution to be in the core of the cooperative game. Finally, we perform a large set of simulation to assess the value of coordination to the various parties involved. Subject classifications : Outsourcing; Scheduling and planning; Cooperative game; Truth-telling Mechanism.

1

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

2

1. Introduction and Literature Review Outsourcing has become an important business strategy of many firms today. Unlike large manufacturers of the past century, the most powerful firms of the 21st century are vertically disintegrated – they focus on their internal core competencies and outsource other operations to third parties with specialized facilities. Typical examples include high-tech manufacturing giants like Apple, Dell, Lucent, Cisco, Motorola and others, who outsource or subcontract major parts of their production. The ability of outsorucing is even more critical for small and mid-size enterprises (SME). As emphasized by Holton and Dastmalchi (2008), for SME, “the ability to outsource ... is not just a matter of convenience ...; it is a pre-requisite for survival. Without the ability to farm out their manufacturing..., they simply lack the economies of scale that allow them to effectively compete with their larger competitors.” The main purpose of this article is to develop a model to coordinate the operations outsourced by multiple manufacturers to a single third-party1 (3P). This type of 3P/manufacturer relationship is referred to as sole sourcing in the literature (see Elmaghraby, 2000). The problem we address can be stated as follows. The 3P announces, at time 0, the available time slots of her facility and the associated price of each. The price of a time slot is determined by 3P according to seasonality of demand for her capacity. Overtime can also be requested, subject to a maximum amount and at a higher price. Time slots that are not available to manufacturers are reserved for 3P’s internal production or for prior commitments. Manufacturers are free to book the available time slots on a first-come-first-book (FCFB) basis. Upon entering the system, a manufacturer selects amongst the time slots that are still available, so as to process his jobs at minimum cost. Except for the booking payment, a manufacturer suffers late penalties for his jobs completed after their due-dates, as well as the cost for overtime if such is requested. Evidently, early time slots are always preferred with respect to reducing tardiness penalties. However, early time slots may command a higher booking price and hence the manufacturer may be better off to select a later one of lower booking cost. Alternatively, a manufacturer may opt to buy overtime so as to avoid booking additional time or to reduce his tardiness penalties. After the booking process is completed, 3P knows the reservation by each manufacturer and the schedule of his jobs. The sequential arrivals of manufacturers to the system imply that there is no coordination amongst manufacturers and that significant savings may be possible if she 1

We adopt the usual terminology of “third-party” with the understanding that the “manufacturer” and his “customer” are the other two parties.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

3

coordinates production. This leads to the problem we aim to investigate. Currently the industry practice is that 3P executes the jobs submitted by the manufacturers according to their reservations, without optimization or coordination. Can 3P help reduce costs, re-distribute the resulting savings, and increase the utilization of her capacity? How to prevent self-interested players from taking advantage of the savings sharing scheme, by reporting misleading information ? These and other related questions are what we aim to address in this article. The operational protocol of the Semiconductor Product Analysis and Design Enhancement (SPADE) Center (www.ust.hk/spade) is a typical example that validates the applicability of our model. SPADE provides services to local and nearby semiconductor companies. A group of specialized facilities are available, which can be booked at a cost. Rules of the booking scheme are available in http : //www.ust.hk/spade/pricelist.html, and include the following: (a) Jobs performed on Sundays and public holidays are charged at 2 × basic rate; (b) Jobs performed during non-office hours are charged at 1.5 × basic rate; Rule (a) shows that there are two types of charging rates: basic and weekend rates, corresponding to the regular and peak rates in our model. The office hours of the SPADE Center are: 9:00 a.m. to 5:30 p.m. (Mondays to Fridays) and 9:00 a.m. to 12:00 p.m. (Saturdays). Rule (b) indicates that overtime booking is possible, at an overtime rate. This validates another key feature of our model - the option of overtime. MyUMC (www.umc.com/english/about/j.asp), UMC’s online supply chain portal, is another example that demonstrates how a large semiconductor company provides information sharing and real-time capacity booking to her customers. Founded in 1980 as Taiwan’s first semiconductor company, UMC is now a world-leading semiconductor foundry, specializing in contract manufacturing of customer designed IC’s. To foster close collaboration with her customers as well as partners throughout the entire supply chain, UMC has developed and maintained MyUMC since 1998. This is a full-service information portal, offering her customers 24-hour access to detailed account information such as manufacturing, engineering, design and financial data. In particular, MyUMC’s capacity booking engine ATP (Available to Promise) allows customers to receive instant capacity availability information and to book production capacity in UMC’s fabs online. Evidently, coordinated capacity and production planning opportunities exist within such a framework. To summarize, SPADE’s online reservation system, UMC’s MyUMC, and specialized facilities with an online booking portal (additional examples include, e.g., Bosch Institute’s hybrid PCR machine, aus.calsnet.net/ibr molbiol cal), fall naturally into the framework of our model. Our

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

4

model is also applicable when reservations are made in other formats (e.g., telephone booking, or paper form). While the production and information protocols of many existing systems coincide with the assumptions of our model, there is no evidence that cooperative models and analytical methodologies like those prescribed in this article are utilized, primarily because the literature on production chain cooperation is scarce. The model considered in this article significantly differs from the production scheduling literature in several aspects. First, existing literature carries the common hypothesis that one manufacturer possesses all capacity needed to process all his jobs. Second, our model considers the coordination of activities using incentive payments that render every manufacturer better off by abiding to the coordinated schedule. Third, the limited literature on cooperative sequencing games does not consider facility booking, whereas as we see from SPADE and MyUMC, booking decisions should be considered together with sequencing decisions. The novelty of the proposed approach and the diverse applications provide the opportunity for research on a variety of operational protocols. Only a few papers closely related to ours have appeared recently. Aydinliyim and Vairaktarakis (2010) consider a similar operational protocol but focus on a different problem where the manufacturers are concerned about the weighted flowtime of their jobs. Moreover, overtime (which is one of the most difficult issues to tackle) is not allowed. Because of the difference in the problem, their optimization algorithms and the cooperative game are very different from what we develop here. In particular, the truth-telling mechanism we devise represents a significant new effort to address the information misreporting issue in outsourcing cooperative games. Vairaktarakis and Aydinliyim (2007) consider a problem where a set of players subcontract work to a single 3P who aims to maximize the utilization of her facility. Each player, on the other hand, wants to complete his in-house and subcontracted workload as soon as possible – his main concern is thus how to properly align his in-house production plan with the outsourcing decision, so that his jobs can be finished as quick as possible. Evidently, this model bears no similarity with our model, does not incorporate booking or overtime costs, and the objective of each player is his makespan minimization. The authors propose a game which is found to be convex and propose coordinating schemes. Though a computational experiment, they compute the decentralization cost against the competitive version of the problem studied in Vairaktarakis (2008). Hall and Liu (2010) consider a different protocol that involves bidding, which concerns a maketo-order supply chain where the manufacturers have insufficient production capacity to process all

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

5

orders and hence use bidding strategies to book the capacity available at a single 3P. The authors study the issue of coordination through incentive payments for cases where such scheme is possible and tractable. Significant results are obtained based on the game-theoretic model. Another related body of literature deals with sequencing games. Curiel et al. (1989) first consider such a problem, where each player wishes to optimize a weighted flowtime objective on a single machine. They show that the corresponding game is convex under some conditions, which implies that the core is guaranteed to be non-empty (see Gillies(1959) and Shapley (1971) for the concept of core). For arbitrary regular objective function and a class of σ0 -Component Additive Games, Curiel et al. (1994) prove that the core is non-empty and propose one such core element. Hamers, Borm and Tijs (1995) consider the case with job release times, and show that these games are not convex except when all jobs have unit processing times or unit weights. Borm et al. (2002) consider the case with due dates. For three due-date based criteria they show that the core is non-empty and prove convexity for a special subclass. Hamers et al. (2002) study precedence constraints on the jobs and prove that the corresponding games are convex, if the precedence relations are parallel chains. Calleja et al. (2004) consider a model where each job might be of interest to many players. They show that the core is non-empty if the underlying cost functions are additive with respect to the initial order of jobs. Hamers et al. (1999) investigate games with m parallel identical machines. Calleja et al. (2002) consider a multi-machine problem where every player has two operations, each to be processed on a specific machine, and the objective is to minimize the maximum weighted completion time. Curiel et al. (2002) present a survey of sequencing games that includes most of the aforementioned articles. The above literature deals with cooperation as a means of achieving centralized benefits. Alternatively, one may choose competition as a vehicle for coordination. However, this type of literature is at its infancy. In Bukchin and Hanany (2007), each player’s objective is the sum of completion times of his jobs. They model competition on a single machine assuming infinite capacity and constant unit production cost for the remaining work. The authors measure the difference between the centralized cost and the overall cost resulted from competition, Also, they provide an incentive rule that causes players to mimic the centralized strategies. Agnetis et al. (2004) consider a scheduling problem between two agents, each competing to perform their respective jobs on a common processing resource. Leung, Pinedo, and Wan (2010) generalize this problem to the case with multiple machines. Relationships between two-agent scheduling problems and other areas such as rescheduling and scheduling subject to availability constraints are established.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

6

The remainder of this article is organized as follows. We start the next section with a formal description of our model together with supporting assumptions. Algorithms are presented in Section 3 for computing the optimal booking and sequencing decisions. In Section 4 the savings sharing scheme is described. The truth-telling mechanism is presented in Section 5. In Section 6 we report our findings on the value of coordination. Concluding remarks are made in Section 7. The online appendices include our results on: (i) the total number of tardy jobs; (ii) the total weighted tardiness cost; (iii) an algorithm that computes the savings of any coalition; and (iv) a counterexample to show the non-convexity of the cooperative game.

2. Model and Assumptions We consider the following problem: Let M be a group of manufacturers and 3P a single third-party. Each m ∈ M outsources to 3P a set Nm of operations (jobs) according to the following protocol: At time 0, 3P announces a set of K available time slots [at , bt ] as well as the associated booking prices ht , t = 1, 2, . . . , K. Let Wt = [at , bt ] denote the t-th time slot; also referred to as the t-th manufacturing window. If Wt is reserved, an amount Ot of overtime can be booked at a unit rate ¯ t time units. Then, following the announced availability of 3P, each m ∈ M books a αt for up to O subset of windows Wm ⊆ {1, 2, . . . , K } and the amount of overtime of each, and schedules his jobs P over the time slots booked, so as to minimize the total booking cost t∈Wm ht , plus a tardiness penalty βj for each job j completed after its due-date dj , plus overtime cost. Let σ0 denote the concatenation of the initial schedules of all manufacturers m ∈ M on 3P’s facility. Without loss of generality, we assume that every m ∈ M determines his manufacturing windows Wm at time 0, 3P replaces the original schedule σ0 with the coordinated schedule, say σ ∗ , at

time 0, and the resulting schedule σ ∗ is executed starting at time 0. This assumption is made for notational simplicity only. In reality, at time 0, 3P announces her availability following a future time t0 . Between time 0 and t0 , manufacturers reserve capacity amongst the available time windows in a first-come-first-book (FCFB) fashion, say 1, 2, . . . , |M |. Then, Wm ⊆ {1, 2, . . . , K } − W1 − · · · − Wm−1

f or m ∈ M.

Each manufacturer schedules his own jobs over the windows that he has booked. The overall initial schedule σ0 is the natural outcome of concatenating the schedules of all manufacturers. Then, at time t0 , 3P reschedules all jobs so as to maximize the savings for players in M as a whole, thus forming the overall optimal schedule σ ∗ . Without loss of generality we assume that all activities that take place during the booking interval [0, t0 ] happen instantaneously at time 0 (i.e., assume t0 = 0). Similarly, we assume that all jobs in N = ∪m∈M Nm are available at time 0.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

7

Each job j ∈ N requires a processing time pj at 3P’s facility. We assume that the total processing requirements of jobs in Nm do not exceed the available capacity. Otherwise manufacturer m has to seek service elsewhere. We assume that the setup required between jobs is either negligible or included in the processing times. Moreover, we assume: 1. All windows Wt = [at , bt ] have the same amount of available capacity, i.e., L = bt − at for t = 1, 2, . . . , K, for given integer L. The processing times pi and the due dates di are integer. 2. Every job may halt at the end of a manufacturing window and resume in a subsequent one. 3. The booking cost ht may only take on the value h or hP , where h is the booking cost on a regular demand day while hP is the cost on a peak demand day, with hP > h. ¯t = O ¯ of maximum available overtime. 4. Window Wt : t = 1, 2, . . . , K has O 5. One unit of overtime production during Wt costs αt dollars, αt > ht /L and at ∈ {α, αP }, where α and αP are the overtime rates for regular windows and peak windows, respectively. 6. For every job j ∈ Nm , its due-date dj coincides with the end of a manufacturing window. Introducing the assumptions makes our model more presentable without sacrificing applicability. Assumption 1 reflects the reality that in practice, capacity bookings are made in multiples of a basic time unit (e.g., hour). Assumption 2 captures common practice where operations halted may resume between shifts. Assumption 3 allows 3P to segment her capacity so as to charge a premium during peak demand periods. Assumption 4 captures typical overtime limits utilized in industry. Assumption 5 allows a higher unit overtime cost αP on a peak production window. Assumption 6 is in line with the practice where jobs are delivered in batches at the end of each shift. The optimization problem faced by each manufacturer and by 3P is the same except for windows available and the jobs to be scheduled. For simplicity, when we present our results on the optimal booking and sequencing decisions, we limit our presentation to the problem faced by 3P where a collection of windows from {1, 2, . . . , K } and a sequence σ to process the jobs in N = ∪m∈M Nm are sought so that the total booking and overtime cost plus the overall tardiness penalty is minimized. We denote this as 3P model with overtime production or (OP). Without loss of generality, we can pre-process the parameters at , bt : 1 ≤ t ≤ K and dj : j ∈ N so as to obtain an equivalent problem where all manufacturing windows available are consecutive, i.e., ¯ t ] is the amount of overtime booked in window bt + Ot = at+1 , t = 1, 2, . . . , K − 1, where Ot ∈ [0, O Wt . Indeed, consider the transformation a0t = (t − 1)L +

t−1 X k=1

Ok , b0t = tL +

t X

Ok f or t = 1, 2, . . . , K, and d0j = b0tj f or j ∈ N,

(1)

k=1

where tj is the window at the end of which job j is due. Then, all manufacturing windows available

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

8

are consecutive. In the rest of this article we will assume that the parameters at , bt for t = 1, 2, . . . , K and dj for j ∈ N already satisfy (1). Although the model we describe above assumes only two kinds of booking costs: h and hP , we can relax this assumption by allowing arbitrary booking rates. This will be studied in Section 3.3. Lastly, we note that our study here is applicable to other tardiness-based criteria. We will focus on the problem where each tardy job i incurs a fixed but job-dependent tardiness penalty βi . The problem to minimize the total number of tardy jobs, and the problem to minimize the total cost of tardy jobs, will be presented in Appendices 1 and 2, respectively.

3. Optimal Booking and Sequencing In this section we develop several efficient algorithms to determine optimal booking and sequencing decisions to process jobs under consideration. We first present the following properties that form the basis of our algorithms. Property 1. There exists an optimal set of windows WO? for the problem (OP) such that the following properties hold: i) If Wc is the last peak window booked in WO? , then all its preceding peak windows are also booked. ii) If a regular window is booked in WO? , all earlier regular windows are also booked. If WO? contains no peak window, then it includes the earliest regular windows sufficient to process all jobs. iii) Regular production of all windows in WO? except possibly the last one is fully occupied. ¯ iv) If αP = α and a window in WO? utilizes overtime, then all preceding windows utilize amount O of overtime. v) If αP > α, at most one window with booking cost hP (h) may utilize overtime partially; all ¯ of overtime. preceding peak (regular) cost windows utilize amount O Properties 1-i through 1-iii follow from straightforward interchange arguments based on the idea that shifting work earlier whenever possible is better, and are given without proof. Note that, for a given set of booked windows, shifting work earlier may not worsen any tardiness penalties. This is true irrespective if the early capacity is regular or overtime. We refer to Wc in Property 1-i as the critical window of WO? . Property 1-iv follows from the fact that it is always beneficial to utilize overtime earlier rather than later in order to reduce the tardiness cost. Properties 1-i through 1-iv help us determine an optimal window collection when αP = α. Property 1-v alludes to two critical windows - one of booking cost h and the other of hP , each being the last of its kind where overtime is used. When αP is much greater than α one may be better off to book overtime on a late window of cost h than utilize available overtime in an earlier window of cost hP .

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

9

The following property helps us sequence the jobs over the windows booked and can be proved by a job-interchange argument. Property 2. Non-tardy jobs are scheduled in the order of earliest due-date (EDD) first and precede all tardy jobs; and tardy jobs can be scheduled in any order. 3.1. Optimal sequencing given the booking decisions For any collection of windows booked, we can apply transformation (1) so that the machine time P of 3P’s facility becomes continuously available. Then, the problem (OP) is equivalent to 1|| βi Ui , where Uj = 1 when job j finishes after time dj and 0 otherwise (Here we adopt the 3-field notation α|β |γ for scheduling problems; see Pinedo 2002). According to Property 2, we can define the followP ing dynamic program (DP) to optimally solve 1|| βi Ui . First, assume that the jobs are indexed in EDD order. Then, define Z(j, t) as the minimum total tardiness penalty for jobs 1, 2, . . . , j, subject to the last non-tardy job being completed at time t. Algorithm DP

( Z(j − 1, t − pj ) if t ≤ dj Recursive relation: Z(j, t) = min Z(j − 1, t) + βj Pj for j = 1, 2, . . . , |N | and t = 0, 1, . . . , k=1 pk .   f or t = 0, j = 0 0 Boundary conditions: Z(j, t) = ∞ f or t 6= 0, j = 0   ∞ f or t < 0, any j. P Optimal value: f ∗ = min0≤t≤P Z(|N |, t) where P = j pj .

Note that the first branch of Z(j, t) considers scheduling job j early when t ≤ dj , while the second branch renders job j tardy and adds amount βj to the total tardiness penalty. The algorithm finds the optimal schedule because it evaluates all feasible options for each job. The number of states of Z(j, t) is bounded by O(|N |P ), while each application of the recurrence relation requires O(1) time. Hence, the complexity of DP is O(|N |P ). 3.2. Optimal booking The optimal collection of windows WO? for the problem (OP) can be derived using Property 1 and ¯ = 0), which we denote Algorithm DP. First, consider the special case with no overtime (i.e., O as the problem with regular production or (RP). Let W ? be an optimal window collection. It is obvious that W ? will contain precisely w = d PL e windows in order to process all jobs j ∈ N , where P is the sum of all processing times. Furthermore, according to Properties i and ii, if W ∗ contains

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

10

the earliest r peak windows for some 0 ≤ r ≤ w, it should also contain the earliest w − r regular windows; let W (r) denote this collection of windows. For given r ∈ {0, 1, · · · , w}, we can compute the total booking cost of windows in W (r), and apply algorithm DP to derive the total tardiness cost of scheduling the jobs over W (r). We can enumerate all r ∈ {0, 1, · · · , w} and find the optimal value r∗ of minimum booking plus tardiness cost. The method above can be extended to the case of overtime. First, from Property 1-iv we know that overtime should always be booked earlier rather than later. Thus, if O is the amount of total overtime booked in a window collection W (r), then O should be allotted to the earliest windows of ¯ t should be booked for an earlier window before using overtime in W (r) and maximum overtime O subsequent windows. Let W (r, O) denote the collection W (r) when the total overtime booked is O. Note that r ≤ w = d PL e because overtime does not increase the number of windows required. Also, P ¯ ts +Ot = ¯ t . Then, for given integer O ∈ (0, wO], ¯ we can write O = O ¯t + O ¯t + · · · + O O ≤ t∈W(r) O s+1 2 1 ¯ + Ot , due to Property 1-iv, where t1 , . . . , ts+1 are the s + 1 smallest window indices in W (r). sO s+1 Hence, for given O > 0, transformation (1) uses  ¯  f or t = t1 , t2 , . . . , ts , O Ot = Ots+1 f or t = ts+1 ,   0 otherwise.

(2)

The optimal r∗ and O∗ can be found by enumerating all possible values of r and O so as to minimize the total booking, overtime plus tardiness costs. We propose the following algorithm for (OP). Algorithm Opt Input : Collection of available windows W = {Wt : 1 ≤ t ≤ K }, booking costs ht : 1 ≤ t ≤ K, overtime rates αt ∈ {α, αP }, and parameters pj , dj , βj : j ∈ N Output : Optimal window collection WO∗ , overtime profile {Ot∗ } for t ∈ WO∗ , and schedule σ ∗ [1] Compute w = d PL e [2] For r = 0 to w do [3]

¯ = 0 to wO ¯ do begin For O Apply transformation (1) with respect to W (r, O) P Apply DP on the resultant 1|| βi Ui problem Let Z ∗ (r, O) and σ ∗ (r, O) be the resultant total tardiness cost and schedule and W ∗ (r, O) ⊆ W (r, O) the subset of utilized windows end

[4] Compute Z ∗ = min0≤r≤w,

¯ {Z 0≤O≤wO



(r, O) +

P

t∈W ∗ (r,O) αt Ot

+

P

t∈W ∗ (r,O) ht },

and let WO∗ , {Ot∗ }, and σ ∗ be the corresponding window collection, overtime profile, and schedule.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

11

Theorem 1. Algorithm Opt optimally solves the problem (OP) with overtime and αP = α in ¯ |N |P ) time and the problem (RP) without overtime in O(w|N |P ) time. O(w2 O Proof: The optimality comes from: (i) the fact that algorithm DP finds the corresponding minimum total tardiness cost, given collection W (r, O), (ii) Property 1-iv, and (iii) the exhaustive enumeration over the possible values for r and O that take place in lines [2] and [3] of Opt. Algorithm Opt requires one application of DP for each combination of r and O. The complexity of ¯ |N |P ) time because Pw O ¯ DP is O(|N |P ), and hence algorithm Opt takes no more than O(w2 O t=1 t ≤ ¯ and r ≤ w. For the special case of O ¯ = 0, the algorithm does not need to enumerate over O wO and so the time complexity of (RP) is simply O(w|N |P ).

¤

Algorithm Opt can quickly be extended to the case αP 6= α as follows: Let WP , WR be the windows in [1, K] with peak and regular booking costs, respectively. Moreover, for given r = 0, 1, . . . , w, let WP ∩ W (r) = {t1 , t2 , . . . , ts },

and WR ∩ W (r) = {q1 , q2 , . . . , qw−s }, where the indices are assumed

to be the s, w − s smallest indices in the respective window collections. Property 1-v states that  ¯ f or t = t1 , t2 , . . . , ts , and t = q1 , q2 , . . . , qs0 , O  0  0  O f or t = t , s < s 1 s0 +1 0 Ot =  O2 f or t = qs00 +1 , s00 < w − s    0 otherwise ¯ + O1 + O2 . such that O = (s0 + s00 )O ¡ ¢ ¯ such integral profiles for O ∈ (wO] ¯ or O(w2 O). ¯ Therefore, by applying Clearly, there are w2 O step [3] of Opt on all possible overtime profiles we obtain the following result. ¯ |N |P ) time. Corollary 1. Algorithm Opt optimally solves the problem (OP) in O(w3 O Note that the time complexity of algorithm Opt is pseudo-polynomial because of the parameters ¯ This complexity may be reduced for the case with equal tardiness penalties for all jobs P and O. (that is, βj = β for all j ∈ N ). By further exploiting the problem structure for this special case, we have developed an algorithm which is fully polynomial. The analysis of this case, however, requires additional optimality properties and the application of an algorithm by Moore and Hodgson (Moore P 1968) that solves the single machine problem 1|| Ui . Our result for this case is stated next, and the supporting analysis is relegated to Appendix 1.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

12

Theorem 2. Problem (OP) with constant penalties βi = β for all i ∈ N can be solved in ¯ > 0 and in O(w|N | log |N |) time when O ¯ = 0, where w is bounded O(w2 |N | log |N |) time when O by the number of windows. We also need to solve an optimization problem for a coalition S ⊂ N of jobs. An algorithm, referred to as Coalition, is presented in Appendix 3, which will be used in Section 4 to compute an allocation of savings to jobs (and subsequently, to the manufacturers) for any given S. 3.3. Arbitrary booking rates and overtime rates So far we have considered two possible booking costs: h and hP . With some additional effort, our methodology extends to arbitrary booking rates ht : t ∈ [1, K]. The extension addresses the important problem where 3P wishes to segment the price of utilizing her facility into different levels. Moreover, it also allows us to take care of arbitrary overtime rates, under a mild assumption. Assume that any booking must be made in multiples of a basic time slot. Then an overtime booking can be treated like other normal booking. For example, suppose 3P’s normal working hours are 8:00am-12:00noon and 2:00-6:00pm, and overtime can be booked during 12:00noon-2:00pm and 6:00-8:00pm. Booking is restricted to multiples of 0.5 hour, and the unit booking rates for the AM shift, PM shift, and overtime during noon and evening are: hAM , hP M , hON , and hOE , respectively, with hOE > hON > hAM > hP M . Our model with arbitrary booking rates handles such a case easily. With the assumption of basic time slot, we no longer need the notion of maximum overtime ¯ and so we can assume O ¯ = 0. We refer to this problem as (RP-A). Note that with amount O arbitrary booking prices, Property 2 still holds and hence jobs in N still need be indexed in EDD order. Define: • ZA (j, t, k): the minimum total booking cost for early jobs plus tardiness cost for late jobs in

1, 2, . . . , j, when the total workload of non-tardy jobs is t and the last amongst them completes in Wk , for j = 0, 1, . . . , |N |, 0 ≤ t ≤ L · K and k = 0, 1, . . . , K. • Hk0 +1,k (s): the cost of the s cheapest windows amongst Wk0 +1 , . . . , Wk , given k 0 and k; ∞ if

k − k 0 < s or Wk is not amongst them.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

13

Note that the definition of ZA (j, t, k) does not account for the booking cost of late jobs. The booking cost of late jobs will be incorporated after ZA (|N |, t, k) is computed by the following dynamic programming algorithm. Algorithm Opt-A Recursive relation:  t−p  if dj ≥ bk , d L j e = d Lt e ZA (j − 1, t − pj , k) t−p t−p ZA (j, t, k) = min mink0 d Lt e   ZA (j − 1, t, k) + βj if dj > bk ( 0 f or (t = j = k = 0 Boundary conditions: Z(j, t, k) = ∞ f or t 6= 0, j = k = 0), (t < 0, ∀ j, k). The three branches of the above recurrence relation for ZA (j, t, k) correspond to i) both jobs j − 1 and j finish non-tardy in Wk , ii) job j − 1 finishes non-tardy in Wk0 , and job j finishes non-tardy in Wk , for k 0 < k, and iii) job j is scheduled late. The second branch accounts for a large job j that do not fit in Wk0 and may require more than one additional windows. The number of additional windows needed to accommodate pj is d Lt e − d

t−pj e L

and these must be amongst Wk0 +1 , . . . , Wk with

Wk being one of them. Given t ∈ [0, P ] and k ∈ [0, K], state ZA (|N |, t, k) does not account for booking costs due to tardy jobs. Irrespective of the windows booked to process these jobs, they will be tardy. Hence, for these jobs we simply require the cheapest available windows after Wk . The total workload of tardy jobs is P − t and any unused time in Wk after time t may be used to process tardy jobs at no additional charge. Hence, the number of additional windows needed is d PL e − d Lt e. Define • gk (s): the cost of the s cheapest windows following Wk ; ∞ if k + s > K.

Then, the total cost associated with state ZA (|N |, t, k) is ZA (|N |, t, k) + gk (d PL e − d Lt e) and the optimal value for (RP-A) is: Optimal value: ZA∗ = min 0≤t≤P {ZA (|N |, t, k) + gk (d Lt e − d 1≤k≤K

t−pj e)}. L

The recurrence relation for Opt-A takes O(K) time and the number of states is O(|N |P K). Enumerating all Hk0 ,k (·) and gk (·) takes no more than O(K log K) time per (k 0 , k) pair, required to sort the booking rates. In most cases, it is expected that K ≤ |N | and hence O(K 3 log K)

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

14

is dominated by the computing effort O(|N |P K 2 ) for Opt-A. We summarize our findings in the following theorem. Theorem 3. The minimum total cost for (RP-A) is ZA∗ and is computed in O(|N |P K 2 ) time. The above results make use of the modeling assumption that bookings are made in multiples of a basic time slot. Without this assumption we can also develop a solution algorithm that can handle continuous overtime. The algorithm is however much more complicated and involved.

4. Sharing the Savings The algorithms developed above can be used by every manufacturer m ∈ M to determine his window collection Wm and his job schedule over these windows, as well as by 3P to obtain the optimal window collection and processing schedule of all manufacturers. A solution for any coalition S ⊆ M of manufacturers consists of the booking decisions and the processing decisions on the jobs belonging to this coalition. The cost difference between the solution initially formed and that generated by rescheduling the jobs over their windows is the potential savings via cooperation. We can now introduce the savings game amongst the manufacturers. Let S be an arbitrary coalition of manufacturers, S ⊆ M . Then, one can apply algorithm Opt or Opt-A from Section 3 to job set N (S) = ∪m∈S Nm with the set of available windows being W0 (S) = ∪m∈S Wm ; i.e., the windows booked by players in S during the FCFB phase. Then, define v(S) to be the maximum cost savings obtained by optimally rescheduling the jobs in N (S). Cost savings v(S) consist of three parts: (i) the total refund (1 − ρ)

P

k∈W0 (S)/W ∗ (S) hk

that S

receives from 3P for those windows that are freed up after the rescheduling, where W ∗ (S) is the set of windows that are utilized after the rescheduling, and ρ is the percentage of the booking savings withheld by 3P; (ii) the total refund for the reduced overtime; and (iii) the reduction in the tardiness costs of the jobs of N (S) due to the optimal rescheduling. Then, the pair (M, v) defines a game. For a coalition S ⊆ M , v(S) is also known as the characteristic function of the coalition, which we define as the difference between the uncoordinated total cost and the coordinated total cost of the coalition.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

15

The release of the booking revenue allows 3P to resell it at full price and still withhold a portion from the original booking. Hence, releasing unnecessary capacity presents a win-win proposition for 3P and the manufacturers in S. However, the schedule proposed by 3P may alter the cost of one or more manufacturers. To make coordination possible, 3P seeks a so-called balanced allocation (or distribution) y1 , y2 , . . . , y|M | of the savings v(M ) such that ym ≥ 0,

X m∈M

ym = v(M ), and

X

ym ≥ v(S) f or all S ⊂ M.

m∈S

These three (in)equalities completely describe the coordination game and are referred to as core (in)equalities, which ensure that all manufacturers have the incentives to participate in the grand coalition M that can generate the largest cost savings via coordination. A game is said to be convex when ∀ S, T ⊆ M, v(S ∪ T ) + v(S ∩ T ) ≥ v(S) + v(T ). If a game is convex, it is guaranteed to have an allocation that satisfies the core inequalities (Shapley, 1971). Unfortunately, as shown in the counterexample described in Appendix 4, game (M, v) is not convex. This therefore leaves open the question of whether an allocation ym : m ∈ M exists that satisfies the core (in)equalities. An empty core would render coordination hard to achieve because then some manufacturers would be better off to join smaller coalitions. Fortunately, this is not the case in our problem. We will show that (M, v) possesses a core allocation even though it is not convex. To do this, we first introduce and study a game based on jobs - not manufacturers. 4.1. The manufacturer game and the job game We now introduce a cooperative game amongst manufacturers in M as well as an auxiliary game for jobs in N . The definitions for both games are developed next. Let T ⊂ M be an arbitrary coalition of manufacturers and N (T ) = ∪i∈T Ni be the set of jobs of T . Recall that σ0 is the uncoordinated sequence of jobs formed by the manufacturers’ initial bookings. Then, the coalition T seeks a sequence σ that reschedules jobs in N (T ) so as to minimize the total cost. Apart from the obvious assumptions that every manufacturer (or job) may be a member in at most one coalition and that the jobs in N (T ) may be rescheduled only in the windows belonging to T , our cooperative games

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

16

allow only rescheduling sequences that do not violate the processing priority of jobs outside the coalition, i.e., the following admissibility rule should be obeyed. Admissibility Rule: For every T ⊂ M , a rescheduling sequence σ for jobs in N (T ) is admissible only if Pj (σ) = Pj (σ0 )

for all j 6∈ N (T ), where Pj (λ) is the set of predecessors of job j in a sequence

λ, i.e., Pj (λ) = {k ∈ N (M ) : λ(k) < λ(j)} and λ(k) is the k-th job in λ. This admissibility rule specifies that for any job j not belonging to the coalition T , its predecessors Pj (σ0 ) should not be changed due to any rescheduling σ of the jobs of T , that is, Pj (σ) = Pj (σ0 ). Basically, this implies that “queue-jumping” without prior agreement is disallowed. This rule is meritorious in three important ways as follows: (i) It respects the priority order of players not in T , (ii) It avoids “fairness” issues for 3P, and (iii) It avoids the scenario that cooperation is unable to be achieved. With respect to (i), imagine a group of customers colluding to violate priority on a waiting line, bypassing customers not in the coalition. In a service setting this is certain to lead to chaos and does not seem to ever happen in practice. Such behavior does not seem as extreme in a manufacturing setting when customers do not usually see the waiting line. In our model, however, the FCFB protocol in 3P’s booking system implies a priority order of using 3P’s facility. Dissatisfied customers may resort to, in extreme cases, discrimination lawsuits if they realize that their priority in the system is violated without prior agreement, as alluded in (ii). Finally, with respect to (iii), note that a rescheduling sequence of jobs in N (T ) is always admissible if all jobs in N (T ) form a contiguous subsequence in σ0 . Hence the admissibility rule does not affect the grand coalition. Without the admissibility rule, we can easily show by counterexamples that balanced-allocation may not exist and therefore it is impossible to form a stable grand coalition. Indeed, visibility and fairness are widely regarded as the most essential ingredients of trust to develop successful outsourcing partnerships between the service provider and the outsourcing clients; cf. Atos Origin (2009), Dawson (2002), and Deitert (2009). They are especially important for the service provider to maintain her long-term vitality to acquire new clients and to retain

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

17

existing ones. Therefore, 3P has the incentive to offer transparency, maintain fairness by honoring the booking protocol, and create a win-win solution to all. The kind of admissibility rules has been commonly adopted in studies of sequencing games (see, e.g., see Borm et al. (2002) and Curiel et al. (1994)). The booking protocol addressed by our model justifies this rule. We now proceed with the admissibility rule. We will first consider a cooperative game amongst jobs. More formally, the manufacturer game is defined as (M, v), where v is the cost savings obtained by rescheduling the jobs in N (T ). In contrast, the job game assumes that each individual job is a player. Let vJ (S) be the maximum cost savings produced by an admissible rescheduling sequence σ for coalition N (S) of jobs compared to the corresponding cost in the initial sequence σ0 . The job game is denoted as (N, vJ ) and will be studied ahead of (M, v).

4.2. The savings allocation scheme Let G{a, b} = {σ0 (a), σ0 (a + 1), . . . , σ0 (b)}, 1 ≤ a ≤ b ≤ |N |, be the coalition of jobs that occupy positions a through b in σ0 . We say that G{a, b} is a contiguous coalition because they occupy contiguous positions in σ0 . The time interval occupied by jobs of coalition G{a, b} is from the start of job σ0 (a) to the completion of job σ0 (b). For brevity, we will use vJ {a, b} to denote the maximum savings vJ (G{a, b}) obtained by rescheduling jobs in G{a, b}. Let We , Wl be the earliest and latest windows (respectively) utilized to process the jobs in G{a, b} on σ0 . Clearly, one or both of these windows may also be occupied by jobs outside G{a, b}. In this case, coalition G{a, b} cannot release windows We , Wl (because jobs outside G{a, b} are affected) and hence no booking savings can be realized from these windows. Algorithms in Section 3 and Appendix 3 can be adapted to produce a mincost schedule for G{a, b} with which we can compute the cost savings vJ {a, b}. We propose the following savings allocation scheme for game (N, vJ ): ( ) i h i 1 h xi = vJ {1, i} − vJ {1, i − 1} + vJ {i, |N |} − vJ {i + 1, |N |} , 2

i ∈ N,

(3)

where vJ {1, 0} = 0 and vJ {|N + 1|, N } = 0. Evidently, this allocation rule gives job i a share of

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

18

the savings by considering its marginal contributions when joining the coalitions of preceding and succeeding jobs. For game (M, v), we define the distribution to a manufacturer m by ym =

X

xi

f or m ∈ M,

(4)

i∈Nm

where Nm is the set of jobs owned by manufacturer m. 4.3. The balancedness We now show that {xi } satisfy the core (in)equalities, i.e., game (N, vJ ) is balanced. First, we show that the game is superadditive (Shapley, 1971), i.e., ∀ G, H ⊂ N , with G ∩ H = ∅, vJ (G ∪ H) ≥ vJ (G) + vJ (H). The superadditive property basically means that a larger coalition can do better in terms of cost savings. For any coalition G, let σ ∗ (G) denote the optimal job sequence obtained after rescheduling the jobs in G to minimize their total cost. Lemma 1. Game (N, vJ ) is superadditive. Proof: First consider two contiguous coalitions G{a, b} and H {c, d}, with a ≤ b < c ≤ d. Then, G ∩ H = ∅. If c = b + 1 (i.e., there is no job between σ0 (b) and σ0 (c)), then I {a, d} = G{a, b} ∪ H {c, d} is also a contiguous coalition. In this case, concatenate σ ∗ (G) and σ ∗ (H) to form a feasible schedule σ(I) for the jobs in I. The optimal sequence σ ∗ (I) is no worse than σ(I) and hence vJ (G ∪ H) ≥ vJ (G) + vJ (H). If c > b + 1, that is, there is another job between σ0 (b) and σ0 (c) in the sequence σ0 , then any admissible sequence for the coalition G ∪ H will comprise a subsequence for the jobs in G{a, b} and a subsequence for the jobs in H {c, d}. Hence, vJ (G ∪ H) = vJ (G) + vJ (H). It is evident that, in general, for any arbitrary coalitions G and H with G ∩ H = ∅, if G ∪ H contains a larger contiguous job-set than in job subsets G or H, then vJ (G ∪ H) ≥ vJ (G) + vJ (H), otherwise vJ (G ∪ H) = vJ (G) + vJ (H). This completes the proof. We can now prove the following theorems. Theorem 4. Distribution {xi }i∈N is in the core of the game (N, vJ ).

¤

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

19

Proof: The non-negativity of xi follows by definition of (3). Consider contiguous coalition G{a, b} = {σ0 (a), σ0 (a + 1), . . . , σ0 (b)}. Then, X i∈G{a,b}

1 xi = 2

( ) h i h i vJ {1, i} − vJ {1, i − 1} + vJ {i, |N |} − vJ {i + 1, |N |}

X i∈G{a,b}

(

) i h i 1 h = vJ {1, b} − vJ {1, a − 1} + vJ {a, |N |} − vJ {b + 1, |N |} . 2

It follows from Lemma 1 that vJ {1, a − 1} +vJ (G{a, b}) ≤ vJ {1, b} and vJ (G{a, b})+vJ {b+1, |N |} ≤ vJ {a, |N |}. Therefore,

P

i∈G{a,b} xi

≥ vJ (G{a, b}).

Now consider the case where G{a, b} comprises more than one contiguous job set Gk {ak , bk }, i.e., G =

S k

Gk {ak , bk }. For each Gk we have

inequality extends to G =

S k

P

i∈Gk {ak ,bk } xi

≥ vJ (Gk {ak , bk }) and hence the above

Gk {ak , bk }.

Finally, if G{a, b} = N , then a = 1, b = |N |, and X

xi =

i∈N

i h i 1h vJ {1, |N |} − vJ {1, 0} + vJ {1, |N |} − vJ {|N | + 1, |N |} = vJ (N ). 2

Therefore, {xi }i∈N satisfy the core (in)equalities.

¤

Theorem 5. Distribution {ym }m∈M is in the core of the game (M, v). Proof: The non-negativity of ym follows from the non-negativity of xi . Consider an arbitrary coalition T of manufacturers. The jobs belonging to the coalition T of manufacturers forms kT ≥ 1 distinct contiguous job subsets in σ0 . That is, N (T ) =

SkT

k=1 Gk {ak , bk },

where Gk {ak , bk } is the

k-th contiguous job set of T . Then, X

ym =

m∈T

X X m∈T i∈Nm

xi =

X i∈N (T )

xi =

kT X X k=1 i∈Gk

xi ≥

kT X

vJ (Gk {ak , bk }) = v(T ),

k=1

where the last equality is due to the fact that the total savings of coalition T must be generated from the maximum savings of its kT contiguous subsets using admissible schedules. Similarly, P m∈M

ym =

P i∈N

xi = vJ (N ) = v(M ). This completes the proof.

¤

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

20

5. Truth-Telling Mechanism The savings {xi } prescribed in (3) are calculated using the job parameters reported by the manufacturers. It is conceivable that a self-interested manufacturer may strategically falsify information about his jobs so as to gain a larger benefit. In this section we deal with this problem. We will design a truth-telling mechanism to incentivize all manufacturers to report their true data. Here we assume that 3P does not withhold any portion of the booking savings (i.e., ρ = 0). We will show later that 3P may still gain a portion of the overall savings after giving the incentives to the individual players. We assume that the processing time of any job is public information. This is a realistic assumption as a job will eventually be processed by 3P and thus falsifying the processing time is impossible. The private information of a job i is its due date di and the tardy penalty βi ; These are parameters typically included in the contract of a manufacturer with his client. Let mi denote the message {βi , di : i ∈ Nk } reported by manufacturer Mk on his job i and m−i = (m1 , . . . , mi−1 , mi+1 , . . . , m|N | ) be the reported messages on other jobs. Under the coordination approach described in Section 4, 3P performs an optimal rescheduling over all jobs with the reported messages (mi , m−i ), and the savings achieved are allotted to each job according to the allocation scheme (3). Let xi (mi , m−i ) be the allocation to job i, when the joint message is (mi , m−i ). Further, we introduce x0j (m−i ), which is the allocation to job j according to (3) when the rescheduling is performed over all the jobs except i. Specifically, x0j (m−i ) is calculated as follows: (1) First, using the parameters in m−i , 3P performs optimal rescheduling of the jobs j ∈ {1, 2, · · · , i − 1, i + 1, · · · , |N |} over the time slots booked during the FCFB phase. For job j, let

the cost after the rescheduling be Zˆj0 (m−i ), and the initial cost be Zˆj0 (mj ) (which depends on the reported message for job j only). (2) The rescheduling results in the savings:

P

ˆ0 j6=i [Zj (mj )

− Zˆj0 (m−i )]. Then, 3P allocates the

savings to job j ∈ {1, 2, · · · , i − 1, i + 1, · · · , |N |} according to the scheme (3). The allocation to job j is denoted as x0j (m−i ). We also introduce the following notation:

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

21

Zi0 : the “true” initial cost of job i based on the initial FCFB schedule. Zˆi∗ (mi , m−i ): the “reported” cost of job i after 3P performs the optimal rescheduling over all jobs, calculated according to the joint message (mi , m−i ). Zi∗ (mi , m−i ): the “true” cost of job i after 3P performs the optimal rescheduling over all jobs, calculated according to the joint message (mi , m−i ). In the preceding definitions, the cost of a job includes the booking fee and the tardiness penalty. If a window with a booking rate h is used to process a subset of jobs, then we assume that the portion of the booking cost of each job is proportional to the amount of its processing in that window. That is, if the total processing time for the jobs occupying the window is Ps and the processing time of job i occupying the window is pi , then its share of the booking cost is

pi h. Ps

The message reported by a manufacturer is his strategy. In what follows we design a mechanism such that revealing true messages is a dominant strategy for all manufacturers to minimize their true cost. Our mechanism proposes that 3P allocate [xi (mi , m−i ) − δi ] to each job i ∈ N , where δi =

X

x0j (m−i ) −

X

xj (mi , m−i ).

(5)

j6=i

j6=i

The 3P’s coordination process now works as follows: (i) 3P performs optimal rescheduling over all jobs according to the reported messages (mi , m−i ); (ii) The “reported” cost of each job i is changed from Zˆi0 (mi ) to Zi∗ (mi , m−i ) due to the rescheduling; (iii) Each job transfers the “surplus” [Zˆi0 (mi ) − Zˆi∗ (mi , m−i )] to 3P, and then receives an amount of re-distribution [xi (mi , m−i ) − δi ] from 3P. Therefore, the utility (defined as the negative cost) of job i to a manufacturer is £ ¤ £ ¤ ui (mi , m−i ) = −Zi∗ (mi , m−i ) − Zˆi0 (mi ) − Zˆi∗ (mi , m−i ) + xi (mi , m−i ) − δi .

Plugging δi from (5) into (6), and recalling that and

P

0 j6=i xj (m−i )

=

P

ˆ0 ˆ0 j6=i [Zj (mj ) − Zj (m−i )],

P j∈N

xj (mi , m−i ) =

P

ˆ∗ ˆ0 j∈N [Zj (mj ) − Zj (mi , m−i )]

we have

X ¤ X £ xj (mi , m−i ) − x0j (m−i ) ui (mi , m−i ) = −Zi∗ (mi , m−i ) − Zˆi0 (mi ) − Zˆi∗ (mi , m−i ) +

= −Zi∗ (mi , m−i ) −

X j6=i

(6)

Zˆj∗ (mi , m−i ) +

X j6=i

j∈N

Zˆj0 (m−i ).

(7)

j6=i

(8)

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

22

Let mti denote the true message for job i. We now show the mechanism described above is incentive compatible, in the sense that reporting mti is a dominant strategy. Theorem 6. For any job i, revealing the true message mti is a dominating strategy, i.e.: ui (mti , m−i ) ≥ ui (mi , m−i ),

for all mi and m−i , i ∈ N

Proof: Let λt and λ¦ denote the optimal solutions by rescheduling all the jobs when the joint reported messages are (mti , m−i ) and (m¦i , m−i ), respectively. Since λt is optimal for (mti , m−i ), which minimizes Zi∗ (mti , m−i ) +

P

ˆ∗ t j6=i Zj (mi , m−i ),

we have (for simplicity of notation, we let Z(λ)

denote the cost corresponding to the solution λ): Zi∗ (λt ) +

X

Zˆj∗ (λt ) ≤ Zi∗ (λ) +

X

Zˆj∗ (λ),

j6=i

j6=i

for any λ. Since the processing times of all jobs do not depend on the reported messages, the solution λ¦ also generates a feasible processing schedule under (mti , m−i ). Thus, the inequality above also holds when λ = λ¦ . This gives us ui (mti , m−i ) = −Zi∗ (λt ) −

X

Zˆj∗ (λt ) +

X j6=i

j6=i

X



−Zi∗ (λ¦ ) −

=

ui (m¦i , m−i ),

j6=i

for any (m¦i , m−i ). This completes the proof.

Zˆj0 (m−i )

Zˆj∗ (λ¦ ) +

X

Zˆj0 (m−i )

j6=i

(9) ¤

The gist of the proof above is, with the true message mti , the true cost of job i is considered in 3P’s optimization to minimize the total cost. With a false message m¦i , it is the reported cost (rather than the true cost) that is considered in the optimization. Mechanisms of this kind are known in the literature as the Groves-Clarke mechanisms (Clarke 1971, Groves 1973, Grives and Loeb 1979). It is now easy for us to explain why we need the assumption ρ = 0 in this Section. It can be seen from (8) that, if we have ρ > 0, then the second term of (8) will contain this parameter and so the first two terms of (8) will not be the total cost to be minimized in 3P’s optimization. Note also that

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

23

δi is the regulating factor in our proposed mechanism, which can be regarded as “fee” levied by 3P on job i to induce an honest message by the manufacturer. If mi hurts the total allocation of other jobs (i.e., reduces the value of the term

P

j6=i xj (mi , m−i )

in (5)), then δi increases and the amount

of allocation (xi − δi ) to job i decreases. Hence, the proposed δi discourages a manufacturer from jeopardizing the welfare of other players to benefit himself. Incentive compatibility, individual rationality, and budget feasibility, are issues of common concern in studies of mechanism design (cf. Cavallo 2006, Green and Laffont 1977). Next we show that our mechanism possesses the property of individual rationality, i.e., a job is not worse off by participating in 3P’s coordination. Denote the initial utility of job i by u0i , i.e., u0i = −Zi0 . Proposition 1. The mechanism is individual rational, i.e.,

ui (mti , m−i ) ≥ u0i ,

for all m−i and i ∈ N.

Proof: Due to Theorem 6, the true message mti should be reported for job i and hence Zi∗ (mti , m−i ) = Zˆi∗ (mti , m−i ). Then, from (7), we can see that ui (mti , m−i ) − u0i =

X j∈N

xj (mti , m−i ) −

X

x0j (m−i ) ≥ 0,

(10)

j6=i

since the cost saving that can be achieved by a larger coalition is not less than that of a smaller one.

¤

Another important issue in mechanism design is budget balance, i.e., the sum of payments to or charges from the players to implement the mechanism. It is known (Green and Laffont 1977) that full-budget balance (i.e., zero-sum) in direct revelation mechanisms is difficult to satisfy. Our problem provides a natural setting where full-budget balance is not required. In our context, coordination is budget feasible for 3P if the total monetary allocation to the manufacturers does not exceed the total savings due to coordination. In this case, 3P does not need to use her own money to implement coordination; rather, she can retain any surplus as a reward for implementing

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

24

it. Note that the total cost saving after the rescheduling is

P

ˆ0 ˆ∗ j∈N [Zj (mj ) − Zj (mi , m−i )],

and the

allocation that 3P pays out is X

[xi (mi , m−i ) − δi ] =

i∈N

i Xh X X xi (mi , m−i ) + xj (mi , m−i ) − x0j (m−i ) i∈N

=

XhX

j6=i

xj (mi , m−i ) −

i∈N j∈N

X

i

j6=i

x0j (m−i )

j6=i

i XhX X X [Zˆi0 (mi ) − Zˆi∗ (mi , m−i )] − = Zˆj∗ (mi , m−i ) − Zˆj0 (m−i ) i∈N



X

i∈N

j6=i

j6=i

[Zˆj0 (mj ) − Zˆj∗ (mi , m−i )].

(11)

j∈N

The last inequality holds since

P

ˆ0 j6=i Zj (m−i )

is the minimum cost of scheduling the jobs {j : j 6= i}.

This gives us the following result. Proposition 2. The mechanism is budget feasible for 3P to perform the coordination. The mechanism with incentives {δi }i∈N is designed to ensure truth revelation of the manufacturers. With this purpose achieved, 3P may allow the manufacturers to freely form any coalition, as in the cooperative game of Section 4. We will now show that, with the same constant δi∗ charged to job i irrespective of which coalition it joins, where δi∗ =

X

x0j (mt−i ) −

j6=i

X

xj (mti , mt−i ),

(12)

j6=i

then a modified distribution scheme based on (3) is in the core of the cooperative game. ˜i = xi − δi∗ }i∈N is in the core of the game (N, v˜J ), where xi is Proposition 3. Distribution {x P P ˜i }m∈M is calculated by (3) and v˜J (N ) = vJ (N ) − i∈N δi∗ . Accordingly, distribution {y˜m = i∈Nm x in the core of the game (M, v˜), with v˜ = v˜J . A proof similar to the one in Theorem 4 yields that {x ˜i }i∈N is in the core of (N, v˜J ) and {y˜m }m∈M is in the core of the game (M, v˜J ). To summarize, we have devised a mechanism, which ensures that all players reveal true information and hence the true optimum for the overall system is obtained. The modified allocation scheme {x ˜i }i∈N can still motivate the players to cooperate in the grand coalition, therefore allowing the largest cost saving to be obtained.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

25

6. The Value of Coordination In this section we perform an experiment that helps us assess the value of coordination to the various parties involved. In our experiment we generate problem instances by varying the values of parameters L, O, K, pj , dj and βj for j ∈ N , M and Ni for i ∈ M , h, hP and α. In what follows we explain the levels given to each parameter in an effort to limit the number of combinations without losing essential aspects of the problem. First, we want to let L simulate a usual production day of 8 hours for a single shift or 16 hours for double shift. In the former case we want to allow for up to O = 4 hours of overtime. This produces three (L, O) combinations; namely (8, 0), (16, 0) and (8, 4). The first 2 combinations only differ in the number of jobs that can be processed in a day. Rather than using an hour as the time unit, we count time in multiples of 30 minute intervals and let job processing times be multiples. Specifically, we use L = 16, 32 and O = 8. The gap between windows is assumed to be 0 and due-dates are selected appropriately later on. We consider two booking prices: h and hP = 1.3h. Price h corresponds to booking costs during regular customer demand while hP is used for peak demand periods. Then, we randomly draw 15% or 30% of the windows and designate them as peak windows, i.e., |WP |/K ∈ {0.15, 0.30}. Processing times pj are drawn uniformly from [1,4] for small jobs and from [5,8] for large jobs. Therefore, the mean p¯j is 75 minutes for a small job and 195 minutes for a large job which are common job durations in practice. However, we add the range [20,35] to experiment with very large jobs that, in most cases, occupy more than a full production window. This will allow us to assess the impact of such jobs on the savings due to coordination. We consider a production planning horizon of K=100 days for small and large jobs, and K=200 days for very long jobs so as to ensure that the total processing capacity exceeds the total workload. We assume that 20% of the days during the planning horizon are unavailable due to earlier reservations, non-working days, etc. We experiment with the pairs (4, 20) and (8, 10) for (|M |, |Nm |) so as to assess the effect of the number of windows per manufacturer to system profits and the effect of the size of the grand

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

26

coalition. This set of parameters results to 12 combinations for each of the three (L, O) combinations presented earlier (a total of 36 combinations so far). Each test problem is run for the values α = 1.5h/L, and β¯ = 0.8∆h or 1.2∆h where ∆h = hP − h = 0.3h, and β¯ denotes the mean βj . Our choice of α is based on the fact that, in practice, it is often the case that the hourly overtime rate is 50% ¯ it is important to consider values over the hourly rate h/L on a non-peak day. For our choice of β, in connection to the threshold value ∆h. Whether a peak window is booked instead of a regular one depends on how h + β¯ compares to hP . If h + β¯ ≤ hP then, on average, cheap late windows are preferred over earlier peak windows. In this case peak windows would only be booked if the regular windows are exhausted. This is not likely, however, because the number of peak windows is just 15% or 30% of the total. It is for this reason that we consider the value β¯ = 0.24h in our experiment. In this case, βj values are drawn uniformly from [0.18h, 0.3h] and hence β¯ = 0.24h. On the other hand, if h + β¯ > hP manufacturers would be willing to book earlier peak windows over later cheap ones. This motivates the value β¯ = 0.36h. Therefore, βj ’s are drawn uniformly from [0.3h, 0.42h]. Finally, we will experiment with much larger βj values drawn from [0.48h, 0.6h] (i.e., β¯ = 0.54h) in order to test the effect of coordination when tardiness penalties are dominant. Consequently, the total number of combinations tested is 108. Job due-dates are given so that at least 40% of the workload of each manufacturer is completed late. This is done by letting window Wt = [(t − 1)(L + O), t(L + O) − O] for 1 ≤ t ≤ K, ordering all jobs in Ni according to shortest processing time (SPT), and assigning P P X 3 j∈Ni pj j∈Nm pj dj = ( d e+b c)(L + O) ∀ j ∈ Ni . L 5L m τi (W ∗ )}|/|M |; the % of manufacturers whose tardiness penalty decreases after coordination, where τ (Wi∗ ) and τi (W ∗ ) are the total tardiness penalties for manufacturer i in the optimal uncoordinated and coordinated solutions, respectively. The corresponding statistics for O > 0 are denoted by ∆CO , ∆BO , A+ O respectively, where ∗ Z(·), τ (·) are replaced by ZO (·), τO (·), and Wi∗ , W ∗ are replaced by Wi,O , WO∗ , respectively. Also,

we report P P

∆O = ∆Z =

i

t∈W ∗ Ot − i P P

P

t∈W ∗ Ot

i t∈W ∗ Ot i ∗ Z(W ∗ )−ZO (WO ) Z(W ∗ )

100%; the percentage overtime savings,

100%; percentage savings due to overtime availability.

Table 1 (L, O) (16, 0)

|M | × |Ni | 4 × 20

¯ β 0.24h 0.36h 0.54h

8 × 10

0.24h 0.36h 0.54h

(32, 0)

4 × 20

0.24h 0.36h 0.54h

8 × 10

0.24h 0.36h 0.54h

(16, 8)

4×20

0.24h 0.36h 0.54h

8×10

0.24h 0.36h 0.54h

Computational experiment |WP | K

pj [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35] [1, 4] [5, 8] [20, 35]

∆C 26.3 7.6 2.6 21.3 9 0.8 27.7 9.5 1.1 31.9 18.6 4.1 33.4 12.6 3.1 41.5 14.4 4.6 21.3 9.2 2.1 16.3 7.2 2.3 20.9 6.0 3.2 32.3 17.4 3.5 30.9 17.2 2.9 38.9 22.3 3.6 ∆CO 21.2 7.5 2.1 18.3 7.9 1.4 24.3 11.7 2.9 21.7 18.8 3.5 34.1 16.7 2.9 41.4 22.6 3.9

∆B 9.5 5.1 0.5 9.1 3.4 0.5 9.3 3.7 0.9 21.4 12.3 2.5 17.3 10.1 1.5 18.2 9.9 1.8 10.8 6.1 1.2 8.4 3.1 0.7 9.1 3.8 1.2 22.5 13.1 2.2 17.6 8.4 1.9 18.5 9.5 2.3 ∆BO 9.3 4.1 0.5 8.7 2.7 0.9 9.1 2.9 1.7 21.6 11.7 2.9 20.3 11.9 2.1 21.8 12.2 2.4

= 15% A+ 66.7 72.1 64.5 68.3 69.4 70.2 69.1 68.5 70.4 65.3 65.4 71 73.2 71.5 68.9 73.6 72.2 67.0 67.3 71.1 73 71.2 68.3 63 70.2 70.1 69.4 67 68.3 67.5 68.3 71.2 74.3 69.1 70.7 75.0 A+ ∆Z O 68.9 1.23 66.8 11.2 63.1 12.8 69.4 13.2 64.2 15.2 71.1 13.1 68.8 17.9 67.0 21.7 72.2 18.0 69.2 14.2 67.4 15.6 72.2 12.9 72.9 13.7 69.3 16.1 67.3 14.6 71.9 16.1 70.3 19.3 69.5 18.7

|WP | K

∆O 31.2 34.1 30.2 33.6 37.6 32.9 32.3 38.5 35.1 29.4 31.1 28.7 31.7 31.7 32.6 30.9 32.0 33.7

∆C 25.3 8.4 2.1 20.2 9.9 1.4 24.3 13.5 1.8 32.1 18.3 4.1 31.1 17.3 2.2 35.0 19.9 3.9 22.1 8.2 0.7 18.3 5.3 1.5 24.0 7.7 1.4 32.1 18.2 3.3 33 17.5 2.8 43.2 21.5 3.9 ∆CO 22.4 7.3 2.8 18.6 7.3 1.1 23.7 9.8 1.7 32.7 17.4 3.6 31.8 17.3 2.8 18.7 19.1 3.7

∆B 9.6 3.2 0.8 10.2 2.3 0.4 9.6 2.4 0.3 18.9 12.2 2.3 18.4 9.2 1.4 15.1 7.9 2.5 10.3 3.5 0.6 8.1 1.9 1.3 9.3 2.2 1.1 18.3 11.5 2.8 16 11.2 2.1 17.9 12.1 2.8 ∆BO 11.2 5.3 0.7 7.9 3.4 0.7 8.2 3.0 1.0 23.8 12.8 2.8 18.9 12.5 2.1 19.0 11.7 2.6

= 30% A+ 68.4 69.5 71.3 72.4 71.2 64.3 70.2 71.3 67.6 68.3 72.3 63.2 66.5 69.8 63.4 69.3 68.0 70.7 67.3 70.6 72.4 71.2 67.5 68.3 69.4 68.2 70.1 65.4 72.1 69.3 70.2 71.3 72.3 70.2 70.5 72.8 + AO ∆Z 72.4 10.3 73.1 12.3 67.4 11.5 68.8 14.7 71.2 13.6 68.9 13.9 73.4 19.6 75.3 17.0 71.8 17.9 72.7 13.2 68.4 14.9 66.7 15.3 63.8 16.1 67.4 15.9 71.0 16.8 69.1 22.1 70.6 20.2 73.0 19.8

∆O 32.1 34.8 31 38.9 36.5 31.3 39.2 35.4 30.1 29.8 33.6 29.4 38.6 40.7 41.2 35.0 39.6 42.5

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

28

Note that there is no need to experiment over specific ρ values since this simply indicates the fixed portion of the ∆B, ∆BO amount withheld by 3P. Based on our experiment, we make the following observations: • Savings ∆B, ∆BO increase with |M | and with

L+O p¯j

but do not depend on

|WP | . K

As the number |M | of manufacturers increases, the booking savings increase as well. This is primarily due to consolidation of work into fewer windows with better utilization of idle time. For fixed L + O and |M | × |Ni |, as p¯j increases, the number of windows needed to process the total workload increases and so does the total booking cost. On the other hand, the potential benefits due to better utilization of idle time across manufacturers stay the same and hence the percentage booking savings diminish. This is evident with all processing time ranges reported in Table 1 as we move from [1, 4] to [5, 8] to [20, 35]. The same rationale explains the fact that our findings about ∆B, ∆BO do not depend on

|WP | . K

Namely, greater frequency of peak windows does

not affect the number of windows that may be released due to better utilization of idle time across manufacturers. For |M |=4,8 the overall average booking savings are 4.53% and 10.86% respectively. On the other hand, for pj ∈ [1, 4], [5, 8], [20, 35], the average ∆B values are 14.58%, 7.44% and 1.54% respectively. • The total savings ∆C due to coordination, increase with |M |, decrease with p¯j , and do not

depend on

|WP | . K

We saw earlier that booking savings ∆B, ∆BO increase with |M |. Tardiness savings increase as well because of more rearrangement opportunities across players. This is especially true for small jobs because more of them fit into the same window making them non-tardy after coordination. This is why throughout Table 1, ∆C decreases with the ranges [1, 4], [5, 8], [20, 35]. If one compares the percentage tardiness ∆C − ∆B versus the booking savings ∆B, he observes that booking savings dominate their tardiness counterpart for large and very large jobs but not for small jobs. This is because, as we argued above, the number of rearrangements that result to reduced tardiness costs decreases with p¯j while the booking savings stay about the same across each row of Table .

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

29

The relative contribution of tardiness savings into ∆C also depends on the size of β¯ compared ¯ the greater the contribution of tardiness savings into ∆C. Note to ∆h. The greater the value of β, that for β¯ = 0.36h or 0.54h, high tardiness penalties dictate that players book the earliest available windows upon their arrival to the system (because h + β¯ >> hP ), booking savings are limited to consolidation of the idle time available in the last windows booked by each player, window rebooking is not possible, and hence coordination savings are primarily due to job rearrangements that lead to tardiness savings. These savings are captured by the difference ∆C − ∆B and, as expected, ¯ Indeed, observe that they are directly proportional to β.

0.54h 0.36h

= 1.5 while for every combination

of parameters tested, the corresponding ratio of the ∆C − ∆B values is also 1.5. In other words, when tardiness penalties are dominant, coordination benefits by capacity consolidation and the ¯ resulting refunds, plus tardiness savings that increase proportionately with β. • For fixed |M |, the relative contribution

∆C ∆B

of booking savings to ∆C decreases with L + O.

This is due to the fact that the number of windows needed to process the total workload, decreases with L + O and (as we argued above) so do the number of beneficial rearrangements of jobs across windows (all else being equal). Therefore, tardiness savings decrease with L + O. On the other hand, booking savings are primarily due to |M | and therefore, for fixed |M | the ratio

∆C ∆B

decreases with L + O. In Table 1, this is evident as we move from L + O = 16 to 24, to 32. • On average, after coordination 69.5% of the manufacturers incur lower tardiness penalties.

As indicated by A+ , under all scenarios approximately two-thirds of the manufacturers improve over their initial schedules in terms of the tardiness penalties. These manufacturers are primarily late comers in the FCFB order because after coordination they use windows booked by early comers that were not available when they arrived to the system. Generally, the manufacturers who initially booked the later windows benefit from coordination as they gain access to earlier windows. ¯ This Further, Table 1 indicates that the value ∆Z of overtime is significant and increases with β. is expected because the higher the β¯ the greater the incentive to book early windows at higher booking rates. Finally, the ∆O values in Table 1 suggest that the overtime usage after coordination is significantly smaller than before coordination - an additional incentive for coordination.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

30

In our experiment we do not report specific xi values other than the number of winners A+ . Note that xi is computed using (3) which requires solving 4 optimization problems. In our experience, xi values appear to be ad hoc without any discernible trend. The same holds true for δi . The observations made in this section highlight the importance of coordination amongst manufacturers and the additional benefits for them and the third party with or without overtime. We conclude that: Coordination results to an average of 14.4% in savings, improves on-time service performance for 2 out of 3 manufacturers, and better utilizes regular and overtime capacity. Excluding jobs in the [20, 35] range (which is not common in practice and is presented here mostly for comparison purposes), overall coordination savings average 20.45%.

7. Concluding Remarks In this paper we develop a model to coordinate the outsourced operations at a single 3P. Our mathematical and numerical analyses offer strong monetary and customer service incentives to effect coordination as well as saving sharing schemes that facilitate such coordination. We also address the honesty issue in cooperation. We design a direct revelation mechanism to ensure that revealing truthful information is a dominant strategy for each manufacturer. A truth-telling mechanism is important to prevent the coordination from being jeopardized by selfinterested players. There are plenty of opportunities for further investigation. A wealth of related models is of interest. They may involve different resources (as opposed to a single third party), different cost structures (e.g, both earliness and tardiness are to be minimized via outsourcing), different capacity booking protocols (e.g. bidding via competition or cooperation), further studies on revelation of private date to facilitate the success of coordination. Such models will involve many interesting and challenging topics for future research.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

31

Acknowledgments This research was initiated while the second author visited The Chinese University of Hong Kong, and was supported in part by the Research Grants Council of Hong Kong under General Research Fund Nos. 410208 and 410509, and NSFC Key Project No. 70932005. We wish to express our sincere gratitude to the Associate Editor and the reviewers for their constructive comments and suggestions to help improve the paper.

References [1] Agnetis, A., Mirchandani, P.B., Pacciarelli, D., and Pacifici, A. Scheduling Problems with Two Competing Agents, Operations Research, 52(2), 229-242, 2004. [2] Atos Origin Consulting, Transparency in Outsourcing, www.atosorigin.com/en-us/Business Insights/ Thought leadership/Thought leadership Container/wp transparency in outsourcing.htm. 2009. [3] Aydinliyim, T. and Vairaktarakis, G. L. Coordination of Outsourced Operations to Minimize Weighted Flow Time and Capacity Booking Costs, Manufacturing & Service Operations Management, 12, 236 255, 2010. [4] Borm, P., Fiestras-Janeiro, G., Hamers, H., S´ anchez, E. and Voorneveld, M. On the Convexity of Games Corresponding to Sequencing Situations with Due Dates, European Journal of Operational Research, 136, 616-634, 2002. [5] Bukchin, Y. and Hanany, E. Decentralization Cost in Scheduling: A Game-Theoretic Approach, Manufacturing & Service Operations Management, 9 (3), 263-275, 2007. [6] Calleja, P., Est´ evez-Fern´ andez, M. A., Borm, P. and Hamers, H. Job Scheduling, Cooperation and Control, CentER Discussion Papers 2004-65, Tilburg University, Tilburg, The Netherlands, 2004. [7] Calleja, P., Borm, P., Hamers, H., Klijn, F. and Slikker, M. On a New Class of Parallel Sequencing Situations and Related Games, Annals of Operations Research, 109, 263-276, 2002. [8] Cavallo , R. Optimal Decision-Making with Minimal Waste: Strategyproof Redistribution of VCG Payments, Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, Hakodate, Japan, 2006. [9] Clarke, E.H., Multipart Pricing of Public Goods, Public choice, 11, 17-33, 1971. [10] Curiel, I., Pederzoli, G. and Tijs, S. Sequencing Games, European Journal of Operational Research, 40, 344-351, 1989. [11] Curiel, I., Potters, J., Rajendra Prasad, V., Tijs, S. and Veltman, B. Sequencing and Cooperation, Operations Research, 42, 566-568, 1994.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

32

[12] Curiel, I., Hamers, H. and Klijn, F. Sequencing Games: A Survey in Chapters in Game Theory: In Honor of Stef Tijs, Kluwer (eds. P. Borm and H. Peters), Boston, pp. 27-50, 2002. [13] Dawson, R. Living Networks: Leading Your Company, Customers, and Partners in the HyperConnected Economy, FT Press, 2002. [14] Deitert, E., Trust: The New Value Proposition for Today’s BPO Provider, Cutter IT Journal, 22, 16-21, 2009. [15] Elmaghraby, W. J. Supply Contract Competition and Sourcing Policies, Manufacturing and Service Operations Management, 2, 350-371, 2000. [16] Gillies, D. B. Solutions to General Non-Zero-Sum Games, in Tucker, A. W. and Luce, R. D.: Contributions to the Theory of Games IV, Princeton University Press, 1959. [17] Granot, D. A Note on the Roommate Problem and a Related Revenue Allocation Problem. Management Science, 30, 633-643, 1984. [18] Green, J. and Laffont, J.J. Characterization of Satisfactory Mechanisms for the Revelation of Preferences for Public Goods. Econometrica, 45, 427-438, 1977. [19] Groves, T. Incentives in Teams. Econometrica, 41, 617-631, 1973. [20] Groves, T. and Loeb, M. Incentives in a Divisionalized Firm. Management Science, 25, 221-231, 1979. [21] Hall, N.G. and Liu, Z. Capacity Allocation and Scheduling in Supply Chains, Operations Research, 58, 1711-1725. 2010 [22] Hamers, H., Borm, P. and Tijs, S. On Games Corresponding to Sequencing Situations with Ready Times, Mathematical Programming, 70, 1-13, 1995. [23] Hamers, H., Klijn, F. and Suijs, J. On the Balancedness of Multimachine Sequencing Games, European Journal of Operational Research, 119, 678-691, 1999. [24] Hamers, H., Klijn, F. and van Velzen, B. On the Convexity Precedence Sequencing Games, CentER Discussion Papers 2002-112, Tilburg University, Tilburg, The Netherlands, 2002. [25] Hariri A.M.A., Potts, C.N. and Van Wassenhove L. N. Single Machine Scheduling to Minimize Total Weighted Late Work, ORSA Journal on Computing, 7, 232-242, 1995. [26] Holton, J. and Dastmalchi, B. Manufacturing Outsourcing for Small and Mid-Size Companies. White Paper, Symphony Consulting Inc., 2008. [27] Kolliopoulos S. G. and Steiner G. Approximation Algorithms for Minimizing the Total Weighted Tardiness on a Single Machine, Theoretical Computer Science, 355(3), 261-273, 2006. [28] Lawler, E.L. A Pseudopolynomial Algorithm for the Sequencing of Jobs to Minimize Total Tardiness, Annals of Discrete Mathematics, 1, 331-342, 1977. [29] Leung, J. Y.-T., Pinedo, M., and Wan, G., Competitive Two-Agent Scheduling and Its Applications,

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

33

Operations Research, 58, 458-469, 2010. [30] McNaughton, R. Scheduling with Deadlines and Loss Functions, Management Science, 6, 1-12, 1959. [31] Moore, J.M. An n Job, One Machine Sequencing for Minimizing the Number of Late Jobs, Management Science, 15, 102-109, 1968. [32] Pinedo, M., Scheduling: Theory, Algorithms, and Systems, 2nd Edition, Prentice Hall, Englewood Cliffs, NJ. 2002. [33] Sethi, D. Core in Cooperative Games, www.cse.iitd.ernet.in/ rahul/cs905/lecture18/lecture18.html, 2002. [34] Shapley, L. Cores of Convex Games, International Journal of Game Theory, 1, 11-26, 1971. [35] Tijs, S.H., Parthasarathy, T., Potters, J.A.M., and Rajendra Prasad, V., Permutation Games: Another Class of Totally Balanced Games, OR Spectrum, 6, 119-123, 1984. [36] Vairaktarakis, G. L. and Aydinliyim, T. Centralization vs. Competition in Subcontracting Operations, Working Paper, 2007 (http://filer.case.edu/˜txa50/centcomp.pdf) [37] Vairaktarakis, G. L. Non-Cooperative Outsourcing Games, TM-822, Weatherhead School of Managament, Case Western Reserve University, 2008.

Appendix 1. Minimizing the Number of Tardy Jobs We present, in this appendix, additional structural properties and optimal algorithms for the special case of (OP) with βj = β for every j ∈ N . This special case is of interest in its own right because it is often that tardiness penalties are not dependent on the jobs or the manufacturers but on the mode of transportation used to express ship late orders. Alternatively, β may represent the cost of a lost sale which is expected to be nearly identical for players who produce the same product. Moreover, the constant penalty case allows for structural insights that are not available for the general case. These insights allow the development of a strongly polynomial time algorithm. P Towards this end, observe that the optimal cost for 1|| βUi differs by a factor β from the P optimal cost for 1|| Ui . The later problem is solved in O(|N | log |N |) time due to the EDD ordering in the MH algorithm below. Therefore, the pseudopolynomial algorithm DP can be replaced by P MH so as to solve 1||β Ui in polynomial time. Algorithm MH (Moore, 1968) 1. Order jobs in N in EDD order; let L be the resulting ordered set. 2. Schedule the first job in L, say j, next to the last non-tardy job in N − L. Let Cj be the resulting completion time and set L := L − {j }.

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

34

3. If Cj > dj then select a non-tardy job in N − L with longest processing time, say j0 , declare it tardy and we schedule it last. 4. If L = 6 ∅ then goto step 2 else Stop. Note that, whenever the currently scheduled job becomes tardy, the longest preceding job is made tardy in step 3 of algorithm MH, so as to allow as many of the jobs left in L to complete on-time. When the jobs to be scheduled are specified, it is convenient to use the following notation: MH(W )= the schedule produced when MH is applied to the single machine problem associated with transformations (1) applied to the jobs scheduled for processing in windows W . Z(W )= the sum of booking, overtime, plus tardiness costs corresponding to schedule MH(W ). In what follows we assume that an optimal collection WO∗ has been determined and one needs to construct an optimal schedule σ ∗ for (OP ), including the decision of booking overtime. The following 2 schedules facilitate this construction. σR : Optimal schedule when no overtime is used and schedule MH(WO∗ ) is obtained assuming that the last window in WO∗ has unlimited capacity. σF : Optimal schedule when the overtime of every window in WO∗ is fully utilized before allocating work to the following window. Note that when no overtime is used in the windows of WO∗ , we may need additional capacity to process all the workload. This is the reason for allowing unlimited capacity in the last window of WO∗ in σR . Let TR and ER be the set of tardy and non-tardy jobs in σR respectively. Similarly, let

TF and EF be the corresponding sets in σF and T ∗ , E ∗ the corresponding sets in σ ∗ . The next two results are important for the identification of T ∗ which in turn is key in finding WO∗ . Lemma 2. TF ⊆ T ∗ ⊆ TR Proof: Suppose that jobs are indexed according to the EDD order and Ji ∈ TF . We will prove that Ji ∈ T ∗ . If not, let Ji be the l-th tardy job when MH obtained σF . From the mechanics of MH there must exist r > i such that the completion time of Jr is Cr > dr when Jr is considered for scheduling. Such Jr must exist otherwise Ji wouldn’t become tardy by MH. Let Al be the set of jobs scheduled in σF prior to Cr when Jr is first introduced and A∗l the set of jobs scheduled in σ ∗ when Jr is first introduced. The total workload prior to Cr in σF is no less than the corresponding workload in σ ∗ when Jr is first considered for scheduling. This is because the total overtime used prior to Cr in σF is no less than in σ ∗ . Therefore, A∗l ⊆ Al . Without loss of generality suppose that in constructing σF and σ ∗ ties are broken by MH so that the set A∗l has as many jobs in common with Al as possible. This maximality property implies

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

35

that, whenever possible, the same longest job is made tardy in σF and σ ∗ . Since A∗l ⊆ Al , we have max{pj : Jj ∈ A∗l } ≤ max{pj : Jj ∈ Al } = pi . If the latter inequality holds strictly, then MH must have already rendered Ji tardy in σ ∗ prior to scheduling Jr , i.e., Ji ∈ T ∗ . On the other hand, if Ji ∈ Al , the maximality of A∗l implies that all other jobs in Al should also be in A∗l because their processing time is no longer than pi and the fact that MH always removes the longest among the jobs scheduled so far. Equivalently, Al ⊆ A∗l and hence A∗l = Al . But then, Jr must be tardy when introduced to σ ∗ since it is already tardy when introduced to σF which uses at least as much overtime as σ ∗ prior to introducing Jr . Then, MH would render Ji tardy in σ ∗ because it is the longest job in A∗l . In either case, Ji ∈ T ∗ . This completes the left hand side of the lemma. The proof for the right hand side is analogous to our argument above except that MH is applied to windows of σR .

¤

In light of Lemma 2, finding T ∗ is equivalent to identifying jobs in TR − TF that must be processed early in σ ∗ . Suppose that the SPT order of TR − TF is TR − TF = {Ji1 , Ji2 , . . . , Jir } and E ∗ = ER + E where E ⊆ TR − TF . The following lemma indicates that T ∗ consists of the first few jobs in the ordered set {Ji1 , Ji2 , . . . , Jir }.

Lemma 3. Suppose that TR − TF = {Ji1 , Ji2 , . . . , Jir }. If Jik+1 ∈ E ∗ then Jik ∈ E ∗ for 1 ≤ k < r. Proof: Suppose that Jik+1 is early in σ ∗ but Jik is tardy. Because of the SPT ordering we have pik ≤ pik+1 . If dik ≥ dik+1 then swap Jik+1 and Jik . Then, Jik becomes non-tardy because so is Jik+1 even though its processing time is not less than pik . Hence, there is an optimal schedule such that if Jik+1 ∈ E ∗ then Jik ∈ E ∗ . On the other hand, if dik < dik+1 , then consider the EDD order of jobs in ER +E + {Jik }−{Jik+1 }. The amount x of overtime needed to process jobs in ER + E + {Jik } − {Jik+1 } is no more than the amount x0 needed to process jobs in ER + E because pik ≤ pik+1 . Also, none of the jobs in ER + E + {Jik } − {Jik+1 } is tardy because this is the case when x0 units of overtime are used in σF (because Jik ∈ / TF ). Therefore, there is an optimal schedule where Jik ∈ E ∗ and Jik+1 may or may not be tardy. This completes the proof of the lemma.

¤

We can now present an optimal algorithm for (OP) with constant penalties for the jobs. The algorithm examines all possible schedules Wf,F that satisfy properties i, ii, iv, and v where F denotes the number of peak windows and f the total number of windows booked. Number f P

cannot exceed w = d

i pi e. L

These 2 numbers together with properties i and ii completely specify the

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

36

collection Wf,F . Then, algorithm CP Opt below addresses problem (OP) with constant penalties by identifying the optimal non-tardy set E ∗ = ER + E for E ⊆ {Ji1 , Ji2 , . . . , Jir }. Algorithm CP Opt Input : Collections WR and WP , associated booking costs and values O, α, β and dj : j ∈ N Output : Optimal collection WO∗ and schedule σ ∗ Begin Let E ∗ = ∅ and ZO = ∞ [1] For F = 0 to min{w, |WP |} do For f = F to w do begin [2] Wf,F := {F earliest windows in WP } ∪ {f − F earliest windows in WR } [3] Apply MH(Wf,F ) when every window has length L + O; let TF be the tardy set Apply MH(Wf,F ) when every window has length L except the last that has infinite capacity; let ER , TR be the resulting early and tardy sets Order T := TR − TF = {{Ji1 , Ji2 , . . . , Jir }} in SPT order For k = 1 to r do begin Find smallest integer k0 such that P Wk =

P j∈ER

pj +

Pk

l=1 pil

≤ k0 (L + O)

If k0 > f then Goto [9] [4]

Schedule jobs in {Jik+1 , . . . , Jir } as late as possible in windows in Wf,F

[5]

Schedule jobs in ER + {Ji1 , . . . , Jik } in EDD order using the next available window in Wf,F and overtime whenever a job becomes tardy. Let σ be the resulting schedule If ZO (σ) ≤ ZO then WO∗ = Wf,F , ZO = Z(σ), σ ∗ = σ and E ∗ = ER + {Ji1 , . . . , Jik }

[6] end [7] end End

The complexity of CP Opt is dominated by the O(w2 ) loops in [1] and the MH applications in [3] that take O(n log n) time. The resulting complexity is O(w2 |N | log |N |). When no overtime is available, we know that F = w and hence the above algorithm can be modified to solve (3P) with constant penalties in O(w|N | log |N |) time. These observations verify Theorem 2 of Section 3.

Appendix 2. Minimizing the Total Weighted Tardiness In this appendix we explore the relationship of our model to the case where the lateness penalty βj Uj (Cj ) is replaced by βj (Cj − dj )+ , where Cj is the completion time of job j, for every j ∈ N .

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

37

This is commonly referred to as the problem of minimizing the total weighted tardiness (TWT). For arbitrary due dates, minimizing the TWT on a single processor is known to be strongly N P hard (Lawler, 1977). McNaughton (1959) has also shown that allowing preemption of jobs does not affect the optimum tardiness cost. Because of the strong N P -hardness of TWT, it is unlikely to get a polynomial-time algorithm to compute its exact solution. There is a research result, however, which shows that a pseudopolynomial algorithm exists for the TWT problem as long as the number of distint due dates is finite; see Kolliopoulos and Steiner (2006). It is interesting to note that our model falls naturally into this pseudo-polynomially solvable setting, because of the structure of our model that the due date of every job coincides with the end of a manufacturing window, whereas the number of windows is finite. Consequently, following from Kolliopoulos and Steiner (2006), we have Theorem 7. There is an algorithm with time complexity O((|N |K!

¡|N |+K ¢ T O(K 2 ) 2 (|N | K ) ) ) which K

optimally solves the TWT problem in our model, where |N | is the number of jobs, K is the number of windows, and T is an upper bound on the maximum tardiness of jobs in N . ¯ Hence, given a window collection W (r), In our problem, a possible upper bound is T = bK + O. the algorithm of Kolliopoulos and Steiner (2006) can be adapted to yield the booking plus total weighted tardiness cost, referred to as the problem (B-TWT). Having such an optimal algorithm, players can determine their optimal booking and sequencing strategies, and 3P can compute a globally optimal schedule. Moreover, the coordinating mechanism developed in Section 4 carries over to the problem (B-TWT). Although the algorithm of Kolliopoulos and Steiner (2006) is psedudo-polynomial, its complexity is still too high. This is less of an issue for the problem with agreeable weights where pi < pj implies βi > βj . On a single processor, the TWT problem with agreeable weights was considered by Lawler (1977) who presented a dynamic programming algorithm that takes O(|N |4 P ) time, where P is the total processing time. Lawler’s algorithm can also be adapted to yield the booking plus total weighted tardiness cost for our problem (B-TWT) when the weights meet the agreeable condition. If one does not seek to find the exact optimal solution, the dynamic programming scheme we propose in Section 3 can be applied to yield an approximate solution for the problem (B-TWT), based on a property established in Kolliopoulos and Steiner (2006) regarding a relationship between the TWT problem and the problem of minimizing total weighted late work. First, consider the case without overtime. Let σ ∗ , σT∗ be optimal solutions for the problems (RP) and (B-TWT), respectively, and let Z(.) be the total cost. Following Kolliopoulos and Steiner (2006) we have

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

38

Theorem 8. If there exists polynomial f (|N |) such that P = O(f (|N |)), then Z(σT∗ ) ≤ f (|N |)Z(σ ∗ ). In other words, algorithm Opt provides an approximation for (B-TWT). Interestingly, the above theorem does not depend on regular or overtime production and hence the result extends to the case with overtime. Note that the dynamic programming scheme we proposed in Section 3 exhibits quite acceptable computational complexity, and thus provides a powerful approximation approach to the problem (B-TWT). The savings allocation scheme (3) presented in Section 4 is applicable because the weighted tardy penalty βj Uj (Cj (σ)) and the total weighted tardiness βj (Cj (σ) − dj )+ of a job j are both nondecreasing functions of the completion time Cj (σ) of j in σ. For problem (B-TWT), the savings vT (S) for a coalition S ⊆ M are vT (S) = ZT (σ0 (S)) − ZT (σ ∗ (S)), where σ0 (S) is the initial schedule σ0 on players in S, and σ ∗ (S) the corresponding optimal schedule for players in S subject to the admissibility constraint, and ZT (σ(S)) =

X

ρ(hk + αk Ok (σ)) +

i∈S

k∈Wi (σ)

X

βj (Cj (σ) − dj )+ .

j∈N (S)

The last expression accounts for regular and overtime booking costs and total weighted tardiness costs.

Appendix 3. Algorithm Coalition In what follows we describe, based on algorithm Opt presented in Section 3, an algorithm Coalition to compute savings v(S) associated with an arbitrary coalition S ⊂ M . Note that after the booking process is complete, the jobs in N form a sequence σ0 = (σ0 (1), σ0 (2), · · · , σ0 (|N |)) where σ0 (i) denotes the i-th job in the sequence. Let G{a, b} = {σ0 (a), σ0 (a + 1), . . . , σ0 (b)}, for 1 ≤ a ≤ b ≤ |N | be a coalition of jobs. A window is booked by coalition G{a, b} if it is occupied by any job in the coalition. Upon completion of the initial bookings, let We and Wl be the earliest and the latest booked windows of coalition G{a, b}, respectively. By definition, note that windows We and Wl may process jobs outside G{a, b}. This cannot be the case for windows between We and Wl . As a result, any window between We and Wl can generate booking savings by consolidating the workload of jobs in G{a, b} and releasing unused windows. Windows We , Wl however, may not yield booking savings to G{a, b} if they are also occupied by jobs outside the coalition. Coalition G{a, b} faces the problem of rescheduling jobs over the windows booked originally, so as to achieve the minimum combined

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

39

booking, overtime, and tardiness cost. Denote this problem as P Coalition. The main difference between P Coalition and (OP) is that windows We and Wl may not be released and hence the booking charges he , hl have to be paid. We introduce the following notation: P Qab = j∈G{a,b} pj ; the total processing time (workload) of jobs in G{a, b}, Qe : the amount of window time in We not belonging to G{a, b}, 0 ≤ Qe ≤ L, Ql : the amount of window time in Wl not belonging to G{a, b}, 0 ≤ Ql ≤ L, Evidently, Opt can be modified to produce optimal schedules that satisfy the constraints imposed ¯ of Opt. Permanently including We or Wl forces us to include one or more of on collection W (r, O) these windows in W (r, ¯0). Permanently excluding a window simply prevents us from introducing that window in the next candidate collection. Moreover, Opt is not effected if We and/or Wl allow for different maximum regular or overtime production time. Hence, P Coalition can be solved by making the following adjustments on the regular and overtime capacity availability of windows We , Wl , and revised booking costs h0e , h0l : We : Regular: max{L − Qe , 0}, Overtime: L + O − max{Qe , L}. Wl : Regular: max{L − Ql , 0}, Overtime: L + O − max{Ql , L}. These capacity limits simply reflect the remaining regular and overtime capacity in windows We , Wl after accounting for the workload of jobs not in G{a, b} that are processed in We , Wl respectively. Given these availabilities, let W ∗ (G) denote an optimal collection of windows for coalition G{a, b}. The following constraints indicate when We , Wl are candidate or required windows of W ∗ (G). In each case the revised cost of the window is included. Qe ∈ (0, L), h0e = he , We ∈ W ∗ (G) Ql ∈ (0, L), h0l = hl , Wl ∈ W ∗ (G) Qe = 0, h0e = he , We candidate Ql = 0, h0l = hl , Wl candidate 0 Qe ≥ L, he = 0, We candidate Ql ≥ L, h0l = 0, Wl candidate. To verify these constraints, observe that, when Qe ∈ (0, L) window We must be in W ∗ (G) to process jobs not in coalition G{a, b}, and hence the booking cost remains unchanged. When Qe = 0, then We is used exclusively by jobs in G{a, b} and hence can be replaced by any other window if this is profitable. The resulting booking saving in this case is h0e = he . If on the other hand Qe ≥ L, window We must be included in W ∗ (G) to process jobs not in coalition G{a, b}, and hence the cost to jobs in G{a, b} is 0. Similarly for window Wl . The exhaustive enumeration nature of this modified version of Opt (referred to as algorithm Coalition) produces an optimal solution for problem P Coalition. The time complexity of Coalition is the same as that for Opt.

40

Author: Cai and Vairaktarakis: Coordination of Outsourced Operations Article submitted to Operations Research; manuscript no. OPRE-2009-04-180.R4

Appendix 4. Counterexample Consider an instance where manufacturers 1, 2, 3 arrive to the system in the order 1, 2, 3, each of ¯ = 0, ρ = 1 which owns a single job with pj = 1, dj = 9 for j = 1, 2, 3, L = 3, h1 = h3 = 0, h2 = 100, O and arbitrary positive βj ’s. Recall that all parameters are rescaled so that the 3 manufacturing windows have no idle time between them (i.e., window t + 1 starts at time at+1 = bt ). Before coordination, manufacturers 1 and 2 (occupying windows W1 and W3 respectively) incur no cost while manufacturer 3 (occupying W2 ) incurs cost of 100 and all jobs finish early. After coordination all 3 jobs are scheduled in window W1 . Consider coalitions S = {1, 3} and T = {2, 3}. Then, v(T ) = v(S)=100 because both release W2 thus earning refund savings of 100. The same is true for coalition S ∪ T = {1, 2, 3}. However, v(S ∩ T ) = v({3}) = 0 because manufacturer 3 cannot create savings all by himself. Thus, v(S ∪ T ) + v(S ∩ T ) = 100 < 200 = v(S) + v(T ). This example shows that the cooperative game is not convex.