# A Simulation-Based Optimization Method for Warehouse Worker Assignment
## 6 Simulation-Based Optimization  
The objective is to maximize service level for both inbound and outbound operations, where service level\(=\frac{p_{com}}{p_{our}}\). Considering the constraints, the model is defined as follows:  
\[\max f_{m}+\lambda f_{out} \tag{7}\] \[s.t. x_{ij}\leq a_{ij}\] (8) \[\sum_{i}x_{ij}\leq m_{j},\forall j. \tag{9}\]  
where \(f_{in}\) and \(f_{out}\) represent inbound and outbound service levels, respectively; \(\lambda\) is a weight factor to control the trade-off between inbound and outbound. \(X\) is an assignment matrix, where \(x_{ij}=1\) means that the worker \(i\) is assigned to the activity \(i\), otherwise \(x_{ij}=0\). \(a_{ij}=1\) indicates that worker \(i\) has the skill \(j\). In practice, the outbound service level performance is considered to be of a high priority as it is directly related to the customer satisfaction. Hence, a higher weight \(\lambda\) is set for the outbound service level \(f_{out}\). \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Franchise Name**} & \multirow{2}{*}{**Storage Type**} & \multirow{2}{*}{**AST**} & \multicolumn{2}{c}{**Sorting**} & \multicolumn{2}{c}{**GR**} & \multicolumn{2}{c}{**Putaway**} & \multicolumn{2}{c}{**Ficking**} & \multicolumn{2}{c}{**Scanning**} & \multicolumn{2}{c}{**Packing**} & \multicolumn{2}{c}{**Release**} & \multicolumn{2}{c}{**VAS**} \\ \cline{3-19}  & & & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) & \(\mu\) & \(\sigma\) \\ \hline Product 1 & LSS & Y & 48.9 & 23.4 & 13.3 & 1 & 77.4 & 1.8 & 77.6 & 1.5 & 30.1 & 2.6 & 67.6 & 6.3 & 1 & 0.2 & 289 & 13 \\ Product 2 & Racking & N & 23.4 & 2.2 & 6.5 & 1 & 6.4 & 1.5 & 4.7 & 1.5 & 27.3 & 2.7 & 67.6 & 6.3 & 1 & 0.2 & 428 & 22.5 \\ Product 3 & Racking & N & 19.9 & 3.3 & 3.3 & 1.2 & 6.4 & 1.5 & 4.7 & 1.5 & 13.3 & 2.7 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 4 & VLM & N & 72 & 11.6 & 26.3 & 0.2 & 54.6 & 0.7 & 75.1 & 1.3 & 20.4 & 2.8 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 5 & LS & N & 40.4 & 2.6 & 16.1 & 1.1 & 77.4 & 1.8 & 77.6 & 1.5 & 15.5 & 7.5 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 6 & LSS & N & 40.4 & 2.6 & 16.1 & 1.1 & 77.4 & 1.8 & 77.6 & 1.5 & 15.5 & 7.5 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 7 & LSS & N & 40.4 & 2.6 & 16.1 & 1.1 & 77.4 & 1.8 & 77.6 & 1.5 & 15.5 & 7.5 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 8 & LSS & N & 40.4 & 2.6 & 16.1 & 1.1 & 77.4 & 1.8 & 77.6 & 1.5 & 15.5 & 7.5 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ Product 9 & LSS & N & 40.4 & 2.6 & 16.1 & 1.1 & 77.4 & 1.8 & 77.6 & 1.5 & 15.5 & 7.5 & 67.6 & 6.3 & 1 & 0.2 & 482 & 22.5 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Processing times of different franchises and processes. GR represents goods receipt; VAS value added service. The constraint part of the model is an assignment problem, where multiple workers can be assigned to the same task. As the objective is not an explicit function of the assignment scheme, but some metric given by the simulation output, it is not easy to solve the problem by an exact algorithm. In the context of a similar problem, i.e., the assembly line worker assignment, the neighborhood search method was shown to be effective in [PERSON] et al. [42] and to outperform other heuristic methods. Motivated by this, we adopted a neighborhood search method in our model. For a binary vector of matrix, the Hamming distance is the number of bit positions in which the two corresponding bits are different. For two assignment matrices \(X_{1}\) and \(X_{2}\); \(D(X_{1},X_{2})\) is denoted as the Hamming distance between them. For each worker \(w_{i}\), if the worker is assigned to different tasks in \(X_{1}\) and \(X_{2}\), the difference will be two in row \(i\). Thus \(X_{1}\) is called a c-neighbor of \(X_{2}\) if \(D(X_{1},X_{2})=2c\). In our problem, due to predetermined upper bounds for the number of workers in each activity, a c-neighbor may not be feasible.