Scheduling of the inbound and outbound trucks at a Cross-Docking platform considering mutualization of docks

Paper aims: This paper studies a new Cross-Docking (CD) scheduling problem inspired by the trend of resource mutualization at CD operations where a company owning a CD platform can lease its docks to other companies.

Given to current challenges in the companies, they are looking for alternatives to be more competitive. Within the alternative, there is the mutualization of resources for reducing operational and investment costs. Car manufactures are among some of the examples for mutualization. For instance, the alliance Renault-Nissan wherein the negotiation with the shipping companies is carried out conjunctively. This allows them to distribute their cars globally at better rates (Automotive Logistics, 2010). Another example comes from the principality of Monaco where policymakers created an urban platform for all of the distributers to the principality for complying with vehicle mobility restrictions within the city (Paché, 2008).
Following current trends on mutualization of logistics resources, this work solves a truck-scheduling optimization problem for a CD platform that mutualizes its docks with other allied companies. This problem is inspired by a real problem where a company owning a CD platform has a set of requirements for leasing its loading and unloading docks for a determined period to allied companies. Considering that the availability of the docks depends on the schedule of the inbound and outbound trucks belonging to the company, the decision of whether requirements are accepted or not need to be made along the truck scheduling decisions. The latter consists in defining the order in which the inbound and outbound trucks are served, as well as their assignation to a loading or unloading dock. The decisions for accepting requirements and scheduling the company's trucks need to be made in a way that minimize the total cost, which is defined as the truck-waiting costs minus the benefit that can be received with taking in requirements. In this problem, it is assumed that all the trucks have an arrival time and that all the inbound and outbound docks are mutually exclusive.
Regarding the objective function, it is important to clarify as follows. Even though within the objective function there is the income for accepting requirements, for the real operation that inspired this problem, the waiting cost is significantly higher than the income for accepting requirements. These incomes have to be interpreted more as a subsidy on the operational cost. Therefore, this work opted for minimizing the difference between the costs and the incomes. Furthermore, within the operation that inspired this problem, the costs associated with the platform are fixed (regardless of the scheduling for the trucks); consequently, the only cost that needs to be accounted for is the waiting cost associated with the trucks, which is representative.
For solving this problem, a Mixed-Integer Linear Programming (MILP) formulation is proposed. To evaluate the MILP formulation, we generated 128 instances based on a real operation from a retail company. Despite the instances coming from an industrial scale, our MILP formulation was capable of optimally solving 65/128 instances on a commercial solver with an average time of 5 minutes. For the remaining instances, our MILP formulation obtained an average optimally gap of 8.95% within a maximum time of 180 minutes. In practical terms, for the daily scheduling of a CD operation, this result is acceptable. The company that inspired this problem can run the MILP formulation every day, early in the morning, with a maximum limit time of 180 minutes; finding an optimal solution in half of the cases before the time limit or having a solution with an optimally gap relatively low within this time.
The rest of this paper is organized as follows: Section 2 presents a literature review associated to the problem at hand. Section 3 formally describes the problem and introduces the MILP formulation. Section 4 presents the computational study. Finally, Section 5 shows the conclusions.

Literature review
Optimization problems associated with CD platform operations have been studied by many authors in the literature. According to Buijs et al. (2014), these problems can be classified into strategical, tactical, and operational problems depending on the decisions that are made. Among the strategical decisions, there are those related to the design of the distribution network that integrates the operations of the CD platforms or the design of the CD platform's inner operation. Among the tactical decisions, there is the planning of the capacity in terms of the estimation of the needed resources (i.e., personnel and equipment) for handling an expected volume of goods. Finally, among the operational decisions, there are the programming of the resources within the platform, the assignment of the trucks to the docks, the order for tending to the trucks, among others (Buijs et al., 2014). Considering that the problem at hand is classified as an operational problem, the literary review will focus on the operational problems on truck scheduling. Moreover, considering that the novelty of this study is connected to the mutualization of the CD docks, some logistics-operation-mutualization cases will also be reviewed.
Hereafter, we will review the works that focus on operational problems, which are closest to this study. Yu & Egbelu (2008) studied the problem of finding the sequence of the trucks and their assignment to the docks in a way that minimize the makespan CD's operation. For solving this problem, the authors propose three different approaches, a MILP formulation, an exhaustive enumeration, and a heuristic method. The latter is used for solving medium and large-size problems. Conversely, Bozer & Carlo (2008) studied a problem where a decision on which truck is served at which dock is made in a way that minimize the distances for moving the goods inside the platform, considering the rectilinear movements from the inbound trucks till the outbound trucks. For solving this problem, the authors propose a MILP formulation for the Quadratic Assignment Problem (QAP) with rectilinear distances and a Simulated Annealing heuristic.  presented a truck scheduling problem for minimizing the activity times considering the exact moment where the deliveries need to be made for the different products. For solving this problem, the authors use a decomposition method, which uses dynamic programming and some heuristics. Finally, Molavi et al. (2018) presented a truck scheduling problem where the delivery date of the products is the constraint. This problem seeks to minimize the total costs associated with fines and late deliveries. For solving this problem, the authors propose a hybrid genetic algorithm.
In recent years, different studies focusing on collaborative logistics have been developed. Furthermore, many analyze how the companies can work alongside their competitors (i.e., horizontal strategy), their providers, and their clients (i.e., vertical strategy) (Cleophas et al., 2019). From the literature review, different cases of collaborative logistics can be found. For instance, Blanquart & Carbone (2010) analyzed 7 collaborative logistics cases, four related to production routes for mass consumption, one related to product conception, and 2 related to reverse logistics. The authors classify the cases into 4 families considering if the collaborators belong or not to the same supply chain, and if their services or products are complementary. Another example of mutualization in logistics is the case analyzed by Morana (2010), wherein the French press mutualizes the urban distribution routes, so every customer is reached. Particularly, within the context of storing and transport, there are certain mutualization studies. Kreng & Chen (2008) created a collaborative system in which several companies must produce the good in a way that they simultaneously arrive in a distribution center for being able to perform a joint distribution; hence, lowering costs. The same year, Paché (2008) presented experimental cases where collaborative logistics has been the solution. As part of their study, the authors analyzed the case of the city of Rochelle in France. In this case, they decided to create a distribution center in the outskirts where the providers deliver the merchandise to be classified and organized for further delivery in small electric vehicles. Recently, Makaci et al. (2017) made an empirical study of mutualized distribution centers. The authors studied 7 cases of French companies by carrying out surveys with the people involved in the processes. The authors found that sharing the transportation and storing operations represented a great advantage.
Despite the existence of several studies on truck scheduling problems for CD platforms and mutualization in logistics, to our knowledge, the literature lacks a study on scheduling problems with mutualization in a CD platform. The main contribution of this study is to include the option of leasing the loading and unloading docks of the CD platform for a determined period to allied companies. This option of leasing can be seen as a mutualization operation because allied companies can use a resource of the company and in turn, the company can receive a benefit. Considering the option of leasing the docks change significantly the scheduling optimization problem for CD platforms because it is necessary adding new decision variables and constraints, and modifying the objective function.

Problem description
In this section, a formal description of the problem at hand is presented. Let I and O be the set of inbound and outbound trucks from the company owning the platform. Let N and M be the set of loading and unloading docks, respectively, which are independent. Let P be the set of a type of products that circulate through the CD platform and R the set of dock leasing requirements from the allied companies. Each unloading truck i I ∈ has the following parameters: the arrival time to the platform i re , the waiting cost at the platform i f , and the quantity of units that are unloaded at a platform ik q (measured in units) of the product k P ∈ . Similarly, each loading truck j O ∈ has the following parameters: the arrival time to the platform j rs , waiting cost at the platform per time unit j g , and quantity of units that are loaded onto the truck jk d (measured in units) of the product k P ∈ . Considering that the loading and unloading docks are connected by a conveyor belt, the time it takes to transport a type of product unloaded from a truck i I ∈ until a truck j O ∈ is constant, and it is defined by the parameter t . Furthermore, the parameter s represents the time to change a truck at the dock. The parameters e and o represent the unloading and loading time per unit, respectively. Each possible requirement l R ∈ demands an inbound and outbound dock, for a defined period of time within the time interval ]. The income for accepting requirement l R ∈ is defined as l p .
In this problem, the objective is to find the order in which the inbound and outbound trucks are served, their assignation to a loading or unloading dock, and to accept or not accept the requirements from allied companies, in a way that the total cost is minimized. The latter is defined as the waiting cost minus the income due to accepting requirements.
To give the reader a better perspective of our problem, we present an illustrative example. For this example, we assume the following sets: Figure 1 shows a solution to the example. In this case, only the requirement 2 R was accepted, and it was scheduled at the inbound dock 2 N and outbound dock 2 M . Inbound trucks 3 IT and 1 IT were unloaded at unloading dock 1 N . Inbound truck 2 IT was unloaded at unloading dock 2 N . Outbound trucks 4 OT and 1 OT were loaded at dock 1 M . Both trucks needed products from inbound trucks 3 IT and 1 IT , for that reason their loading operation starts after the unloading operation finishes of trucks 3 IT and 1 IT . Outbound trucks 2 OT and 3 OT were loaded at docks 3 M and 2 M respectively. Both trucks needed products from the inbound trucks 2 IT , for that reason their loading operation starts after the unloading operation finishes of the trucks 2 IT .

Mathematical model
For the MILP formulation, we introduced the sets docks are assigned to requirement l R ∈ . On the other hand, it is necessary to be able to control that the accepted requirements do not overlap with any inbound or outbound truck at a given dock (i.e., a requirement and a truck coincide at the same time at the same dock). An alternative for avoiding the overlap is to introduce a set of time that represents the horizon of the platform schedule. Using that set, we could introduce variables indexed in the time that represent at what moment each activity is carried out. Therefore, the overlapping can be controlled ensuring that almost one activity is performed at a specific moment at a given dock through of a constraint. The main inconvenience of this alternative is the potential impact on the computing time for solving the MILP formulation. This is due to the size of this set of time, which should be significantly large to be able to correctly model the operation. For instance, if the time horizon of the platform is 8 hours and all the associated parameters to time take integer values of minutes, this set of time should have all the minutes in the time horizon of 8 hours (i.e., {1,…,480}).
As an alternative to avoid the overlap, we use in our model the following decision variables: variable ih ρ is equal to 1 if the inbound truck i I ∈ is assigned to the unloading dock h N ∈ , and 0 otherwise. Variable ih ω is equal to 1 if the outbound truck i O ∈ is assigned to the unloading dock h N ∈ , and 0 otherwise. Although those variables can be seen as a subset of the variables ijh σ and ijh π , the motivation to include them is to facilitate the building of the overlapping constraints. In the case that the truck and a requirement are assigned to the same dock, the variable li δ is equal to 1 if the inbound truck i I ∈ is served first at the dock and then the requirement l R ∈ without overlapping, otherwise, li δ is equal to 0 if the requirement l R ∈ is served first at the dock and then the inbound truck i I ∈ without overlapping. It is important to notice that this variable makes sense only when the requirement l R ∈ and the inbound truck i I ∈ are scheduled at the same dock. It means when lh ε and ih ρ take the value of 1. If lh ε or ih ρ are 0, the value of li δ can be neglected. Similarly, the variable li δ functions the binary variable lj τ , but in this case, it is defined for the outbound truck j O ∈ . Considering that overlapping between requirements is a possibility, we introduced the binary variable lmh ψ , which only makes sense if the requirements l and m R ∈ are scheduled at the same unloading dock h N ∈ . This variable takes a value of 1 if the requirement l is served first and then the requirement m , and it will be 0 if the requirement m is served first and then the requirement l . Finally, the binary variable lmh η is defined for the loading dock h M ∈ in a similar way to the previous variable. Considering the quantity of sets, parameters and variables, Table 1 summarizes the notation of this problem.
The mathematical model is as follows: The objective function (1) aims to minimize the waiting cost of the inbound and outbound trucks minus the benefits that can be perceived by accepting requirements.
Subject to: Constraints (2) control that the inbound trucks are completely unloaded. Constraints (3) control that the outbound trucks are loaded fulfilling with their requirements. Constraints (4) assure for a positive amount of type of product k P ∈ to be transported between trucks i I ∈ and j O ∈ , only when Constraints (5) and (6) define the end time for the unloading and loading of the inbound and outbound trucks, respectively. Constraints (7) and (8) define the starting time of the unloading and loading of the first truck at each dock. Constraints (9) and (10) define the starting time of the unloading and loading for the rest of the trucks (i.e., from the second truck onwards) at each dock. It is important to notice that the first vehicle that arrives at the dock does not incur in the time s associated with the change of truck. Constraints (11) and (12) guarantee that the starting time for loading and unloading for the trucks is higher than their respective arrival time. Constraints (13) control for the starting time of an outbound truck j O ∈ to be higher than the ending time of the unloading of the inbound vehicle i I ∈ plus the merchandise's moving time, given that any merchandise is moved between the trucks i I ∈ and j O ∈ . Constraints (14) and (15) define the waiting time of the inbound and outbound trucks.
Constraints (16) and (17) Constraints (22) and (23) assure that a requirement must be scheduled at an inbound and outbound dock when requirements are accepted. Constraints (24) and (25) control for a requirement to be assigned to one inbound and outbound dock at most. Constraints (26) assure that the inbound truck ih ρ takes a value of 1 if the truck i I ∈ is assigned to the loading dock h N ∈ . Constraints (27) assure that each inbound truck to be only assigned to one unloading dock. Constraints (28) assure that the inbound truck ih ω takes a value of 1 if the truck i O ∈ is assigned to the loading dock h M ∈ . Constraints (29) assure that each outbound truck to be only assigned to one loading dock. For understanding the following constraints, Figure 2 shows the possible cases when an inbound truck i I ∈ and a requirement l R ∈ are assigned to the same dock h N ∈ . Subfigures 2a and 2b present the feasible cases (i.e., there is no overlapping). When the inbound truck i I ∈ is served first than the requirement l R ∈ (Figure 2a) and when the requirement l R ∈ is ahead of the inbound truck i I ∈ (Figure 2b). Subfigures 2c and 2d present the unfeasible cases (i.e., when there is overlapping). When the truck i I ∈ is served first and before finishing requirement l R ∈ starts to be served (Figure 2c), and when the requirement l R ∈ starts first and before finishing the truck i I ∈ starts to be served ( Figure 2d).
Constraints (30-33) guarantee that the inbound truck i I ∈ and a requirement l R ∈ will not overlap if they are assigned to the same dock h N ∈ . In these constraints, the start of the requirement l a is always compared against the end of the service of the truck i u , and the end of the requirement l b against the start of the service of the truck i w , as presented in Figure 2. It is important to notice that the constraints will be trivially met if 0 lh ε = (i.e., the requirement l R ∈ is not assigned to the dock h N ∈ ) or 0 ih ρ = (i.e., the truck i I ∈ is not assigned to the dock h N ∈ ). However, in the case that It is important to notice that with these constraints, the unfeasible cases presented in Figures 2c and 2d will not take place.
Constrains (34-37) guarantee that the outbound truck i O ∈ and a requirement l R ∈ will not overlap if they are assigned to the same dock h M ∈ . These constraints work similarly to constraints (30-33).
Considering that there are possibilities for the requirements l and m R ∈ to overlap at the inbound dock h N ∈ and outbound dock k M ∈ , constraints (38-41) guarantee that the requirements will not overlap with one another at an inbound dock. Similarly, constraints (42-45) guarantee that the requirements will not overlap with one another at an outbound dock. These constraints work similarly to constraints (30-33).

Computational experiments
Aiming to evaluate the performance of the MILP formulation in solving the studied problem, we used a set of instances based on a real operation from a retail company. This company operates under a CD operation, and it has the capability of leasing some of the docks in its platform to allied companies. In this experiment, we analyzed the behavior of the MILP formulation performance in terms of the different characteristics of the problem. The MILP formulation was solved using Gurobi 8.1.1 with a time limit of 10,800s for each instance. All the experiments were run on a computing cluster with Intel Xeon E5-2683 v4 processor (32 cores at 2.1 GHz) and 64 GB of RAM, both running on Linux Rocks 6.2-64 bits -Centos 6.6.

Test instances
We generated a set of 128 instances inspired by the real operation or a retail company. Aiming to obtain different size instances, we generated instances with different amounts of unloading |N| and loading |M| docks, inbound |I| and outbound |O| trucks, requirements |R|, and product types |P|. Table 2 contains the values of the parameters used in the generation of the instances. The magnitude of the used parameters is based on the information from the real operation. Using these values, we obtained 64 combinations. From each combination, we generated 2 instances; hence, obtaining 128 instances. The magnitudes of arrival time of the trucks, vehicle change time, moving time between loading and unloading docks, loading and unloading rate, and the amount of units per product were randomly generated using magnitudes from the real operation.

Results
In this section, we analyze the computational results about the performance of the MILP formulation. The detailed results for each instance are documented in Table A1. Table 3 shows the results consolidated from the instances wherein the model reached the optimal solution. Row 1 presents how many instances were optimally solved, and rows 2-5 present the information concerning average, maximum, minimum computational times, and the standard deviation (in seconds), respectively. Results in Table 3 demonstrate that the MILP formulation is capable of finding the optimal solution for 65/128 instances. The maximum CPU time of these 65 instances was 8103 seconds, which is a reasonable time and meets the expectations of the operation for the company that inspired this study.  Figure 3 presents the behavior of the number of optimal solutions found within the time. As seen in Figure 3, we observe that 91% of the optimal solutions have been found within 958 seconds, which also allows us to conclude that the MILP formulation behaves in an acceptable way. Table 4 shows the results for the instances that did not find an optimal solution (63/128). As seen in Table 4, the average optimality gap is 8.95%, the maximum gap is 38%, the minimum gap is 0.06%, and the standard deviation is 7.9%. Analyzing the results in detail, we found that 25 of the instances wherein an optimal solution was not reached have a gap lesser than 5%. Despite not finding the optimal solution in these instances, the behavior of the gap is acceptable for the problem at hand.
Hereafter, we analyze the behavior of the optimality gap according to the characteristics of the problem. Figures 4 and 5 present the optimality gap for |P|=20 and |P|=40, respectively. In both figures, the X axis presents the loading docks and the outbound trucks; the Y axis presents the loading docks and the inbound trucks. The gray and black colored circles represent the problems with |R|=10 and |R|=20, respectively. The size of the circles represents the value of the optimality gap.   After comparing Figures 4 and 5, there is no notable impact of the optimality gap behavior in terms of the number of product types. Nonetheless, the average gap for the instances |P|=20 and |P|=40 is 3.71% and 5.10%, respectively. This result shows that, in average, the instances with 40 products are more difficult to solve than the instances with 20 products. As expected, there is a low optimality gap when the number of requirements is |R|=10 when compared with |R|=20. Conversely, the results do not show that there is a low optimality gap value when there are less inbound or outbound docks. Both Figures 4 and 5 show cases wherein a higher number of outbound docks have a lower optimality gap value. For instance, in Figure 4, when the instances have 6 loading docks, the optimality gap is generally lower than when the instances have 4 loading docks. Figure 5 shows that for instances |I|=8 and |O|=16, the optimality gap is lower when |N|=4 than |N|=2. This behavior, having a higher optimality gap for fewer docks, can be attributed to the fact that the problem becomes more constrained; hence, more difficult to solve. Regarding the number of outbound trucks, the results show that the optimality gap tends to increase when there are more outbound trucks. Nonetheless, this phenomenon is not evident with the inbound trucks. In some cases, the more inbound trucks there are, the better the optimality gap. This case can be seen in Figure 5 with |M|=6, |N|=4, and |O|=16, where the optimality gap is lower for |I|=8 than |I|=4.
Lastly, we analyzed the solutions in terms of the accepted requirements. The solutions showed that all the solutions accept requirements. We found that, in average, 48% of the requirements are accepted, and in one instance, all the requirements were accepted. These results show that, for the operation that inspired this problem, it is interesting to lease the docks to allied companies as a way to subsidize the operational costs.

Conclusions
This study proposes a new scheduling problem for a CD platform. This problem aims to find the scheduling of both inbound and outbound trucks for the company owning the platform while deciding whether or not to accept requirements to lease their docks to allied companies. In the case of accepting the requirements, it has to be decided which docks will be assigned. These decisions have to be made in a way that minimize the operational cost minus an income due to the leasing.
For solving this problem, we propose a MILP formulation. To test this MILP formulation, we built a set of 128 instances, which are based on a real CD operation. Through a computational experiment, we found that the MILP formulation has an acceptable behavior. Using a commercial solver, the MILP formulation is capable of finding 65/128 optimal solutions with an average time of 4.41%. For the remaining 63/128 instances, the MILP formulation obtains an optimality gap of 8.95% in 10800 seconds. For the real case that inspired this study, these results are acceptable given that the scheduling of the trucks is done during the night hours of the day prior to the operation. When analyzing the solutions, we found that 128/128 instances accepted the requirements. Therefore, we can conclude that, for the company that inspired this problem, it is economically interesting to lease some of its docks to allied companies.  Table A1 presents the detailed results for the computational experiment from the MILP formulation. Column 1 presents a consecutive number for each of the instances, columns 2 -7 present the parameters for the generated instances, column 8 shows the optimality gap, column 9 presents the CPU time, and column 10 presents the objective function value.