# Buffer Allocation via Bottleneck-Based Variable Neighborhood Search
## 1 Introduction  
A production line consists of materials, storage area, and working area. Materials enter the production line, move between the storage area and the working area, and finally leave the production line. In queueing theory, materials are referred to as jobs, working areas as servers, and storage areas as buffers. Buffers are extremely important to compensate for variations and to ensure smooth operation of the servers. Excessive buffers increase costs and system redundancy while insufficient buffers lead to blocking in the production. Therefore, ensuring a suitable buffer allocation is important in a production line. Agile manufacturing [1], which aims to respond rapidly to customer and market requirements, is widely adopted in industry. Agile design [1], which facilitates agile manufacturing, has attracted considerable attention from researchers and engineers. In agile design, buffers need to be efficiently allocated to predict production line design for meeting design requirements. The potential success and value of the design can then be evaluated within a short computation time. Therefore, it is necessary to achieve a good balance between solution quality and computation time for various kinds of production line topologies. Numerous studies have focused on the buffer allocation problem inproduction lines [2; 3; 4; 5]. Buffer allocation methodologies can be generally categorized into enumeration, dynamic programming, metaheuristic methods, and search methods [5; 6]. Enumeration is a method that employs all feasible buffer configurations to guarantee the optimality of the solution [7]. Although previous study [8] proposed the enumeration method to design buffers for the complete solution space, this method is limited to production lines with a small-scale topology because of its combinatorial complexity and time consumption. Although \"small-scale\" is relative and depends on the problem, the method is usually applicable to production line topologies with less than 20 machines. Dynamic programming solves the buffer problem in a highly intuitive manner based on a non-closed-form objective function [9]. [PERSON] and [PERSON] [10] used dynamic programming to address the problem of buffer allocation in serial production lines. [PERSON] and [PERSON] [11] proposed a dynamic programming-based algorithm to design the buffer size in partially homogeneous unreliable transfer lines. Both methods are only applicable to limited production line topologies with a small number of machines. In summary, dynamic programming is usually applicable to production lines with a small-scale topology because the number of solution stages and states increases exponentially with the number of buffers and servers in the production line, which leads to an extremely long computation time. Metaheuristic methods are high-level techniques that generate sufficiently good solutions for the buffer allocation problem. [PERSON], [PERSON] and [PERSON] [12] proposed a hybrid evolutionary algorithm-based simulation optimization approach to decide the near optimal size of each buffer storage in open serial production lines. [PERSON] et al. [13] combined a novel parallel tabu search algorithm with a neighborhood generation mechanism to determine a suitable buffer size for a serial production line. [PERSON] et al. [14] proposed a decision support system (DSS) employing an artificial neural network-based prediction model to determine the buffer allocation. [PERSON] and [PERSON] [15] solved the stochastic resource allocation problem by combining hybrid particle swarm optimization with optimal budget computing allocation. These methods can obtain buffer allocation solutions with high solution quality. However, the main disadvantage of these methods is that one method is sufficiently effective only for the design of limited production line topologies. Moreover, the computation time of some metaheuristic methods depends on the initial buffer allocation solution, which may also lead to unstable solution quality.