## 4 Solution Algorithm
### Sequential Insertion and Solution Re-Optimization Methods  
Similarly to [PERSON] et al. [11], the \"Sequential insertion\" method creates full truck routes by embedding depots within the ordered sequence of requests. The routes are subsequently improved using the \"Solution re-optimization\" method, as those generated by the \"Sequential insertion\" method may lack cost efficiency or even be infeasible in practice, potentially violating the empty container constraints at depots and the service priority constraints for composite requests. Unlike [PERSON] et al. [11], the \"Sequential insertion\" method, in addition to considering the truck's operational time constraints and the service time windows for requests, also takes forbidden arcs into account when assessing whether the current truck can accommodate the present request. If the truck can accommodate the request, it is added sequentially to the truck's service list. Temporal factors, such as the time required for the truck to traverse all request vertices, are subsequently adjusted according to the principle of minimizing total working time, which also considers the service time windows for all selected requests. The truck's working time is then updated. This iterative process continues as the algorithm progresses through each subsequent request in the solution sequence. Once the current request violates the truck's operational time constraints, the algorithm initiates a process to select the suitable depot for truck's return. This selection process accounts for both the limit on truck return frequency and the nearest distance principle. Subsequently, a new truck will be dispatched to serve this request, and the \"Sequential insertion\" procedure restarts. In cases where the current request is the first to be served by a truck, a depot must be selected for truck dispatch, factoring in the limit on truck dispatch frequency and the nearest distance principle. Additionally, if the request requires the delivery of an empty container, the availability of empty containers is also taken into account. As shown in Figure 3a, the solution starts as a random arrangement of request indices. Depots are then added to divide it into sub-solutions, each representing a viable truck route, as illustrated in Figure 3b. The \"Solution re-optimization\" method comprises two distinct steps. The first step focuses on refining the truck visiting time at each vertex, while maintaining the routes of all trucks unchanged. The primary goal of this step is to minimize the total working time of the trucks so as to improve the truck routes with high waiting costs produced by the \"Sequential insertion\" method. If the re-optimized truck routes fail to satisfy the service priority constraints for composite requests, they are deemed infeasible and the corresponding solution is discarded; otherwise, the second step is executed. The second step seeks to assess if the re-optimized feasible truck routes satisfy the empty container constraints at depots. It is important to note that when the truck performs two activities--delivering empty containers to the depots and picking them up from the depots--the number of empty containers at each depot changes dynamically. These activities correspond to transportation requests involving the delivery and pickup of empty containers, where the depot may serve as either the origin or destination. In the \"Sequential insertion\" operation, the depots are inserted into the solution based on the sequence of request vertices, and the number of empty containers at each depot fluctuates according to the sequence in which trucks are assigned to perform these two activities. However, in practice, the number of empty containers at each depot should dynamically change based on the specific timing of the aforementioned two activities. Consequently, the re-optimization process will derive the detailed delivery and pickup times for empty containers by trucks at each depot, utilizingthe outcome from the first step.