The Car Resequencing Problem with Pull-Off Tables

The car sequencing problem determines sequences of different car models launched down a mixed-model assembly line. To avoid work overloads of workforce, car sequencing restricts the maximum occurrence of labor-intensive options, e.g., a sunroof, by applying sequencing rules. We consider this problem in a resequencing context, where a given number of buffers (denoted as pull-off tables) is available for rearranging a stirred sequence. The problem is formalized and suited solution procedures are developed. A lower bound and a dominance rule are introduced which both reduce the running time of our graph approach. Finally, a real-world resequencing setting is investigated.


Introduction
Most car manufacturers offer their customers the possibility to tailor cars according to their individual preferences. Usually, customers are able to select from a given set of options like different types of sunroofs, engines, or colors. However, offering a variety of options makes car production more demanding. For example, when assembling cars on a mixed-model assembly line, car bodies should be scheduled in such a way that the work load of the workforce has no peaks by avoiding the cumulated succession of cars requiring work-intensive options. The car sequencing problem (CSP), which was developed by Parello, Kabat, and Wos (1986) and received wide attention both in research and practical application (Solnon, Cung, Nguyen, and Artigues 2008;Boysen, Fliedner, and Scholl 2009), returns a production schedule where work overload is avoided or minimized. It uses H o ñ N o -sequencing rules, which restrict the maximum occurrence of a work-intensive option o to at most H o out of N o successive car models launched down the line.
Standard CSP approaches (for an overview see Boysen, Fliedner, and Scholl 2009) assume that a department's production schedule can be fully determined by the planner and no unforeseen events occur. However, those assumptions are not realistic. During production cars visit multiple departments, i.e., body and paint shop, before reaching final assembly. The sequence of cars in each department cannot be arbitrarily changed but depends on the sequence in the previous department. This results in problems since a sequence that might be optimal for the first department is usually suboptimal for the following departments. Furthermore, disturbances like machine breakdowns, rush orders, or material shortages affect the production sequence. For example, in the paint shop small color defects make a retouch or complete repainting necessary resulting in disordered model sequences.
Therefore, automobile producers install large automated storage and retrieval systems (AS/RS) with hundreds of random access buffers to

Figure 1: Example on the use of a pull-off table of size one
decouple their major departments: body shop, paint shop, and final assembly (Inman 2003). With the help of AS/RS, manufacturers are able to change the order of models between these departments, allowing them to plan and reshuffle optimal sequences according to each department's individual objectives and reconstruct desired model sequences after disturbances during production. Common and widespread forms of resequencing buffers in the automobile industry are selectivity banks (Spieckermann, Gutenschwager, and Voÿ 2004) and pull-off tables (Lahmar, Ergan, and Benjaafar 2003). Selectivity banks consist of a set of parallel first-in-first-out lanes. Models are assigned to one of the lanes, enter the lane on, e.g., the left-hand side and move forward to the right-hand side. Only models on the right-hand side of each lane are accessible to proceed downstream. Thus, the number of models to choose from is bounded by the number of lanes. In contrast, pull-off tables are direct accessible buffers. A model in the sequence can be pulled into a free pull-off table, so that successive models can be brought forward and processed before the model is reinserted from the pull-off table back into a later sequence position. Figure 1 gives an example how pull-off tables can be used for reordering a sequence in such a way that no sequencing rules are violated any more. We assume an initial sequence of four models at positions i ã1,: : : ;4: There are two options for each model:``x'' and``-'' denote whether or not a model requires the respective option.
For the two options, we assume a 1:2-and a 2:3-sequencing rule, respectively. Figure 1(a) depicts the initial sequence, which would result in one violation of the 1:2-sequencing rule and one of the 2:3-sequencing rule. The initial sequence can be reshuffled by pulling the model at position 1 into the single pull-off table (Figure 1(b)). Then, the models at positions 2 and 3 can be processed. After reinserting the model from the pull-off table (Figure 1(c)), the rearranged sequence <2, 3, 1, 4] of Figure 1(d) emerges, which violates no sequencing rule. Although pull-off tables as well as car-sequencing rules are widely used in industry, no approaches are available in the literature that address both aspects at the same time and return strategies for reordering car sequences in such a way that violations of sequencing rules are minimized. The use of pull-off tables is only considered in specific mixed-model assembly line settings neglecting the existence of sequencing rules. For example, a variety of papers address sequence alterations in front of the paint shop to build larger lots of identical color (e.g., by Lahmar, Ergan, and Benjaafar 2003;Epping, Hochstättler, and Oertel 2004;Spieckermann, Gutenschwager, and Voÿ 2004;Lahmar and Benjaafar 2007;Lim and Xu 2009) or in front of final assembly to level the material demand (Boysen, Fliedner, and Scholl 2010). Other resequencing papers either deal with buffer dimensioning (Inman 2003;Ding and Sun 2004), alternative forms of buffer organization, e.g., mix banks (Choi and Shin 1997;Spieckermann, Gutenschwager, and (Inman and Schmeling 2003;Gusikhin, Caprihan, and Stecke 2008), where the physical production sequence remains unaltered and merely customer orders are reassigned to models. This paper introduces the car resequencing problem (CRSP) which assumes a given model sequence and returns a strategy how to use pull-off tables to minimize violations of sequencing rules in the resulting sequence. First, we develop a graph transformation for the offline version of the problem and present various solution approaches. Note that in real-world applications resequencing is often an online problem since, for instance, models leave preceding production stages in unpredictable succession. Then, the offline problem version, where a given static initial sequence is to be reshuffled, needs to be applied in a rolling horizon. To clarify the application of CRSP in an online environment, a real-world resequencing setting is presented, which demonstrates the advantage of the proposed solution approaches. The paper is organized as follows: section 2 models the CRSP as a mathematical program. In section 3, we develop a graph transformation, which strongly reduces the size of the solution space. With this graph transformation on hand, section 4 presents different exact and heuristic solution approaches, which are tested in a comprehensive computational study (section 5). To demonstrate the applicability of the approach, section 6 presents a real-world resequencing setting requiring only a few simple modifications of our solution approach. The paper ends with concluding remarks.

Problem Formulation
We assume an initial production sequence of length T. Since it takes one production cycle to process a car, the overall number of production cycles equals the sequence length T.
T tã1 M mã1 m ± x itm ã 0 äiå ∀ i ã1,. . . ,T  (2) and (3) enforce that at each cycle t, resp. i, exactly one model is processed, while (4) ensures that each car of the initial sequence 0 is assigned to a cycle. (5) checks whether or not a rule violation occurs. Here, we follow Fliedner and Boysen (2008) and count the number of option occurrences that actually lead to a violation of a sequencing rule. (6) ensures that there is a maximum of P pull-off tables and, therefore, a model at position i in the initial sequence cannot be shifted to an earlier sequence position than i á P. This basic model and the graph approach presented in the next section aim to minimize sequencing rule violations counted with the approach by Fliedner and Boysen (2008). However, our model and the graph approach can easily be adapted to other resequencing scenarios as well, e.g., to incorporate other functions for counting rule violations like the sliding-window technique (Gravel, Gagne, and Price 2005), to distinguish between hard-and soft-sequencing rules (Solnon, Cung, Nguyen, and Artigues 2008), to pursue alternative resequencing objectives like leveling the required material (Drexl and Kimms 2001) while avoiding rule violations or to minimize the number of material deviations between the resulting sequence and an original planned sequence. An example for such a model extension is presented in section 6. In general, CRSP is NP-hard in the strong sense, since for P OE Tá1 (full resequencing flexibility) the problem is equivalent to CSP, which was shown to be NP-hard in the strong sense (Kis 2004).

Transforming CRSP into a Graph Search Problem
Given an initial sequence 0 and P pull-off tables, a model at position i can be shifted arbitrarily to the back or up to P positions to the front. Thus, for each position i in the reordered sequence 1 , there are Pà1 choices (the model 0 äiå or one of the following models 0 äià1å : : : 0 äi à På). Since there are T positions to decide on, the solution space is bounded by OäP T å. Therefore, CRSP grows exponentially with the number T of cycles. In the following paragraphs, we transform the CRSP into a graph search problem, where the objective is to find a shortest path. The size of the resulting search space is lower than the original CRSP which reduces the effort of solution approaches. The transformation is inspired by Lim and Xu (2009), who used a related approach for solving a resequencing problem with pull-off tables for paint-shop batching. Since Lim and Xu used another objective function, which resulted in a different solution representation, fundamental modifications of the original approach of Lim and Xu have been necessary. The CRSP is modeled as a graph search problem, where the graph is an acyclic digraph GäV ; E; f å with node set V , arc set E and an arc weighting function f ñ E → N.

Nodes
Each node represents a state in the sequencing process. It defines the models that are in the pulloff tables and the sequence of models that have not yet processed. Starting with the given initial sequence, in each step we have three choices (Lim and Xu 2009): • If an empty pull-off table exists, we can move the current model into it.
• We can process the current model and remove it from the sequence.
• If not all pull-off tables are empty, we can select an off-line model, remove it from its pull-off table, and process it.
Consequently, each step (sequencing decision) only depends on the current model at position i and K, which is defined as the set of models currently stored in the pull-off tables. At each step, the decision maker has to check whether the planned sequencing decision violates one of the ã1 indicates that at production cycle i á tà1 option o has been processed. Thus, a node aei; K i ; ACT i ç is defined by the number i ∈ è1,: : : ; Té of the production decision, the set K i of models (with | K |‹ P) stored in the pull-off tables at production cycle i, and the set ACT i ã èact 1 i ; act 2 i ; : : : ; act O i é of active sequences for the O different options at production cycle i. Example: Consider the current decision point i ã2 depicted in Figure 1(c). Note that a decision point denotes a specific stage in the decision process where an accessible model is finally assigned to the next production cycle or intermediately stored in an empty pull-off table. The final release of the model at position 1 in initial sequence 0 is the third production decision of the decision maker. Given two sequencing rules (1:2 and 2:3) of length two and three, the active sequences have length one and two, respectively. Therefore, at decision point i ã2, we have the two active sequences act 1 2 ã è0é and act 2 2 ã è1,1é. The state before finally assigning the current model is defined as ae2,è1é; èè0é; è1,1ééç. After production of the model from the pull-off table, we have state ae3,è∅é; èè1é; è0,1ééç.
Furthermore, we define a unique start and target node. With ACT 0 denoting a set of O active sequences all filled with zeros, the start node is defined as ae0; ∅; ACT 0 ç (for an example, Figure  1(a)); the (artificial) target node is defined as aeTà1,∅; ACT 0 ç.

Proposition:
The number of states in node set V is at most OäTOM P å.

Proof:
Overall there are T decision points (production cycles) and the number of possible sets K of models in the pull-off tables is MàPá1 P . The number of possible active sequences ACT i is bounded by O± 2 max èNoéá1 . Thus, including the unique start and end node there are at most T ± MàPá1 P ± O± 2 max èNoéá1 à 2 nodes. Recall that T, O and M denote the number of production cycles, options and models, respectively.
Hence, the size of the state space V increases exponentially with the number of pull-off tables P but only linearly with the number of production cycles T. Since the length of the graph is bounded by OäTOM P å, a polynomial in the input length, the optimal solution can be found in polynomial time, provided P is a constant.

Arcs
Arcs connect adjacent nodes and thus represent a transition between two states aei; K i ; ACT i ç and aej; K j ; ACT j ç. An arc represents either a scheduling decision or a combined scheduling and production decision. Starting with state aei; K i ; ACT i ç, we can distinguish three actions that can be performed: 1. If not all pull-off tables are filled (| K |< P), the current model m at cycle i can be stored in a free pull-off table. Note that current model m ã 0 äià | K | à1) can directly be determined with the help of the information stored with any node. This scheduling decision adds model m to K and leaves the active sequences untouched resulting in node aei; K i ∪èmé; ACT i ç. This (pure) sequencing decision does not produce a model.
2. We leave the pull-off tables untouched and produce model m at cycle i. This operation modifies the active sequences as it inserts all option occurrences of model m at the first position in the active sequences. The option occurrences at position N o á1 are removed from the active sequences and all other option occurrences are shifted by one position. The resulting node is aeià1; K i ; ACT ià1 ç.
3. If at least one model is stored in a pull-off table (Kˆ∅), we can pull a model from a pull-off table and produce it. This combined scheduling and production decision removes model m from the set of models in the pull-off tables and modifies the active sequences. The resulting node is aeià1; K i \ èmé; ACT ià1 ç.
In addition to these three transitions, we connect all nodes aeT; ∅; ACT T ç with the unique target node aeTà1; ∅; ACT 0 ç. Furthermore, we assign arc weights f ñ E → N to each transition. The arc weights measure the influence of the transition on the overall objective value (number of violations of sequencing rules). Since transition 1 (pulling a model into a pull-off table) does not produce a model (it is a pure sequencing decision), it cannot violate a sequencing rule. Therefore, we assign an arc weight of zero to all transitions of type 1. For the transition of types two and three, which produce a model, we use the number of violations of sequencing rules as arc weights. With the Heaviside step function we can calculate the weight of an production arc from node aei; With this graph problem formulation at hand, we can solve the CRSP by finding the shortest path from start to target node. However, instead of constructing the complete graph before computing the shortest path in two successive steps, both steps can be unified in a dynamic programming procedure. For this purpose node set V is subdivided into T ±äPà1åà2 stages, where a stage äj; kå contains all nodes V äj;kå ⊂ V , where j models are definitely fixed and k ã| K | models are stored in a pull-off table (see Figure 2). This way, a forwardly directed graph arises, which means that an arc can only point from a node of stage äj; kå to a node of stage äj ; k å, if j < j ∨ äj ã j ∧ k < k å holds. In particular, a node of stage äj; kå can only be connected with nodes of the following stages: äj; kà1) (put current model in pull-off table), äjà1; ká1å (reinsert model from pull-off) or äjà1; kå (produce current model). This way, a stage-wise generation of the graph and a simultaneous evaluation of the shortest path to any node is enabled, where j and k are brought into lexicographic order. Thus, only two stages of the graph have to be stored simultaneously, because the shortest path to a node of stage tà1 is composed of a shortest path to a node of stage t (already determined and stored) and the connecting arc. Among all paths to a node, one with a minimal sum of arc weights is to be selected. The length-minimizing node is stored as the predecessor in the shortest path together with the length of this path. After reaching the final state in stage äTà1,0), the optimal path can be retrieved in a backward direction stage-by-stage using the stored predecessor nodes.

Search Algorithms for the CRSP
In section 3, we transformed CRSP into a graph search problem, where the aim is to find a shortest path from the start node to the target node. A shortest path corresponds to an optimal solution to CRSP. For finding a shortest path in a graph, different exact and heuristic search strategies are available. We propose three exact approaches, namely breadth-first search, iterative beam search, and A* search, and one heuristic beam search approach.

Breadth-first search
For the breadth-first search (BFS), we subdivide the node set V into T ± äP+1)+2 different stages. For all nodes in one stage, the number j of models that are already processed and the number k ã | K | of models stored in the pull-off tables are equal. Therefore, a stage äj; kå contains all nodes V äj;kå ⊂ V . By subdividing V into different stages, we construct a forwardly directed graph. An arc can only point from a node of stage äj; kå to a node of stage äj ; k å, if j < j ∨ äj ã j ∧ k < k å holds. As outlined in section 3.2, a node of stage äj; kå If we bring j and k into lexicographic order, a stagewise generation of the graph and a simultaneous evaluation of the shortest path to any node is enabled. Starting with the start node ae0,∅; ACT 0 ç in stage (0,0), we step-wise construct all nodes per stage until we reach the target node aeTà1; ∅; ACT 0 ç in stage äTà1,0). We obtain the reshuffled sequence of models by a simple backward recursion along the shortest path. In comparison to a full enumeration of all possible sequences, this BFS approach considerably reduces the computational effort. We can obtain a further speed-up by using upper and lower bounds.
For each node, we can determine a lower bound LB on the length of the remaining path to the target node. Furthermore, a global upper bound UB can be determined upfront by, for example, a heuristic. A node can be fathomed, if LB plus the length of the shortest path to the node is equal to or exceeds the UB.
We determine a simple lower bound based on the relaxation of the limited resequencing flexibility. Fliedner and Boysen (2008) showed for the CSP that in a sequence of t remaining cycles the maximum number of cycles D ot , which may contain an The first term ( T jãi a o äjå ) counts the options necessary for the remaining models not yet scheduled; the second one ( m∈K a om ) counts the options necessary for the models stored in the pull-off tables. The sum of both terms should be smaller than the maximum number D ot of option occurrences that are allowed for the remaining t ã T á i production cycles. To avoid that negative violations of one option, i.e., excessive production of a particular option, compensates violations of sequencing rules for a different option, we use an additional max function. The bound sums up the rule violations over all available options. The bound can be calculated very fast in OäOå.
Example: Figure 2 shows the resulting graph for our aforementioned example, when BFS is applied with UB ã1. We start with the initial state

BuR --Business Research Official Open Access Journal of VHB German Academic Association for Business Research (VHB) Volume 4 | Issue 2 | December 2011 | 276-292
ae0,∅; èè0é; è0,0ééç. If model 1 is produced (instead of pulling it into the pull-off table), we would reach node ae1,∅; èè1é; è0,0ééç. Then, with regard to option 2, three option occurrences need to be scheduled in the remaining three production cycles. However, since only D 23 ã 3 3 ±2à minè2; 3 mod 3 é ã2 options can be scheduled, one rule violation is inevitable and the lower bound on the number of rule violations caused by the remaining models becomes LB ã1 for node ae1,∅; èè1é; è0,0ééç. Therefore, it is optimal to put model 1 into the pull-off table and end up in node ae0,è1é; èè0é; è0,0ééç. Then, model 2 is finally released and stage (1,1) is reached. Here, pulling model 1 online from pull-off table would cause a rule violation, so that the given upper bound cannot be improved and instead model 3 is produced. Then, producing model 4 would lead to a rule violation, so that model 1 is pulled online and the shortest path from the start to the target node is obtained by producing models 2 and 3 first, then model 1 out of the pull-off table and finally model 4. We want to further speed up the search by defining dominance rules. Dominance rules allow fathoming of nodes if other nodes, which have already been inspected, lead to equal or better solutions. For specifying a dominance rule, we introduce two definitions, which are an adoption of the concepts developed by Fliedner and Boysen (2008) for the CSP.
Definition 1: An active sequence ACT i is less or equally restrictive than an active sequence ACT j , denoted by ACT i ACT j , if it holds that act o;t i ‹ act o;t j ∀ o ã1,: : : ; Oò t ã1,: : : ; N o á1.

Definition 2:
The content K i of a node's pull-off tables is less or equally demanding than content K j of another node, denoted by K i K j , if there exists a mapping between K i and K j (with | K i |ã| K j |) such that for each pair of models m ∈ K i and m ∈ K j of this mapping a om ‹ a om ∀ o ã1,: : : ; O holds.
Dominance rule: A node s ã aei; K i ; ACT i ç with rule violations f äså (length of shortest path to s) dominates another node s ã aei; K i ; ACT i ç with f äs å and | K i |ã| K i |, if it holds that f äså ‹ f äs å, K i K i , and ACT i ACT i .

Proof:
The proof consists of two parts: First, we show that a node s ã aei; K i ; ACT i ç dominates another node s ã aei; K i ; ACT i ç, if f äså ‹ f äs å, K i ã K i , and ACT i ACT i . Then, we prove that s dominates s , if f äså ‹ f äs å, ACT i ã ACT i , and K i K i . If both parts hold, the combination of them, as defined in the dominance rule, also holds.
(First part) Since the models stored in the pull-off tables are the same for both nodes s and s (K i ã K i ), the same remaining models have to be processed. If we assume that ACT i ACT i , for any possible sequence of the remaining models, ACT i leads to a lower or at most the same number of rule violations than ACT i . Since f äså ‹ f äs å, s leads to a solution better than or equal to s .
(Second part) Deleting option occurrences from a sequence of remaining models (for example, by storing models in pull-off tables) leads to fewer or at most the same number of rule violations caused by the remaining models that have to be processed. With K i K i , we can construct for any sequence of remaining models, which is possible for s , a counterpart sequence for s with this condition. Therefore, starting with the same active sequence (ACT i ã ACT i ), s leads to a lower or equal number of rule violations than s . With f äså ‹ f äs å, s results in a solution better than or equal to s .
Example: Consider two pull-off tables and an initial sequence of four models. We have two options for which a 1:2-and a 2:3-rule holds, respectively. Figure 3 depicts two decision points and their respective nodes s and s . s dominates s , because f äså ã f äs å ã 0, the contents of the pull-off tables are equally demanding, and the active sequence of s is less restrictive than that of s .

Beam Search
Beam Search (BS) is a truncated BFS heuristic and was first applied to speech recognition systems by Lowerre (1976). Ow and Morton (1988) were the first to systematically compare the performance of BS and other heuristics for two scheduling problems. Since then, BS was applied within multiple fields of application and many extensions have been developed, e.g., stochastic node choice (Wang and Lim 2007) or hybridization with other metaheuristics (Blum 2005), so that BS turns out to be a powerful meta-heuristic applicable to many realworld optimization problems. A review of these developments is provided by Sabuncuoglu, Gocgun, and Erel (2008). Like other BFS heuristics, BS uses a graph formulation of a problem and searches for the shortest path from a start to a target node. However, unlike BFS or a breadth-first version of BranchîBound, BS is not optimal since the number of nodes that are branched in each stage is bounded by the beam width BW . If BW is equal to the maximum number of nodes in a stage, BS becomes BFS. The BW nodes to be branched are identified by a heuristic in a filtering process. Starting with the root node in stage 0, all nodes of stage 1 are constructed. Then, the filtering process of BS selects all nodes in stage 1 that should be branched. Typical approaches are the use of priority values, cost functions, or multi-stage filtering, where several filtering procedures are consecutively applied (Sabuncuoglu, Gocgun, and Erel 2008). The BW best nodes found by filtering form the promising subset of stage 1. These nodes are further branched. The filtering and branching steps are iteratively applied until the target node is reached. Analogously to other tree search methods like BFS, we can use the bounding argument and dominance rule formulated in section 4.1 for BS to reduce the number of nodes to be branched. To apply BS, we must define a proper graph structure and a filtering mechanism:

Figure 3: Example for dominance rule
Graph structure: For BS, we can use the acyclic digraph GäV ; E; rå introduced in section 3. BS examines the TäPà1)+2 stages in lexicographic order.
Filtering: For each node, we calculate the objective value (number of rule violations) of the current partial solution, which is the sum of arc weights along the shortest path from the root node to the current node, and add the lower bound argument of equation (9), which is the estimated path weight from the current node to a target node. Then, we order the nodes according to the estimated overall cost and select the BW nodes with lowest cost.

Iterative Beam Search
Iterative Beam Search (IBS) is conducted by applying a series of n BS iterations with gradually increasing beam width BW . With larger beam width, more nodes are explored, which increases the probability of finding the optimal path. If the beam width of the nth iteration is equal to the maximum number of nodes in a stage, a BFS is conducted and IBS is optimal. To speed up the search, the solution found by the ith Beam Search BS i , with i ã1,: : : ; ná1, is used as an upper bound for the subsequent Beam Search BS ià1 .

A* Search
Unlike the aforementioned algorithms, A* search (Hart, Nilsson, and Raphael 1968) does not perform a stage-wise exploration of the decision tree but traverses the tree along the nodes that appear to be most likely on the shortest path from the start to the target node. For each explored node during the search process, we calculate the costs g of the path from the start node to the current node and add a heuristic function h, which estimates the remaining path costs from the current to the target node. The search examines the nodes in ascending order, according to their overall cost value g à h, and returns the first solution found. When using the lower bound argument (9) for the heuristic function h, h is admissible, hence never overestimates the remaining costs to the target node. Therefore, A* becomes an exact algorithm and returns the global best solution.

BuR --Business Research Official Open Access Journal of VHB German Academic Association for Business Research (VHB) Volume 4 | Issue 2 | December 2011 | 276-292
A* requires a large number of nodes to be stored during the search process since all explored nodes have to be stored in a list ordered with respect to the estimated overall cost. We can reduce this number by removing all nodes from the list whose overall cost is equal to or exceeds a global upper bound UB. In addition, the dominance rule introduced in section 4.1 can also be used to reduce the number of stored nodes.

Experimental Setup
We study the performance of the search approaches and the influence of the number of pull-off tables with two sets of car sequencing instances. To apply CRSP on a car sequencing instance, an initial sequence 0 is constructed randomly which is then resequenced using P pull-off tables. As a first set, we use the test instances provided by Fliedner and Boysen (2008). These 18 instances have 10-50 production cycles, 3-7 options, and 5-28 models. The second set stems from the CSPLib and contains 9 larger instances with 100 production cycles and 5 options each, and 19-26 models. All algorithms were implemented with VB.Net. Throughout the experiments, violations of instances in the first set are measured using the approach by Fliedner and Boysen (2008) and violations of the second set are counted with the Sliding-Window approach (Gravel, Gagne, and Price 2005). The experiments run on a Pentium 2.5 Ghz processor with 2GB RAM.

Algorithmic Performance
First we compare the performances of the proposed search algorithms on both problem sets. We also apply the commercial standard solver CPLEX 12.2 with our binary linear model from section 2 as a benchmark, to better assess the solution qualities of the algorithms. For each instance of the problem sets, ten different initial sequences are constructed randomly. The number of rule violations of each initial sequence serves as an initial global upper bound UB. We use a fixed number of pull-off tables P ã4. We set the time limit to solve each of the ten sequences to 600 seconds and stop an algorithm if it exceeds this limit. BFS, IBS and A*, are applied with the dominance rule from section 4. IBS is conducted with four iterations and beam widths BW 1 ã 10, BW 2 ã 100, BW 3 ã1000, BW 4 ã ‰.
Since BW 4 ã ‰, IBS returns the optimal solution. For BS, we set BW ã300. Table 2 compares the average performance of the search algorithms for solving one problem instance. An instance is characterized by the number of production cycles T, the number of options O and the number of models M. For the different search algorithms, we list the average objective value obj, average CPU time consumed in seconds, and the average number of explored nodes. BFS, A*, IBS and CPLEX return the optimal solution, if the search does not exceed the time limit, otherwise BFS and A* return no solution at all. Comparing the optimal algorithms, A* is slightly favored for small problem instances; for large problem instances, IBS shows the best results and outperforms BFS, A* and CPLEX in terms of solution quality and runtime. Although BS is a heuristic and we have no guarantee of finding the optimal solution, the solutions found are close to the optimum, whereas it explores only a fraction of nodes and, thus, requires less CPU time compared to the optimal algorithms. Since the performances of BFS, A* and CPLEX are worse compared to IBS and BS, we do not consider these algorithms for further experiments. On problem set two we study how the performance of BS and IBS depends on the number of pull-off tables P and the number of production cycles T. Figure 4(a) shows the average time consumed with varying P. BS performs best since the time required is low and increases approximately linearly with increasing P. In contrast to BS, the solution time grows approximately exponentially for IBS. To study how algorithm performance depends on T, we simply duplicate for every instance the demand of each model by a factor ∈ è1,: : : ;4é. Thus, for, e.g., ã 2 each instance in set two has 200 production cycles. All other parameters of the problem instances remain unaffected and the number of pull-off tables is set to P ã3. Figure  4(b) shows the average time over the number of production cycles T derived from . Certainly, T increases linearly with . When modeling the CRSP as a graph problem (see section 3), the time necessary for the algorithms increases roughly linearly with T. Finally, we study the influence of the beam width BW on the performance of BS. We set P ã4 and  varied BW between 10 and 400. Figure 5(a) shows the time consumed against BW , which increases approximately linearly with increasing BW . Figure 5(b) shows the average absolute deviation ∆obj ã obj BS á obj â between the objective values obj BS produced by BS and the best known objective values obj â as stated in the CSPLib. Therefore, ∆obj measures the number of additional rule violations in comparison to the sequence obtained when solving the original CSP. Solution quality of BS slightly increases with larger BW . Since a larger beam width (BW OE 300) only has a minor effect on the solution quality, we see a beam width of 300 sufficient for the studied problem instances. In summary, BS performs well in comparison to the exact search approaches. BS finds solutions close to optimal solutions, but explores considerably fewer nodes and, therefore, requires less CPU time.

Resequencing Flexibility
We focus on BS and study on both problem sets how solution quality depends on the number of pull-off tables P. With increasing P, planning flexibility increases, we are less dependent on the initial sequence 0 , and we are able to build better sequences more similar to solutions of the CSP. For our study, we construct ten random initial sequences 0 per instance and set BW ã 300. The number P of pull-off tables varies between 5 and 50 in steps of 5. Figure 6(a) shows the average absolute deviations ∆obj ã obj BS á obj â between the solution found by BS and the best known objective value of the CSP for both problem sets. For low P, a randomly created initial sequence 0 has a large impact on the resulting sequence and the deviation is high. With increasing P, 0 has a lower impact and we can construct a better new sequence with fewer rules violations by using the pull-off tables. For larger P, the resulting sequences become more similar to the optimal sequence of the CSP. The plot shows that increasing P up to approximately 20 for set one increases solution quality. Adding pull-off tables give us more flexibility and allow us finding better sequences. For example, for P ã20, BS finds for problem set one sequences that violate on average ∆obj ã 0.09 more sequencing rules than the best known sequence of the CSP. Using larger number of pull-off tables (P >20) does not improve solution quality on set one. For problem set two, an increase of the solution quality can be observed up to P ã30 where on avg. an additional 2.83 sequencing rules are violated compared to the optimum. For larger Pä>30), the solution quality can only be slightly further improved. The remaining deviation from the optimal solution comes from the heuristic character of BS. Regarding figure 6(b), all instances can be solved within the 600-seconds time limit. For example, on set 2 with P ã50, BS requires 424.3 seconds on avg. Again, it can be observed that the solution time of BS increases about linearly with increasing P. Table 3 lists the best average results found for each instance and the minimum number P of pull-off tables leading to this result. Note that for instances CAR_7_40 and CAR_7_50 (marked with * in Table 3), we were able to find a new best solution with only 7, resp. 11, rule violations. Clearly, the practitioner when deciding on an appropriate buffer dimension has to balance the elementary trade-off between investment cost for pull-off table installation and the gains of additional resequencing flexibility. Especially, the latter effect is hard to quantify, since determining an appropriate optionspecific cost factor for a sequencing rule violation is hardly possible (Boysen, Fliedner, and Scholl 2009). However, our results reveal that the number of pull-off tables to be installed heavily depends on the number M of models to be considered and number T of production cycles. Especially, it can be concluded that adding more than P ã T 2 pull-off tables does not seem advisable, since on average over all instances P ã0.459 T leads to (nearly) full resequencing flexibility.

Comparison with a real-world scheduling rule
For the production of large commercial vehicles like trucks, buses, or construction vehicles, investment costs for conventional AS/RS having multiple buffer places (see section 1) are prohibitively high; therefore only a few random access buffers are installed, e.g., to decouple paint shop and final assembly. In this context, the following resequencing setting is taken from a major German truck manufacturer.
To regain a desirable model sequence after paint shop and before final assembly, the manufacturer installed a resequencing system consisting of 118 buffer places. Since quality defects in the paint shop cause a rework rate of about 85ô, sequences are heavily stirred up and a resequencing is inevitable. As many buffer places are occupied over a longer period by driving cabs waiting for critical parts not yet delivered, only 10 to 20 of these buffer places are actually available for resequencing. Typically, there are about 50 cabs in the overlap area between paint shop and final assembly. As the model variation is large (for example, trucks have a different number of aisles which makes some trucks more than twice as long as others), production times of different models are very heterogeneous. To deal with the variation, the manufacturer considers 20 sequencing rules as hard constraints which have to be considered for resequencing. However, resequencing also affects material supply. The originally planned sequence á1 , which was disordered to initial sequence 0 within paint shop, was propagated to the suppliers and material supply was organized on the basis of the planned sequence. Therefore, parts are stored next to the line according to the planned sequence of trucks (just-in-sequence). Creating a reordered sequence 1 that strongly differs from the originally planned sequence á1 , makes a reordering of these parts to be executed by additional logistics workers necessary. To minimize the effort for material reshuffling resequencing aims at approximating the original material demand induced by the planned sequence as close as possible. For this purpose, a deviation measure r mt can be computed, which measures the number of deviations between the material demand a om of a model m and the original material demand a o á1 ätå planned for the production cycle t ã1; : : : ; T within the original sequence á1 as follows:

BuR --Business Research Official Open Access Journal of VHB German Academic Association for Business Research (VHB) Volume 4 | Issue 2 | December 2011 | 276-292
(10) r mt ã O oã1 | a o á1 ätå á a om | ∀ m ã1,: : : ; Mò t ã1,: : : ; T : Note that other deviation measures can be employed and facultative parts can be considered, i.e., not necessarily those for which sequencing rules are defined. Up to now, the resequencing decision is made by a dispatcher who makes an online decision for the next model to be fed into final assembly. The decision process is based on the following simple rules: • Fill strategy: The dispatcher subsequently draws cabs from the waiting queue into a buffer until all buffer places are fully occupied.
• Release strategy: The dispatcher selects a model for production from the currently available models, which violates no sequencing rule and minimizes material deviations for current production cycle.
The current selection policy suffers from the myopic choice of only a single model. Alternatively, our car resequencing approach can be adapted for determining a complete (reshuffled) model sequence, which minimizes reshuffling effort and avoids sequencing rule violations. The objective function (1) and constraint (5) of our model (see section 2) have to be modified with (11) and (12), resp.: T tã1 x itm ± r mt (12)  (12) ensures that no sequencing rule is violated. Additionally, some modifications of our graph approach are required as well: • Only those nodes s are feasible that cause no sequencing rule violation (f äså ã0). The lower bound (9) can still be used. Therefore, any node with LB OE1 can be fathomed.
• The weight of an arc is defined as the contribution r mt of current model m chosen for production at decision point t. The shortest path from the start to the target node returns a sequence with minimum overall material deviations.
• A lower bound on the overall deviations can be determined by relaxing car-sequencing rules.
In the unconstrained case, the optimal assignment of models to cycles can simply be determined by solving an assignment problem (see, e.g., Kuhn 1955) minimizing realized deviation measures r mt . The lower bound fathoms nodes which cannot result in a better solution value than the incumbent (upper bound) solution.
• The dominance rule (section 4.1) cannot be used since it can exclude optimal solutions.
To compare our resequencing approach with the real-world (human) decision rule, we construct ten test problems each with 50 production cycles, 20 options, and 15 buffers (pull-off tables). Sequencing rules are constructed randomly with N o ã è2: : :10é and H o ã è1: : : N o é. An optimal sequence is obtained by randomly assigning options to cycles, such that no sequencing rule is violated. The average usage rate for the options is 25ô. This optimal sequence of models serves as initially planned sequence á1 . To simulate rework in the paint shop, the optimal sequence is modified by randomly pulling models out of the sequence (on average 85ô of the models) and reinserting them into the sequence in a random position between their original position and the 25 following positions. This leads to the initial sequence 0 , which has to be reshuffled. For every problem, we create ten different initial sequences 0 leading to 100 problem instances overall. For resequencing, we apply BS with BW ã300 on the graph modified according to the aforementioned suggestions. For each instance, Table 4 compares the average material deviation obj of the solution found by BS with the solution using the real-world decision rule. We also show the improvement (in ô) and the avg. time and avg. nodes needed for solving the instance. Clearly, BS finds better sequences and considerably reduces the number of material deviations. On average, BS overcomes about 29ô of the currently necessary effort for material reshuffling. Note, that all instances can be solved within the time limit of 600 seconds.
In the real world, our resequencing approach should be applied in a rolling horizon, where only a subset of models, e.g., the first 10, are definitely fixed and the remaining (about 40) models are reinserted into the successive planning run. In this case, our graph approach must not be started  with the initial node (empty pull-off tables) but with the one representing current buffer content, when starting the planning run. Note that our basic graph structure can also be applied for solving related resequencing problems. As the adoptions are truly straightforward, e.g., to incorporate other functions for counting rule violations like the sliding-window technique (Gravel, Gagne, and Price 2005), to distinguish between hard-and softsequencing rules (Solnon, Cung, Nguyen, and Artigues 2008) or to pursue alternative resequencing objectives like leveling the required material (Drexl and Kimms 2001) while avoiding rule violations, we abstain from a detailed description.

Conclusion
This paper deals with the car resequencing problem, where a number of pull-off tables can be used to reshuffle an initial sequence of car models in such a way that violations of car sequencing rules are minimized. We transform the car resequencing problem into a graph search problem, which considerably reduces solution effort, and develop efficient exact and heuristic solution approaches.
To further speed up search, we develop a lower bound as well as a dominance rule which both can be used for fathoming nodes in the search graph. For a set of test instances, we compare the performance of problem-specific variants of breadth-first search, iterated beam search, A* search, and a beam search heuristic. The computational effort of breadth-first search is higher than iterated beam search or A* search. A* needs less effort for small problem instances than iterated beam search, whereas iterated beam search is faster than A* for larger problem instances. The heuristic beam search approach finds solutions very close to the optimal ones but needs much less computational effort in comparison to the exact search approaches. Studying how the number of pull-off tables influences the quality of the reshuffled sequence reveals that about T 2 pull-off tables are sufficient to reach nearly full resequencing flexibility for the considered problem instances. Finally, we present a real-world resequencing setting from a major German truck producer and illustrate how the approach can be adapted for solving the respective problem. In comparison to the currently used real-world scheduling approach, our new resequencing approach can improve solution quality by on average about 29ô. There are several ways to build on our research. On the one hand, future research could approach the car resequencing problem applying different forms of buffer organization, e.g., mixed banks (Spieckermann, Gutenschwager, and Voÿ 2004). On the other hand, alternative sequencing objectives, like mixed-model sequencing (Boysen, Fliedner, and Scholl 2009) could be modified to cope with limited resequencing flexibility due to a given number of pull-off tables.