ARTICLE IN PRESS Computers & Operations Research 37 (2010) 1298–1307
Contents lists available at ScienceDirect
Computers & Operations Research journal homepage: www.elsevier.com/locate/caor
A hybridization of mathematical programming and dominance-driven enumeration for solving shift-selection and task-sequencing problems Ada Y. Barlatt a, Amy M. Cohn b,, Oleg Gusikhin c a
Department of Management Sciences, University of Waterloo, 200 University Avenue West, Waterloo, ON, Canada N2L 3G1 Department of Industrial and Operations Engineering, University of Michigan, 1205 Beal Avenue, Ann Arbor, MI 48109, USA c Supply Chain Management Research, Ford Motor Company, 2101 Village Road, Dearborn, MI 48121, USA b
a r t i c l e in f o
a b s t r a c t
Available online 14 October 2009
A common problem in production planning is to sequence a series of tasks so as to meet demand while satisfying operational constraints. This problem can be challenging to solve in its own right. It becomes even more challenging when higher-level decisions are also taken into account. For example, determining which shifts to operate clearly impacts how tasks are then scheduled; additionally, reducing the number of shifts that must be operated can have great cost benefits. Integrating the shiftselection and task-sequencing decisions can greatly impact tractability, however, traditional mathematical programming approaches often failing to converge in reasonable run times. Instead, we develop an approach that embeds mathematical programming, as a mechanism for solving simpler feasibility problems, within a larger search-based algorithm that leverages dominance to achieve substantial pruning. In this paper, we introduce the Shift-Selection and Task Sequencing problem (SSTS), develop the Test-and-Prune algorithm (T&P), and present computational experiments based on a real-world problem in automotive stamping to demonstrate its effectiveness. In particular, we are able to solve to provable optimality, in very short run times, a number of problem instances that could not be solved through traditional integer programming methods. & 2009 Elsevier Ltd. All rights reserved.
Keywords: Integer programming Scheduling Algorithms Resource allocation
1. Introduction Production planning problems are typically based on the assumption of a pre-defined, fixed set of shifts in which tasks can be scheduled. However, careful planning may make it possible to complete all tasks in a reduced number of shifts. Decreasing the number of shifts used can result in significant savings such as facility operating costs, overhead costs, etc., which typically dominate the cost of performing the actual tasks. We call the integration of the higher-level Shift-Selection (SS) decisions with the more detailed Task-Sequencing (TS) problems Shift-Selection and Task-Sequencing (SS-TS). TS problems are often quite challenging to solve by themselves (e.g. [1–4]); integrating them with SS decisions yields even greater challenges [5]. Not only are the resultant mixed integer programs (MIPs) often very large, but their linear programming (LP) relaxations are often weak as well. This is caused by the constraints that link together shift-selection decisions (which assign capacity) and task-sequencing decisions (which use this capacity). Whenever capacity is not fully utilized, fractional values
Corresponding author.
E-mail addresses:
[email protected] (A.Y. Barlatt),
[email protected] (A.M. Cohn),
[email protected] (O. Gusikhin). 0305-0548/$ - see front matter & 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2009.09.013
for the shift-selection decisions can reduce cost in the LP relaxation. See [6,7] or similar examples in other applications. Due to these challenges, this problem has historically been disaggregated to achieve tractability (e.g. [8,9]), often at the expense of solution quality. We propose an alternative approach to SS-TS to overcome these challenges, which we call Test-andPrune (T&P). This algorithm leverages three key facts common to many SS-TS problems. First, the SS costs greatly dominate the costs associated with TS. Second, the set of SS decisions is discrete and fairly limited. Third, when the shifts are pre-determined we need only test the feasibility of the corresponding TS problem. In such cases, instead of modeling and solving SS-TS as a single optimization problem, we propose to solve it by enumerating all solutions to SS (i.e. all sets of SS decisions) and, for each of these, determining whether the corresponding TS problem instance is feasible (i.e. the tasks can be sequenced without violating the limitations imposed by the SS decisions), then select the least-cost of the feasible solutions. We show that this approach, in conjunction with pruning techniques (to limit the number of feasibility problems actually solved) and other extensions, enables us to solve problems that are computationally intractable under traditional IP-based approaches. The paper is organized as follows. In Section 2, we formally state the SS-TS problem. In Section 3, we present the T&P algorithm. In Section 4 we present computational results from
ARTICLE IN PRESS A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
two case studies in automotive stamping. We conclude in Section 5 with suggested areas for future research.
2. General problem statement 2.1. Motivation The motivation for this research stems from our work on scheduling presslines in an automotive stamping facility [10]. In this problem, the challenge is to sequence the production of part types such as hoods, fenders, and door panels, so as to meet demand for the downstream final assemblies while satisfying operational constraints. We began this project focusing on the detailed task of scheduling individual presslines, itself a complex and challenging problem. In some instances, we observed that it was possible to schedule all tasks in fewer shifts than had been allocated. The savings associated with eliminating a shift (and therefore eliminating the corresponding cost of operating the facility during that time period) greatly outweighs any incremental savings that might be associated with improving the production schedule. This motivates the question: Can production be scheduled and changeovers be coordinated so as to reduce the number of shifts that the plant must be open? We therefore expanded our view from considering the single pressline problem to simultaneously evaluating both production sequencing and shift selection. This also required us to consider all of the presslines in a given stamping facility concurrently, as they share common shift limits. This research led to our initial investigation of the SS-TS problem, and the subsequent development of the T&P algorithm. Automotive stamping is not the only application environment in which SS-TS problems are found. In the most basic case, shiftselection decisions are simply that: of a given set of candidate shifts, which ones should be selected to operate and thus be made available for completing tasks? These shifts might represent time periods in a manufacturing plant, call shifts in a telemarketing facility, or available slots in a set of hospital operating rooms. Once a subset of these shifts has been selected, then these shifts become available for use in scheduling the associated tasks such as final assembly, customer surveys, or surgical procedures; conversely, tasks are prevented from being scheduled during those shifts which have not been chosen. Note that the candidate shifts need not necessarily represent contiguous blocks of time. For example, the environment considered in Section 4.1 considers three daily shifts of 8 h each (first, second, and third shift). The planning horizon spans multiple days, however, and if the first shift is ‘‘turned on,’’ then it must be available for all first shifts in that horizon, not just a single day. This definition of shift selection can be broadened to not only include the single binary decision for each shift of whether or not to enable it, but also a wider class of characteristics for each shift. For example, a manufacturing facility might have equipment needed to perform three different processes (A, B, and C). Each of these processes in turn has fixed costs and times associated with its start-up. Thus, instead of one decision for each candidate shift s in the planning horizon, this problem might have three: Should I enable Process A during shift s? Should I enable Process B during shift s? Should I enable Process C during shift s? In a telemarketing call center, we might care not only about whether or not calls are being made, but which language skills the employees have (e.g. Can calls be made to Spanish-speaking households?). Likewise, different surgical suites in a hospital might have different capabilities and thus the question is no longer ‘‘Can operations be performed during shift s?’’ but becomes ‘‘Can operations of
1299
type o be performed during shift s?’’ for some finite set of operation types. Adding further complexity to the selection of shift characteristics is the fact that there may be interdependence between these decisions. For example, in the manufacturing context, Process A and Process B might require exclusive use of the same piece of equipment and therefore not both be allowed during a common shift. Alternatively, Process C might require that either Process A or Process B also be enabled whenever Process C is enabled. Finally, the cost of the chosen shift characteristics may be non-additive. For example, in surgical scheduling, it might be necessary to have an administrator available whenever any one of the operating rooms is scheduled, but this administrator can be shared across all of the enabled operating rooms and thus the associated cost does not increase as the number of scheduled suites increases. Before presenting this algorithm, we broaden the scope to form a more general definition of SS-TS. 2.2. Production environment Within the problem definition, we make the following assumptions: (i) The planning horizon is finite. (ii) The set of tasks to be produced during this planning horizon is finite, deterministic, and static. (iii) The tasks are to be completed on a fixed set of machines (or, in a non-production, environment, by a fixed set of servers). We recognize that real-world manufacturing environments are in fact stochastic and volatile [11]. The purpose of the T&P algorithm is to construct an initial plan which will typically be implemented and adjusted in tandem with a manufacturing execution system [12]. This system in turn will determine the appropriate course of action to take when disruptions occur (e.g. changes in demand or machine failures) that require deviation from this original plan. 2.3. Shift-selection decisions We assume the following about the SS decisions: (i) The set of candidate shifts is finite, discrete, and prespecified. (ii) The length of each shift is pre-determined (but shifts are not all required to be of a common length). (iii) At a minimum, we have a decision for each shift of whether to turn it ‘‘on’’ or ‘‘off’’. More broadly, there may be multiple decisions for each shift corresponding to a variety of binary characteristics. For example, in the automotive stamping problem, we decide whether each shift does/does not permit production. We also, separately, decide whether each shift does/does not permit changeovers between different part types, which requires a separate labor pool. (iv) The fixed cost associated with an SS solution is substantial, i.e. it greatly dominates any additional costs associated with the TS decisions of how to perform activities within the chosen shifts, which are assumed to be negligible. (v) We do not restrict the SS cost function to be additive in the SS decisions. In fact, this need not even be a closed-form function, it simply must be straightforward to compute. (vi) Each SS decision imposes a capacity limit on the TS decisions, which can be written as a linear constraint or set of linear constraints; the SS decision serves as the
ARTICLE IN PRESS 1300
A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
right-hand side (i.e. upper bound) of these constraints. An P example of this is: t lt xts r ds ys , where xts equals one if task t is assigned during shift s (zero, otherwise), ys equals one if s is ‘‘turned on’’ (zero, otherwise), ds is the duration of shift s, and lt is the length of task t. In other words, the total time of production that can be scheduled within a given shift s is the length of that shift if it is ‘‘turned on’’ or zero if it is not. (vii) There may be interdependencies between SS decisions. For example, there may be restrictions on the minimum and maximum number of shifts to be operated. 2.4. Task-sequencing decisions We assume the following about the TS decisions: (i) There is a fixed, finite, and deterministic set of tasks to be sequenced. (ii) Each task has a pre-specified set of requirements. We do not require that all tasks be of the same length. Furthermore, we allow task lengths to be a function of other attributes (e.g. preceding task, which shift it is assigned to, etc.). (iii) There is a set of constraints to be satisfied by the task sequence. These constraints may include due dates, operational restrictions, resource limitations, etc. We assume that these constraints can be formulated as a MIP. (iv) The TS decisions are constrained by the SS decisions as specified in Section 2.5.
2.5. Formal problem statement In the SS-TS problem, we seek to select the minimum-cost set of shifts such that they provide adequate opportunity to sequence a collection of pre-defined tasks. The following structural assumptions and use of notation are assumed:
S is the set of SS decisions to be made. These encompass either
the basic decisions of whether or not to operate a given shift or, more broadly, decisions about what characteristics each shift might have. y is the decision vector associated with SS; ys is the sth element of this vector, i.e. the decision variable associated with SS decision s. Y is the set of all valid SS solutions (where each solution is a vector in BjSj ). This captures the individual binary SS decisions, as well as any broader constraints on feasible solutions that span multiple decisions (for example, budgetary constraints). Note that we do not require that Y can be represented as a mathematical program. f ðyÞ is the cost function applied to SS solution y A Y. There are no restrictions on f—we do not even require a closed form function—so long as it is easy to compute. x is the decision vector associated with TS. Note that x does not appear in the objective function—any costs associated with the task-sequencing decisions are assumed to be negligible and not to influence the decision-making process. X defines any non-negativity constraints, integrality constraints, and upper/lower bounds on the TS decisions x. H is the coefficient matrix defining any constraints on the TS decisions x which do not depend on the SS solution y. We assume these constraints to be linear. I is the set of linking constraints that capture the interaction between the TS decisions x and the SS decision vector y. g i and di are the row vectors defining the ith linking constraint.
2.5.1. Formulation min s:t:
f ðyÞ
g i x di yr 0;
ð1Þ iA I
ð2Þ
H x r0
ð3Þ
xAX
ð4Þ
yA Y
ð5Þ
The objective function (1) computes the value of SS solution y. (Note that the objective function depends only on y and not on x.) Constraints (2) enforce limitations on the TS decisions relative to the upper limits provided by the SS solution. Constraints (3) are additional constraints to ensure the feasibility of x. Finally, (4) and (5) enforce integrality, non-negativity, and other restrictions on the vectors x and y. 2.6. Challenges of SS-TS There are several structural aspects of SS-TS that can make this problem difficult to solve. First, the set Y may be non-linear, discrete, non-convex, or have some other characteristic that makes it difficult (if not impossible) to represent as a MIP. Second, and related to this, is the fact that the cost function f ðyÞ may be non-linear, non-convex, or possibly even not a closedform function. Third, even when SS-TS can be formulated as a MIP, it typically will pose a weak linear programming (LP) relaxation. This is because the objective value can be decreased in a fractional solution by matching the capacity of y to the exact value required by the decisions x. For example, recall the constraint described P earlier of t lt xts rds ys , where xts equals one if task t is assigned during shift s (zero, otherwise), ys equals one if s is ‘‘turned on’’ (zero, otherwise), ds is the duration of shift s, and lt is the length of task t. In other words, the total time of production that can be scheduled within a given shift s is the length of that shift if it is ‘‘turned on’’ and zero if it is not. In this case, the cost of the LP P relaxation is minimized by fixing ys at t lt xts =ds , which may well be fractional. In practice, very poor convergence of the branchand-bound tree is often observed in such problems. (See [6,13] for examples of this in other problem domains.) Finally, the TS problem represented by Hx r 0, x A X may itself be a large MIP. In particular, the integration of SS and TS can create such a challenge, because it prevents TS from being decomposed. For example, in the automotive stamping example considered in Section 4.1, the integration of SS and TS requires that all presslines be scheduled concurrently, because they share the common utilization of the manufacturing facility and thus are linked by the SS decisions.
3. Test-and-Prune algorithm Our approach to overcome the challenges outlined in Section 2.6 is based on the simple idea of solving many easy feasibility problems instead of one difficult optimality problem. We begin by enumerating all feasible SS solutions in Y (bypassing the challenge of representing this set as a MIP). We then compute the cost of each of these solutions (again, bypassing the challenges of a complex cost function f ðyÞ). Next, for each solution vector y we test the corresponding TS problem for
ARTICLE IN PRESS A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
feasibility. Finally, we select the lowest-cost SS solution that is task-feasible. In practice, even for very fast feasibility tests, the cardinality of Y may be too large to ensure tractability. Thus, our approach depends on our ability to prune the list, limiting the number of SS solutions, y, that are actually tested. In particular, we take advantage of the fact that we can prune both when y is feasible (eliminating all higher-cost solutions) and also when it is infeasible (eliminating all dominated solutions). The details of the algorithm are outlined in the following section.
3.1. Test-and-Prune algorithm details There are two phases to the T&P algorithm. First, we build the list of candidate SS solutions; we then process this list until it is empty and the optimal solution has been found. These phases are outlined in Fig. 1. Build: In the Build phase, we create a Pending list of candidate solutions to the SS problem. Specifically, we begin with an upper and lower bound for each variable ys . We loop through all combinations in these ranges and for each such vector y, we check its validity—that is, we test to see if it is a member of the set Y. For example, Y might contain a total budgetary constraint or a limit on the total number of laborers that can scheduled across all shifts. If y is not in Y then we delete it. Otherwise, we next test its viability—this is a preprocessing stage recognizing that a full-
1301
fledged MIP is not always necessary to identify TS infeasibility. For example, clearly a solution in which all shifts are turned off will not be feasible, because no production can occur. As we show in our computational experiments, it is often possible to exploit problem-specific structures to effectively pre-process the candidate SS solution list. If an SS solution is not viable, then we delete it. Otherwise, we insert it in the Pending list. Process: In the Process phase, we evaluate elements of the Pending list until the list is empty and the optimal solution has been identified. Specifically, we begin by removing a candidate solution y from the Pending list and testing its TS feasibility. (Note that in our formal statement, we present this feasibility test as a MIP, for the sake of simplicity. In fact, it is not necessary to solve the feasibility problem as an MIP or even as a mathematical program—there must simply be a ‘‘black box’’ which returns the status of the y vector as either feasible or infeasible.) If a feasible solution to TS exists for the given y vector, we prune from the list any pending SS solution outside of the optimality gap defined by this solution; clearly any such a solution is sub-optimal. We then update the Current Best list with solution y. Conversely, if y is infeasible, then we prune from the Pending list any SS solution y^ for which y^ s r ys for all individual SS decisions s; such SS solutions constrain TS even more tightly and thus will also be infeasible. Once y has been processed and the Pending list updated, we then choose another SS solution vector from the (reduced) Pending list and repeat until the list is empty. User-customization: We conclude this section by re-iterating that the T&P algorithm requires customization by the user in a
Build List
Process List
Initialize “current best”
Loop through all SS vectors
NO
Test-and-Prune
NO
NO
Is pending list empty?
Valid solution?
Retrieve a pending SS vector and test feasibility
YES Viable solution?
Feasible?
YES
Update “current best” with SS vector
NO YES Add to pending list
Prune via infeasibility
Return “current best”
Fig. 1. Test-and-Prune flowchart.
Prune via feasibility
YES
ARTICLE IN PRESS 1302
A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
number of areas, and summarizing them here. First, the user must provide a ‘‘black box’’ for the validity and viability checks, which take as input a vector y and specify whether this vector is valid and viable. Second, the user must also provide a ‘‘black box’’ for testing the feasibility of the TS problem given a fixed set of SS decisions y. Finally, the user must specify the strategy for retrieving from the Pending list. For example, in our case study, we sort the list by the values f ðyÞ and then retrieve from the Pending list the value currently at the mid-point of this list. As a result, whenever the candidate y vector is feasible, the list will be pruned in half (because half of the candidates in the Pending list, by definition, have higher cost); whenever the candidate y vector is infeasible, we cannot automatically prune half of the list, but we can expect several pending candidates to be pruned by dominance, because the cost function is increasing in the values of y (i.e. more resources means more cost) and thus we can expect the Pending list to have several elements with fewer (and thus dominated) resources. Of course, this strategy will not yield the best run-time performance in all cases. Just as branch-and-bound requires careful selection of branching and variable selection strategies, T&P users can benefit from customizing their search strategy to fit the application at hand.
3.2. Test-and-Prune when the cost function includes x We have assumed in our development of T&P that the tasksequencing decisions do not influence the cost of the overall solution (as is the case in the motivating application which we worked on). However, there are some cases where TS will impact cost, but to a very small degree, relative to the SS decisions. In this case, T&P can be modified by setting the optimality to gap to a small negative value. By doing so, whenever a feasible solution is found, only those solutions that are higher than the optimal value by this gap will be pruned. In other words, all feasible solutions within a narrow range of optimality can be found. Given this set of (near-) optimal solutions to SS, the user can then solve TS as an optimization problem (i.e. considering the cost function of x) for each of these solutions y to find the best combination. (Note that this presupposes that TS can be solved easily not only as a feasibility problem, but as an optimization problem as well.)
3.3. Test-and-Prune and Benders Decomposition There are many similarities between our proposed approach and Benders Decomposition and therefore it is worth comparing the approaches and putting T&P in the context of Benders. Specifically, the main idea in Benders Decomposition [14,15] is to partition the variables in a mathematical program into two sets, Y and X. A relaxed master problem is solved in which only the Y’s are (directly) considered. An optimal Y is found and then used as the input to a sub-problem, in X, which either proves the optimality of Y (and finds a corresponding optimal X) or provides a cut for the master problem. The master is then solved for a new ‘‘optimal’’ value of Y and the process repeats until the subproblem proves the current Y to be optimal (or proves the original problem infeasible). In ‘‘traditional’’ Benders, given a fixed value of Y, the original problem is assumed to become a linear program in X. The cuts can then be generated based on solving the dual of this subproblem. This approach is successful for a very wide range of applications [16], but also has limitations. For example, if the sub-problem is not an LP, then there can be a duality gap and, as
a result, the optimal solution may not be found. If the subproblem is an IP, this can be overcome by embedding Benders in each node of a branch-and-bound tree, but this can provide sizeable challenges for both implementation and run time. In addition to these challenges related to the sub-problem, it is also assumed that optimizing Y in the master problem is straightforward, which again places limitations on the cost function and constraints associated with Y. More general implementations of Benders have thus been developed which target the easing of these restrictions. For example, the logic-based dual idea of Hooker and Ottoson [17] defines a more general notion of duality which enables cuts to be generated, and the algorithm to achieve an optimal solution, without requiring the sub-problem to be a linear program. The form of the dual sub-problem instead becomes applicationspecific, focused on finding a way to eliminate a large set of Y values based on the information learned from considering just one, as [17] points out, for example, see [18,19]. There are many ways in which T&P is similar to Benders. First and foremost, we too partition the variables (in our case, the Y’s are the shift selection variables and the X’s are the task sequencing variables). At each iteration, we too identify a candidate variable Y, solve a sub-problem in X relative to this Y, and then use this information to further restrict the feasible solutions for Y. And like the logic-based approach to Benders, T&P requires an applicationspecific sub-problem to be developed by the user—it is not automatically defined (unlike the case in traditional Benders). However, in T&P it is not the cuts that are application-specific but rather the ‘‘black box’’ for checking the feasibility of a solution to the master problem. In fact, T&P can be viewed as a specialized version of Benders Decomposition specifically targeting SS-TS. In particular, SS-TS problems share two common sets of cuts. The first, when the current solution to the master problem is feasible, eliminates solutions with higher objective value. The second, when the current solution to the master problem is infeasible, eliminates dominated solutions. It is also important to emphasize the way in which we select Y. In the Benders literature, Y is often found by solving a mathematical program to optimality, with the cuts being used to increasingly reduce the feasible region of this relaxed master problem. We instead enumerate all possible values of Y (using some preliminary pre-processing measures to limit the set; recall that we have pre-supposed that the set of Y’s is discrete and ‘‘somewhat’’ limited) and then choose an element from this pending candidate list according to a user-specified sorting and selection rule. In our case study, we found it most effective to sort by cost and select from the middle of the pending list. In doing so, we are able to prune both through dominance (when Y is infeasible) and also through cost (when Y is feasible but suboptimal). If we were to instead solve the master problem to optimality at each iteration, the approach would start from the bottom of the list and work upwards, with very little impact from each of the successive cuts. In those cases where the optimal solution is fairly costly (relative to the total solution space), the list would be considered almost exhaustively, whereas selecting from the middle is much more likely to behave like a log-based search.
4. Shift-selection case studies To demonstrate the effectiveness of T&P, we present two case studies based on our research in automotive stamping. An automotive stamping plant produces parts used to construct
ARTICLE IN PRESS A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
the frame of a vehicle such as hoods and door panels. The process begins by inserting large rolls of sheet steel into a blanking press. This press cuts the sheet steel into blanks, pieces that are slightly larger than the final part. The blanks are then passed to a pressline. As a blank moves through the pressline, a series of matching upper and lower dies shape it into a threedimensional part. After passing through the pressline, some parts are packaged and shipped to downstream facilities while others continue on to sub-assembly and/or assembly workstations within the stamping facility. Each part type in the stamping facility is assigned to be produced on a specific pressline and each pressline produces approximately 5–15 part types. One of the key challenges when sequencing production is to account for the changeover between part types. A two-part set-up must occur whenever changing between parts of differing types on a pressline. To begin a changeover from part type A to part type B, the dies for B must be prepared. This off-line preparation can take place while A is being produced. During off-line preparation, dies from the previous part type are moved to their storage location and/or cleaning and maintenance area. Then, the next set of dies to be set is picked up and moved to the pressline. After this off-line preparation has been completed and production of part type A stops, the changeover to the dies for part type B can take place. During this period, no parts can be produced on the pressline. The dies for part type A are moved out, and the new dies (for part type B) are moved in and secured. Both the changeover to B and the subsequent off-line preparation time for B are required to be fully contained within a single shift. Changeover resources are those required to complete set-ups between part types, while production resources are those required to produce part types. We can think of these resources as two characteristics associated with SS. Our goal is to develop a minimum-cost, two-week cyclic production schedule. Since the pressline stage of production is the bottleneck of the system, we focus on sequencing the tasks across the presslines and assume that there is an infinite amount of blanks for the presslines as well as an infinite buffer for completed part types. We further assume that there can be at most three 8-h shifts in each day of the planning horizon. This problem can be easily expressed as a SS-TS problem. The SS problem is to determine the characteristics of each shift (i.e. for each shift, whether it has changeover resources and whether it has production resources), while the TS problem is to determine a feasible production sequence for each pressline to meet demand, subject to the SS decisions. To assess the computational performance of T&P, we evaluated real-world data from an automotive stamping facility. These data represent 22 presslines that collectively manufacture on the order of one million units spanning 130 part types in a two-week planning horizon. Three different demand levels (low, medium, and high) were considered to assess their impact on performance. The formulation of the MIP feasibility problem for this application (itself a challenging research topic) is summarized in the appendix. A related formulation is presented and discussed in [10].
1303
All computational experiments were conducted using CPLEX version 10.2 and Concert Technology in conjunction with C þ þ on a IBM x3455 10 GB RAM machine running Redhat Enterprise Linux 4. 4.1. Case study 1: selecting shifts for production and changeovers In our first case study, we consider the problem in which there are six SS decisions: whether or not to permit production (i.e. make the production resources available) in the first, second, and third shift of each day, and whether to permit changeovers (i.e. make the changeover resources available) in the first, second, and third shift of each day. Thus, there are 26 ¼ 64 candidate SS solutions to be considered (e.g. ‘‘production is permitted in the first and third shifts but not the second shift, and changeovers are permitted in the third shift only’’). 4.1.1. Traditional approach—a single optimization problem We began by attempting to solve this problem as a traditional MIP. Each instance of this formulation has 121846 variables, and 15 365 constraints. For each of the three demand levels, we allowed the MIP to run for 10.5 h, fine-tuning the CPLEX parameters to achieve the best performance. Table 1 presents the results for each demand level. This table begins with the demand level followed by the run time. The next column presents the number of nodes explored in the branch-and-bound tree followed by the gap of the initial LP relaxation relative to the optimal solution (found later in the experiments). Next is the optimality gap of the best integer solution found relative to the lower bound from the branch-and-bound tree, and then the true optimality gap (i.e. the gap relative to the optimal integer solution). When no integer-feasible solution is found these gaps are left blank. Observe that the initial LP gap is quite large (from 18% to 37%) and that this lower bound grows slowly, leading to a significant amount of branching. In addition, observe that it was quite difficult to find integer-feasible solutions and prove optimality with this traditional approach—only one instance found an integer-feasible solution and in that case the final tree gap was still quite large. 4.1.2. Test-and-Prune version 1: many feasibility problems One of the key challenges observed in trying to solve this problem with a traditional MIP approach is the weak LP relaxation and corresponding amount of branching. This in turn is largely caused by the interaction between the SS decisions and the TS decisions. In particular, the TS decisions provide incentive for fractional values of the SS variables, resulting in very large branchand-bound trees. We therefore take the approach of enumerating all solutions to SS and, for each of these, assessing the feasibility of the corresponding TS. Clearly, the lowest cost SS solution for which a feasible TS solution exists will be the optimal solution to the integrated problem. Although breaking SS-TS into a series of feasibility problems reduces the size of the problem, many of these feasibility problems are still challenging, due in part to their large size (on
Table 1 Traditional MIP. Demand
Run time (h)
# Nodes
LP relax gap (%)
Tree gap (%)
Best integer opt gap (%)
Low Medium High
10.5 10.5 10.5
6796 8021 12931
34.09 36.74 18.28
16.16 – –
2.44 – –
ARTICLE IN PRESS 1304
A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
Table 2 Disaggregate feasibility problems.
Table 3 Pre-processing feasibility problems.
Demand
Run time (s)
# Solved
# Feasible
# Infeasible
Demand
Run time (s)
# Viable
# Feasible
# Infeasible
Low Medium High
245 701 26132
64 64 64
10 4 4
54 60 60
Low Medium High
113 138 25629
6 6 2
4 2 2
2 4 0
the order of 88 000 variables and 14 000 constraints). We can overcome this challenge by leveraging another important benefit of pre-defining the SS decisions. Specifically, the SS decisions are the only decisions that link the presslines together, and thus when these decisions are fixed, the presslines can be decoupled. For a given SS solution vector, we can therefore solve a separate feasibility problem for each pressline—the SS is feasible only if the corresponding TS problem is feasible for every pressline. Furthermore, as soon as one pressline is shown to be infeasible, the current SS vector is known to be infeasible. The results of this approach are shown in Table 2. This table provides the total run times encompassing all 64 feasibility problems for each of the three demand levels. It also provides information on the number of feasible and infeasible TS problems. Observe that this approach enables us to find provably optimal solutions to all three instances, with two instances completing in under 12 min. 4.1.3. Test-and-Prune version 2: pre-processing non-viable SS solutions Clearly, there is a significant improvement in performance to be gained by solving each TS feasibility problem individually and disaggregating the problem across presslines, as we see in the changes in run time from experiments 4.1.1 to 4.1.2. Further improvements can be made by bypassing some of the TS feasibility problems altogether. For example, consider the SS solution vector in which none of the three shift types enable production nor changeovers. Clearly, then, no production can occur and thus demand cannot be met. It is not necessary to solve an optimization problem to determine that this TS problem is infeasible. More generally, by exploiting problem structure, it is possible to eliminate many of the TS problems, recognizing that the corresponding SS solution vectors are not viable. Specifically, we sum the total hours of production time for all part types, which gives us a lower bound on the amount of production capacity that needs to be available. (This is a lower bound because it disregards rules concerning changeovers and, in particular, the boundaries provided between shifts that cannot be spanned by certain tasks.) We then compare this lower bound to the amount of production time available given a specific SS vector. If the SS solution does not exceed the lower bound in terms of production capacity, we can disregard this vector. Similarly, we can find a lower bound on the optimal objective value by solving the LP relaxation of the original problem. As the optimal solution to this is clearly no greater than the true optimal objective value, any SS vector with lower cost than this bound cannot be feasible and therefore can be disregarded. Table 3 shows the run time, number of viable SS solution vectors and the number of feasible and infeasible TS problems. Observe that the number of TS problems to be solved decreases by roughly an order of magnitude. For two of the three instances, this substantially decreases the run time. 4.1.4. Test-and-Prune approach version 3: pruning feasibility problems The number of TS feasibility problems that need to be solved to find the optimal solution to the integrated problem can be
Table 4 Pre-processing and pruning feasibility problems. Demand Run time (s) # Viable # Solved # Feasible # Infeasible
# Pruned
Low 25 Medium 77 High 509
4 3 1
6 6 2
2 3 1
1 1 1
1 2 0
reduced even further by recognizing that information gained in one feasibility problem often proves relevant to other feasibility problems as well. For example, if the SS solution where production is permitted during the first and third shift of every day and changeover resources are available for the first and third shift of every day is infeasible, then clearly the SS solution which enables production and changeovers only during the first shift of each day will also be infeasible, because this is even more tightly constrained. Likewise, if that problem is feasible, then it is unnecessary to solve the instance in which production and changeovers are permitted every shift, because this solution has higher cost and is thus sub-optimal. We therefore conducted another set of runs in which this pruning was implemented. Table 4 shows the run time, number of viable SS solutions after preprocessing, the number that were actually solved, whether they were feasible or infeasible, and the number that were pruned. Observe that the three problem instances which could not be solved to optimality (and, in two cases, did not even yield an integer feasible solution) in 10.5 h using a traditional branch-and-bound approach are all solved in under 10 min. It is particularly interesting to note that one difficult TS feasibility problem for the high demand case was pruned in this version and need not be solved.
4.2. Case study 2: selecting shifts for operations Although we were able to solve the problem instances in Case Study 1 using T&P, it was not clear how the approach would scale to problems which larger sets of SS decisions to be made (and thus much larger sets of SS candidate solutions to be evaluated). To help address this question, we next consider a version of the pressline problem in which each of the 15 shifts per week becomes a candidate SS decisions. This results in 215 ¼ 32 768 SS solutions to consider. (In this case, we do not treat production and changeovers as separate characteristics.) Table 5 shows the results of this experiment providing the run time, number of viable SS solutions after preprocessing, number that were solved, whether they were feasible or infeasible, and the number that were pruned. Observe that two of the three instances were solved to provable optimality in under 10 min (the third took significantly longer but still solved in an acceptable amount of time). This is largely due to the fact that pre-processing and pruning eliminated many of the instances—in fact, we solved at most 18 of the 32 768 candidate SS solutions in all three cases.
ARTICLE IN PRESS A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
Table 5 Fifteen labor shift types. Demand Run time (s) # Viable # Solved # Feasible # Infeasible
# Pruned
Low 204 Medium 434 High 19476
1519 1519 1507
1525 1525 1525
6 6 18
6 6 5
0 0 13
5. Conclusions and future research In this paper, we have formally defined the integrated ShiftSelection and Task-Sequencing problem and identified several challenges associated with attempting to solve this problem as a traditional MIP, including the size of the integrated model and its inherently weak LP relaxation. As an alternative, we introduce T&P, a new algorithm that finds optimal solutions to SS-TS by solving several feasibility problems in place of a single (but more challenging) optimization problem. The ability to prune both when the current SS solution is feasible and also when it is infeasible greatly enhances computational performance. We demonstrate the effectiveness of this algorithm using two case studies from automotive manufacturing. We are able to solve many real-world instances in under 10 min; in contrast, a traditional IP-based approach to these instances could not find solutions when allowed to run for up to 10.5 h. There are several ways in which this research can be extended to provide further benefits: First, we need not restrict the shift attributes to binary decisions, but may consider integer characteristics as well. For example, in the automotive stamping case, we might want to consider not only whether a shift is ‘‘on’’ or ‘‘off,’’ but also how many laborers to staff in that shift. Second, the framework of T&P naturally lends itself to a more detailed investigation of a given application’s TS feasibility problem. Rather than trying to solve a challenging integrated optimization problem, researchers can, within the T&P framework, focus on exploiting application-specific structures to solve the easier task of testing the TS feasibility of a specific SS solution. Likewise, application-specific knowledge can be leveraged in the pre-processing stage (as was the case in the pressline examples) to reduce the size of the candidate SS solution list. Thus, this paper lays the groundwork for a variety of new research in solving the TS feasibility problem for other applications. Third, T&P can naturally be extended to a broader class of problems—specifically, those in which some high level set of (discrete) resources are being allocated (which dominate system cost), while lower level decisions about how to utilize these resources to complete a set of tasks (which dominate system complexity) must be made. We plan to explore the applicability of T&P to other problems within this broader category. Fourth, we clearly observe a decrease in performance as the number of SS decisions increases. This is, of course, in part due to the corresponding increase in number of candidate SS solutions. Even more important, however, is the decrease in pruning capabilities. Specifically, when a SS solution is TS infeasible, the number of other solutions that it dominates (and thus can be pruned from the Pending list) decreases as the number of elements which must be dominant (i.e. the number of SS decisions) increases. Thus, finding alternative means for pruning the Pending list will be important for tractability in such instances.
1305
Finally, as parallel computing capabilities become increasingly more accessible and affordable, these capabilities can naturally be applied to improve the performance of T&P. The most obvious way to do so is to solve multiple TS feasibility problems concurrently. Another opportunity of interest is to take advantage of parallelized branch-and-bound algorithms to solve the individual feasibility problems more quickly. Third, there may be multiple methods for solving a feasibility problem. Furthermore, it is often the case that one method will work well for one instance while another method is more successful for another instance. Thus, parallel computing could be used to start multiple approaches to solving a given feasibility problem concurrently; these approaches would ‘‘race,’’ with the iteration terminating as soon as one method returned a solution. We plan to pursue the impact of all of these uses of parallelized computing on the performance of Testand-Prune.
Acknowledgments The authors gratefully acknowledge Yakov Fradkin, Sean Little, Mary Jo Luppino, and Craig Morford for their help on this project. This work was supported by the National Science Foundation Graduate Research Fellowship Program, the Engineering Research Center for Reconfigurable Manufacturing Systems of the National Science Foundation under Award Number EEC9529125 and a Ford Motor Company University of Michigan Alliance Grant.
Appendix A. Single pressline stamping formulation In the automotive stamping problem, the key modeling challenge is to capture the operating constraints associated with changeovers, enforcing the relationships between part types. It is necessary not only to keep track of when a given part type starts, but when the previous part type finishes (to be sure we have adequate changeover time) and even when the previous part type begins (to be sure we have adequate off-line preparation time). In addition, a changeover and subsequent off-line preparation time cannot cross between two shifts. In order to do so, we define variables which correspond to complete feasible solutions for an individual shift. For example, one shift schedule might be comprised 8 h of production of part type A. Another shift schedule might begin with the pressline set for part type A; A is produced for the first 2 h, then the changeover to part type B takes place; B is produced for the remainder of the shift while the off-line preparation for the next changeover takes place. Several feasible shift schedules are presented in Fig. A1. As shown in [10], it is not necessary to enumerate all such feasible shift schedules. Instead, it is proven that all shift schedules can be formed as convex combinations of a limited set of extreme shift schedules. These extreme shifts schedules are the basis for the formulation that follows. Sets:
M is the set of presslines in the facility; Pm is the set of part types to be produced on pressline m; N is the set of shifts to be scheduled (here, N ¼ f1; . . . ; 30gFthree shifts per weekday for two weeks);
H is the set of shift types (e.g., first, second and third); T N is the set of third shifts—f3; 6; 9; . . . ; 30gFduring which demand must be met and inventory is computed;
S^ m is the set of extreme shift schedules for pressline m.
ARTICLE IN PRESS 1306
A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
s:t:
X
xns ¼ 1;
8n A N; 8m A M
ðA:2Þ
s A S^ m
wFnp ¼
X
fps xns ;
8p A Pm ; n A N; m A M
ðA:3Þ
lps xns ;
8p A Pm ; n A N; m A M
ðA:4Þ
s A S^ m
wLnp ¼
X s A S^ m
wFnp ¼ wLðn1Þp ; wF1p ¼ wLjNjp ; n X n0
X
8p A Pm ; n A f2 . . . jNjg; m A M 8p A Pm ; m A M
qps xn0 s þ iðn3Þp dnp ¼ inp ;
ðA:6Þ 8p A Pm ; n A T; m A M
¼ n2 s A S^ m
ðA:7Þ
Fig. A1. Sample shift schedules: the letter indicates the part type; ‘‘Idle’’ indicates that the part type is set but not being produced; and delta indicates a changeover.
i0p ¼ ijNjp ; X Parameters:
type p, else 0; 8p A Pm ; s A S^ m ; 8m A M; lps ¼ 1 if shift schedule s ends with the pressline set for part type p, else 0; 8p A Pm ; s A S^ m ; 8m A M; qps is the quantity of part type p produced in shift schedule s; 8p A Pm ; s A S^ m ; 8mA M; us ¼ 1 if a non-zero quantity of any part type is produced in shift schedule s, else 0; s A S^ m ; 8mA M; gs ¼ 1 if there is a changeover (on-line dieset and off-line preparation) in shift schedule s, else 0; 8s A S^ m ; 8mA M; dpn is the demand for part type p on shift n; 8p A Pm ; n A T; 8mA M (where we only think of demand per day, i.e., for every third shift); chI is the overhead cost for the entire planning horizon for indirect labor crews (responsible for changeovers) to be available in shift type h; 8hA H; chD is the overhead cost for the entire planning horizon for direct laborers (responsible for production) in shift type h; 8hA H; hðnÞ is the shift type of shift n; 8n A N (for example, hð1Þ ¼ hð4Þ ¼ hð7Þ ¼ first).
Variables:
xns ¼ 1 if shift schedule s is chosen for shift n on pressline m, else 0; 8n A N; s A S^ m ; 8m A M;
inp Z 0 is the inventory of part type p at the end of shift n on
8p A Pm ; m A M
ðA:8Þ
gs xns ryIhðnÞ ;
8n A N; m A M
ðA:9Þ
us xns ryD hðnÞ ;
8n A N; m A M
ðA:10Þ
8n A N; s A S^ m ; m A M
ðA:11Þ
s A S^ m
fps ¼ 1 if shift schedule s starts with the pressline set for part
ðA:5Þ
pressline m; 8p A Pm ; n A f0g [ T; 8mA M (again, only once per day, i.e., for every third shift); wFnp ¼ 1 if the pressline begins shift n set for part type p on pressline m, else 0; 8p A Pm ; n A N; 8m A M; wLnp ¼ 1 if the pressline ends shift n set for part type p on pressline m, else 0; 8p A P; n A N; 8m A M; yD h ¼ 1 if direct laborers are required for shift type h, else 0; hA H; yIh ¼ 1 if an indirect labor crew is required for shift type h, else 0; 8h A H.
X s A S^ m
0 r xns r1; inp Z 0;
8p A P; n A T [ f0g; m A M
wFnp ; wLnp A f0; 1g; yD h A f0; 1g; yIh A f0; 1g;
8p A P; n A N; m A M
8h A H 8h A H
ðA:12Þ ðA:13Þ ðA:14Þ ðA:15Þ
The objective, constraint (A.1), minimizes the overhead costs. Constraints (A.2) assign exactly one shift schedule to each shift for each pressline. Constraints (A.3) and (A.4) define the auxiliary variables wFmnp and wFmnp , which track the part type set on each pressline at the beginning and end of each shift. Constraints (A.5) and (A.6) specify that the part type for which each pressline is currently set at the end of one shift must also be the part type for which each pressline is set when it begins the next shift (recall the planning horizon is cyclic). Constraints (A.7) and (A.8) calculate each day’s inventory—the production over all three shifts in a day, plus the preceding day’s inventory, minus the current day’s demand, yields the current day’s inventory. These constraints ensure that demand is met on time. Constraints (A.9) enforce that shift type h must be assigned indirect labor crews if any shift of that type on any of the presslines is assigned a schedule containing an off-line preparation. When yIh ¼ 0, significant cost savings can be achieved—no indirect labor is required for that shift type. Similarly, if yD h ¼ 0, significant cost savings can be achieved, no direct labor is required for that shift type. The largest cost savings are achieved when yIh ¼ yD h ¼ 0. Here, the plant does not require workers and the facility does not need to be open. Note that when solving this problem using T&P, the y variables are fixed at each iteration, leaving a feasibility problem in i, w, and x. References
Formulation: X X chI yIh þ chD yD min h hAH
hAH
ðA:1Þ
[1] Bernstein D, Rodeh M, Gertner I. On the complexity of scheduling problems for parallel/pipelined machines. IEEE Transactions on Computers 1989;38(9):1308–13.
ARTICLE IN PRESS A.Y. Barlatt et al. / Computers & Operations Research 37 (2010) 1298–1307
[2] Garey M, Johnson D, Sethi R. The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research 1976;1(2):117–29 URL: /http://www.jstor.org/stable/3689278S. [3] Monma C, Potts C. On the complexity of scheduling with batch setup times. Operations Research 1989;37(5):798–804. [4] Potts C, Kovalyov M. Scheduling with batching: a review. European Journal of Operational Research 2000;120(2):228–49. [5] Blazewicz J, Lenstra J, Rinnooy Kan A. Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics 1983;5(1):11–24 URL: /http://www.sciencedirect.com/science/article/ B6TYW-46R0R6F-4/2/a67d403ffd23a6fe6276b7ee246a28ffS. [6] Armacost A, Barnhart C, Ware K. Composite variable formulations for express shipment service network design. Transportation Science 2002;35(1):1–29. [7] Daskin M, Melkote S. An integrated model of facility location and transportation network design. Transportation Research Part A: Policy and Practice 2001;35(6):515–38. [8] Gabbay H. Multi-stage production planning. Management Science 1979;25(11):1138–48. [9] Burch E, Qiu M. Hierarchical production planning and scheduling in a multiproduct, multi-machine environment. International Journal of Production Research 1997;35(11):3023–42. [10] Barlatt A, Cohn A, Guisikin O, Fradkin Y, Morford C. Using composite variable modeling to achieve realism and tractability in production planning: an
[11]
[12] [13] [14] [15] [16]
[17] [18]
[19]
1307
example from automotive stamping. IIE Transactions 2009;41(5):421–36 URL: /http://ioe.engin.umich.edu/techrprt/pdf/TR07-01.pdfS. Gusikhin O, Rossi G. Improving automotive supplier operations through information logistics. The knowledge gap in enterprise information flow, 2004. p. 81–94. Gusikhin O, Rossi G. Well-connected: Mes data integration in the automotive supply chain. APICS the performance advantage, 2005. p. 32–5. Klose A. An lp-based heuristic for two-stage capacitated facility location problems. The Journal of the Operational Research Society 1999;50(2):157–66. Benders JF. Partitioning procedures for solving mixed-variables programming problems. Numerische Mathematik 1962;4(1):238–52. Geoffrion AM. Generalized benders decomposition. Journal of Optimization Theory and Applications 1972;10(4):237–60. Binato S, Pereira M, Granville S. A new benders decomposition approach to solve power transmission network design problems. IEEE Transactions on Power Systems 2001;16(2):235–40. Hooker J, Ottosson G. Logic-based benders decomposition. Mathematical Programming 2003;96(1):33–60. Rasmussen RS, Trick M. A benders approach for the constrained minimum break problem. European Journal of Operational Research 2007;177(1) 198–213. Cohn A, Barnhart C. Improving crew scheduling by incorporating key maintenance routing decisions. Operations Research 2003;51(3)387–96.