The key of realizing the cross docking is to design the joint of inbound trucks and outbound trucks, so a proper sequence of trucks will make the cross-docking system much more efficient and need less makespan. A cross-docking system is proposed with multiple receiving and shipping dock doors. The objective is to find the best door assignments and the sequences of trucks in the principle of products distribution to minimize the total makespan of cross docking. To solve the problem that is regarded as a mixed integer linear programming (MILP) model, three metaheuristics, namely, harmony search (HS), improved harmony search (IHS), and genetic algorithm (GA), are proposed. Furthermore, the fixed parameters are optimized by Taguchi experiments to improve the accuracy of solutions further. Finally, several numerical examples are put forward to evaluate the performances of proposed algorithms.
Cross docking is a process of logistics, of which the products are unloaded from the inbound trucks and then sorted and loaded into outbound trucks without warehousing. In a traditional distribution center, there are four major functions of warehousing that can be distinguished: receiving, storage, order picking, and shipping. Since the major costs of warehousing are operations of storage and order picking, and the cross docking can successfully eliminate them to considerably decrease distribution costs, cross docking is nowadays used by many companies, such as Wal Mart, Goodyear GB Ltd., Toyota, Eastman Kodak Co., and Dots and LLC [
There are several problems that researchers are passionate about, such as layout design, location, network, and vehicle routing problems. For example, Bartholdi III and Gue [
The layout of the cross-docking terminal is in many forms, such as the number of dock doors and whether there is a temporary storage. Yu and Egbelub [
The objective functions of truck scheduling are about time, number of products transferred to temporary storage, customer satisfaction, and so on. The makespan of cross docking as well as the total earliness and total tardiness of trucks is discussed more often. Wisittipanich and Hengmeechai [
The operation forms of cross docking may be different, the times of a truck moves in and out can be once or more. Vahdani et al. [
Truck scheduling problems could be divided into two categories, which are the scheduling of both inbound and outbound trucks as well as the scheduling of inbound trucks only. Boysen et al. [
This paper proposes a truck scheduling model at a cross-docking system with multiple inbound and outbound doors to minimize the total makespan. The inbound and outbound trucks are all available at time zero, so it is necessary to schedule all the trucks and make proper door assignments as well as truck sequences. Furthermore, it is assumed that outbound trucks load products from temporary storages first and then from inbound trucks, in case that the temporary storages get filled up. An inbound truck enters the inbound platform when the predecessor leaves and leaves the inbound platform when none of the outbound trucks at the outbound platforms need its products. It is worth noting that its leaving time is no less than the start time plus the unloading time due to the waiting time existing. In addition, three metaheuristics are proposed, namely, HS, IHS, and GA, to solve the model in order to find the best sequence.
The remainder of this paper is organized as follows: The next section describes the assumptions, mixed integer programming model for the truck scheduling problem, and the process of the cross docking. Section
The studied problem in this paper is a mathematical model based on mixed integer programming working on trucks scheduling problems in a cross-docking system with multiple doors. Figure
The layout of cross-docking terminal.
The mathematical model for the problem is given as follows:
Constraint (
The temporary storage is extremely large but not without a limit, so the outbound trucks on the outbound docks load products from temporary storages first and then load products from inbound trucks on the inbound docks, if the outbound trucks are still not full. The inbound trucks will stay at the inbound docks if there are any outbound trucks full and leaving the outbound dock; if not, leave the docks and unload the rest of the products to the temporary storages. The process of cross docking will be finished when all outbound trucks are full, and no truck remains. The specific flow diagram of the process of cross docking is shown in Figure
The process of cross docking.
There are multiple inbound doors and outbound doors in cross-docking system; more than two trucks operate at the same time at the inbound and outbound docks. Formulate the unloading and loading principles in order to assure that the cross-docking system moves smoothly and efficiently. Here are two principles as follows:
This paper proposes three algorithms, namely, harmony search, improved harmony search, and genetic algorithm. It is necessary to design the representation scheme of the solution, which will be used in further work. The solution consists of two layers of arrays, the first layer expresses the codes of the inbound and outbound trucks, and the second layer represents the codes of the inbound and outbound doors. The length of a solution is decided by the total number of inbound and outbound trucks. As shown in Figure
Scheme of a solution.
Sequences of trucks.
Harmony search was first proposed by Geem et al. in 2001 [
The objective function of this paper is to minimize the total makespan of the cross-docking system. The parameters in harmony search are HMS, HMCR, PAR, and BW. HMS represents the number of solution vectors in the harmony memory. HMCR expresses the harmony memory considering rate. PAR indicates the pitch adjusting rate. BW means bandwidth for each generation. In addition, the harmony memory (HM) is an array that contains all the solution vectors.
Generate HMS sets of solutions randomly in HM matrix; the format of the solution is the same as in Figure
A new solution is generated based on three rules:
If the value of a variable is obtained by memory consideration, it should be determined whether to be pitch-adjusted with probability PAR.
The value will be adjusted if the pitch adjusting decision is yes, and the adjusting formulas are as follows:
Here, rand( ) is a random number between 0 and 1.
The new solution may not meet the model requirements after the generating rules, so some corrections are needed. As shown in Figure
A new solution of HS.
A modified solution of HS.
Considering the objective function value, replace the worst solution by the new solution, if the new solution is better than the worst in the HM; otherwise, remain the worst and generate a new solution again.
The maximum cycle time is defined; the loop will continue until it meets the stopping criterion.
The parameters of basic harmony search are fixed, but parameters perform differently in the every iteration. The algorithm that possesses small parameter of PAR with large parameter of BW performs worse and increases the iteration needed to find the optimum solution. Furthermore, large PAR and small BW will cause great improvement in final generations with algorithm converged to optimal solution vector. Considering the parameter of BW separately, small BW in final generations increase the fine-tuning of solution vectors, but large BW performs better in the early iterations and increases the diversity of solution vectors to search for the best solution.
To eliminate the drawbacks of HS algorithm with fixed values of PAR and BW and improve the performances of them, dynamic values of parameters will be applied to the basic HS algorithm. The formulas of dynamic parameters are defined as follows [
There are several steps in genetic algorithm, such as population initialization, selection, crossover, and mutation operation. The population initialization process is similar to the initialization of solution sets in harmony search, and the selection method is roulette. So here are some explanations for crossover and mutation operation.
The chromosomes of this paper consist of two parts that are inbound trucks codes and outbound trucks codes; the crossover operations need to be done in two parts. As shown in Figure
The process of crossover.
In order to perform the mutation operations for inbound and outbound trucks, swap mutation is applied. As shown in Figure
The process of mutation.
There are several parameters in each algorithm. Meanwhile, each factor varies from different levels. However, the value of each parameter could affect the performances of the algorithms. Hence, several methods should be carried out to find out the best combination of parameters in each algorithm.
Taguchi experiment is a kind of method to design experiments, which decreases the number of experiments but provides an efficient combination of variables. Each factor can be compared independently with any other factors, which ensures a balanced comparison among all levels of any factors. For the above reasons, Taguchi experiments are widely used in engineering design to determine optimal experimental conditions. The performance of each algorithm is evaluated by the signal to noise (S/N) to search combination of factors with a small amount of variation.
In the Taguchi method, the measured values of searching for the optimal combination of the parameters will be transformed into S/N ratio. The objective of the function in this paper is the small-the-better type, and the formula is as follows:
There are four parameters in HS, which are
Levels of parameters for HS.
Parameters | Levels | |||
---|---|---|---|---|
| | | | |
| 10 | 20 | 30 | 40 |
| 0.7 | 0.9 | 0.95 | 0.99 |
| 0.2 | 0.4 | 0.6 | 0.7 |
| 0.01 | 0.35 | 0.7 | 1 |
Main effects plot for S/N ratios of HS factors.
There are six parameters in IHS, which are
Levels of parameters for IHS.
Parameters | Levels | ||
---|---|---|---|
| | | |
| 10 | 20 | 30 |
| 0.7 | 0.85 | 0.99 |
| 0.05 | 0.25 | 0.4 |
| 0.6 | 0.8 | 0.9 |
| 0.05 | 0.25 | 0.4 |
| 0.8 | 0.9 | 1 |
Main effects plot for S/N ratios of IHS factors.
There are four parameters in GA, which are
Levels of parameters for GA.
Parameters | Levels | |||
---|---|---|---|---|
| | | | |
| 0.6 | 0.7 | 0.8 | 0.9 |
| 0.05 | 0.1 | 0.15 | 0.2 |
| 0.2 | 0.3 | 0.4 | 0.5 |
| 10 | 20 | 30 | 40 |
Main effects plot for S/N of GA factors.
The number of inbound doors and outbound doors in the docking system are 2 and 3, respectively. In order to illustrate the performance of each proposed algorithm, several cases have been proposed to be experimented. The problems are divided into nine cases, considering the number of trucks, products, and their types. The subproblems 1–3 are divided due to the number of the products and types, of which subproblem 1 represents the small size, subproblem 2 is on behalf of the medium size, and subproblem 3 represents the large size. In addition, each subproblem is divided further, due to the number of inbound and outbound trucks. Table
Nine sets of numerical experiments.
Subproblem 1 (small) | Subproblem 2 (medium) | Subproblem 3 (large) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 | Case 9 | |||||||||
Product | 357 | Product | 370 | Product | 399 | Product | 960 | Product | 1075 | Product | 1033 | Product | 1870 | Product | 1906 | Product | 1805 |
Type | 5 | Type | 5 | Type | 6 | Type | 10 | Type | 11 | Type | 9 | Type | 13 | Type | 14 | Type | 15 |
Inbound truck | 6 | Inbound truck | 15 | Inbound truck | 27 | Inbound truck | 7 | Inbound truck | 17 | Inbound truck | 26 | Inbound truck | 5 | Inbound truck | 16 | Inbound truck | 26 |
Outbound truck | 5 | Outbound truck | 15 | Outbound truck | 33 | Outbound truck | 5 | Outbound truck | 16 | Outbound truck | 26 | Outbound truck | 7 | Outbound truck | 18 | Outbound truck | 27 |
It should be mentioned that the moving time of products from the inbound door to the outbound door is related to the distance, which means the moving time is 30, if doors are far apart, otherwise it is 15. And the changeover time of trucks is considered equal to 50 units; furthermore, the loading time is 1 unit, which is the equal to the unloading time; all data is processed by MATLAB 2016.
For the experiments, the percentage deviation of the solutions in each method from the optimal solution based on makespan and the computational time are used to evaluate the performances. Percentage deviation of a solution is calculated as follows:
In order to evaluate performances of the three proposed methods in terms of the optimal value, worst value, average value, and the computational time, each case is tested 20 times and terminates at the iteration of 120. Table
Makespan and computational time obtained by three methods for the nine test problems.
Problem set | HS | IHS | GA | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Optimal | Worst | Average | Computational time | Optimal | Worst | Average | Computational time | Optimal | Worst | Average | Computational time | |
1 | 198 | 254 | 233.2 | 17.301 | 187 | 238 | 220.4 | 16.734 | 196 | 248 | 209.9 | 48.260 |
2 | 455 | 498 | 477.05 | 29.280 | 433 | 474 | 456.9 | 27.611 | 419 | 489 | 441.35 | 90.881 |
3 | 873 | 964 | 920.8 | 29.442 | 866 | 937 | 903.9 | 26.109 | 820 | 1012 | 869.85 | 159.679 |
4 | 429 | 467 | 445.6 | 23.842 | 429 | 471 | 445.5 | 24.480 | 429 | 465 | 444.7 | 97.429 |
5 | 687 | 798 | 741.65 | 40.347 | 647 | 750 | 721.35 | 39.253 | 687 | 777 | 689 | 141.686 |
6 | 922 | 1010 | 975.4 | 36.304 | 905 | 984 | 933.25 | 38.102 | 856 | 983 | 918.6 | 176.780 |
7 | 791 | 1011 | 926.3 | 31.501 | 784 | 979 | 928.25 | 32.548 | 791 | 922 | 853.2 | 109.181 |
8 | 1044 | 1193 | 1112.1 | 51.448 | 963 | 1093 | 1044.9 | 49.160 | 948 | 1095 | 1011 | 176.188 |
9 | 1166 | 1337 | 1231.3 | 50.592 | 1153 | 1243 | 1195.7 | 49.094 | 1110 | 1381 | 1186.4 | 268.185 |
As shown in Table
Percentage deviation for makespan and computational time between optimal solutions and other solutions.
Problem | Optimal solution makespan | Optimal worst solution makespan | Optimal average solution makespan | Optimal computational time | RPD for optimal solutions | RPD for worst solutions | RPD for average solutions | RPD for computational time | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HS | IHS | GA | HS | IHS | GA | HS | IHS | GA | HS | IHS | GA | |||||
1 | 187 | 238 | 209.9 | 16.734 | 5.88% | 0.00% | 4.81% | 6.72% | 0.00% | 4.20% | 11.10% | 5.00% | 0.00% | 3.39% | 0.00% | 188.39% |
2 | 419 | 474 | 441.35 | 27.611 | 8.59% | 3.34% | 0.00% | 5.06% | 0.00% | 3.16% | 8.09% | 3.52% | 0.00% | 6.04% | 0.00% | 229.15% |
3 | 820 | 937 | 869.85 | 26.109 | 6.46% | 5.61% | 0.00% | 2.88% | 0.00% | 8.00% | 5.86% | 3.91% | 0.00% | 12.77% | 0.00% | 511.59% |
4 | 429 | 465 | 444.7 | 23.842 | 0.00% | 0.00% | 0.00% | 0.43% | 1.29% | 0.00% | 0.20% | 0.18% | 0.00% | 0.00% | 2.68% | 308.64% |
5 | 647 | 750 | 689 | 39.253 | 6.18% | 0.00% | 6.18% | 6.40% | 0.00% | 3.60% | 7.64% | 4.70% | 0.00% | 2.79% | 0.00% | 260.96% |
6 | 856 | 983 | 918.6 | 36.304 | 7.71% | 5.72% | 0.00% | 2.75% | 0.10% | 0.00% | 6.18% | 1.59% | 0.00% | 0.00% | 4.95% | 386.94% |
7 | 784 | 922 | 853.2 | 31.501 | 0.89% | 0.00% | 0.89% | 9.65% | 6.18% | 0.00% | 8.57% | 8.80% | 0.00% | 0.00% | 3.32% | 246.6% |
8 | 948 | 1093 | 1011 | 49.160 | 10.13% | 1.58% | 0.00% | 9.15% | 0.00% | 0.18% | 10.00% | 3.35% | 0.00% | 4.65% | 0.00% | 258.4% |
9 | 1110 | 1243 | 1186.4 | 49.094 | 5.05% | 3.87% | 0.00% | 7.56% | 0.00% | 11.10% | 3.78% | 0.78% | 0.00% | 3.05% | 0.00% | 446.27% |
To evaluate the performances of three algorithms under the same operation time, nine sets of experiments will be terminated at 20 s and 40 s using IHS, HS, and GA, respectively. To improve the accuracy of the results, each experiment will be run 10 times so as to get the average value. As shown in Table
Makespan and percentage deviation under the operation times 20 s and 40 s.
Problem set | Operation time 20 s | Operation time 40 s | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
IHS | HS | GA | IHS | HS | GA | |||||||
Makespan | PD | Makespan | PD | Makespan | PD | Makespan | PD | Makespan | PD | Makespan | PD | |
1 | 235.6 | 0.00% | 240 | 1.87% | 293.6 | 24.62% | 220.8 | 0.00% | 222 | 0.54% | 264.7 | 19.88% |
2 | 473.7 | 0.00% | 487.3 | 2.87% | 675.9 | 42.69% | 473.8 | 0.00% | 481.4 | 1.60% | 612.2 | 29.21% |
3 | 924.9 | 0.00% | 945.2 | 2.19% | 1266.1 | 36.89% | 913.4 | 0.00% | 937.1 | 2.59% | 1215.8 | 33.11% |
4 | 464.4 | 0.00% | 465.3 | 0.19% | 539 | 16.06% | 437.4 | 0.00% | 451.6 | 3.25% | 482.1 | 10.22% |
5 | 765.6 | 0.00% | 776 | 1.36% | 968.1 | 26.45% | 759.5 | 0.00% | 760.5 | 0.13% | 942.4 | 24.08% |
6 | 959.1 | 0.00% | 997.8 | 4.04% | 1283.8 | 33.85% | 966.5 | 0.00% | 973.1 | 0.68% | 1198.1 | 23.96% |
7 | 977.2 | 3.48% | 944.3 | 0.00% | 1077.3 | 14.08% | 937.4 | 1.32% | 925.2 | 0.00% | 1024.5 | 10.73% |
8 | 1142.5 | 0.00% | 1155.3 | 1.12% | 1393.4 | 21.96% | 1083.7 | 0.00% | 1104.1 | 1.88% | 1351.9 | 24.75% |
9 | 1298.7 | 0.00% | 1308.6 | 0.76% | 1386.5 | 6.76% | 1235.5 | 0.00% | 1272.1 | 2.96% | 1316.9 | 6.59% |
This study has described a truck scheduling model in cross-docking system with multiple doors; furthermore, three algorithms are proposed, namely, HS, IHS, and GA to solve the problem. To evaluate the performances of the methods, these algorithms were applied for 9 sets of different problems divided by the number of products, categories, and trucks to minimize the total makespan of cross-docking procedure. During the analysis, it is proved that IHS performs better than HS in searching for optimal solutions, when dynamic values of parameters are applied. In addition, for the same iteration, both IHS and GA provide satisfactory results. However, GA performs better in providing optimal solutions, while IHS is far superior to GA in computational time. For the same operation time, HS performs best; however GA performs worst. For future studies, new hybrid metaheuristic algorithms will be applied to cross-docking system, instead of the basic algorithms, and the truck scheduling model could be perfect in uncertainty or fuzzy arrival time of trucks.
There are no conflicts of interest regarding the publication of this paper.