# Optimization of Warehouse Operations with Genetic Algorithms
## 5 The Proposed Method
### Data Format and Problem Encoding
\begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline
**Num. Parents** & **2** & **3** & **4** & **6** & **8** & **10** & **14** & **20** & **35** & **50** \\ \hline avg. \(costPP\) & 24,397 & 24,456 & 25,054 & 25,410 & 24,969 & 25,511 & 24,785 & 26,607 & 27,949 & 30,014 \\ best \(costPP\) & 21,731 & 21,410 & 21,615 & 22,535 & 22,861 & 21,945 & 21,476 & 21,474 & 25,455 & 26,878 \\ agv. \(iterP\) & 177 & 200 & 186 & 190 & 180 & 202 & 182 & 213 & 234 & 280 \\ std. dev. \(costPP\) & 2586 & 2777 & 2158 & 1831 & 3165 & 3110 & 2660 & 3106 & 3250 & 2996 \\ std. \(iterP\) & 44 & 79 & 76 & 86 & 101 & 104 & 79 & 98 & 112 & 106 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: The product placement cost \(costPP\) as sum of order picking route lengths (the lower the better—see Equation 2) and number of iterations \(iterP\) to obtain this cost for a modified multi-parent AEX crossover operator for the warehouse size of 232 locations and a list of 80 orders, using an 8-parent HGreX for route optimization (averages of 10 runs). size, which allows for the lowest number of fitness function evaluations [33]. The number also depends on the problem and on other parameters of genetic algorithms. In our experiments, the minimum was usually obtained for the population sizes between 80 and 120 individuals for the number of locations in the warehouse between 60 and 300 and then it very slowly grew, but much slower than linearly, with the increase of the warehouse. The dependence was very flat around the minimum (changing the population size e.g., from 80 to 100 individuals did not make a statistically significant difference in the number of required fitness function evaluations). However, outside of this range the dependence was more significant and for example using 1000 individuals allowed to decrease the number of epochs only about 3 times, what effectively increased the number of fitness function evaluations about 3-fold. Moreover, when the population was too small, not only the process time increased, but the process also began to be unstable and frequently was not able to converge. For this reason, a population size of 100 individuals was a safer choice than of, for example, 80 individuals. We used the default mutation coefficients in Equation (4): \(c_{i}=0.00001\), \(c_{n}=0.00001\), \(c_{f}=0.3\) as well in product placement as in route optimization. Below we present some sample orders for the warehouse \(w3\). The products in the orders are encoded by numbers, which are the products Ids (we cannot use letters as in the examples in previous sections, because there are not enough letters in the alphabet). The last number (\(N_{rep}\)) of each order shows how many times such order occurs in the order list, so its completion route length can be evaluated only once and then multiplied by \(N_{rep}\) while calculating the final product placement cost. **order1**: 41 99 97 7 20 89 12 24 51 66 79 61 1 56 109 \(N_{rep}=40\)

**order2**: 71 90 9 29 84 94 19 26 64 114 100 42 81 30 108 107 101 47 6 32 96 33 28 7 \(N_{rep}=20\)

**order3**: 78 31 91 35 93 87 22 50 100 1 28 38 84 16 48 112 76 110 95 47 72 113 23 61 101 68 67 53 45 41 97 18 109 89 65 74 \(N_{rep}=3\)

**order4**: 53 61 18 36 94 24 103 38 35 12 42 89 6 30 50 14 84 114 29 15 79 95 48 52 28 25 110 22 64 109 44 11 73 33 98 97 23 75 99 87 7 51 92 93 72 17 3 \(N_{rep}=1\)