# Buffer Allocation via Bottleneck-Based Variable Neighborhood Search
## 4 Numerical Example  
The five comparison methods according to different search algorithms and neighborhood definition are listed in Table 1. The five methods are as follows:  
* The proposed buffer allocation approach that generates candidate bottlenecks by the API and detects the real bottleneck by VNS, which is denoted by API-VNS. * [PERSON] [24] used inventory to evaluate the candidate bottlenecks of a production line and used the beam search (BS) algorithm to search for the real bottleneck. Therefore, the inventory-based beam search algorithm (Inv-BS) is used as another method for comparison. * [PERSON] et al. [28] and [PERSON] et al. [29] used the tabu search (TS) algorithm to obtain suitable buffer allocation solutions. The solution quality of this method was shown to be high, and the computation time was controllable. Therefore, TS is used as a method for comparison. However, in prior studies, TS was typically used to maximize the throughput of a production line subject to a fixed number of designed buffers, whereas the designed buffer size is decided by available computation time in the proposed approach. For the comparison, it is assumed that in each buffer update, one buffer is added and the TS attempts to maximize the throughput. If the obtained throughput does not increase even when buffers are added, or available computation time is exceeded, the buffer allocation process stops. Otherwise, the loop of one buffer addition and throughput calculation is performed. This extended tabu search algorithm is denoted by ETS. Moreover, in the numerical examples, a random mechanism is used to generate candidate buffer allocation solutions in ETS; therefore, the average values based on five calculations are used. * To further evaluate the effectiveness of the API, the API-BS generated by BS [24] and the proposed API is set as the fourth method for comparison. * To evaluate the effectiveness of VNS further, Inv-VNS generated by inventory [24] and the proposed VNS is set as the fifth method for comparison. In the numerical examples, nodes in the production line models represent servers and buffers. Both blue and green nodes represent buffers; the blue nodes transport jobs, and the green nodes not only transport jobs but they also change their movement direction. Therefore, the service rates of blue nodes are higher than those of the green nodes. Servers marked by black nodes have the lowest service rates. Two experiments are performed in the numerical examples to evaluate the effectiveness of the proposed approach for a production line with a different topology and topology scale. Each experiment involves two input patterns where all initial values except for the external arrival rates are the same. The two different external arrival rates are used to represent a high arrival job flow and a low arrival job flow. The effectiveness of the proposed approach is evaluated in the large-scale experiment and the available computation time is set as 8 h. The other experiment is presented to show the application of the proposed approach in a small-scale production line. Considering that there are a small number of nodes in the experiment, the available computation time is set as 4 h. All five methods are applied to the same sets of data. Moreover, all five methods are written in Python 3.6 and executed in all experiments on a personal computer with a 2.6 GHz Intel Core 2 Duo CPU. To evaluate the comparison results, two aspects are discussed:  
* Solution quality refers to the obtained solution throughput because a buffer allocation approach with a high solution quality usually generates a high solution throughput. In the case of the same solution throughput, the buffer allocation approach that generates the same throughput with fewer designed buffer sizes has a higher solution quality. * Computation time refers to the computation time spent to achieve the same throughput, because an efficient buffer allocation can allocate buffers and achieve an objective throughput rapidly.