## 3 Architecture of an Optimal Storage Location Planning Based Consolidated Picking Methodology
### Analysis of Picking-List Consolidation Strategy  
The main goal of the picking list consolidations is to increase picking efficiency by merging multiple picking lists. When the required components in the picking lists are highly similar or even the same, the storage locations of the components in the warehouse are in the similar or same storage locations. The picking lists can thus be consolidated to reduce the picking distance and time. In this research, the hierarchical clustering method and the k-means clustering method are used and compared to formulate an optimal picking-list consolidation strategy, which is divided into the following steps:  
Step 1: Data integration and cleaning: The customer orders of a company are collected as the data for the cluster analysis. Because the pickers pick the components on the basis of the lowest-level components listed in the picking lists, the products ordered by the customers must be expanded into the required quantities of the lowest-level components in accordance with the BOM. The types and quantities of the lowest-level components in each order are used as the feature variables. To eliminate redundant feature variables in the data, this study assumed that the main materials and substitute materials are placed in the same storage location to reduce the number of feature variables. Step 2: Similarity calculation: The Euclidean distance between two picking lists is used to calculate the degree of similarity between the two picking lists, as shown in (3). \[D_{(y_{1},y_{2})}=\sqrt{\sum_{j=1}^{\frac{J}{\left(x_{1j}-x_{2j}\right)^{2}}}}, \tag{3}\]  
where \(D_{(y_{1},y_{2})}\) is the Euclidean distance between the two picking lists, \(J\) is the picking list containing \(J\) attribute variables, \(x_{1j}\) is the value of the \(j\)th attribute variable of the first picking list, and \(x_{2j}\) is the value of the \(j\)th attribute variable of the second picking list. The hierarchical clustering algorithm is based on the similarity between two clusters. This study uses the average linkage method to measure the similarity degree between the two clusters as shown in (4). The hierarchical clustering algorithm adopts the bottom-up method. Therefore, in the beginning, each data point is considered to be a separate cluster. Next, the hierarchical clustering algorithm uses the similarity degree to find and merge the two closest data points to form a new cluster. The iterative steps are performed until all data points become a cluster. \[D_{average}\big{(}C_{i},C_{j}\big{)}=\frac{1}{n_{i}n_{j}}\ \sum_{a\in C_{i}}\sum_{b\in C_{j}}D_{(a,b)}, \tag{4}\]  
where \(D_{average}\) is the average linkage distance between the two clusters, \(C_{i}\) is the \(i\)th cluster in the sample, \(n_{i}\) is the number of data points in the cluster \(C_{i}\), \(n_{j}\) is the number of data points in the cluster \(C_{j}\), and \(D_{(a,b)}\) is the distance between two data points. By using the results of the hierarchical clustering, the appropriate cluster number can be determined by the sum of squares within clusters. When the number of clusters is added and the sum of squares within clusters does not have significant improvement, the appropriate cluster number can be decided and, at the same time, used as the initial cluster number for the K-means clustering algorithm. Based on the number of clusters, the K-means algorithm selects the data points as the centroids of the clusters and calculates the distances between the data points to the centroids of the clusters. Every data point is allocated to the nearest cluster and then calculate the new centroid of each cluster. If the centroid of a cluster is updated, then the K-means clustering algorithm searches for the nearest cluster for each data point and updates the data points of each cluster. The K-means clustering algorithm performs the above-mentioned steps until the centroid of each cluster is unchanged. Step 3: Evaluation and interpretation of clustering results: This step compares the hierarchical clustering and K-means clustering results.