#### Abstract

In recent years, logistics systems with multiple suppliers and plants in neighboring regions have been flourishing worldwide. However, high logistics costs remain a problem for such systems due to lack of information sharing and cooperation. This paper proposes an extended mathematical model that minimizes transportation and pipeline inventory costs via the many-to-many Milk-run routing mode. Because the problem is NP hard, a two-stage heuristic algorithm is developed by comprehensively considering its characteristics. More specifically, an initial satisfactory solution is generated in the first stage through a greedy heuristic algorithm to minimize the total number of vehicle service nodes and the best insertion heuristic algorithm to determine each vehicle’s route. Then, a simulated annealing algorithm (SA) with limited search scope is used to improve the initial satisfactory solution. Thirty numerical examples are employed to test the proposed algorithms. The experiment results demonstrate the effectiveness of this algorithm. Further, the superiority of the many-to-many transportation mode over other modes is demonstrated via two case studies.

#### 1. Introduction

Concomitant with the accelerated pace of globalization, economic competition has intensified. For better development, companies around the world have committed themselves to reducing costs, of which one of the most important constituents is logistics cost. A sign of this is the flourishing economic and technological development zones in China, where numerous enterprises are collocated in the same area. Other examples include the four major motor cities of the world (Toyota Motor City, Detroit Motor City, Turin Motor City, and Stuttgart Motor City). Accordingly, a multisupplier and multiplant logistics network system based on a factory’s spatial location or functional interaction is formed. Nevertheless, many systems of this kind have not fully developed into a real “cohesive cluster,” especially China’s automotive industry parks. Most automotive parks in China are simply “clustered” based on spatial location instead of the functional interaction among them. Therefore, inbound logistics transportation for this many-to-many () system remains a problem. Without doubt, inbound logistics transportation problems of this kind are more complex. However, proper planning can generate enormous benefits: it can not only strengthen cooperation among enterprises and contribute to their further development, but also reduce the cost of the entire logistics system and mitigate the pressure on logistics and circulation costs for society.

Inbound logistics transportation methods can generally be classified into three types: direct shipping, Milk-run, and cross-docking. Berman and Wang [1] describe these three modes and their respective characteristics. Cross-docking is characterized by long transportation time and large pipeline inventory and is therefore suitable for long-distance transportation. In contrast, direct shipping and Milk-run have the advantage of short transportation time and small pipeline inventory, which make them suitable for short-range transportation. Considering the large number of suppliers and plants and the short distances between them, direct shipping or Milk-run is more applicable for an industrial park. This paper focuses on Milk-run route planning with multiple suppliers and plants within a certain adjacent area.

The name “Milk-run” originated from the traditional system by which milk was sold in the West, in which the milkman simultaneously delivered full bottles of milk and collected the empty ones according to a predefined route. After completing a roundtrip, he returned with the empty bottles to the starting point. This method has subsequently been extensively utilized in miscellaneous industries and the auto manufacturing companies of the world and has developed into a popular way of picking up and delivering goods for multiple suppliers and plants using the same freight car [2]. Nemoto et al. [3] presented two Milk-run methods used by Toyota’s inbound logistics. The first is a many-to-one () mode, in which the car assembly manufacturer dispatches one truck at a specified time to visit various suppliers (i.e., parts suppliers) following a predefined route to collect parts or products and deliver them to the factories. The second is a one-to-many () mode, in which the parts are consolidated at the place of departure in such a way that they are fully loaded on the truck, transported, and unloaded at the various destinations. For both of these logistics modes, managers need to design and plan for specific routes, so as to minimize the overall logistics costs. Taking this rationale a step further, when all suppliers and plants share information with each other, then the many-to-many () Milk-run transportation described in [1] is achieved; that is, trucks pick up products from one or several suppliers and deliver them to one or several plants. Compared with Toyota’s and Milk-run system, this integrated method can significantly reduce the transportation costs to a larger extent for the entire logistics system.

The problem this paper focuses on is based on the classical vehicle routing problem (VRP). The generic VRP and many of its practical occurrences were studied intensively in the literature (Raff [4], Laporte and Nobert [5]). Then some extensive versions of VRP, such as vehicle routing with time windows (VRPTW) [6, 7] and multidepot vehicle routing problems (MDVRP) [8, 9], have been widely studied. These achievements of VRP have been already applied in the Milk-run system. Chuah and Yingling [10] and Jiang et al. [11] studied the common frequency routing problem in the Milk-run system and minimized transportation and inventory costs using column generation combined with the tabu search algorithm. Using genetic algorithm and a robust optimization approach, Sadjadi et al. [2] and Jafari-Eskandari et al. [12, 13] solved general and specific Milk-run issues with time windows and inventory uncertainty. Zhang and Li [14] analyzed the impact of the Milk-run method on supply chains, the conditions for using this method, and the changes in cost before and after adopting the Milk-run plan for a company. They also optimized the Milk-run mode by classifying containers into various carrying capacities based on the integral slice algorithm model. Yun et al. [15] analyzed the relationship between inventory and transportation, established an integrated transportation and inventory optimization model based on Milk-run, proposed genetic algorithm to solve the vehicle scheduling problem, applied a stepwise iterated algorithm to balance inventory and transportation costs, and eventually minimized the total costs for the entire Milk-run logistics system. Du et al. [16] investigated the parameter settings of a real-time vehicle-dispatching system for consolidating Milk-runs. Ma and Sun [17] employed a mutation ant colony algorithm to solve the Milk-run vehicle routing problem with the fastest completion time based on dynamic optimization. However, all of these studies targeted the multiple suppliers to one plant () problem. Effectually, none of them can be directly applied to Milk-run systems with multiple suppliers and plants. Given the status quo, this paper proposes a solution to the Milk-run routing problem involving multiple suppliers and plants ().

A number of researchers have already studied many-to-many transportation problems. The Pickup and Delivery Problem (PDP) is one of the research areas in transportation issues. In general PDP, there is no restriction on the choice of pickup point to provide products for each specified delivery point, as long as the demand of the delivery point is satisfied. However, in practical terms, for inbound logistics systems, a plant’s demand for each supplier is always clearly determined because the plants will place specific orders with each supplier. Thus, the general PDP is not entirely consistent with the actual inbound logistics systems. Furthermore, the set of variables employed to represent the commodities in PDP [18, 19] is not suitable for problems in practical terms. Further, because, in many manufacturing industries, such as auto manufacturing, the number of parts used in an individual assembly plant is more than 3,000 [20], the problem will become more complex if the set is defined based on the types of products. In light of the discussions above, PDP is not applicable for the type of logistics systems focused on in this paper. Therefore, an effective mathematical model with determined demand (hereafter, indicating the total demand of plant for supplier regarding one or more products, which will be described in more detail in Section 2) should be constructed.

The cross-docking system is another transportation mode in inbound logistics involving multiple suppliers and plants. Several scholars have already studied vehicle routing problems in this system. For example, Berman and Wang [1] considered the problem of selecting the appropriate distribution strategy (direct shipping and cross-docking) for delivering a family of products from a set of suppliers to a set of plants so that the total transportation, pipeline inventory, and plant inventory costs were minimized. Lee et al. [21] optimized vehicle routing schedules by planning and scheduling vehicle routes during the pickup and delivery stages of cross-docking. Musa et al. [22] employed the ant colony algorithm to solve the transportation problem of the cross-docking network. Miao et al. [23] employed a hybrid genetic algorithm to solve the multiple crossdocks problem with supplier and customer time windows. Mousavi and Tavakkoli-Moghaddam [24] minimized the total cost by simultaneously taking cross-dock’s location and route planning into consideration. The cross-docking transportation mode has been used extensively in long-distance transportation. However, it is not applicable for short-range transportation [2, 25]. In the cross-docking system, a vehicle must first pick up goods from suppliers and then transport them to the cross-dock, where inbound materials are sorted, consolidated, and stored until the outbound shipment is complete and ready to ship and finally deliver the goods to each plant. This increases the distance and the time needed for each transportation task and, thus, unnecessary pipeline inventory costs. In contrast, the Milk-run system has no transfer system similar to the cross-dock because all goods are directly delivered to the corresponding plant after they are picked up from each supplier. Consequently, all processes, including loading and unloading, are completed in the vehicle within a shorter time, which makes the Milk-run mode more suitable for short-distance transportation. Therefore, it is necessary to develop an effective method to solve the Milk-run routing problem involving multiple suppliers and plants in neighboring regions.

From the discussion above, this paper contributes to solving the Milk-run routing problem involving multiple suppliers and plants in neighboring regions, that is, the many-to-many Milk-run routing problem (MM-MRP). In addition, we also consider the pipeline inventory cost caused by damage to products during the transportation process. It is necessary to consider the pipeline inventory costs because in some specific situations, some products, materials, and commodities, such as parts of some precision instruments, fragile parts, refrigerated foods, and some primary products, are more likely to be damaged with longer transportation time and more frequent loading and unloading times. On the basis of the above discussion, we firstly formulate the many-to-many Milk-run routing problem with pipeline inventory cost (MM-MRP-PIC) and extend the vehicle routing problem (VRP) model to MM-MRP-PIC model.

Because VRP is NP hard, MM-MRP-PIC, an extension of VRP, is surely NP hard. Exact algorithms are difficult to find the optimal solutions within a reasonable time. Many scholars have developed heuristic algorithms to solve the VRP. Alfa et al. [26], Osman [27], and Van Breedam [28] applied simulated annealing to solve VRP and verified its effectiveness. Tabu search was developed by Osman [27] and Gendreau et al. [29] to solve VRP. Furthermore, genetic algorithms [30, 31], ant colony optimization [32–35], and particle swarm optimization [36, 37] are also developed to solve VRP successfully. However, some evolutionary algorithms, such as genetic algorithm, are inefficient to solve MM-MRP-PIC because the problem is so complex that they will spend much time to tackle illegal solutions generated during iterative process. In addition, ant colony can solve the problems whose objective function is only involved with transportation cost while it is difficult to tackle the pipeline inventory cost. Particle swarm optimization is also difficult to be designed for this problem because so various mutations should be considered that the PSO formulas cannot define these mutations together. However, simulated annealing can easily tackle illegal solutions and various mutations simultaneously considering the pipeline inventory cost. Therefore, we employ simulated annealing and make some improvements to solve MM-MRP-PIC. The algorithm is two-stage simulated annealing with limited search scope (TSSALSS). The effectiveness of this algorithm is verified via thirty numerical examples. Compared with traditional SA, TSSALSS not only significantly reduces the computing time, but also improves the quality of the solutions.

The remainder of this paper is organized as follows. In Section 2, we describe the problem and propose the MM-MRP-PIC model. Section 3 is devoted to the solution method (TSSALSS) for this model. Thirty numerical examples are presented to demonstrate the efficacy of our algorithm in Section 4. In Section 5, we present two case studies to demonstrate the validity of the many-to-many transportation mode. Finally, we conclude this paper in Section 6.

#### 2. Formulation

##### 2.1. Problem Description

This paper focuses on logistics systems comprising multiple suppliers and multiple plants in certain neighboring regions. In such a system, every supplier produces one or more parts, and each of the plants places corresponding orders to suppliers. The total demand of plant for the products of supplier () can be indicated by the ratio of the products’ total volume to the truck capacity. The transportation process is organized as follows. A certain number of trucks, each of which has its own flow, are first scheduled for the shipping task. In each flow, the truck sets off from a plant, picks up products at a number of suppliers, delivers those products to corresponding plants, and finally returns to the departure point upon finishing the transportation task. This paper targets route planning for this kind of logistics systems, with the objective of minimizing transportation and pipeline inventory costs for the entire system.

The following three assumptions are made to this problem.

*Assumption 1. *Product quantities cannot be split and each vehicle’s transportation frequency is one.

*Assumption 2. *There are enough vehicles at each plant to complete the transportation task.

*Assumption 3. *All vehicles employed for transportation are of the same type and have cargo capacity .

##### 2.2. Notations

*(1) Constants*. Consider the following. : set of suppliers. : set of plants. : set of nodes, including all suppliers and plants. : set of vehicles employed to complete the transportation task, with each vehicle corresponding to a path; that is, is also the set of flows. : transportation cost for shipping one truckload of products from node to node ,. : the demand of plant for the products of supplier . : pipeline inventory cost per unit time per unit of product . : time spent in transportation from node to node . : capacity of each vehicle. : loading or unloading time per unit of product.

*(2) Decision Variables*. Consider the following:

*(3) Variables That Are Dependent on the Decision Variables*. Consider the following: : pipeline inventory cost for products on vehicle per unit time from node to node ,,. : time spent when vehicle loads products at supplier ,. : time spent when vehicle unloads products at plant ,.

##### 2.3. The Proposed Mathematical Model for MM-MRP-PIC

Consider the following:where subject to

The first part of the objective function is direct transportation cost; the second, third, and fourth parts are pipeline inventory costs. The pipeline inventory costs depend on the road transportation time and residence time for freight loading or unloading at each point. An immediate idea for calculating the pipeline inventory costs for products is multiplying the pipeline inventory costs for products per unit time and the corresponding pipeline transportation time. The pipeline transportation time of is the period starting from the vehicle’s departure time at supplier and ends at the arrival time at plant . It includes transportation time on the way, loading time at various other suppliers, and unloading time at other plants in the same flow (we ignore the loading time of at supplier and the unloading time at plant because the pipeline inventory cost of caused by the loading time at supplier and the unloading time at plant are constant and independent of the decision variables). Although this idea is easy to understand, it is difficult to describe using mathematical models. Therefore, this paper divides the above process into three stages and calculates the respective cost for each part.(1)Pickup stage: the pipeline inventory cost when vehicle picks up products at supplier and goes to the next supplier can be represented by the product of the costs per unit time for the freight () and the sum of the transportation time on road () and the pickup time at supplier (); that is, . is proportional to the loading volume of vehicle at supplier , and the scale factor is .(2)Stage between the final pickup point and the first delivery point: the pipeline inventory cost is determined by the product of the costs per unit time for the freight () and the time spent on transportation (); that is, .(3)Delivery stage: the pipeline inventory cost when vehicle unloads products at plant and goes to the next plant can be represented by the product of the costs per unit time for the freight () and the sum of the transportation time on road () and the unloading time at (); that is, . is proportional to the unloading volume of vehicle at plant , and the scale factor is also assumed to be .

The following is a detailed description of constraints (4)–(17). Equation (4) signifies that the transportation task of vehicle cannot exceed its capacity. Equation (5) means that as long as plant has a demand for products from supplier , a vehicle should be arranged to facilitate the transportation task. Equations (6)–(9) ensure that the path of each vehicle forms a loop. In classical VRP, there can only be one vehicle flow into and out of each node. In contrast, in this paper, more than one truck can go into and out of each node because multiple vehicles can be employed to execute different tasks at the same node. However, every vehicle that flows into a node must also leave that node; that is, the inflow and outflow for each vehicle at each node must be the same. In each flow, a vehicle must first pick up products from suppliers, then deliver goods to corresponding plants, and finally return to the departure point. To ensure that this process is conducted in an orderly manner, (10)-(11) restrict each vehicle to one single route from the plants to the suppliers, and vice versa. Equation (12) ensures that the solution does not contain any illegal isolated subtour. Equation (13) signifies that the pipeline inventory cost from the first plant to the starting supplier is zero. This is obvious because the vehicle sets off from a plant; therefore, it is empty during this period. Equation (14) represents the pipeline inventory cost per unit time for vehicle from node () to node () in the pickup stage, which is the sum of the pipeline inventory cost per unit time for vehicle before node and that of the newly loading freight. Equation (15) is similar to (14); it represents the pipeline inventory cost per unit time for vehicle from node () to node () in the delivery stage. Equations (16)-(17) signify the range of decision variables.

#### 3. Approach

As an extension of VRP, MM-MRP-PIC is NP hard. As a result, a two-stage simulated annealing algorithm with limited search scope (TSSALSS) is developed in this paper. Geng et al. [38] employed an adaptive simulated annealing algorithm with greedy search to solve the traveling salesman problem (TSP) and verified its effectiveness. In this paper, the process of limiting the search scope in TSSALSS is similar to the greedy search in [38], but we use a much simpler method to limit the search scope instead of greedy search which requires calculating the objective function frequently. A detailed solution process for TSSALSS is given below.

Varanelli and Cohoon [39] stated that conventional SA can be initiated at a low temperature in an attempt to improve the heuristic solution. Thus, a faster heuristic (the first stage) is used to replace the SA actions occurring at the highest temperatures in the cooling schedule. In the first stage, an initial satisfactory solution is constructed in the following three steps: (1) Determine an initial feasible task allocation plan. (2) Minimize the total number of vehicle service nodes (calculated using formula (19) or (20)) by adjusting the task allocation for each vehicle. (3) Employ the best insertion heuristic algorithm to determine the route for each vehicle, which is achieved when the transportation cost is relatively optimal. In the second stage, the solution obtained in the first stage is improved by the* Simulated Annealing (SA) algorithm*. In order to improve the search efficiency, in this paper, the scope of the search in the algorithm is limited to a specific range. That is, in the search process, all feasible solutions are subject to the constraint that the total number of vehicle service nodes be not greater than , in which is obtained in the first stage and is a number slightly larger than one; we find to be the most appropriate. Because it is much simpler to calculate (the two neighbor solutions’ difference in the total number of vehicle service nodes, ) than to calculate (the two neighbor solutions’ difference in the objective function value, ), the search process will be much more efficient with the limited search scope. This method can not only reduce the unwanted time caused by searching the overall feasible solution domain, but also prevent the global optimal solution being overlooked by appropriate expansion of the search scope adjusted by coefficient . The structure of the algorithm is shown in Figure 1. The following is a detailed description of the algorithm.

##### 3.1. The First Stage of Algorithm

This stage consists chiefly of three steps: determination of an initial feasible task allocation plan, minimization of the total number of service nodes () accessed by all vehicles via the greedy heuristic algorithm, and determination of each vehicle’s route via the best insertion heuristic algorithm. The algorithms used in each step are as follows.

*Algorithm 1 (formation of an initial feasible task allocation plan). *We first determine the number of vehicles () needed:where is a decimal slightly less than one. Note that if is too close to one, we may miss the optimal solution, but if is too small, it will cause unnecessary search times. We find that is most appropriate.

To ensure that (4) is satisfied, that is, no vehicle’s transportation task exceeds its loading capacity, the following method is used for task allocation: Randomly assign all transportation tasks to every vehicle. **Do while** at least one vehicle’s loading tasks are larger than the capacity . Select the vehicles with the maximum and minimum loading tasks, respectively. **Do while** the transportation task of the maximum-loading- task vehicle is no longer greater than its loading capacity. Assign one task of the maximum-loading-task vehicle to the minimum-loading-task vehicle. **End do** **End do**

A feasible task allocation plan is thus obtained; this is indicated by the set , where . Determine the service nodes, represented by , for each vehicle. For vehicle , if , then ; otherwise . Similarly, if , then ; otherwise . The collection of nodes for all the vehicles is then represented by the set .

*Algorithm 2 (greedy heuristic algorithm). *This algorithm minimizes the total number of service nodes () accessed by all vehicles, represented bythat is,The greedy heuristic algorithm is designed as follows: Set the current vehicle task allocation plan as the one obtained in Algorithm 1 and calculate its total number of service nodes (). Initialize . **For ** Randomly choose a vehicle (); one of its tasks is (), and another vehicle is (). **Do while** the sum of and ’s transportation task exceeds the loading capacity of Repeat the random selection of , , **End do** **If ** decreases or remains unchanged () when is employed to finish transportation task Accept the change and update , () , and , accordingly **End if** **End for** Output the task allocation plan and the total number of service nodes () accessed by all vehicles.

*Algorithm 3 (best insertion heuristic algorithm). *For the logistics system in this paper, each vehicle passes by suppliers to pick up products first and then delivers goods to plants. Considering this point, we modify the best insertion heuristic algorithm in [40] to ensure that (7)-(8) must be satisfied when inserting nodes. The pickup and delivery routes for all vehicles are represented by the sets and , in which and indicate vehicle ’s routes. The best insertion heuristic algorithm is designed as follows: Initialize and as empty. **For ** //construct the th vehicle’s path Select . Insert into and into and put , into tabu list . **Do while ** Randomly select node () **If ** ( is the total number of suppliers) Insert into , The insertion position of is the place where the least increase in transportation cost is achieved **Else** Insert into . **End if** Put into **End do** **End for** Output satisfactory solution .

##### 3.2. The Second Stage of Algorithm

For the SA in this paper, four neighbors are first designed, and the search scope is limited to a specific range by requiring that the total number of vehicle service nodes () be not greater than . The four neighbors are performed at probabilities , , , and , respectively. A detailed description of the four neighbors with limited search scope designed in this paper is given below, and instances of the four neighbors are shown in Figure 2.

*Algorithm 4 (the four neighbor structures with limited search scope). *Note that only Neighbors 3 and 4 have the possibility to generate new solutions whose total number of vehicle service nodes () will be greater than . Neighbors 1 and 2 will not change the total number of vehicle service nodes because Neighbors 1 and 2 only change the vehicle routes and do not change the task allocation plan. **If ** //Neighbor 1: block reverse mutation between suppliers (i.e., 2-opt) Randomly choose **If** nodes in are more than two Randomly select two positions in and reverse all the nodes between the two positions **Else ** Give up the neighborhood operation **End if** **End if** **If ** //Neighbor 2: block reverse mutation between plants Randomly choose **If** nodes in are more than two Randomly select two positions in and reverse all the nodes between the two positions **Else** Give up the neighborhood operation **End if** **End if** **If ** //Neighbor 3: a certain transportation task for a vehicle is handed over to another one Randomly choose a vehicle (), one of its tasks (), and another vehicle (). **Do while** the sum of and ’s transportation task exceeds the loading capacity of , or exceeds after the handing over operation //limit the search scope Repeat the random selection of , , **End do** Hand over to , update , , **If **//modify vehicle ’s pickup route Delete node from **End if** **If ** //modify vehicle ’s delivery route Delete node from **End if** **If ** before the neighborhood operation //modify vehicle ’s pickup route Insert node into any position of **End if** **if ** before the neighborhood operation //modify vehicle ’s delivery route Insert node into any position of **End if** **End if** **If ** //Neighbor 4: exchange of transportation tasks among vehicles **Do while** after exchanging the two tasks, either vehicle’s transportation task exceeds its loading capacity, or //limit the search scope Repeat the random selection of , , , **End do** Modify the two vehicles’ pickup and delivery routes as in Neighbor 3 **End if**

*Algorithm 5 (simulated annealing). *The temperature decreases at an exponential rate, that is, , where is the cooling rate and is the current temperature. is the initial temperature. The algorithm terminates when it reaches the final temperature (). The epoch length () is constant. Initialize , , which is obtained by the first stage of algorithm, , **Do while ** **Do while ** Use Algorithm 4 to generate a neighbor solution () of **If ** Accept as the current solution **If ** , **End if** **End if** **End do** **End do**

#### 4. Computational Experiments

In this section, thirty numerical examples are designed to test the performance of the proposed algorithms. We compared our algorithms with the standard simulated annealing (SA) and two-stage simulated annealing (TSSA) to demonstrate the effectiveness of the improved algorithm. The same initial solutions are set for the three algorithms. We apply this benchmark method in order to compare the three algorithms fairly. We can not only obtain the gaps among the three algorithms, but also the number of cases for which TSSALSS performs worse than TSSA and SA with the same initial solutions. In order to verify the robustness and validity of the proposed algorithms, we test our algorithms for three groups of instances: small-scale problems with 3 to 5 plants and 10 to 20 suppliers, medium-scale problems with 10 to 20 plants and 20 to 50 suppliers, and large-scale problems with 10 to 30 plants and 100 to 300 suppliers. Simultaneously, it is obvious to observe the trend of gaps among the three algorithms with the scales of instances increasing. Furthermore, in order to test whether the proposed algorithms can adapt to numerical examples with different characteristics, the data are generated by the following methods: the coordinates of suppliers and plants are drawn from uniform distributions and the ranges of these distributions increase with the scales of instances increasing; some of the transportation tasks are set to be zeros and the nonzero tasks are drawn from the uniform distributions from 5 to 15 or from 5 to 30; (pipeline inventory cost per unit time per unit of product ) are all drawn from the same uniform distribution from 0 to 0.1; the loading or unloading time per unit of product () is also drawn from the uniform distribution from 0.015 to 0.025. The detailed setting of data and parameters in the algorithms are listed in Appendix A. The algorithms were programmed in MATLAB 2012b. All of the experiments were carried out on a Lenovo T4900v i5 3470 computer with 4 GB (3.47 available) RAM and a 3.20 GHz CPU. Computation times are in seconds.

We first generated ten initial feasible task allocation plans using Algorithm 1 and determined ten initial feasible solutions by randomly sequencing the service nodes for each vehicle. Then, ten initial satisfactory solutions were obtained using Algorithms 2 and 3 based on the same ten initial feasible task allocation plans. The results are presented in Table 1, where indicates the average number of nodes that all the vehicles should serve in the ten initial feasible solutions , indicates the average number of nodes that all the vehicles should serve in ten initial satisfactory solutions , is the average value of the objective function, represents the average CPU time for the first stage of algorithm, and indicates the total number of iterations. From Table 1, it can be seen that significant improvements in the value of the objective function were obtained via the first stage of algorithm within a short time.

Table 2 presents the results of the following three algorithms: (1) two-stage simulated annealing algorithm with limited search scope (TSSALSS), (2) two-stage simulated annealing algorithm (TSSA), and (3) simulated annealing (SA) algorithm. We utilized SA to improve the initial feasible solutions and obtained . TSSALSS and TSSA were employed to generate and based on the initial satisfactory solutions , which were obtained via the first stage of algorithm from the initial feasible task allocation plans. is defined as follows: , where indicates the objective function value of solution . is similarly defined. Column is the number of solutions in , which, respectively, represents the number of cases for which TSSALSS performs worse than TSSA and SA. Column gap 1 (gap 2) is the gap between average and average . The columns “average,” “minimum,” “std,” “,” and “NI,” respectively, represent the objective function value of the best solution among the ten trials, the average objective function value of the ten trials, the standard deviation of the ten solutions, the average time spent by the two algorithms, and the number of iterations performed by the two algorithms.

From the computational results above, we can conclude the following:(1)TSSA is much faster than SA but has no obvious advantage in terms of the quality of the solution. This is because the initial temperature of TSSA is lower, and its total number of iterations is less.(2)Although TSSALSS has no significant advantage over TSSA in the small-scale numerical examples, it generates higher-quality solutions within shorter time frames in both the medium-scale and large-scale numerical examples. Moreover, in Figure 3, it can be seen that the solution obtained using TSSALSS tends to improve in quality as the scale increases.(3)The convergence rate of these three algorithms decreases in the order of TSSALSS, TSSA, and SA, which is shown in Figure 4. Figure 4 is the computational result of L9 using the three algorithms. Note that the abscissa axis is the cooling times rather than the total number of iterations. The epoch length of TSSALSS, TSSA, and SA at each temperature is 35000, 50000, and 50000, respectively (see Appendix A, row L9).

In addition, we compared our algorithm (TSSALSS) with three common metaheuristic algorithms from the literature: simulated annealing with greedy search (SA-GS) [38], genetic algorithm (GA) [30], and tabu search (TS) [29]. The neighborhood structures of SA-GS and TS are the same as those proposed in the Section 3.2. The crossover operators and mutation operators of GA are newly designed for the proposed problem. The mutation operators are the same as the neighborhood structures in Section 3.2. The crossover operators include the task allocation crossover and the routes crossover. The task allocation crossover will generate illegal solutions; thus we legalize these illegal solutions once they occur. The routes’ crossover is similar to that of the traveling salesman problem (TSP) [41]. These three algorithms were all executed ten times in the same running condition as that of TSSALSS. The results obtained are listed in Table 3, where the columns “average,” “minimum,” and “” indicate the objective function value of the best solution among the ten trials, average objective function value of the ten trials, and average time spent by these algorithms.

As the table shows, TSSALSS spends the least amount of time. Although the quality of the solutions obtained by TSSALSS is not particularly high compared with that of the other two algorithms (SA-GS and TS), especially SA-GS, when the scale of the problems is relatively small, the advantage of TSSALSS becomes evident as the scale of the instances increases. GA is less efficient and less precise compared with the other three algorithms because the crossover operators generate many illegal solutions and it spends much time to tackle these illegal solutions.

#### 5. Case Study

##### 5.1. Case One

The first case study in this paper focuses on the inbound logistics routing problem for a feed factory in Shandong, China. This feed factory has five plants and twelve suppliers nearby. The location of every plant and supplier, tasks, and pipeline inventory costs per unit time are given in Appendix B. We optimized the following three transportation modes.(1)Mode 1: Milk-run among all plants and suppliers, that is, .(2)Mode 2: Milk-run among all suppliers for each plant, that is, .(3)Mode 3: Milk-run among all plants for each supplier, that is, .The routes and task allocation plans of the three models are given in Tables 4–7.

Table 8 presents the results for the three transportation plans. For the total objective function, Mode 1 is 24.8% less than Mode 2 and 22.7% less than Mode 3. For traveling distance, Mode 1 is 25.3% less than Mode 2 and 24.4% less than Mode 3. Although the pipeline inventory cost of Mode 3 is only 18.3% lower than that of Mode 1, the number of vehicles employed in Mode 3 is 33.3% more than that of Mode 1. From the discussions above, it is obvious that Mode 1 holds significant advantages for logistics systems comprising multiple suppliers and plants.

##### 5.2. Case Two

In order to demonstrate the validity of the many-to-many Milk-run mode in the case of large scale, we use the computer to generate an problem randomly, in which the case has ten plants and thirty suppliers. The location of every plant and supplier, volumes of tasks, and pipeline inventory costs per unit time are given in Appendix C. We similarly optimized the three transportation modes mentioned in Section 5.1. The routes and task allocation plans of the three modes are given in Tables 9–12. Suppliers are numbered from 1 to 30, and plants are numbered from A to J.

Table 13 presents the results for the three transportation plans. From the comparison between Mode 1 and Mode 2, although Mode 1 has a greater pipeline inventory cost (853.6) than Mode 2 does (803.9), the total cost and the total distance of Mode 1 (3036.2 and 2182.6, resp.) are both smaller than those of Mode 2 (3285.6 and 2481.7, resp.). Furthermore, Mode 1 needs three vehicles less than Mode 2 does. From the comparison between Mode 1 and Mode 3, all the four values of Mode 1 (objective function, total distance, pipeline inventory cost, and number of vehicle) are lower than those of Mode 3. From the analysis of Case Two, we can demonstrate the superiority of many-to-many transportation mode in the case of large-scale instances.

#### 6. Conclusions

In this paper, we considered the problem of Milk-run route planning with multiple suppliers and plants and proposed and constructed a new mathematical model that minimizes transportation and pipeline inventory costs. To solve the proposed model, we developed a two-stage heuristic algorithm that comprehensively considers the characteristics of the problem. The first stage of the algorithm minimizes the total number of service nodes visited by all vehicles, while the second stage limits the search scope of SA to improve search efficiency. The results obtained from thirty small-, medium-, and large-scale numerical examples verified the efficacy of the algorithms proposed in this paper, and their performance proved to be more effective than the traditional SA. Finally, we studied the two cases and confirmed that the Milk-run transportation mode is superior to other modes.

The work presented herein has the following limitations: (1) because of the complexity of the problem, the proposed algorithm was not compared with exact algorithms; (2) in this paper, we only considered the case in which the transportation frequency is one, whereas, in practice, the frequency of transportation within a day may be performed more than once to reduce the inventory of each plant. As a consequence, we plan to extend the model to take this into account. We also plan to consider long-distance transportation and extend the model to include the cross-docking strategy. Further, we will consider the effect of using different types of vehicles to perform the transportation tasks.

#### Appendices

#### A. Data of Instances and Parameters of the Three Algorithms

See Table 14.

#### B. Data of Case One

See Table 15.

The capacity of each truck is one. is determined by the products. For convenience, we use transportation distance (using Euclidean distances), instead of transportation costs. The units of distances are all calculated in kilometers per hour. is equal to 0.02. The speed of each vehicle is equal to 40 kilometers per hour.

#### C. Data of Case Two

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.