Level Batching with Hierarchical Clustering Structure - Downloads

2 downloads 0 Views 2MB Size Report
Mar 6, 2017 - agglomerative hierarchical clustering structure in which the highest possible level ... objective of the problem is to minimize the total cost for processing all ...... Since the time complexity of the DP algorithm depends on both theย ...
Hindawi Mathematical Problems in Engineering Volume 2017, Article ID 6021708, 12 pages https://doi.org/10.1155/2017/6021708

Research Article Multidimensional Dynamic Programming Algorithm for ๐‘-Level Batching with Hierarchical Clustering Structure Seung-Kil Lim,1 June-Young Bang,1 and Jae-Gon Kim2 1

Department of Industrial and Management Engineering, Sungkyul University, 400-10 Anyang-dong, Manan-gu, Anyang-si, Gyeonggi-do 14097, Republic of Korea 2 Department of Industrial and Management Engineering, Incheon National University, 12-1 Songdo-dong, Yeonsu-gu, Incheon 22012, Republic of Korea Correspondence should be addressed to Jae-Gon Kim; [email protected] Received 23 December 2016; Revised 3 March 2017; Accepted 6 March 2017; Published 11 April 2017 Academic Editor: Sergii V. Kavun Copyright ยฉ 2017 Seung-Kil Lim et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. This study focuses on the ๐‘-level batching problem with a hierarchical clustering structure. Clustering is the task of grouping a set of item types in such a way that item types in the same cluster are more similar (in some sense or another) to each other than to those in other clusters. In hierarchical clustering structure, more and more different item types are clustered together as the level of the hierarchy increases. ๐‘-level batching is the process by which items with different types are grouped into several batches passed from level 1 to level ๐‘ sequentially for given hierarchical clustering structure such that batches in each level should satisfy the maximum and minimum batch size requirements of the level. We consider two types of processing costs of the batches: unit processing cost and batch processing cost. We formulate the ๐‘-level batching problem with a hierarchical clustering structure as a nonlinear integer programming model with the objective of minimizing the total processing cost. To solve the problem optimally, we propose a multidimensional dynamic programming algorithm with an example.

1. Introduction According to Wikipedia, clustering problem is the task of grouping a set of item types in such a way that item types in the same cluster are more similar (in some sense or another) to each other than to those in other clusters. It is the main task of exploratory data mining and a common technique for statistical data analysis, used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics. Hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis which seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into two types: agglomerative clustering and divisive one. Agglomerative clustering is a bottom-up approach: that is, each observation starts in its own cluster, and pairs of clusters are merged as one moves up the hierarchy. To the contrary, divisive clustering is a top-down approach: that is, all observations start in one cluster, and splits are performed recursively as one moves

down the hierarchy. In general, the merges and splits are determined in a greedy manner. The results of hierarchical clustering are usually presented in a dendrogram. The hierarchical clustering problem has been studied for several decades in a wide range of fields including manufacturing, biotechnology, information technology (IT), logistics and transportation, financial, and postal industries. In the manufacturing sector, hierarchical clustering has been used to form manufacturing cells and processing batches. Vakharia and Wemmerlยจov [1] investigated the performance of seven hierarchical agglomerative clustering techniques and eight dissimilarity measures in the context of cell formation in the cellular manufacturing system. Chen et al. [2] proposed a constrained agglomerative clustering algorithm for the single batch processing machine scheduling problem often encountered in semiconductor manufacturing and metal heat treatment. Hierarchical clustering is one of the most commonly used methods in biotechnology for classification. Cheng et al. [3] suggested hierarchical model-based clustering of DNA sequences by upgrading Bayesian model-based

2 clustering. Cameron et al. [4] proposed hierarchical clustering of gene expression patterns consistent with the lineage of differentiating excitatory neurons during early neocortical development. Saunders et al. [5] used Markov clustering and hierarchical clustering to classify protein families of rust pathogens and rank them according to their likelihood of being effectors. Barzinpour et al. [6] proposed a spectral approach to community detection, where the multiplex is mapped onto Euclidean Space (using the top few eigenvectors) and applied ๐‘˜-mean clustering. See Andreopoulos et al. [7] for a review of the clustering algorithms applied in bioinformatics. Clustering is one of the most important techniques for image segmentation and data analytics in the IT industry. Arifin and Asano [8] presented a histogram thresholding algorithm using hierarchical cluster analysis for image segmentation. Nunez-Iglesias et al. [9] proposed an active machine learning approach for performing hierarchical agglomerative clustering from superpixels to improve segmentation of 2D and 3D images. See Zaitoun and Aqel [10] for a survey of image segmentation techniques. In relation to data analytics, Bouguettaya et al. [11] proposed a set of agglomerative hierarchical clustering methods, and Costa et al. [12] proposed a hierarchical approach for clustering XML documents with multiple forms of structural components. Hierarchical clustering also has been successfully applied to ยจ the logistics and transportation sector. Ozdamar and Demir [13] proposed a multilevel clustering algorithm that groups demand nodes into smaller clusters at each planning level for coordinating vehicle routing in large-scale postdisaster distribution and evacuation activities. Zhu and Guo [14] extended the traditional hierarchical clustering method by generalizing flows to different hierarchical levels to aggregate and map large taxi flow data in an urban area. The hierarchical clustering problem arises in the postal industry as well. Lim et al. [15] studied the three-level presorting loading problem which occurs in the commercial bulk mail service. They considered the problem as a three-level hierarchical clustering problem and proposed an optimal solution algorithm. For the financial sector application, Aghabozorgi and Teh [16] suggested a novel three-phase clustering model to categorize companies based on the similarity in the shape of their stock markets. See Murtagh and Contreras [17] for an extensive survey on the agglomerative hierarchical clustering algorithms. In this study, we consider an N-level batching with agglomerative hierarchical clustering structure in which the highest possible level of the hierarchy is ๐‘. ๐‘-level batching is the process by which items with different types are grouped into several batches passed from level 1 to level ๐‘ sequentially for a given hierarchical clustering structure such that batches in each level of the hierarchy should satisfy the maximum and minimum batch size requirements of the level. We assume that types of items that can be clustered together are given in each level (i.e., hierarchical clustering structure). Also, we assume that there exist the maximum and minimum batch size requirements at each level of the hierarchy. We consider two kinds of costs for processing batched items: batch processing cost and unit processing cost. If items in

Mathematical Problems in Engineering a batch are closely related, they can be processed as a batch simultaneously; hence, a batch processing cost occurs to the batch. On the other hand, if items in a batch are loosely related, they have to be processed separately; hence, a unit processing cost occurs to process each item in the batch. The objective of the problem is to minimize the total cost for processing all items.

2. ๐‘-Level Batching Problem with Hierarchical Clustering Structure Now we describe the ๐‘-level batching problem (NLBP) with agglomerative hierarchical clustering structure considered in this study. The paper develops an integer nonlinear programming model for the NLBP using the notations (see Notations). An integer nonlinear programming formulation for the NLBP is now presented. ๐‘

[NLBP] Minimize

โˆ‘ โˆ‘ ๐ถ๐‘™๐‘ˆ(๐‘›) ฮฉ๐‘™(๐‘›)

๐‘›=1 ๐‘™(๐‘›) โˆˆฮ›(๐‘›) ๐‘ˆ

(1)

๐‘

+โˆ‘ โˆ‘ ๐‘›=1 ๐‘™(๐‘›) โˆˆฮ›(๐‘›)

๐ถ๐‘™๐ต(๐‘›)

๐ต

subject to ๐‘„๐‘™(๐‘›) = ๐‘…๐‘™(๐‘›) + ฮฉ๐‘™(๐‘›) ๐‘„๐‘™(๐‘›) =

โˆ‘ ๐‘™(๐‘›โˆ’1) โˆˆฮ” ๐‘™(๐‘›)

ฮฉ (๐‘›) โŒˆ ๐‘™ โŒ‰, ๐‘Š๐‘™(๐‘›) โˆ€๐‘›, ๐‘™(๐‘›) ,

(2)

๐‘…๐‘™(๐‘›โˆ’1) (3) (๐‘›)

โˆ€๐‘› โ‰ฅ 1, ๐‘™ , ๐‘…๐‘™(๐‘) = 0 (

โˆ€๐‘™(๐‘) ,

(4)

ฮฉ๐‘™(๐‘›) ) โ‰ค ๐‘Š๐‘™(๐‘›) โŒˆฮฉ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰

ฮฉ๐‘™(๐‘›) if โ‰ฅ ๐ท๐‘™(๐‘›) โˆ€๐‘› โ‰ฅ 1, ๐‘™(๐‘›) , โŒˆฮฉ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ ๐ท๐‘™(๐‘›) โ‰ค (

ฮฉ๐‘™(๐‘›) ) โ‰ค ๐‘Š๐‘™(๐‘›) โŒŠฮฉ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹

ฮฉ๐‘™(๐‘›) if < ๐ท๐‘™(๐‘›) , ฮฉ๐‘™(๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) โˆ€๐‘› โ‰ฅ 1, ๐‘™(๐‘›) , โŒˆฮฉ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ ฮฉ๐‘™(๐‘›) = 0 if ๐‘„๐‘™(๐‘›) < ๐ท๐‘™(๐‘›) โˆ€๐‘› โ‰ฅ 1, ๐‘™(๐‘›) ,

(5)

(6)

(7)

๐‘„๐‘™(๐‘›) โ‰ฅ 0 and integer

โˆ€๐‘›, ๐‘™(๐‘›) ,

(8)

ฮฉ๐‘™(๐‘›) โ‰ฅ 0 and integer

โˆ€๐‘›, ๐‘™(๐‘›) ,

(9)

๐‘…๐‘™(๐‘›) โ‰ฅ 0 and integer

โˆ€๐‘›, ๐‘™(๐‘›) .

(10)

The objective function (1) to be minimized denotes the total processing cost for all batched items. Both of unit

Mathematical Problems in Engineering

1(0)

R1(0)

2(0)

R2(0)

Q2(0) 3

(0)

R3(0)

R4(0)

R2(1) R3(1)

Q1(2) = R1(1) + R2(1) + R3(1) + R4(1) 1(2) ฮฉ1(2)

R4(1)

R1(2)

4(1) ฮฉ4(1)

R5(0)

5(1) ฮฉ5(1)

Q5(0) 6(0)

3

(1)

R1(1)

ฮฉ3(1)

Q4(0)

5(0)

2(1) ฮฉ2(1)

Q3(0) 4(0)

1(1) ฮฉ1(1)

Q1(0)

3

R6(0)

R5(1) R6(1)

6(1)

Q1(3) = R1(2) + R2(2) + R3(2)

Q2(2) = R5(1) + R6(1) R2(2)

2(2) ฮฉ2(2)

1(3)

R1(3) = 0

ฮฉ1(3)

0

ฮฉ6(1)

Q6(0)

R3(2) 7(0)

R7(0)

ฮฉ7(1)

Q7(0) 8

(0)

R8(0)

9(0) Q9(0)

8

(1)

ฮฉ8(1)

Q8(0) R9(0)

ฮ›(0) = {1(0) , 2(0) , 3(0) , 4(0) , 5(0) , 6(0) , 7(0) , 8(0) , 9(0) }

7(1) R7(1) R8(1) R9(1)

ฮ” l(1) = {l(0) } Q3(2) = R7(1) + R8(1) + R9(1) 3

(2)

ฮฉ3(2)

9(1)

for l = 1, 2, . . . , 9

ฮ” 1(2) = {1(1) , 2(1) , 3(1) , 4(1) } ฮ” 2(2) = {5(1) , 6(1) } ฮ” 3(2) = {7(1) , 8(1) , 9(1) } ฮ” 1(3) = {1(2) , 2(2) , 3(2) }

ฮฉ9(1)

Figure 1: An example of a NLBP with ๐‘ = 3 and nine original item types.

processing cost and batch processing cost are involved in the total cost. Constraint (2) balances the number of items to be batched, the number of items batched, and number of items not batched for all hierarchical clusters. Constraint (3) ensures that the total number of items to be batched at any cluster should be equal to the number of items not batched in the clusters at the immediate preceding level. Constraint (4) ensures that there is no remained item not batched until level ๐‘. Constraints (5)โ€“(7) indicate that items batched at any cluster should satisfy both the minimum and the maximum batch size requirements. Constraints (8)โ€“(10) represent decision variables. Figure 1 provides an example of a NLBP with ๐‘ = 3 and nine original item types: that is, ฮ›(0) = {1(0) , 2(0) , . . . , 9(0) }. As shown in the figure, NLBP can be represented as a network flow problem. The network consists of nine source nodes with ๐‘„๐‘™(0) items to be batched through 3-level batching. That is, there are nine level-1 clusters (๐‘™(1) for ๐‘™ = 1, 2, . . . , 9) where

the first level batches are formed with ฮฉ๐‘™(1) satisfying both the minimum and the maximum batch size requirements of the clusters at level 1, three level-2 clusters (๐‘™(2) for ๐‘™ = 1, 2, 3) where different types of items are batched (for example, four different types of items are batched at 1(2) cluster), one level3 cluster where all nine item types can be batched together, and finally one destination node 0. In the network, items are taken out to form batches passed from level-1 clusters to level-3 cluster sequentially with the objective of minimizing total processing costs of batched items. Here, processing costs of batched items, in general, increase as the level of cluster is deeper. Also, the minimum and maximum batch size requirements of clusters may be different. Item quantities to be batched at level ๐‘› (1 โ‰ค ๐‘› โ‰ค 3) are the total number of items not batched at level ๐‘› โˆ’ 1. Lim et al. [15] developed an optimal solution algorithm for a special type of 3-level batching problem that has tapering discount structure in unit processing cost of batched item:

4

Mathematical Problems in Engineering

that is, ๐ถ๐‘™๐‘ˆ(2) โˆ’ ๐ถ๐‘™๐‘ˆ(1) โ‰ฅ ๐ถ๐‘™๐‘ˆ(3) โˆ’ ๐ถ๐‘™๐‘ˆ(2) for any ๐‘™. In this study, we challenge a more general problem than that of Lim et al. [15] by extending the hierarchical level to ๐‘ and considering more general cost structure for batched items. This paper develops a dynamic programming solution algorithm for the NLBP to obtain an optimal ๐‘-level batching with hierarchical clustering structure.

3. Dynamic Programming Algorithm for the NLBP In the dynamic programming algorithm for the NLBP, stage ๐‘› (๐‘› = 1, 2, . . . , ๐‘) is represented by the level and the state at a stage n is the numbers of items of cluster ๐‘™(๐‘›) not batched yet until level n: that is ๐‘…1(๐‘›) , ๐‘…2(๐‘›) , . . . , ๐‘…๐‘™(๐‘›) . Also, possible alternatives at stage ๐‘› are the numbers of items of cluster ๐‘™(๐‘›) batched at level n: that is, ฮฉ1(๐‘›) , ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) , satisfying the balancing constraints (2)โ€“(4) and the minimum and maximum batch size constraints (5)โ€“(7). First, we give notation used in the DP recursive equations as follows: ฮจ๐‘› (๐‘…1(๐‘›) , ๐‘…2(๐‘›) , . . . , ๐‘…๐‘™(๐‘›) ): the minimum processing cost for batched items during level 1 through n when the numbers of items not batched at level ๐‘› are ๐‘…1(๐‘›) , ๐‘…2(๐‘›) , . . . , ๐‘…๐‘™(๐‘›) ฮ“๐‘› (ฮฉ1(๐‘›) , ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) ): the processing cost for batched items at level n when the numbers of items batched at level ๐‘› are ฮฉ1(๐‘›) , ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) (here, ฮ“๐‘› (ฮฉ1(๐‘›) , ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) ) = โˆ‘๐‘™(๐‘›) โˆˆฮ›(๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›) ฮฉ๐‘™(๐‘›) + ๐‘ˆ

โˆ‘๐‘™(๐‘›) โˆˆฮ›(๐‘›) ๐ถ๐‘™๐ต(๐‘›) โŒˆฮฉ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰) ๐ต

The forward DP recursive equations for the NLBP are ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…๐‘™(1) ) =

ฮ“1 (ฮฉ1(1) ,

min

ฮฉ๐‘™(1) =๐‘…๐‘™(0) โˆ’๐‘…๐‘™(1) โˆ€๐‘™(1)

Batches from ฮฉ๐‘™(1) should satisfy the batch size constraints.

ฮฉ2(1) , . . . , ฮฉ๐‘™(1) ) , ฮจ๐‘› (๐‘…1(๐‘›) , ๐‘…2(๐‘›) , . . . , ๐‘…๐‘™(๐‘›) ) =

ฮฉ๐‘™(๐‘›) =โˆ‘๐‘™โˆˆฮ”

min ๐‘™(๐‘›)

๐‘…๐‘™(๐‘›โˆ’1) โˆ’๐‘…๐‘™(๐‘›) โˆ€๐‘™(๐‘›)

ฮ“๐‘› (ฮฉ1(๐‘›) ,

(11)

Batches from ฮฉ๐‘™(๐‘›) should satisfy the batch size constraints.

ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) ) + ฮจ๐‘›โˆ’1 (๐‘…1(๐‘›โˆ’1) , ๐‘…2(๐‘›โˆ’1) , . . . , ๐‘…๐‘™(๐‘›โˆ’1) ) for ๐‘› = 2, 3, . . . , ๐‘ โˆ’ 1, ฮจ๐‘ (๐‘…1(๐‘) ) =

min

ฮฉ1(๐‘) =โˆ‘๐‘™โˆˆฮ”

๐‘™(๐‘)

๐‘…๐‘™(๐‘โˆ’1)

ฮ“๐‘ (ฮฉ1(๐‘) )

Batches from ฮฉ1(๐‘) should satisfy the batch size constraints.

+ ฮจ๐‘โˆ’1 (๐‘…1(๐‘โˆ’1) , ๐‘…2(๐‘โˆ’1) , . . . , ๐‘…๐‘™(๐‘โˆ’1) ) .

Optimal objective value for the NLBP is ฮจ๐‘(๐‘…1(๐‘) ) = ฮจ๐‘(0).

It is necessary to reduce the number of states for computational efficiency. We find the range of ๐‘…๐‘™(๐‘›) needed to be considered in the DP recursive equations to find an optimal solution of the NLBP when unit processing cost, ๐ถ๐‘™๐‘ˆ(๐‘›) , is charged for batched items. Property 1. For a given cluster ๐‘™(๐‘›) charged by unit processing ฬ‚ ๓ธ€ (๐‘›) โŒ‹, where ๐‘… ฬ‚ ๓ธ€ (๐‘›) is cost, ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ๐‘™ as follows: ฬ‚ ๓ธ€ (๐‘›) = min{(๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) โ‹… (a) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is an integer, ๐‘… ๐‘™ (๐‘Š๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}. (b) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ฬ‚ ๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}. ๐ท๐‘™(๐‘›) , ๐‘… ๐‘™ (c) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ < ฬ‚ ๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}. ๐ท๐‘™(๐‘›) , ๐‘… ๐‘™ Proof. Let ๐‘…๐‘™๓ธ€ (๐‘›) be the number of items of cluster ๐‘™(๐‘›) not batched at level ๐‘› and assume that ๐‘…๐‘™๓ธ€ (๐‘›) โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1. In this case (Case 1), the maximum processing cost of cluster ๐‘™(๐‘›) becomes ฮฉ๓ธ€ ๐‘™(๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘) when ๐‘…๐‘™๓ธ€ (๐‘›) is batched at the last level ๐‘. Here, ฮฉ๓ธ€ ๐‘™(๐‘›) is the number of items of cluster ๐‘™(๐‘›) batched at level ๐‘› with ๐‘…๐‘™๓ธ€ (๐‘›) not batched items. Let ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) be the number of items of cluster ๐‘™(๐‘›) not batched at level ๐‘› but ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) . Also, let ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) be the number of items of cluster ๐‘™(๐‘›) batched at level ๐‘› with ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) not batched items. In this case (Case 2), the minimum processing cost of cluster ๐‘™(๐‘›) becomes ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›) +๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›+1) when ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) is batched at the next level ๐‘›+1. The difference between the maximum cost of Case 1 and the minimum cost of Case 2 is ฮฉ๓ธ€ ๐‘™(๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ (ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›+1) ) = (ฮฉ๓ธ€ ๐‘™(๐‘›) โˆ’ ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) )๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›+1) = (๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โˆ’ ๐‘…๐‘™๓ธ€ (๐‘›) )๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›+1) (since ฮฉ๓ธ€ ๐‘™(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) = ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) + ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ) = (๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โˆ’ ๐‘…๐‘™๓ธ€ (๐‘›) )๐ถ๐‘™๐‘ˆ(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) ๐ถ๐‘™๐‘ˆ(๐‘›+1) = (๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )๐‘…๐‘™๓ธ€ (๐‘›) โˆ’ (๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) . As a result, it is better to keep ๐‘…๐‘™๓ธ€ (๐‘›) โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1 items not batched at level ๐‘› than to keep ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) if (๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )๐‘…๐‘™๓ธ€ (๐‘›) โˆ’(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ค 0. That is, keeping ๐‘…๐‘™๓ธ€ (๐‘›) items at level ๐‘› gives less processing cost of batched items if ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘…๐‘™๓ธ€ (๐‘›) . In other words, it is sufficient to consider ๐‘…๐‘™(๐‘›) < โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘…๐‘™๓ธ€ (๐‘›) โŒ‹ to obtain an optimal solution of the NLBP. Here, note that (๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) ) โ‰ฅ 1 since ๐ถ๐‘™๐‘ˆ(๐‘›) < ๐ถ๐‘™๐‘ˆ(๐‘›+1) for all ๐‘›. There are three cases where ๐‘…๐‘™๓ธ€ (๐‘›) โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1. The first case is when ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is an integer. In this case, each batch can contain ๐‘Š๐‘™(๐‘›) items and (๐‘Š๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) ) items in each batch can remain not batched. As a result, ๐‘…๐‘™๓ธ€ (๐‘›) = min{(๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) โ‹… (๐‘Š๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1} in this case. The second case is when ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) . We can form โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ batches and ๐‘„๐‘™(๐‘›) โˆ’ (โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‹… ๐ท๐‘™(๐‘›) ) items can remain not batched. As a result, ๐‘…๐‘™๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1} in this case. The third case is when ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ < ๐ท๐‘™(๐‘›) . We can form โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ batches and ๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐ท๐‘™(๐‘›) ) items can remain not batched.

Mathematical Problems in Engineering

5

As a result, ๐‘…๐‘™๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1} in this case. This completes the proof. Let ฮฆ(๐‘™(๐‘›) ) be the set of ๐‘…๐‘™(๐‘›) needed to be considered in DP recursive equations to obtain an optimal solution of the NLBP when unit processing cost, ๐ถ๐‘™๐‘ˆ(๐‘›) , is charged for batched items. Property 2. For a given ๐‘™(๐‘›) charged by unit processing cost satisfying 1 โ‰ค ๐‘› โ‰ค ๐‘ โˆ’ 1, ฮฆ(๐‘™(๐‘›) ) is given as follows. (a) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is an integer, ฮฆ(๐‘™(๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค ฬ‚ ๓ธ€ (๐‘›) โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) whereas ฮฆ(๐‘™(๐‘›) ) = ๐ถ๐‘ˆ(๐‘›) )/(๐ถ๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘ˆ(๐‘›) ))๐‘… ๐‘™

๐‘™

๐‘™

๐‘™

ฬ‚ ๓ธ€ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ {๐‘…๐‘™(๐‘›) | 0 โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค ๐‘… ๐‘™ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1 where ๐‘… ฬ‚ ๓ธ€ (๐‘›) = min{(๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) โ‹… ๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ๐‘™ (๐‘Š๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}.

(b) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™(๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) , whereas ฮฆ(๐‘™(๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค ๐ถ๐‘ˆ(๐‘›) ))๐‘… ๐‘™

๐‘™

ฬ‚ ๓ธ€ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐‘…๐‘™(๐‘›) โ‰ค ๐‘… ๐‘™ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ค ๐ท๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ฬ‚ ๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1, where ๐‘… ๐‘™ 1}.

(c) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ ๐ท๐‘™(๐‘›) and ๐‘„๐‘™(๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™(๐‘›) ) = {๐‘…๐‘™(๐‘›) | ๐‘„๐‘™(๐‘›) (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐‘Š๐‘™(๐‘›) ) โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’ ๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) ฬ‚ ๓ธ€ (๐‘›) โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ ๐ถ๐‘ˆ(๐‘›) ))๐‘… ๐‘™

๐‘™

< โˆ’ โˆ’ โ‰ฅ

ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) , ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ whereas ฮฆ(๐‘™(๐‘›) ) = {๐‘…๐‘™(๐‘›) | ๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐‘Š๐‘™(๐‘›) ) โ‰ค ฬ‚ ๓ธ€ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐‘…๐‘™(๐‘›) โ‰ค ๐‘… ๐‘™ ฬ‚ ๓ธ€ (๐‘›) โŒ‹ โ‰ค ๐ท๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) } when โŒŠ((๐ถ๐‘™๐‘ˆ(๐‘) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) )/(๐ถ๐‘™๐‘ˆ(๐‘›+1) โˆ’๐ถ๐‘™๐‘ˆ(๐‘›) ))๐‘… ๐‘™ ฬ‚ ๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1, where ๐‘… ๐‘™ 1}.

(d) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ < ๐ท๐‘™(๐‘›) and ๐‘„๐‘™(๐‘›) < ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™(๐‘›) ) = {๐‘„๐‘™(๐‘›) }. Proof. It is obvious from Property 1. The next property gives the range of ๐‘…๐‘™(๐‘›) needed to be considered in the DP recursive equations to find an optimal solution of the NLBP when batch processing cost ๐ถ๐‘™๐ต(๐‘›) is charged instead of unit processing cost ๐ถ๐‘™๐‘ˆ(๐‘›) . Property 3. For a given cluster ๐‘™(๐‘›) charged by batch processing cost, it is sufficient to consider ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ in DP recursive equations.

Proof. Let ๐‘…๐‘™๓ธ€ (๐‘›) be the number of items of cluster ๐‘™(๐‘›) not batched at level ๐‘› and assume that ๐‘…๐‘™๓ธ€ (๐‘›) โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1. In this case (Case 1), the maximum processing cost of cluster ๐‘™(๐‘›) becomes โŒˆฮฉ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰๐ถ๐‘™๐ต(๐‘›) +๐ถ๐‘™๐ต(๐‘) โ‰ค {(ฮฉ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) )+1}๐ถ๐‘™๐ต(๐‘›) +๐ถ๐‘™๐ต(๐‘) (since โŒˆฮฉ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ค (ฮฉ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) + 1) when ๐‘…๐‘™๓ธ€ (๐‘›) is batched at the last level ๐‘. Here, ฮฉ๓ธ€ ๐‘™(๐‘›) is the number of items of cluster ๐‘™(๐‘›) batched at level n with ๐‘…๐‘™๓ธ€ (๐‘›) not batched items. Let ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) be the number of items of cluster ๐‘™(๐‘›) not batched at level ๐‘› but ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) . Also, let ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) be the number of items of cluster ๐‘™(๐‘›) batched at level n with ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) not batched items. In this case (Case 2), the minimum processing cost of cluster ๐‘™(๐‘›) becomes โŒˆฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰๐ถ๐‘™๐ต(๐‘›) + โŒˆ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰๐ถ๐‘™๐ต(๐‘›+1) โ‰ฅ (ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) )๐ถ๐‘™๐ต(๐‘›) + (๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) /๐‘Š๐‘™(๐‘›) )๐ถ๐‘™๐ต(๐‘›+1) (since โŒˆฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ค (ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) + 1 and โŒˆ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ค (๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) /๐‘Š๐‘™(๐‘›) )+1) when ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) is batched at the next level ๐‘› + 1. The difference between the maximum cost of Case 1 and the minimum cost of Case 2 is {๐ถ๐‘™๐ต(๐‘›) (ฮฉ๓ธ€ ๐‘™(๐‘›) โˆ’ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) }+ ๐ถ๐‘™๐ต(๐‘) โˆ’ {(๐ถ๐‘™๐ต(๐‘›+1) ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) )/๐‘Š๐‘™(๐‘›) } = {๐ถ๐‘™๐ต(๐‘›) (๐‘…๐‘™๓ธ€ (๐‘›) โˆ’ ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) )/๐‘Š๐‘™(๐‘›) } + ๐ถ๐‘™๐ต(๐‘) โˆ’ {(๐ถ๐‘™๐ต(๐‘›+1) ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) )/๐‘Š๐‘™(๐‘›) } since ฮฉ๓ธ€ ๐‘™(๐‘›) + ๐‘…๐‘™๓ธ€ (๐‘›) = ฮฉ๓ธ€ ๓ธ€ ๐‘™(๐‘›) + ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) . As a result, it is better to keep ๐‘…๐‘™๓ธ€ (๐‘›) โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1 items not batched at level ๐‘› than to keep ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) if {๐ถ๐‘™๐ต(๐‘›) (๐‘…๐‘™๓ธ€ (๐‘›) โˆ’ ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) )/๐‘Š๐‘™(๐‘›) } + ๐ถ๐‘™๐ต(๐‘) โˆ’ {(๐ถ๐‘™๐ต(๐‘›+1) ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) )/๐‘Š๐‘™(๐‘›) } โ‰ค 0. That is, keeping ๐‘…๐‘™๓ธ€ (๐‘›) items at level ๐‘› gives less processing cost of batched items if ๐‘…๐‘™๓ธ€ ๓ธ€ (๐‘›) โ‰ฅ (๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) ). In other words, it is sufficient to consider ๐‘…๐‘™(๐‘›) < (๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) ) to obtain an optimal solution of the NLBP. ฬƒ (๐‘›) ) be the set of ๐‘…๐‘™(๐‘›) needed to be considered in DP Let ฮฆ(๐‘™ recursive equations to obtain an optimal solution of the NLBP when batch processing cost, ๐ถ๐‘™๐ต(๐‘›) , is charged for batched items. Property 4. For a given ๐‘™(๐‘›) charged by batch processing cost ฬƒ (๐‘›) ) is given as follows. satisfying 1 โ‰ค ๐‘› โ‰ค ๐‘ โˆ’ 1, ฮฆ(๐‘™ ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค (a) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is an integer, ฮฆ(๐‘™ ๓ธ€  ๐ต ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ(๐‘…๐‘™(๐‘›) ๐ถ๐‘™(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) , whereas ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค ๐‘… ฬ‚ ๓ธ€ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ฮฆ(๐‘™ ๐‘™

๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ฬ‚ ๓ธ€ (๐‘›) = ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1, where ๐‘… ๐‘™ min{(๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) ) โ‹… (๐‘Š๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}.

(b) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ(๐‘…๓ธ€ (๐‘›) ๐ถ๐ต(๐‘›) + ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™ ๐‘™ ๐‘™ ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/ ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | 0 โ‰ค (๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) , whereas ฮฆ(๐‘™ ๓ธ€  ฬ‚ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐‘…๐‘™(๐‘›) โ‰ค ๐‘… ๐‘™

๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ค ฬ‚ ๓ธ€ (๐‘›) = min{๐‘„๐‘™(๐‘›) โˆ’ (โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ โ‹… ๐ท๐‘™(๐‘›) โˆ’ 1, where ๐‘… ๐‘™ ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}.

6

Mathematical Problems in Engineering ๐ท๐‘™(3) = 0 โˆ€๐‘™(3) ,

(c) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ < ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | ๐‘„๐‘™(๐‘›) โˆ’ ๐ท๐‘™(๐‘›) and ๐‘„๐‘™(๐‘›) โ‰ฅ ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐‘Š๐‘™(๐‘›) ) โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/ ฬƒ (๐‘›) ) = {๐‘…๐‘™(๐‘›) | (๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ฅ ๐ท๐‘™(๐‘›) , whereas ฮฆ(๐‘™ ฬ‚ ๓ธ€ (๐‘›) and (๐‘„๐‘™(๐‘›) โˆ’ ๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐‘Š๐‘™(๐‘›) ) โ‰ค ๐‘…๐‘™(๐‘›) โ‰ค ๐‘…

โˆ€๐‘™(2) ,

๐ถ๐‘™๐‘ˆ(3) = 140

โˆ€๐‘™(3) ,

๐‘„3(0) = ๐‘„3(1) = 78, ๐‘„4(0) = ๐‘„4(1) = 480, ๐‘„5(0) = ๐‘„5(1) = 298, ๐‘„6(0) = ๐‘„6(1) = 400,

Now, we can redefine the forward DP recursive equations as follows:

๐‘„7(0) = ๐‘„7(1) = 99,

ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…๐‘™(1) ) min

๐ถ๐‘™๐‘ˆ(2) = 125

๐‘„2(0) = ๐‘„2(1) = 258,

Proof. It is obvious from Property 3.

ฮฉ๐‘™(1) =๐‘…๐‘™(0) โˆ’๐‘…๐‘™(1) โˆ€๐‘™(1)

โˆ€๐‘™(1) ,

๐‘„1(0) = ๐‘„1(1) = 128,

๐‘™

๐‘…๐‘™(๐‘›) )/โŒˆ(๐‘„๐‘™(๐‘›) โˆ’ ๐‘…๐‘™(๐‘›) )/๐‘Š๐‘™(๐‘›) โŒ‰ โ‰ฅ ๐ท๐‘™(๐‘›) } when โŒŠ(๐‘…๐‘™๓ธ€ (๐‘›) ๐ถ๐‘™๐ต(๐‘›) + ฬ‚ ๓ธ€ (๐‘›) = ๐‘Š๐‘™(๐‘›) ๐ถ๐‘™๐ต(๐‘) )/(๐ถ๐‘™๐ต(๐‘›) + ๐ถ๐‘™๐ต(๐‘›+1) )โŒ‹ โ‰ค ๐ท๐‘™(๐‘›) โˆ’ 1, where ๐‘… ๐‘™ min{๐‘„๐‘™(๐‘›) โˆ’ (โŒŠ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‹ โ‹… ๐ท๐‘™(๐‘›) ), ๐ท๐‘™(๐‘›) โˆ’ 1}. (d) If ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) is not an integer and ๐‘„๐‘™(๐‘›) /โŒˆ๐‘„๐‘™(๐‘›) /๐‘Š๐‘™(๐‘›) โŒ‰ < ฬƒ (๐‘›) ) = {๐‘„๐‘™(๐‘›) }. ๐ท๐‘™(๐‘›) and ๐‘„๐‘™(๐‘›) < ๐ท๐‘™(๐‘›) , ฮฆ(๐‘™

=

๐ถ๐‘™๐‘ˆ(1) = 100

๐‘„8(0) = ๐‘„8(1) = 555,

ฮ“1 (ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ๐‘™(1) ) ,

๐‘„9(0) = ๐‘„9(1) = 171. (13)

๐‘…๐‘™(1) โˆˆฮฆ(๐‘™(1) )โˆ€๐‘™(1) โˆˆฮ›(1) ๐‘ˆ ฬƒ (1) )โˆ€๐‘™(1) โˆˆฮ›(1) ๐‘…๐‘™(1) โˆˆฮฆ(๐‘™ ๐ต

Table 1 shows DP calculations at the first stage. Also, the processing cost for batched items at this stage (i.e., level 1) for given (ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ9(1) ) is computed as

ฮจ๐‘› (๐‘…1(๐‘›) , ๐‘…2(๐‘›) , . . . , ๐‘…๐‘™(๐‘›) ) =

ฮฉ๐‘™(๐‘›) =โˆ‘๐‘™โˆˆฮ”

min ๐‘™(๐‘›)

๐‘…๐‘™(๐‘›โˆ’1) โˆ’๐‘…๐‘™(๐‘›) โˆ€๐‘™(๐‘›)

ฮ“๐‘› (ฮฉ1(๐‘›) , ฮฉ2(๐‘›) , . . . , ฮฉ๐‘™(๐‘›) )

9

ฮ“1 (ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ9(1) ) = โˆ‘ฮฉ๐‘™(1) ๐ถ๐‘™๐‘ˆ(1) .

๐‘…๐‘™(๐‘›) โˆˆฮฆ(๐‘™ )โˆ€๐‘™ โˆˆฮ›(๐‘›) ๐‘ˆ ฬƒ (๐‘›) )โˆ€๐‘™(๐‘›) โˆˆฮ›(๐‘›) ๐‘…๐‘™(๐‘›) โˆˆฮฆ(๐‘™ ๐ต (๐‘›)

(๐‘›)

(12)

+ ฮจ๐‘›โˆ’1 (๐‘…1(๐‘›โˆ’1) , ๐‘…2(๐‘›โˆ’1) , . . . , ๐‘…๐‘™(๐‘›โˆ’1) ) for ๐‘› = 2, 3, . . . , ๐‘ โˆ’ 1, ฮจ๐‘ (๐‘…1(๐‘) ) =

min

ฮฉ1(๐‘) =โˆ‘๐‘™โˆˆฮ”

๐‘™(๐‘)

๐‘…๐‘™(๐‘โˆ’1)

ฮ“๐‘ (ฮฉ1(๐‘) )

The minimum processing cost for batched items to level 1 for given (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) ) is computed as ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) ) =

ฬƒ (๐‘) )โˆ€๐‘™(๐‘) โˆˆฮ›(๐‘) ๐‘…1(๐‘) โˆˆฮฆ(1 ๐ต

+ ฮจ๐‘โˆ’1 (๐‘…1(๐‘โˆ’1) , ๐‘…2(๐‘โˆ’1) , . . . , ๐‘…๐‘™(๐‘โˆ’1) ) .

4. An Example for the Dynamic Programming Algorithm In this section, we give an example to explain how to solve the NLBP with the DP recursive equations. Note that this example is the same as that given in Figure 1. Problem data is as follows. Here, we assume that all batched items are charged by unit processing cost. โˆ€๐‘›, ๐‘™(๐‘›) ,

๐ท๐‘™(1) = 80 โˆ€๐‘™(1) , (2)

๐ท๐‘™(2) = 75 โˆ€๐‘™ ,

min

ฮฉ๐‘™(1) =๐‘…๐‘™(0) โˆ’๐‘…๐‘™(1) โˆ€๐‘™(1)

ฮ“1 (ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ9(1) ) .

(15)

๐‘…๐‘™(1) โˆˆฮฆ(๐‘™(1) )โˆ€๐‘™(1)

๐‘…1(๐‘) โˆˆฮฆ(1(๐‘) )โˆ€๐‘™(๐‘) โˆˆฮ›(๐‘) ๐‘ˆ

๐‘Š๐‘™(๐‘›) = 100

(14)

๐‘™=1

Also, we can define the set of ๐‘…๐‘™(1) needed to be considered in DP recursive equations to obtain an optimal solution of the NLBP as follows: ฬ‚ ๓ธ€  (1) = min {๐‘„1(1) โˆ’ ๐ท1(1) โ‹… โŒŠ ๐‘„1(1) โŒ‹ , ๐ท1(1) โˆ’ 1} ๐‘… 1 ๐‘Š1(1) = min {128 โˆ’ 80 โ‹… โŒŠ (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ1๐‘ˆ(1) ) (๐ถ1๐‘ˆ(2) โˆ’ ๐ถ1๐‘ˆ(1) )

128 โŒ‹ , 79} = 48, 100

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 48 = 76.8 ๐‘… 1 (125 โˆ’ 100)

ฮฆ (1(1) ) = {๐‘…1(1) | ๐‘„1(1) โˆ’ (โŒŠ ๓ธ€ 

ฬ‚ (1) , โ‰ค๐‘… 1

๐‘„1(1) โŒ‹ โ‹… ๐‘Š1(1) ) โ‰ค ๐‘…1(1) ๐‘Š1(1)

(๐‘„1(1) โˆ’ ๐‘…1(1) ) โ‰ฅ ๐ท1(1) } , โŒˆ(๐‘„1(1) โˆ’ ๐‘…1(1) ) /๐‘Š1(1) โŒ‰

Mathematical Problems in Engineering ฮฆ (1(1) ) = {๐‘…1(1) | 128 โˆ’ (โŒŠ โ‰ค 48,

128 โŒ‹ โ‹… 100) โ‰ค ๐‘…1(1) 100

(128 โˆ’ ๐‘…1(1) ) โ‰ฅ 80} , โŒˆ(128 โˆ’ ๐‘…1(1) ) /100โŒ‰

ฮฆ (1(1) ) = {๐‘…1(1) | 28 โ‰ค ๐‘…1(1) โ‰ค 48,

7

โ‰คโŒŠ

ฬ‚ ๓ธ€  (1) = min {๐‘„2(1) โˆ’ ๐ท2(1) โ‹… โŒˆ ๐‘„2(1) โŒ‰ , ๐ท2(1) โˆ’ 1} ๐‘… 2 ๐‘Š2(1) 258 โŒ‹ , 79} = 58, 100

(๐ถ1๐‘ˆ(3) โˆ’ ๐ถ1๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 58 = 92.8, ๐‘… 2 ๐‘ˆ (125 โˆ’ 100) โˆ’ ๐ถ (1) ) 1

ฮฆ (2(1) ) = {๐‘…2(1) | 0 โ‰ค ๐‘…2(1)

โ‰คโŒŠ

(๐ถ1๐‘ˆ(3) โˆ’ ๐ถ2๐‘ˆ(1) ) (๐ถ1๐‘ˆ(2)

โˆ’

๐ถ2๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) โŒ‹ , ๐‘… 2

(๐‘„2(1) โˆ’ ๐‘…2(1) ) โŒˆ(๐‘„2(1) โˆ’ ๐‘…2(1) ) /๐‘Š2(1) โŒ‰

(258 โˆ’ ๐‘…2(1) ) (140 โˆ’ 100) 58โŒ‹ , โ‰ฅ 80} , (125 โˆ’ 100) โŒˆ(258 โˆ’ ๐‘…2(1) ) /100โŒ‰

ฮฆ (2(1) ) = {๐‘…2(1) | 0 โ‰ค ๐‘…2(1) (258 โˆ’ ๐‘…2(1) ) โ‰ฅ 80} , โŒˆ(258 โˆ’ ๐‘…2(1) ) /100โŒ‰

ฮฆ (2(1) ) = {0, 1, 2, . . . , 18, 58, 59, . . . , 92} ,

โ‰คโŒŠ

ฬ‚ ๓ธ€  (1) = min {๐‘„4(1) โˆ’ ๐ท4(1) โ‹… โŒˆ ๐‘„4(1) โŒ‰ , ๐ท4(1) โˆ’ 1} ๐‘… 4 ๐‘Š4(1) = {480 โˆ’ 80 โ‹… 5, 79} = 79, โˆ’ โˆ’

๐ถ4๐‘ˆ(1) ) ๓ธ€  ฬ‚ (1) ๐‘… 4 ๐ถ4๐‘ˆ(1) )

(480 โˆ’ ๐‘…4(1) ) (140 โˆ’ 100) 79โŒ‹ , โ‰ฅ 80} , (125 โˆ’ 100) โŒˆ(480 โˆ’ ๐‘…4(1) ) /100โŒ‰

ฮฆ (4(1) ) = {๐‘…4(1) | 0 โ‰ค ๐‘…4(1) โ‰ค 126,

(480 โˆ’ ๐‘…4(1) ) โ‰ฅ 80} , โŒˆ(480 โˆ’ ๐‘…4(1) ) /100โŒ‰

ฮฆ (4(1) ) = {0, 1, 2, . . . , 126} , ฬ‚ ๓ธ€  (1) = min {๐‘„5(1) โˆ’ ๐ท5(1) โ‹… โŒˆ ๐‘„5(1) โŒ‰ , ๐ท5(1) โˆ’ 1} ๐‘… 5 ๐‘Š5(1)

(๐ถ1๐‘ˆ(3) โˆ’ ๐ถ5๐‘ˆ(1) ) (๐ถ2๐‘ˆ(2)

โˆ’

๐ถ5๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 58 = 92.8, ๐‘… 5 (125 โˆ’ 100)

โ‰ค

[ (๐ถ๐‘ˆ(3) โˆ’ ๐ถ๐‘ˆ(1) ) ๓ธ€  ] (๐‘„5(1) โˆ’ ๐‘…5(1) ) [ 1 5 ฬ‚ (1) ] , ๐‘… 5 ๐‘ˆ ๐‘ˆ ] โŒˆ(๐‘„5(1) โˆ’ ๐‘…5(1) ) /๐‘Š5(1) โŒ‰ [ (๐ถ2(2) โˆ’ ๐ถ5(1) )

} โ‰ฅ ๐ท5(1) } , } ฮฆ (5(1) ) = {๐‘…5(1) | 0 โ‰ค ๐‘…5(1) โ‰คโŒŠ

(298 โˆ’ ๐‘…5(1) ) (140 โˆ’ 100) 58โŒ‹ , โ‰ฅ 80} , (125 โˆ’ 100) โŒˆ(298 โˆ’ ๐‘…5(1) ) /100โŒ‰

ฮฆ (5(1) ) = {๐‘…5(1) | 0 โ‰ค ๐‘…5(1)

ฮฆ (3(1) ) = {78} ,

(๐ถ1๐‘ˆ(3) (๐ถ1๐‘ˆ(2)

(๐‘„4(1) โˆ’ ๐‘…4(1) ) โŒˆ(๐‘„4(1) โˆ’ ๐‘…4(1) ) /๐‘Š4(1) โŒ‰

{ ฮฆ (5(1) ) = {๐‘…5(1) | 0 โ‰ค ๐‘…5(1) {

ฮฆ (2(1) ) = {๐‘…2(1) | 0 โ‰ค ๐‘…2(1)

โ‰ค 92,

ฬ‚ ๓ธ€  (1) โŒ‹ , ๐‘… 4

= {298 โˆ’ 80 โ‹… 3, 79} = 58,

โ‰ฅ ๐ท2(1) } ,

โ‰คโŒŠ

โˆ’

๐ถ4๐‘ˆ(1) )

โ‰ฅ ๐ท4(1) } ,

ฮฆ (1(1) ) = {28, 29, . . . , 48} ,

(๐ถ1๐‘ˆ(2)

(๐ถ1๐‘ˆ(2)

ฮฆ (4(1) ) = {๐‘…4(1) | 0 โ‰ค ๐‘…4(1)

(128 โˆ’ ๐‘…1(1) ) โ‰ฅ 80} , โŒˆ(128 โˆ’ ๐‘…1(1) ) /100โŒ‰

= min {258 โˆ’ 100 โ‹… โŒŠ

(๐ถ1๐‘ˆ(3) โˆ’ ๐ถ4๐‘ˆ(1) )

=

(140 โˆ’ 100) 79 = 126.4, (125 โˆ’ 100)

ฮฆ (4(1) ) = {๐‘…4(1) | 0 โ‰ค ๐‘…4(1)

โ‰ค 92,

(298 โˆ’ ๐‘…5(1) ) โ‰ฅ 80} , โŒˆ(298 โˆ’ ๐‘…5(1) ) /100โŒ‰

ฮฆ (5(1) ) = {0, 1, 2, . . . , 58} , ฬ‚ ๓ธ€  (1) = min {( ๐‘„6(1) ) โ‹… (๐‘Š6(1) โˆ’ ๐ท6(1) ) , ๐ท6(1) โˆ’ 1} ๐‘… 6 ๐‘Š6(1) = min {(

400 ) โ‹… (100 โˆ’ 80) , 79} = 79, 100

8

Mathematical Problems in Engineering (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ1๐‘ˆ(1) ) (๐ถ1๐‘ˆ(2)

โˆ’

๐ถ1๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 79 = 126.4, ๐‘… 6 (125 โˆ’ 100)

{ ฮฆ (6(1) ) = {๐‘…6(1) | 0 โ‰ค ๐‘…6(1) { โ‰ค

} โ‰ฅ ๐ท8(1) } , } ฮฆ (8(1) ) = {๐‘…8(1) | 0 โ‰ค ๐‘…8(1)

[ (๐ถ๐‘ˆ(3) โˆ’ ๐ถ๐‘ˆ(1) ) ๓ธ€  ] (๐‘„6(1) โˆ’ ๐‘…6(1) ) [ 1 6 ฬ‚ (1) ] , ๐‘… 6 ๐‘ˆ ๐‘ˆ โŒˆ(๐‘„ 6(1) โˆ’ ๐‘…6(1) ) /๐‘Š6(1) โŒ‰ ] [ (๐ถ2(2) โˆ’ ๐ถ6(1) )

(555 โˆ’ ๐‘…8(1) ) โ‰ฅ 80} , โŒˆ(555 โˆ’ ๐‘…8(1) ) /100โŒ‰

โ‰ค 120,

ฮฆ (8(1) ) = {0, 1, 2, . . . , 120} ,

} โ‰ฅ ๐ท6(1) } , }

ฬ‚ ๓ธ€  (1) = min {๐‘„9(1) โˆ’ ๐ท9(1) โ‹… โŒˆ ๐‘„9(1) โŒ‰ , ๐ท9(1) โˆ’ 1} ๐‘… 9 ๐‘Š9(1)

ฮฆ (6(1) ) = {๐‘…6(1) | 0 โ‰ค ๐‘…6(1)

= min {171 โˆ’ 80 โ‹… 2, 79} = 11,

(400 โˆ’ ๐‘…6(1) ) โ‰ค 126, โ‰ฅ 80} , โŒˆ(400 โˆ’ ๐‘…6(1) ) /100โŒ‰

(๐ถ1๐‘ˆ(3) โˆ’ ๐ถ9๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 11 = 17.6, ๐‘… 9 (125 โˆ’ 100)

ฮฆ (6(1) ) = {0, 1, 2, . . . , 80, 100, 101, . . . , 126} ,

(๐ถ3๐‘ˆ(2) โˆ’ ๐ถ9๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = min {๐‘„7(1) โˆ’ ๐ท7(1) โ‹… โŒˆ ๐‘„7(1) โŒ‰ , ๐ท7(1) โˆ’ 1} ๐‘… 7 ๐‘Š7(1)

ฮฆ (9(1) ) = {๐‘…9(1) | 0 โ‰ค ๐‘…9(1)

= min {99 โˆ’ 80 โ‹… 1, 79} = 19, (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ7๐‘ˆ(1) ) (๐ถ3๐‘ˆ(2)

โˆ’

๐ถ7๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 19 = 30.4, ๐‘… 7 (125 โˆ’ 100)

ฬ‚ ๓ธ€  (1) , โ‰ค๐‘… 9

ฮฆ (9(1) ) = {๐‘…8(1) | 0 โ‰ค ๐‘…8(1)

ฮฆ (7(1) ) = {๐‘…7(1) | 0 โ‰ค ๐‘…7(1) ฬ‚ ๓ธ€  (1) , โ‰ค๐‘… 7

(๐‘„7(1) โˆ’ ๐‘…7(1) ) โ‰ฅ ๐ท7(1) } , โŒˆ(๐‘„7(1) โˆ’ ๐‘…7(1) ) /๐‘Š7(1) โŒ‰

ฮฆ (7(1) ) = {๐‘…7(1) | 0 โ‰ค ๐‘…7(1)

(99 โˆ’ ๐‘…7(1) ) โ‰ค 19, โŒˆ(99 โˆ’ ๐‘…7(1) ) /100โŒ‰

โ‰ฅ 80} , ฮฆ (7(1) ) = {0, 1, 2, . . . , 19} , ฬ‚ ๓ธ€  (1) = min {๐‘„8(1) โˆ’ ๐ท8(1) โ‹… โŒˆ ๐‘„8(1) โŒ‰ , ๐ท8(1) โˆ’ 1} ๐‘… 8 ๐‘Š8(1) = min {555 โˆ’ 80 โ‹… 6, 79} = 75, (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ8๐‘ˆ(1) ) (๐ถ3๐‘ˆ(2)

โˆ’

๐ถ8๐‘ˆ(1) )

ฬ‚ ๓ธ€  (1) = (140 โˆ’ 100) 75 = 120, ๐‘… 8 (125 โˆ’ 100)

{ ฮฆ (8(1) ) = {๐‘…8(1) | 0 โ‰ค ๐‘…8(1) { [ (๐ถ๐‘ˆ(3) โˆ’ ๐ถ๐‘ˆ(1) ) ๓ธ€  ] (๐‘„8(1) โˆ’ ๐‘…8(1) ) [ 1 8 ฬ‚ (1) ] , ๐‘… โ‰ค 8 ๐‘ˆ ๐‘ˆ โŒˆ(๐‘„ 8(1) โˆ’ ๐‘…8(1) ) /๐‘Š8(1) โŒ‰ ] [ (๐ถ3(2) โˆ’ ๐ถ8(1) )

(๐‘„9(1) โˆ’ ๐‘…9(1) ) โ‰ฅ ๐ท9(1) } , โŒˆ(๐‘„9(1) โˆ’ ๐‘…9(1) ) /๐‘Š9(1) โŒ‰

โ‰ค 11,

(171 โˆ’ ๐‘…9(1) ) โ‰ฅ 80} , โŒˆ(171 โˆ’ ๐‘…9(1) ) /100โŒ‰

ฮฆ (9(1) ) = {0, 1, 2, . . . , 11} .

(16) All possible states at stage 1 are defined with all combinations of ๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) of the sets ฮฆ(1(1) ), ฮฆ(2(1) ), . . . , ฮฆ(9(1) ) and given in the first column of Table 1. That is, the number of possible states is 21 ร— 93 ร— 1 ร— 127 ร— 59 ร— 127 ร— 20 ร— 121 ร— 12. Since the time complexity of the DP algorithm depends on both the number of stages and the number of possible states at each stage, the DP algorithm has exponential time complexity because the number of states increases exponentially due to the multidimensionality from the agglomerative hierarchical clustering structure. However, we expect that the DP algorithm works well for moderate-sized problem instances because the size of the solution space can be dramatically reduced in many cases by reducing the number of states using Properties 1 and 2. Table 2 shows DP calculations at stage 2. The processing cost for batched items at this stage (i.e., level 2) for given (ฮฉ1(2) , ฮฉ2(2) , ฮฉ3(2) ) is computed as 3

ฮ“2 (ฮฉ1(2) , ฮฉ2(2) , ฮฉ3(2) ) = โˆ‘ฮฉ๐‘™(2) ๐ถ๐‘™๐‘ˆ(2) . ๐‘™=1

(17)

Mathematical Problems in Engineering

9 Table 1: DP calculations at stage 1.

(๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) )

(ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ9(1) )

(28, 0, 78, 0, 0, 0, 0, 0, 0) (100, 258, 0, 480, 298, 400, 99, 555, 171) (28, 0, 78, 0, 0, 0, 0, 0, 1) (100, 258, 0, 480, 298, 400, 99, 555, 170) โ‹…โ‹…โ‹… โ‹…โ‹…โ‹… (48, 92, 78, 126, 58, 126, 19, 120, 11) (80, 166, 0, 354, 240, 274, 80, 435, 160)

ฮ“1 (ฮฉ1(1) , ฮฉ2(1) , . . . , ฮฉ9(1) )

ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) )

(100 + โ‹… โ‹… โ‹… + 171) ร— 100 = 236100 (100 + โ‹… โ‹… โ‹… + 170) ร— 100 = 236000 โ‹…โ‹…โ‹… (80 + โ‹… โ‹… โ‹… + 160) ร— 100 = 178900

236100 236000 โ‹…โ‹…โ‹… 178900

Table 2: DP calculations at stage 2. (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) )

(๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) )

(ฮฉ1(2) , ฮฉ2(2) , ฮฉ3(2) )

(6, 18, 0)

(100, 0, 0)

(7, 18, 0)

(99, 0, 0)

โ‹…โ‹…โ‹…

โ‹…โ‹…โ‹…

(31, 18, 0)

(75, 0, 0)

(6, 18, 1)

(100, 0, 0)

(7, 18, 1)

(99, 0, 0)

(28, 0, 78, 0, 0, 0, 0, 0, 0)

(28, 0, 78, 0, 0, 0, 0, 0, 1)

ฮ“2 (ฮฉ1(2) , ฮฉ2(2) , ฮฉ3(2) ) + ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) ) (100 + 0 + 0) ร— 125 + 236100 = 248600 (99 + 0 + 0) ร— 125 + 236100 = 248475 โ‹…โ‹…โ‹… (75 + 0 + 0) ร— 125 + 236100 = 245475 (100 + 0 + 0) ร— 125 + 236000 = 248500 (99 + 0 + 0) ร— 125 + 236000 = 248375 โ‹…โ‹…โ‹… (75 + 0 + 0) ร— 125 + 236000 = 245375

โ‹…โ‹…โ‹…

โ‹…โ‹…โ‹…

(28, 1, 78, 0, 0, 0, 0, 0, 0)

โ‹…โ‹…โ‹… (48, 92, 78, 126, 58, 126, 19, 120, 11)

(31, 18, 1)

(75, 0, 0)

โ‹…โ‹…โ‹…

โ‹…โ‹…โ‹…

(7, 18, 0)

(100, 0, 0)

(8, 18, 0)

(99, 0, 0)

โ‹…โ‹…โ‹…

โ‹…โ‹…โ‹…

(32, 18, 0)

(75, 0, 0)

โ‹…โ‹…โ‹…

โ‹…โ‹…โ‹…

(0, 0, 0) (0, 1, 0) โ‹…โ‹…โ‹… (44, 34, 0)

(344, 184, 150) (344, 183, 150) โ‹…โ‹…โ‹… (300, 150, 150)

The minimum processing cost for batched items until level 2 for given (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) is computed as ฮจ2 (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) =

ฮฉ๐‘™(2) =โˆ‘๐‘™โˆˆฮ”

min ๐‘™(2)

๐‘…๐‘™(1) โˆ’๐‘…๐‘™(2) โˆ€๐‘™(2)

ฮ“2 (ฮฉ1(2) , ฮฉ2(2) , ฮฉ3(2) )

(18)

๐‘…๐‘™(2) โˆˆฮฆ(๐‘™(2) )โˆ€๐‘™(2)

+ ฮจ1 (๐‘…1(1) , ๐‘…2(1) , . . . , ๐‘…9(1) ) . Next, we define the set of ๐‘…๐‘™(2) needed to be considered in DP recursive equations to obtain an optimal solution of the NLBP as follows. As shown in Table 2, possible states at stage 2 are defined with the states at stage 1. For example, 26 states (26 ร— 1 ร— 1) at stage 2 are defined with a state

ฮจ2 (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) )

โ‹…โ‹…โ‹… (100 + 0 + 0) ร— 125 + 236000 = 248500 (99 + 0 + 0) ร— 125 + 236000 = 248375 โ‹…โ‹…โ‹… (75 + 0 + 0) ร— 125 + 236000 = 245375 โ‹…โ‹…โ‹…

(๐‘…1(1) , ๐‘…2(1) , ๐‘…3(1) , ๐‘…4(1) , ๐‘…5(1) , ๐‘…6(1) , ๐‘…7(1) , ๐‘…8(1) , ๐‘…9(1) ) = (28, 0, 78, 0, 0, 0, 0, 0, 0) as follows. Here, note that a state at stage 2 can be defined by several different states at stage 1. See the state (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) = (7, 18, 0) of Table 2. This state can be defined by the state (๐‘…1(1) , ๐‘…2(1) , ๐‘…3(1) , ๐‘…4(1) , ๐‘…5(1) , ๐‘…6(1) , ๐‘…7(1) , ๐‘…8(1) , ๐‘…9(1) ) = (28, 0, 78, 0, 0, 0, 0, 0, 0) and the state (๐‘…1(1) , ๐‘…2(1) , ๐‘…3(1) , ๐‘…4(1) , ๐‘…5(1) , ๐‘…6(1) , ๐‘…7(1) , ๐‘…8(1) , ๐‘…9(1) ) = (28, 1, 78, 0, 0, 0, 0, 0, 0). As a result, ฮจ2 (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) should be determined among several different states (๐‘…1(1) , ๐‘…2(1) , ๐‘…3(1) , ๐‘…4(1) , ๐‘…5(1) , ๐‘…6(1) , ๐‘…7(1) , ๐‘…8(1) , ๐‘…9(1) ) at the first stage making the same state (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) at the second stage. ๐‘„1(2) = ๐‘…1(1) + ๐‘…2(1) + ๐‘…3(1) + ๐‘…4(1) = 28 + 0 + 78 + 0 = 106,

10

Mathematical Problems in Engineering ๐‘„2(2) = ๐‘…5(1) + ๐‘…6(1) = 0 + 18 = 18,

๓ธ€ 

ฬ‚ (2) , โ‰ค๐‘… 1

๐‘„3(2) = ๐‘…7(1) + ๐‘…8(1) + ๐‘…9(1) = 0 + 0 + 0 = 0, ฬ‚ ๓ธ€  (2) = min {๐‘„1(2) โˆ’ ๐ท1(2) โ‹… โŒŠ ๐‘„1(2) โŒ‹ , ๐ท1(2) โˆ’ 1} ๐‘… 1 ๐‘Š1(2) = min {106 โˆ’ 75 โ‹… โŒŠ (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ1๐‘ˆ(2) ) (๐ถ1๐‘ˆ(3)

โˆ’

๐ถ1๐‘ˆ(2) )

โ‰ค

ฬ‚ ๓ธ€  (2) , ๐‘… 1

ฮฆ (1(2) ) = {๐‘…1(2) | 0 โ‰ค ๐‘…1(2)

106 โŒ‹ , 74} = 31, 100

โ‰ค 44,

ฬ‚ ๓ธ€  (2) = (140 โˆ’ 125) 31 = 31, ๐‘… 1 (140 โˆ’ 125)

ฮฆ (1(2) ) = {๐‘…1(2) | ๐‘„1(2) โˆ’ (โŒŠ

ฬ‚ ๓ธ€  (2) = min {๐‘„2(2) โˆ’ ๐ท2(2) โ‹… โŒˆ ๐‘„2(2) โŒ‰ , ๐ท2(2) โˆ’ 1} ๐‘… 2 ๐‘Š2(2)

๐‘„1(2) โŒ‹ โ‹… ๐‘Š1(2) ) โ‰ค ๐‘…1(2) ๐‘Š1(2)

= {184 โˆ’ 75 โ‹… 2, 74} = 34, (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ2๐‘ˆ(2) ) (๐ถ1๐‘ˆ(3)

106 โŒ‹ โ‹… 100) โ‰ค ๐‘…1(2) 100

ฬ‚ ๓ธ€  (2) , โ‰ค๐‘… 2

(2)

ฮฆ (1 ) = {๐‘…1(2) | 6 โ‰ค ๐‘…1(2)

โ‰ค 34,

ฮฆ (2(2) ) = {18} ,

(19) We can define 1575 states (45 ร— 35 ร— 1) with another state of stage 1, (๐‘…1(1) , ๐‘…2(1) , ๐‘…3(1) , ๐‘…4(1) , ๐‘…5(1) , ๐‘…6(1) , ๐‘…7(1) , ๐‘…8(1) , ๐‘…9(1) ) = (48, 92, 78, 126, 58, 126, 19, 120, 11) as follows: ๐‘„1(2) = ๐‘…1(1) + ๐‘…2(1) + ๐‘…3(1) + ๐‘…4(1) = 48 + 92 + 78 + 126 = 344, ๐‘„2(2) = ๐‘…5(1) + ๐‘…6(1) = 58 + 126 = 184, ๐‘„3(2) = ๐‘…7(1) + ๐‘…8(1) + ๐‘…9(1) = 19 + 120 + 11 = 150, ฬ‚ ๓ธ€  (2) = min {๐‘„1(2) โˆ’ ๐ท1(2) โ‹… โŒˆ ๐‘„1(2) โŒ‰ , ๐ท1(2) โˆ’ 1} ๐‘… 1 ๐‘Š1(2) = {344 โˆ’ 75 โ‹… 4, 74} = 44, โˆ’ โˆ’

(๐‘„2(2) โˆ’ ๐‘…2(2) ) โ‰ฅ ๐ท2(2) } , โŒˆ(๐‘„2(2) โˆ’ ๐‘…2(2) ) /๐‘Š2(2) โŒ‰

(184 โˆ’ ๐‘…2(2) ) โ‰ฅ 75} , โŒˆ(184 โˆ’ ๐‘…2(2) ) /100โŒ‰

ฮฆ (2(2) ) = {0, 1, 2, . . . , 34} ,

ฮฆ (3(2) ) = {0} .

๐ถ1๐‘ˆ(2) ) ๓ธ€  ฬ‚ (2) ๐‘… 1 ๐ถ1๐‘ˆ(2) )

ฬ‚ ๓ธ€  (2) = (140 โˆ’ 125) 34 = 34, ๐‘… 2 (140 โˆ’ 125)

ฮฆ (2(2) ) = {๐‘…2(2) | 0 โ‰ค ๐‘…2(2)

(106 โˆ’ ๐‘…1(2) ) โ‰ฅ 75} , โŒˆ(106 โˆ’ ๐‘…1(2) ) /100โŒ‰

ฮฆ (1(2) ) = {6, 7, . . . , 31} ,

(๐ถ1๐‘ˆ(3) (๐ถ1๐‘ˆ(3)

โˆ’

๐ถ2๐‘ˆ(2) )

ฮฆ (2(2) ) = {๐‘…2(2) | 0 โ‰ค ๐‘…2(2)

(106 โˆ’ ๐‘…1(2) ) โ‰ค 31, โ‰ฅ 75} , โŒˆ(106 โˆ’ ๐‘…1(2) ) /100โŒ‰

โ‰ค 31,

(344 โˆ’ ๐‘…1(2) ) โ‰ฅ 75} , โŒˆ(344 โˆ’ ๐‘…1(2) ) /100โŒ‰

ฮฆ (1(2) ) = {0, 1, 2, . . . , 44} ,

(๐‘„1(2) โˆ’ ๐‘…1(2) ) โ‰ฅ ๐ท1(2) } , โŒˆ(๐‘„1(2) โˆ’ ๐‘…1(2) ) /๐‘Š1(2) โŒ‰

ฮฆ (1(2) ) = {๐‘…1(2) | 106 โˆ’ (โŒŠ

(๐‘„1(2) โˆ’ ๐‘…1(2) ) โ‰ฅ ๐ท1(2) } , โŒˆ(๐‘„1(2) โˆ’ ๐‘…1(2) ) /๐‘Š1(2) โŒ‰

=

(140 โˆ’ 125) 44 = 44, (140 โˆ’ 125)

ฮฆ (1(2) ) = {๐‘…1(2) | 0 โ‰ค ๐‘…1(2)

ฬ‚ ๓ธ€  (2) = min {๐‘3(2) โˆ’ ๐ท(2) โ‹… โŒˆ ๐‘3(2) โŒ‰ , ๐ท(2) โˆ’ 1} = {150 ๐‘… 3 ๐‘Š โˆ’ 75 โ‹… 2, 74} = 0, (๐ถ1๐‘ˆ(3) โˆ’ ๐ถ3๐‘ˆ(2) ) (๐ถ1๐‘ˆ(3)

โˆ’

๐ถ3๐‘ˆ(2) )

ฬ‚ ๓ธ€  (2) = (140 โˆ’ 125) 0 = 0, ๐‘… 3 (140 โˆ’ 125)

ฮฆ (3(2) ) = {๐‘…3(2) | 0 โ‰ค ๐‘…3(2) ๓ธ€ 

ฬ‚ (2) , โ‰ค๐‘… 3

(๐‘„3(2) โˆ’ ๐‘…3(2) ) โ‰ฅ ๐ท3(2) } , โŒˆ(๐‘„3(2) โˆ’ ๐‘…3(2) ) /๐‘Š3(2) โŒ‰

ฮฆ (3(2) ) = {0} . (20) Table 3 shows DP calculations at stage 3. The processing cost for batched items at this stage (i.e., level 3) for given ฮฉ1(3) is computed as ฮ“3 (ฮฉ1(3) ) = ฮฉ1(3) ๐ถ1๐‘ˆ(3) .

(21)

Mathematical Problems in Engineering

11 Table 3: DP calculations at stage 3.

(๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) )

๐‘…1(3)

ฮฉ1(3)

ฮ“3 (ฮฉ1(3) ) + ฮจ2 (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) )

(6, 18, 0) (7, 18, 0) โ‹…โ‹…โ‹… (44, 34, 0)

0 0 โ‹…โ‹…โ‹… 0

24 25 โ‹…โ‹…โ‹… 78

(6 + 18 + 0) ร— 140 + ฮจ2 (6, 18, 0) (7 + 18 + 0) ร— 140 + ฮจ2 (7, 18, 0) โ‹…โ‹…โ‹… (44 + 34 + 0) ร— 140 + ฮจ2 (38, 61, 30)

The minimum processing cost for batched items until level 3 for given ๐‘…1(3) is computed as ฮจ3 (๐‘…1(3) ) = ฮจ3 (0) =

min

ฮฉ1(3) =โˆ‘๐‘™โˆˆฮ”

๐‘…

(2) ๐‘™(3) ๐‘™ (3)

ฮ“3 (ฮฉ1(3) )

(22)

๐‘…1(3) โˆˆฮฆ(1 )

+ ฮจ2 (๐‘…1(2) , ๐‘…2(2) , ๐‘…3(2) ) . As shown in Table 3, there exists only one state at stage 3: that is, ๐‘…1(3) = 0. This means that all items should be batched until the last level.

5. Concluding Remarks In this study, we consider the ๐‘-level batching problem (NLBP) with a hierarchical clustering structure for minimizing the total cost for processing all items. In the ๐‘level batching problem, given items with different types can be grouped into several batches at each level and this batching process is performed from level 1 to level ๐‘ (from the shallower to the deeper level) sequentially in the given hierarchical clustering structure until all of given items are grouped. In this problem, we assume that the less processing cost is incurred for the batches in the shallower level, since more similar items are required to be grouped in a batch of the shallower level. Both of unit processing cost and batch processing cost are considered for batches at each level for real-world applications. We formulate the NLBP as a nonlinear integer programming model, propose a multidimensional dynamic programming algorithm for the NLBP, and develop several optimal properties by which the number of states is efficiently reduced in the proposed DP algorithm. For the clear understanding of the proposed DP algorithm and the properties, we provide the tangible example of NLBP and its solution. In the further research, we will apply the proposed algorithm to real world such as the batching processes of the semiconductor wafer fabrications to reduce the manufacturing cost. In addition, it is necessary to develop more efficient heuristic algorithms for the NLBP since the time and space complexity of the proposed DP algorithm is too high to solve large-sized problem instances.

ฮจ3 (๐‘…1(3) )

Notations Parameters ๐‘›: Index of levels (๐‘› = 0, 1, 2, . . . , ๐‘) ๐‘™(๐‘›) : Index of clusters at level ๐‘› (here, note that any cluster includes item types and items of these item types should be batched. Each cluster at level ๐‘› is composed of clusters at level ๐‘› โˆ’ 1 (i.e., agglomerative hierarchical clustering structure). Also, ๐‘™(0) is the index of original item types not clustered) ฮ›(๐‘›) : Set of all clusters at level ๐‘› (here, ฮ›(0) is the set of all original item types not clustered) : Set of all clusters at level ๐‘› and charged by unit ฮ›(๐‘›) ๐‘ˆ processing cost (here, we assume that clusters charged by unit processing cost are known in advance) : Set of all clusters at level ๐‘› and charged by batch ฮ›(๐‘›) ๐ต processing cost (here, we assume that clusters charged by batch processing cost are known in advance) ฮ” ๐‘™(๐‘›) : Set of clusters at level ๐‘› โˆ’ 1 that consists of cluster ๐‘™(๐‘›) (here, ฮ” ๐‘™(๐‘›) โˆฉ ฮ” ๐‘™(๐‘›) = ๐œ™ if ๐‘™1(๐‘›) =ฬธ ๐‘™2(๐‘›) and 1

๐‘Š๐‘™(๐‘›) : ๐ท๐‘™(๐‘›) : ๐ถ๐‘™๐‘ˆ(๐‘›) : ๐ถ๐‘™๐ต(๐‘›) :

2

โ‹ƒ๐‘™(๐‘›) ฮ” ๐‘™(๐‘›) = ฮ›(๐‘›โˆ’1) for all ๐‘›. Also, we assume that any cluster at level ๐‘› โˆ’ 1 can be included in only one cluster at level ๐‘›) The maximum batch size requirement of cluster ๐‘™(๐‘›) The minimum batch size requirement of cluster ๐‘™(๐‘›) Unit processing cost of item batched in the cluster ๐‘™(๐‘›) (here, we assume that ๐ถ๐‘™๐‘ˆ(๐‘›) < ๐ถ๐‘™๐‘ˆ(๐‘›+1) for all ๐‘›) Batch processing cost of item batched in the cluster ๐‘™(๐‘›) (here, we assume that ๐ถ๐‘™๐ต(๐‘›) < ๐ถ๐‘™๐ต(๐‘›+1) for all ๐‘›).

Decision Variables ๐‘„๐‘™(๐‘›) : Total number of items to be batched in the cluster ๐‘™(๐‘›) ฮฉ๐‘™(๐‘›) : Total number of items batched in the cluster ๐‘™(๐‘›) (here, ฮฉ๐‘™(0) = 0 for all ๐‘™(0) ) ๐‘…๐‘™(๐‘›) : Total number of items not batched in the cluster ๐‘™(๐‘›) (here, ๐‘…๐‘™(๐‘›) = ๐‘„๐‘™(๐‘›) โˆ’ ฮฉ๐‘™(๐‘›) and ๐‘„๐‘™(๐‘›) = โˆ‘๐‘™(๐‘›โˆ’1) โˆˆฮ” (๐‘›) ๐‘…๐‘™(๐‘›โˆ’1) . ๐‘™

Also, ๐‘…๐‘™(0) is the number of items in the cluster ๐‘™(0) to be batched).

Conflicts of Interest The authors declare that there are no conflicts of interest regarding the publication of this paper.

12

Acknowledgments This work was supported by the Incheon National University (International Cooperative) Research Grant in 2013.

References [1] A. J. Vakharia and U. Wemmerlยจov, โ€œA comparative investigation of hierarchical clustering techniques and dissimilarity measures applied to the cell formation problem,โ€ Journal of Operations Management, vol. 13, no. 2, pp. 117โ€“138, 1995. [2] H. Chen, B. Du, and G. Q. Huang, โ€œScheduling a batch processing machine with non-identical job sizes: a clustering perspective,โ€ International Journal of Production Research, vol. 49, no. 19, pp. 5755โ€“5778, 2011. [3] L. Cheng, T. R. Connor, J. Sirยดen, D. M. Aanensen, and J. Corander, โ€œHierarchical and spatially explicit clustering of DNA sequences with BAPS software,โ€ Molecular Biology and Evolution, vol. 30, no. 5, pp. 1224โ€“1228, 2013. [4] D. A. Cameron, F. A. Middleton, A. Chenn, and E. C. Olson, โ€œHierarchical clustering of gene expression patterns in the Eomes + lineage of excitatory neurons during early neocortical development,โ€ BMC Neuroscience, vol. 13, no. 1, article 90, 2012. [5] D. G. O. Saunders, J. Win, L. M. Cano, L. J. Szabo, S. Kamoun, and S. Raffaele, โ€œUsing hierarchical clustering of secreted protein families to classify and rank candidate effectors of rust fungi,โ€ PLoS ONE, vol. 7, no. 1, Article ID e29847, 2012. [6] F. Barzinpour, B. H. Ali-Ahmadi, S. Alizadeh, and S. Golamreza Jalali Naini, โ€œClustering networksโ€™ heterogeneous data in defining a comprehensive closeness centrality index,โ€ Mathematical Problems in Engineering, vol. 2014, Article ID 202350, 10 pages, 2014. [7] B. Andreopoulos, A. An, X. Wang, and M. Schroeder, โ€œA roadmap of clustering algorithms: finding a match for a biomedical application,โ€ Briefings in Bioinformatics, vol. 10, no. 3, pp. 297โ€“314, 2009. [8] A. Z. Arifin and A. Asano, โ€œImage segmentation by histogram thresholding using hierarchical cluster analysis,โ€ Pattern Recognition Letters, vol. 27, no. 13, pp. 1515โ€“1521, 2006. [9] J. Nunez-Iglesias, R. Kennedy, T. Parag, J. Shi, and D. B. Chklovskii, โ€œMachine learning of hierarchical clustering to segment 2D and 3D images,โ€ PLoS ONE, vol. 8, no. 8, Article ID e71715, 2013. [10] N. M. Zaitoun and M. J. Aqel, โ€œSurvey on image segmentation techniques,โ€ Procedia Computer Science, vol. 65, pp. 797โ€“806, 2015. [11] A. Bouguettaya, Q. Yu, X. Liu, X. Zhou, and A. Song, โ€œEfficient agglomerative hierarchical clustering,โ€ Expert Systems with Applications, vol. 42, no. 5, pp. 2785โ€“2797, 2015. [12] G. Costa, G. Manco, R. Ortale, and E. Ritacco, โ€œHierarchical clustering of XML documents focused on structural components,โ€ Data and Knowledge Engineering, vol. 84, pp. 26โ€“46, 2013. ยจ [13] L. Ozdamar and O. Demir, โ€œA hierarchical clustering and routing procedure for large scale disaster relief logistics planning,โ€ Transportation Research Part E, vol. 48, no. 3, pp. 591โ€“602, 2012. [14] X. Zhu and D. Guo, โ€œMapping large spatial flow data with hierarchical clustering,โ€ Transactions in GIS, vol. 18, no. 3, pp. 421โ€“435, 2014. [15] S.-K. Lim, J.-G. Kim, and Y.-H. Shin, โ€œOptimal three-level presort loading of commercial bulk mail in the postal service

Mathematical Problems in Engineering industry,โ€ Journal of the Operational Research Society, vol. 66, no. 6, pp. 1007โ€“1022, 2015. [16] S. Aghabozorgi and Y. W. Teh, โ€œStock market co-movement assessment using a three-phase clustering method,โ€ Expert Systems with Applications, vol. 41, no. 4, pp. 1301โ€“1314, 2014. [17] F. Murtagh and P. Contreras, โ€œAlgorithms for hierarchical clustering: an overview,โ€ Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, vol. 2, no. 1, pp. 86โ€“97, 2012.

Advances in

Operations Research Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Advances in

Decision Sciences Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Journal of

Applied Mathematics

Algebra

Hindawi Publishing Corporation http://www.hindawi.com

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Journal of

Probability and Statistics Volume 2014

The Scientific World Journal Hindawi Publishing Corporation http://www.hindawi.com

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

International Journal of

Differential Equations Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Volume 2014

Submit your manuscripts at https://www.hindawi.com International Journal of

Advances in

Combinatorics Hindawi Publishing Corporation http://www.hindawi.com

Mathematical Physics Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Journal of

Complex Analysis Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

International Journal of Mathematics and Mathematical Sciences

Mathematical Problems in Engineering

Journal of

Mathematics Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Volume 2014

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

#HRBQDSDฤฎ,@SGDL@SHBR

Journal of

Volume 201

Hindawi Publishing Corporation http://www.hindawi.com

Discrete Dynamics in Nature and Society

Journal of

Function Spaces Hindawi Publishing Corporation http://www.hindawi.com

Abstract and Applied Analysis

Volume 2014

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

International Journal of

Journal of

Stochastic Analysis

Optimization

Hindawi Publishing Corporation http://www.hindawi.com

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

Volume 2014