Determining load patterns for the delivery of assembly components under JIT systems

Determining load patterns for the delivery of assembly components under JIT systems

Int. J. Production Economics 77 (2002) 25–38 Determining load patterns for the delivery of assembly components under JIT systems$ Kap Hwan Kim*, Jae-...

285KB Sizes 3 Downloads 43 Views

Int. J. Production Economics 77 (2002) 25–38

Determining load patterns for the delivery of assembly components under JIT systems$ Kap Hwan Kim*, Jae-Boum Kim Department of Industrial Engineering, Pusan National University, Changjeon-dong, Kumjeong-ku, Pusan 609-735, South Korea Received 12 January 2000; accepted 15 August 2001

Abstract This paper introduces a dynamic programming model and search methods for determining the load patterns of components on trucks from a single supplier to an assembly company. It is assumed that JIT principle is applied to the delivery of components to an assembly company. This study attempts to minimize the line-stoppage cost at an assembly company during a planning horizon. A beam search algorithm is developed to determine the optimal load pattern, while candidate load patterns are selected from a database of historical load patterns or generated by a pattern generating algorithm. r 2002 Elsevier Science B.V. All rights reserved. Keywords: JIT; Load pattern; Supply chain; Logistics

1. Introduction Many assembly companies such as automobile companies or electronic product companies have many suppliers, and the assembly companies usually force their suppliers to follow just-in-time (JIT) policy for the delivery activities. According to the JIT policy, every supplier must deliver the right amount of components, at the right time, and to the right place. The supplying activities of a large number of suppliers must be synchronized with each other because a delay in the supply of a $ This work was supported by Dong Hee Industrial Co. and Grant No. 1999-1-315-001-3 from the interdisciplinary research program of KOSEF. *Corresponding author. Tel.: +82-51-510-2419; fax: +8251-512-7603. E-mail address: [email protected] (K.H. Kim).

component may stop an entire assembly line and then its effects spread to all the suppliers of the assembly line. This is a critical aspect of the supply chain to which the JIT is applied. Therefore, all suppliers must pre-plan delivery activities based on information about production plans and inventories of the assembly company as well as their own. Requirements that a delivery scheduler must consider are as follows: 1. The most important objective of delivery scheduling is that a shortage of components at assembly company must be avoided. 2. A truck has a limited loading capacity. 3. The maximum available space for stacking each component is specified at the receiving area of an assembly company.

0925-5273/02/$ - see front matter r 2002 Elsevier Science B.V. All rights reserved. PII: S 0 9 2 5 - 5 2 7 3 ( 0 1 ) 0 0 2 0 0 - 6

26

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

4. The cumulative amount of delivery for each component cannot exceed the cumulative amount of production at a supplier’s factory. Fig. 1 shows an example of graphs that represent the cumulative amounts of material flow of a component that passed by specific checkpoints. The difference between the assembly plan and the amount received is the expected inventory at the receiving site. The inventory at the receiving site is restricted by the storage space allowed for each component, which is represented by the graph of the limit on the amount received. The difference between the amount loaded onto trucks and the production plan of the supplier is the anticipated inventory of the component at the supplier’s outbound storage area. Note that the assembly plan, the production plan of the supplier, and the limit on the amount received are given as input data. A decision that must be made is the shape of the graph for the amount loaded onto trucks. The graph of the amount received can be obtained by shifting the graph for the amount loaded by the travel time from the supplier’s factory to the assembly company in the horizontal positive direction. The first requirement previously stated implies that the level of the graph for the amount received must be higher than the one for the assembly plan.

According to requirement 4, the amount loaded must be less than the production plan of the supplier. Requirement 3 implies that the amount received must be less than the limit on the amount received. The delivery scheduling problem has been treated by several researchers. However, all of them assumed that there is a limit on the total amount of truck loads and that the total amount is a just summation of the amount of every individual product loaded. That is, the load pattern is not considered in the scheduling. The limit on the amount of the loading is in the form of the total weight [1], the total number of items [1– 3], or the total volume [4]. Hahm and Yano [1] studied the economic lot and delivery-scheduling problem in which a constant demand for assembly components must be satisfied by a cyclic production and delivery. They tried to minimize the sum of the production setup cost, the inventory holding cost, and the delivery cost. Speranza and Ukovich [2] discussed how to deliver one or multiple items, considering the limit on the total weight, the transportation cost, and the inventory cost. The delivery frequency and the consolidation method were decision variables. Ben-Khedher and Yano [4] solved the multi-item joint replenishment problem in which the inventory cost and the transportation cost are

assembly plan amount received by the assembly company limit on the amount received amount loaded onto trucks production plan of the supplier 600 500

units

400 300 200 100 0

7: 00

11: 00

15: 00

19: 00

time Fig. 1. A graphical representation of the cumulative material flow of a component at several check points.

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

minimized. They treated the problem of loading items onto a truck as a bin-packing problem that is a single dimensional problem. The problem of loading items onto trucks is similar to the two-dimensional loading problem [5–9] and the three-dimensional loading problem [10–13]. However, the pallet loading problem dealt with how to layout boxes (pallets) on the pallet (in the container) to minimize the waste of space without considering due times of deliveries. Li [14] discussed how to cut rectangles of various sizes from a rectangular raw material in a way to minimize the usage of raw material and the number of delays in supplying components. For the first time, Li [14] addressed an integrated version of the load pattern problem and the scheduling problem. This paper discusses how to construct the load patterns of components that satisfy various constraints and the assembly schedule. The following assumptions are introduced for deciding the load patterns: 1. The truck schedule is fixed. 2. The production plan of the supplier and the assembly schedule are known. 3. Sections 2 and 3 assume that the set of load patterns is given. However, in Section 4, load patterns will be constructed by an algorithm. In the next section, the problem of selecting load patterns is formulated as a dynamic programming problem. Sections 3 and 4 suggest a beam search algorithm for a given set of load patterns and a beam search algorithm with a pattern generating procedure. The computational performances of the beam search algorithms will be evaluated in Section 5. Finally, concluding remarks will be provided in Section 6. 2. An optimization by dynamic programming The following notations will be used for the formulation: T

= The number of delivery cycles which is equivalent to the number of truck travels from the supplier’s factory to the assembly company.

27

= The set of products assembled at the assembly company. n = The number of components. Aj = The set of components that are produced by the supplier’s factory and used for the assembled product j: K = The number of load patterns. Iit = The inventory level of component i at the receiving site just before truck ðt þ 1Þ arrives (unit: pallet). Ii0 represents the initial inventory level at the beginning of the planning horizon. pik = The number of pallets of component i contained in load pattern k: dit = The amount of component I used for assembly at the receiving site from the arrival of truck t to the arrival of truck ðt þ 1Þ (unit: pallet). sit = The inventory level of component i at the supplier’s factory just after truck t leaves the supplier’s factory (unit: pallet). si0 represents the initial inventory level at the beginning of the planning horizon. rit = The production amount of component i at the supplier’s factory from the departure of truck ðt  1Þ to the departure of truck t (unit: pallet). li = The maximum number of pallets of component j that is allowed to be stored at the receiving site of the assembly company. zj ðtÞ = The evaluation function (line-stoppage cost) of assembled product j for the load pattern that is chosen for truck t: This is a function of the minimum surplus run-out time of components used for the assembly of product j: mi = The average consumption rate of component i at the assembly company per unit time. xkt = 1 if load pattern k is selected for truck t; 0, otherwise (the decision variable). yi ðtÞ = The total amount of component i; which will be delivered by truck 1; y; t; plus the initial inventoryPat the Passembly company. That is yi ðtÞ ¼ tr¼1 K k¼1 pik xkr þ Ii0 : ui ðtÞ = The cumulative amount of component I which is expected to be consumed at the assembly factory until P the arrival of truck ðt þ 1Þ: That is ui ðtÞ ¼ tr¼1 dir : A

28

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

Then, the load-pattern selection problem can be formulated as a mixed integer programming problem, as follows: T X X zj ðtÞ ð1Þ Minimize t¼1 jAA

subject to K X

pik xkt  dit

zj ðtÞ ¼ cj ðtÞeaj ðtÞfyiðjÞ ðtÞuiðjÞ ðtÞg=miðjÞ ;

k¼1

for i ¼ 1; y; n; t ¼ 1; y; T; Iiðt1Þ þ

K X

ð2Þ

pik xkt pli

k¼1

for i ¼ 1; y; n; t ¼ 1; y; T; sit ¼ siðt1Þ 

K X

ð3Þ

pik xkt þ rit

k¼1

for i ¼ 1; y; n; t ¼ 1; y; T; K X

xkt ¼ 1

for t ¼ 1; y; T;

ð4Þ ð5Þ

k¼1

xkt ¼ 0 or 1

for k ¼ 1; y; K; t ¼ 1; y; T; ð6Þ

Iit ; sit : nonnegative integer for i ¼ 1; y; n; t ¼ 1; y; T:

ð7Þ

Constraint (1) represents the inventory balance equation for the assembly company. The maximum storage allowed at the receiving site for component i is restricted by constraint (3). Constraint (4) is the inventory balance equation for the supplier. Constraint (5) implies that only one load pattern can be selected. The most important objective of the loadpattern selection problem is to provide a buffering function against unexpected disturbances by stacking safety-inventories of components at receiving areas. The sources of the disturbances may be a machine breakdown at the supplier’s factory, a late delivery caused by a traffic congestion, or sudden changes in the assembly plan. If yi ðtÞ ¼ ui ðtÞ; no shortage of component i is expected until the arrival of truck ðt þ 1Þ: However, the supplier wants to deliver addditional safety inventory for protecting assembly lines

ð8Þ

where cj ðtÞ and aj ðtÞ are shape parameters of the cost function. An illustrative cost function is shown in Fig. 2. Note that zj ðtÞ decreases rapidly as the inventory level at the assembly company, yiðjÞ ðtÞ  uiðjÞ ðtÞ; increases from zero. However, the decreasing rate is reduced gradually, which coincides with the common-sense notion that the marginal effect of the inventory as a buffer decreases gradually. Values of the parameters were cj ðtÞ ¼ 250; mi ¼ 40; and aj ðtÞ ¼ 4 in Fig. 2. In order to solve formulations (1)–(7), a dynamic programming technique is utilized. We define a ‘stage’ as the period from the arrival of truck t to the moment just before the arrival of truck ðt þ 1Þ: The ‘state’ of a stage will be defined as the inventory level at the end of stage ðIt Þ: Let Pt be thePload pattern for truck t; which K coincides with k¼1 pik xkt in the mixed-integer programming formulation. The following notations will be used: It = A vector whose ith element is Iit : Dt = A vector whose ith element is dit : Pt = A vector, which represents the load pattern for truck ith, whose ith element is pit : 300 250 200 zj(t)

Iit ¼ Iiðt1Þ þ

against various disturbances. The amount of the safety inventory of component i can be expressed in terms of the surplus run-out time, fyi ðtÞ ui ðtÞg=mi : The surplus run-out time of assembled product j; which consists of components in Aj ; can be represented by miniAAj fyi ðtÞ  ui ðtÞg=mi : Let iðjÞ ¼ arg miniAAj fyi ðtÞ  ui ðtÞg=mi : Then, we suggest a line-stoppage cost function for assembled product j; zj ðtÞ; as follows:

150 100 50 0 0

10

20

30

40

50

60

70

yi(j) (t)- ui(j)(t)

Fig. 2. The changes of zj ðtÞ as a function of yiðjÞ ðtÞ-uiðjÞ ðtÞ:

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

Rt = A vector whose ith element is rit : L = A vector whose ith element is li : St = A vector whose ith element is sit : zðIt Þ = The line-stoppage cost at the endPof stage t for a given It ; which is equal to jAA zj ðtÞ: f ðIt Þ = The minimum cumulative line-stoppage cost from the beginning to stage t for a given It : Then, the recursive equation can be expressed as follows: f ðIt Þ ¼ min fzðIt Þ þ f ðIt1 Þg; Pt AFt

ð9Þ

Ft ¼ fPt jIt ¼ It1 þ Pt  Dt ; It1 þ Pt pL; St ¼ St1  Pt þ Rt ; and It St ð10Þ

and f0 ðI0 Þ ¼ 0:

ð11Þ

3. Selecting load patterns by using a beam search The computational time of the dynamic programming approach increases rapidly as the size of the problem increases. Note that the size of the solution space is K T : A beam search algorithm follows a procedure similar to a tree search. The search proceeds level by level. At each level, the total number of nodes that can have children in the next level (called beam nodes) is restricted by a beam width. The following terminology will be used to describe the algorithm: Node

Beam width = The maximum number of beam nodes allowed in a level. The following notations will be used to describe the beam search algorithm: Nt Bt Sjt

w

= The set of nodes at stage t: = The set of beam nodes at stage t: = A partial solution corresponding to beam node j at stage t; which is a sequence of load patterns. = Beam width.

3.1. Basic beam search (BBS) procedure

where

are nonnegative integers; It1 ; L; St ; Rt ; Dt are giveng

29

= A partial solution corresponding to a sequence of load patterns from the first truck to the truck of the current level. Root node = The initial node in a search tree. Stage = The search depth (level) from the root node. Beam nodes = Nodes that have children in the next stage (level).

Step 0: t ¼ 0: Step 1: t ¼ t þ 1: If t > T; go to step 4. Set j ¼ 0 and Nt ¼ +: Step 2: j ¼ j þ 1: If j > jBt1 j; go to step 3. From the whole set of load patterns, select patterns that satisfy constraints in (10) to construct Ft : Append each element in Ft to the end of Sjðt1Þ and enter the resulting partial solution into Nt : Go to the beginning of this step. Step 3: Evaluate all the partial solutions in Nt by t X X zj ðkÞ: ð12Þ k¼1 jAA

When there are more than one element in Nt that give the same value of It ; remove all of them from Nt ; except the one with the smallest value of (12). Select w elements from Nt with the smallest value of (12) to form Bt : Go to step 1. Step 4: Select the element from Bt1 that has the smallest value of (12). This is the solution. 3.2. A modified beam search (MBS) procedure The basic beam-search procedure is modified by reducing the set of candidates of load patterns. Instead of considering all the components, several most urgent components are selected, and only the

30

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

load patterns that include at least one of these selected components are considered as candidates. The objective of the modification is to reduce the size of the search space. Step 2- is modified as follows: Calculate the run-out time of component i using Iiðt1Þ and the assembly plan. Select a specified number (c) of components with the earliest run-out time and let Nt denote the set of the selected components. Among load patterns that include at least one component in Nt ; select patterns that satisfy constraints in (10) to construct Ft : Other steps in the BBS are applied to the MBS without any modification. A sample problem is solved to illustrate the solution procedure. Three components, which are used for assembled products different from each other, are supplied, as shown in Table 1. Available patterns are listed in Table 2. In the following, an example of the modified beam search is provided. Data used are as follows: c1 ðtÞ ¼ 100; c2 ðtÞ ¼ 150; c3 ðtÞ ¼ 100 for t ¼ 1; 2; and aj ðtÞ ¼ 1:1 for j ¼ 1; 2; 3; t ¼ 1; 2: It is assumed that only two trucks are planned to deliver Table 1 Master data about componentsa Component

A

B

C

Assembly rate per hour Initial At the assembly company inventory At the supplier’s factory Limit on the storage space at receiving site

10 29 30 29

7 18 6 18

4 12 5 12

a

Unit: pallets.

Table 2 Load patterns for the sample problem Pattern code

P1 P2 P3 P4 P5 P6

components, and four pallets of component B and two pallets of component C are scheduled to be produced between the first and the second loading moments at a supplier’s factory. It takes 1 hour for a truck to travel from the supplier to the assembly company, and trucks leave the supplier’s factory every 1 hour. The beam width is set to be 2, and the number of components (c) considered for Nt is one. The overall solution procedure is shown in Fig. 3. In Fig. 3, a solution, [P1 ; P2 ], implies that patterns 1 and 2 are supplied by the first and the second trucks, respectively. The procedure is explained in more detail in the following: Step 0: t ¼ 0: Step 1: t ¼ 1; j ¼ 0; and N1 ¼ +: Step 2: j ¼ 1: The run-out time is 29/10=2.9 for A, 18/7=2.57 for B, and 12/4=3 for C. Because the run-out time for component B is the lowest and c ¼ 1; Ni ¼ fBg: The set of patterns that include component B is fP2 ; P3 ; P5 ; P6 g: Because P2 ; P5 and P6 satisfy the constraints of (10), N1 ¼ fðP2 Þ; ðP5 Þ; ðP6 Þg: Step 3: No two elements in N1 give the same I1 : Since w ¼ 2; B1 ¼ fP2 ; P5 g: Step 1: t ¼ 2; j ¼ 0; and N2 ¼ +: Step 2: j ¼ 1; S11 ¼ ðP2 Þ; N2 ’fðP2 ; P1 Þ; ðP2 ; P4 Þ; ðP2 ; P5 Þ; ðP2 ; P6 Þg: j ¼ 2; S21 ¼ ðP5 Þ; N2’fðP5 ; P3 Þ; ðP5 ; P4 Þg: Step 3: No two elements in N2 give the same I2 : Thus, N2 ¼ fðP2 ; P1 Þ; ðP2 ; P4 Þ; ðP2 ; P5 Þ; ðP2 ; P6 Þ; ðP5 ; P3 Þ; ðP5 ; P4 Þg: The line-stoppage cost for each element in N2 is as written in Fig. 3. Because w ¼ 2; B2 ¼ fðP2 ; P4 Þ; ðP5 ; P3 Þg: Step 1: t ¼ 3: Because t > T ¼ 2; go to step 4. Step 4: Since ðP5 ; P3 Þ has the minimum linestoppage cost, it is selected as the final solution.

Number of pallets A

B

C

8 0 0 4 2 6

0 6 2 0 4 2

0 0 5 3 0 0

4. A beam search with a pattern generating algorithm (PGM) In the preceding sections, it is assumed that the set of load patterns has already been prepared and the only thing to be done is to select the load patterns among the candidates. In practice,

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

31

[P2, P1] cost : 240 I2= (7, 3, 0) S2= (24, 10, 9) [P2, P4] cost : 266 I2= (3, 3, 0) S2= (18, 10, 6)

[P2 ] cost: 102 I1= (9,10,4) S1= (30,4,7)

[P2, P5] cost : 240 I2= (1, 7, 0) S2= (20, 6, 9) [P3] out of space limitation at assembly line [P2, P6] cost: 226 I2= (5, 5, 0) S2= (16, 8, 97) I0 = (29, 18, 12) S0= (30, 6, 5)

[P5, P3] cost : 208 I2= (1, 3, 5) S2= (28, 4, 2)

[P5] cost: 106 I1= (11, 8, 4) S1= (28, 6, 7)

[P5, P4] cost : 230 I2= (5, 1, 3) S2= (24, 6, 4) [P6] cost: 111 I1= (15, 6, 4) S1= (24, 8, 7) feasible pattern infeasible pattern selected pattern

feasible solution

the final solution

Fig. 3. An illustration of the modified beam search.

load patterns can be collected from historical data and utilized. However, new components can be introduced, and the historical load patterns may not be sufficient to cover all the possible situations. For example, there may be cases where a feasible load pattern cannot be found from the historical pattern set when the inventory levels of many components simultaneously become very low. These are the reasons why the approach described in this section was attempted. In order to generate load patterns for truck t; the minimum and the maximum number of pallets of each component, which truck t should deliver, must be calculated first. Let qit denote the number of pallets of component i; which truck t delivers. Then, from (2), (3), and (4), Iiðt1Þ þ qit  dit ¼ Iit X0;

ð13Þ

Iiðt1Þ þ qit pli ;

ð14Þ

siðt1Þ  qit þ rit ¼ sit X0:

ð15Þ

From (13)–(15), the following inequality results: maxf0; dit  Iiðt1Þ gpqit pminfli  Iiðt1Þ ; siðt1Þ þ rit g:

ð16Þ

The lower and upper bound of qit in inequality (16) will be denoted by qmin and qmax it it ; respectively. When there are more than one receiving areas in the assembly factory, pallets, which are delivered by a truck, must be unloaded at the same receiving area so that travels of the truck between different receiving areas can be prevented. Load patterns used in Section 3 usually satisfy the condition. However, when a load pattern must be constructed during the solution procedure, the condition must be considered explicitly. Thus, only the combinations of components, which are unloaded at the same area, will be considered in constructing load patterns. Consider the following sentence regarding the description for step 2- of the modified beam search algorithm: ‘Among load patterns that include at least one component in Nt ; select patterns that satisfy constraints in (10) to

32

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

construct Ft :’ In the algorithm of this section, the above sentence is changed, as follows: (i) Construct all the subsets of components, which satisfy the following conditions: (1) Every subset must have at least one component in Nt as an element. (2) Components with the same receiving area can be included in the same subset. (3) The number of components in every subset must be less than a specified value (d). Let the set of all the constructed subsets be Nt : And let j ¼ 0: (ii) j ¼ j þ 1: Select the jth element from Nt : If Nt is empty, stop. Otherwise, let the jth selected element be Ejt (note that Ejt is a subset of Nt ). Remove it from Nt : (iii) For Ejt ; perform the following pattern-generating procedure and select the minimum cost pattern from P% t ; which is the set of patterns made by the pattern generating procedure. Insert the selected pattern into Ft : Go to (ii). 4.1. Pattern generating procedure Assumptions for the generation of load patterns are as follows: Pallets in a stack must have the same size and contain the same component. The reason is that the legs of an upper pallet must be laid on top of the legs of a lower pallet. The maximum height of a stack is limited by the height of the ceiling of a truck. However, the number of tiers of a stack is not a concern because the number is fixed for each specific component. By this assumption, the pallet-generating problem is reduced to a two-dimensional pallet loading problem. Pallets for the same component must be adjacent to each other in the two-dimensional layout. This assumption is for the purpose of simplifying the search procedure, and has been found to be consistent with the historical load patterns. The maximum number of rows of pallets on all trucks is two in the direction of width. This means that the shorter side of every pallet is wider than one-third of the width of a truck.

(a) Lengthwise orientation and lengthwise-first layout

(c) Lengthwise orientation and widthwise-first layout

(b) Widthwise orientation and lengthwise-first layout

(d) Widthwise orientation and widthwise-first layout

Fig. 4. Types of load patterns with respect to the orientation of pallets and the type of layout.

This assumption was also consistent with the historical and existing data. For generating load patterns, we considered various patterns, as shown in Fig. 4. With respect to the orientation of a pallet, two orientations (lengthwise and widthwise) for each component are considered. Also, two types of layouts are considered: One is the lengthwise-first type, and the other is the widthwise-first type. Note that if the number of components in Ejt is m; then the maximum number of candidates becomes Q max 2mþ1 m ðq  qmin it Þ: i¼1 it We assume that the elements in Ejt are sorted in the increasing order of the run-out time. Let P% t be the set of patterns generated from Ejt for truck t: The detailed algorithm for making P% t is described in the following: Step 0: i ¼ 0: P% 0t ¼ +: Step 1: i ¼ i þ 1: P% it ¼ +: If i > jEjt j; then P% t =P% ði1Þt and stop. Otherwise, let the ith component in Ejt be denoted as component (i) and set qðiÞt ¼ maxf0; qmin ðiÞt 21g: Step 2: qðiÞt ¼ qðiÞt þ 1: If qðiÞt > qmax ðiÞt ; then go to step 1. Otherwise, try to insert qðiÞt pallets additionally to every layout in P% ði1Þt in the four different ways as shown in Fig. 4. Add all the feasible layouts to P% it : Go to the beginning of this step.

33

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38 Table 3 Data of the example for the pattern generating procedure Component (1) (2) (3) (4) (5) (6) (7)

Pallet size (m) The maximum inventory allowed at the receiving area(li ) (pallets) Assembly rate per hour (pallets) Current inventory level at assembly company (pallets) Run-out time (h) ((4)C(3)) Inventory level at the assembly company just before truck t arrives at the assembly company (pallets) ðIiðt1Þ Þ ((4)(3)) Current inventory level at supplier’s factory (pallets) ðsiðt1Þ þ rit Þ

A

B

C

1.5 1 7 5 6 1.2 1

1.5 1.5 5 3 4 1.3 1

2 0.5 4 4 6 1.5 2

4

3

4

Fig. 5. Layouts in P% 1t for the example.

In the following, an example is provided to illustrate the pattern generating procedure: Let the size of truck t be 4.5 m 3 m. And, let Ejt be {A, B, C} whose data are given in Table 3. We also assume that it takes 1 hour to derive a truck from the supplier’s factory to the assembly company and that truck ðt þ 1Þ will leave the supplier’s factory after 1 hour from this departure of truck t: qmin and qmax can be calculated by it it max{0, (3)–(6)} and min{(2)–(6), (7)} from min min Table 3. Then, qmin At ¼ 4; qBt ¼ 2; qCt ¼ 2; max max max qAt ¼ 4; qBt ¼ 3; and qCt ¼ 2: Step 0: i ¼ 0: P% 0t ¼ +: Step 1: i ¼ 1: P% 1t ¼ +: Component (1) is A. qð1Þt¼ qmin ð1Þt  1 ¼ 3: Step 2: qð1Þt¼ 3 þ 1 ¼ 4; P% 1t ={L1-(1), L1-(2), L1(3), L1-(4)}. Layouts of L1-(1), L1-(2), L1-(3), and L1-(4) are shown in Fig. 5. Step 2: qð1Þt ¼ 5 > qmax ð1Þt : Step 1: i ¼ 2: P% 2t ¼ +: Component (2) is B. qð2Þt ¼ qmin ð2Þt  1 ¼ 1: Step 2: qð2Þt¼ 1 þ 1 ¼ 2: P% 2t ={L2-(1), L2-(2), L2(3), L2-(4)}, where layouts of L2-(1), L2-

Step 2:

Step 2: Step 1: Step 2:

Step 2: Step 1:

(2), L2-(3), and L2-(4)} are shown in Fig. 6. qð2Þt ¼ 3: P% 2t ={L2-(1), L2-(2), L2-(3), L2(4), L2-(5), L2-(6)}, where layouts of L2(5) and L2-(6) are also shown in Fig. 6. qð2Þt ¼ 4 > qmax ð2Þt : i ¼ 3: P% 3t ¼ +: Component (3) is C. qð3Þt ¼ qmin ð3Þt  1 ¼ 1: qð3Þt¼ 1 þ 1 ¼ 2: P% 3t ={L3-(1), L3-(2)}, where L3-(1) and L3-(2) are shown in Fig. 7. qð3Þt ¼ qð3Þt þ 1 ¼ 3 > qmax ð3Þt : i ¼ 4 > jEjt j: Thus, P% t ={L3-(1), L3-(2)}. Stop.

5. A numerical experiment In this section, computational performances of the dynamic program (DP), the basic beam search algorithm (BBS), the modified beam search algorithm (MBS), and the beam search based on the pattern generating method (PGM) are compared with each other. Practical data from a

34

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

Fig. 6. Layouts in P% 2t for the example.

Fig. 7. Layouts in P% 3t for the example.

supplier in Korea that produces components for an automobile company are used in the experiment. The load capacity of all the trucks is 290 cm Table 4 Examples of pallets used in the experimenta Pallet ID

Width

Length

Height

AU01 G001 J201 J202 MX01 X301 Y301 Y302 Y303 Y304 X302 Y305 Y306 A101

109 110 128 120 102 115 122 117 81 125 70 30 112 125

140 132 147 144 180 117 123 149 126 135 99 25 117 199

140 105 144 143 142 133 135 156 136 142 97 20 117 135

a

Unit: cm.

high, 200 cm wide, and 525 cm long. Trucks depart a supplier’s factory every 35 minutes, from 7 AM to 5 PM. There is a break from noon to 1 PM at both the supplier’s factory and the assembly company. Eighteen problems were made by using different sets of components, inventory levels of components, production plans of components of the supplier’s factory. Tables 4–6 illustrate a part of input data for the problems used in the experiment. First, the performance of the BBS is compared with that of the DP. Because the computational time of the DP increases rapidly as the size of the problem increases, only the problems with a Table 5 Examples of components used in the experiment Component ID

Receiving area

Limit on storage space (pallets)

Pallet

Units per pallet

54200-4A000 54200-4A100 54205-4A000 54205-4A100 62400-27012 62400-27912 21850-43103 21850-43006 62400-29202

C202 C202 C202 C202 P302 P302 C202 C202 P302

12 12 12 8 20 16 8 20 36

A101 A101 A101 A101 J201 J201 G001 G001 J201

6 6 6 6 9 9 18 18 9

35

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38 Table 6 Dynamic data for problem 1 in the experiment Component ID

21790-34420 62600-27000 21790-22300-1 21790-22300-2 21790-22400-1 21790-22400-2 55210-22000-1 55210-22000-2 55700-02000 21800-4B001 21850-43006 21850-43103 a b

Assembly line

Supplier

Initial inventorya

Assembly rateb

Initial inventorya

Production rateb

Beginning time of production

70 240 100 100 100 100 100 100 192 72 144 54

8 70 19 8 8 4 47 31 38 18 8 1

70 860 1155 1155 490 490 2720 2720 72 144 414 72

53 93 80 80 80 80 360 360 44 68 192 216

No production 99-5-18, 8:00 AM 99-5-18, 8:00 AM 99-5-18, 8:00 AM 99-5-18, 3:11 PM 99-5-18, 3:11 PM No production No production 99-5-18, 8:00 AM 99-5-18, 8:00 AM 99-5-18, 8:00 AM No production

Ending time of production 99-5-18, 99-5-18, 99-5-18, 99-5-18, 99-5-18,

11:44 PM 3:11 PM 3:11 PM 4:25 PM 4:25 PM

99-5-19, 4:39 AM 99-5-18, 2:38 PM 99-5-18, 9:10 AM

Units. Units per hour.

Table 7 A comparison between dynamic programming (DP) and the basic beam (BBS) search algorithm Problem #

1 2 3 4

No. of stages

5 9 5 11

DP

BBS

Cost

Comput. time (s)

Beam width

Cost

Comput. time (s)

0.0645 0.0632 0.0193 260.28

493 2652 1750 20864

10 10 10 10

0.0647 0.0632 0.0193 260.60

59 31 54 58

limited number of stages are solved. Table 7 shows the result of the comparison. The result shows that the BBS significantly reduced the computational time without a large loss in the quality of the solution. It was found that the computational time of the BBS depends on the number of load patterns as well as the number of stages. It was also found that when the assembly rate is relatively high, the computational time increases. The reason was that the more load patterns become feasible when the assembly rate is higher, which in turn results in a larger search space. Table 8 shows that the MBS reduces the computational time of the beam search by 30%, but the MBS is even with the BBS in its cost. In Table 9, the performances of the PGM and the MBS are compared with each other. For

BBS/DP (cost)

BBS/DP (comput. time)

1.0031 1.0000 1.0000 1.0012

0.12 0.11 0.03 0.00

most of the test problems, the PGM outperformed the MBS in both computational time and cost. The reduced computational time resulted from the reduced number of combinations of components. It can be seen that, because the cost incurred by the PGM is less than that by the MBS, the database of the load patterns for the MBS was insufficient to cover all the various situations.

6. Conclusions In this paper, a dynamic programming model and search methods were introduced for selecting the load patterns for trucks to move components from a single supplier to an assembly company.

36

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

Table 8 A comparison between the basic beam search and the modified beam search algorithm (number of stages=16, beam width=10) Prob. no.

No. of patterns (components)

MBS/BBS (cost)

MBS/BBS (com. time)

c

Cost

5

27 (12)

6 4

3.49 3.49

136 114

3.49

154

1.00 1.00

0.88 0.74

6

28 (18)

6 4

50.56 50.56

129 113

50.56

139

1.00 1.00

0.93 0.81

7

31 (17)

6 4

0.54 0.54

126 119

0.54

133

1.00 1.00

0.95 0.89

8

32 (16)

6 4

0.56 0.56

90 87

0.56

94

1.00 1.00

0.96 0.93

9

34 (16)

6 4

2.37 2.64

88 60

2.64

151

0.90 1.00

0.58 0.40

10

35 (16)

6 4

0.66 0.66

109 87

0.63

194

1.04 1.04

0.56 0.45

11

38 (19)

6 4

7.02 7.02

112 93

7.02

136

1.00 1.00

0.82 0.68

12

41 (18)

6 4

3.12 3.12

135 134

3.12

137

1.00 1.00

0.99 0.98

13

44 (17)

6 4

2.93 2.95

79 57

3.24

180

0.90 0.91

0.44 0.32

14

44 (20)

6 4

4.58 4.58

113 77

4.38

150

1.04 1.04

0.75 0.51

15

47 (21)

6 4

2.38 2.38

136 95

2.38

174

1.00 1.00

0.78 0.55

16

52 (20)

6 4

2.47 2.08

124 67

1.97

184

1.26 1.06

0.67 0.36

17

52 (22)

6 4

0.85 0.96

135 119

0.85

150

1.00 1.13

0.90 0.79

18

53 (21)

6 4

8.60 8.60

102 87

8.60

134

1.00 1.00

0.76 0.65

6.44

104.4

6.43

150.71

1.01

0.72

Average

MBS

BBS Comp. time (s)

Two different algorithms based on the basic beam search algorithm were suggested. Also, a beam search algorithm based on a pattern generating method was provided. This study attempted to minimize the possibility of a shortage of components at the assembly company during a planning horizon. It was found that the beam search requires much less computational time than the

Cost

Comp. time (s)

dynamic programming does without any significant loss in solution quality. A numerical experiment also showed that the beam search algorithm based on the pattern generating method (PGM) outperforms all the other compared methods. As an important issue for future research, the algorithm in this study may be extended to the case that trucks deliver components from a single supplier to multiple

37

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38 Table 9 A comparison between the PGM and the MBS (number of stages: 16, beam width=10) Prob. no. ID.

No. of patterns (components)

PGM

PGM/MBS (cost)

PGM/MBS (comput. time)

c

Cost

5

27 (12)

6 4

0.01 0.02

120 97

3.49 3.49

136 114

0.00 0.01

0.88 0.85

6

28 (18)

6 4

51.06 50.46

32 30

50.56 50.56

129 113

1.01 1.00

0.25 0.27

7

31 (17)

6 4

0.58 0.59

28 26

0.54 0.54

126 119

1.08 1.10

0.22 0.22

8

32 (16)

6 4

0.41 0.42

30 18

0.56 0.56

90 87

0.75 0.75

0.33 0.21

9

34 (16)

6 4

2.52 3.79

22 21

2.37 2.64

88 60

1.06 1.44

0.25 0.35

10

35 (16)

6 4

0.51 0.58

109 56

0.66 0.66

109 87

0.77 0.87

1.00 0.64

11

38 (19)

6 4

6.25 6.10

43 29

7.02 7.02

112 93

0.89 0.87

0.38 0.31

12

41 (18)

6 4

0.79 0.82

32 25

3.12 3.12

135 134

0.25 0.26

0.24 0.19

13

44 (17)

6 4

4.03 4.03

237 194

2.93 2.95

79 57

1.38 1.37

3.00 3.40

14

44 (20)

6 4

3.70 3.99

47 33

4.58 4.58

113 77

0.81 0.87

0.42 0.43

15

47 (21)

6 4

1.14 1.16

189 116

2.38 2.38

136 95

0.48 0.49

1.39 1.22

16

52 (20)

6 4

2.38 1.68

120 66

2.47 2.08

124 67

0.97 0.81

0.97 0.99

17

52 (22)

6 4

1.11 1.12

41 30

0.85 0.96

135 119

1.30 1.16

0.30 0.25

18

53 (21)

6 4

8.49 8.47

45 27

8.60 8.60

102 87

0.99 0.98

0.44 0.31

5.94

66.5

6.44

104.4

0.85

0.70

Average

MBS Comput. time (s)

customers or from multiple suppliers to multiple customers. References [1] J. Hahm, C.A. Yano, The economic lot and delivery scheduling problem: The common cycle case, IIE Transactions 27 (1995) 113–125.

Cost

Comput. time (s)

[2] M.G. Speranza, W. Ukovich, Minimizing transportation and inventory costs for several products on a single link, Operations Research 42 (5) (1994) 879–894. [3] A. Weintraub, R. Epstein, R. Morales, J. Seron, P. Traverso, A truck scheduling system improves efficiency in the forest industries, Interfaces 26 (1996) 1–22. [4] N. Ben-Khedher, C.A. Yano, The multi-item joint replenishment problem with transportation and container effects, Transportation Science 28 (1) (1994) 37–54.

38

K.H. Kim, J.-B. Kim / Int. J. Production Economics 77 (2002) 25–38

[5] H.J. Steudel, Generating pallet loading patterns: A special case of the two-dimensional cutting stock problem, Management Science 25 (10) (1979) 997–1004. [6] A. Smith, P.D. Cani, An algorithm to optimize the layout of boxes in pallets, Journal of Operational Research Society 31 (7) (1980) 573–578. [7] T.J. Hodgson, A combined approach to the pallet loading problem, IIE Transactions 14 (3) (1982) 175–182. [8] R.D. Tsai, E.M. Malstrom, H.D. Meeks, A two-dimensional palletizing procedure for warehouse loading operations, IIE Transactions 20 (4) (1988) 418–425. [9] N. Christofides, E. Hadjiconstantinou, An exact algorithm for orthogonal 2-D cutting problems using guillotine cuts, European Journal of Operational Research 83 (1995) 21–38.

[10] C.P. Han, K. Knott, P.J. Egbelu, A heuristic approach to the three-dimensional cargo-handling problem, International Journal of Production Research 27 (5) (1989) 757–774. [11] E.E. Bischoff, M.D. Marriott, A comparative evaluation of heuristics for container loading, European Journal of Operational Research 44 (1990) 267–276. [12] R.W. Haessler, F.B. Talbot, Load planning for shipments of low density products, European Journal of Operational Research 44 (1990) 289–299. [13] R.D. Tsai, E.M. Mastrom, W. Kuo, Three-dimensional palletization on mixed box sizes, IIE Transactions 25 (4) (1993) 64–75. [14] S. Li, Multi-job cutting stock problem with due dates and release dates, Journal of Operational Research Society 47 (1996) 490–510.