Keywords

1 Introduction

A Flexible Manufacturing System (FMS) is a structure of computer controlled semi-independent workstations, which have connection through an automated transportation system. There are many different FMS configurations which vary with the types of components used in the system such as the types of machine tools, types of material handling system, type of storage areas for in-process inventory and the variety of part types to be processed [1].

This study concerns with a dedicated flexible manufacturing system with closed loop layout. A number of ordered operations are performed on a fixed set of part types. The processing time of each operation is different for each part type. Each operation is assigned and performed on only one machine station for all part types. There is a fixed route for each part through the system. A conveyor is used to move parts between machines. There is local storage areas with limited capacities in between machine stations. In fact, the system has a unidirectional cyclic design and operates similarly to a dedicated non-homogeneous transfer line.

This kind of production system is used when the same series of operations are performed on the different parts of a final-product whose parts have different size, shape and material. The computers regulate the machines to conform to the changes in size, shape and material if two consecutive parts are of different types. For example, Schneider Electric uses this system for metal coating and related operations in producing medium voltage switching devices. Basic structure of the system is seen in Fig. 1.

Fig. 1.
figure 1

A dedicated FMS structure with closed loop layout

The parts are transported between machines in load-bearing containers i.e. trolleys which are moved by a conveyor system. The speed of the conveyor may vary at different sections on the layout due to technological requirements. The trolleys have different fixtures for different part types. Therefore, there is a specified trolley type associated with each part type. Trolleys accommodate one or more parts simultaneously depending on the structure of its fixture. Accommodation capacity of each trolley type is fixed and predetermined. The machines process the parts in batches accommodated in the trolley without dropping them off.

Unprocessed parts enter in the system when they are loaded at the loading station in the trolleys that are compatible with that part type. The trolley loaded with parts is moved through the system to visit all stations sequentially until the last operation is performed on the last station. When all operations are completed, the trolley then moves forward to complete a closed loop path and arrives back to the loading/unloading station where parts are dropped off. Empty trolley is then loaded again with new unprocessed part(s) of the same type and it continues to revolve in the system [2].

If a machine at a station is busy, the trolley coming from the previous station waits in a local buffer storage area, which has a limited capacity. If the local storage area between two consecutive stations is full, then the trolley cannot leave upstream station and hence blocks it. The station stays blocked until an unoccupied space is available in the buffer storage area in between.

If someone could observe a time-lapse animation of the system, he/she would see a set of trolleys revolving constantly in a closed loop. This set is comprised of different trolley types and hence we can define disjoint subsets each having a number of trolleys from a different type. Since different parts of a product are processed in the system, the number of subsets should be equal to the number of part types and each subset should have at least one element. The cardinalities of the subsets, i.e. the number of elements in each subset of trolleys should be decided. A great number of combinations may be defined as alternative feasible solutions, however, the problem is to find the best combination, in other words to find the best configuration of the system in order to maximize the efficiency.

2 Problem Definition

In production of industrial electro-mechanical switching devices (SD), the production process can be divided into several stages. During the early stages, the parts of the SD are produced separately and then, they go through a process called “Metallization Process”. The last stage is the assembly line in which the parts are combined together and assembled to form the end product, SD.

Metallization process includes some consecutive operations essentially for coating the parts with the layers of special materials. There are two functions of the metallization process. The first one is protection of the surface of the parts from harsh environment conditions such as moisture, dust, chemicals etc. It also includes mechanical protection since the process provides resistance to shocks, which may possibly cause micro cracks and eventual failures and malfunctioning of the parts. The second function is to establish a Faraday cage around the parts by coating it with a conductive (metalized) paint. If the final product is electrically grounded in a proper way, the electrical field generated during the operation of the switchgear is totally kept inside the product, as the metallization layer is fully covering the surface area of the product.

The operations of the Metallization Process are performed on a specially built, carousel like platform, which involves processing machines and conveyor segments connecting the machines. Conveyor segments form a closed layout. The structure of the system is shown in Fig. 2.

Fig. 2.
figure 2

The layout of the system

There are n types of parts to be processed in the system and the same set of ordered operations are applied to every part type. Each operation is processed by a specific machine. The number of machines (and hence operations) is m.

Since part types have separate shapes and sizes, each part type is carried on a particular type of trolley, which is associated with that part type. Each trolley type has a specific fixture on it in order to accommodate one or more parts simultaneously. Aj indicates number of parts that can be accommodated in the trolley type j. The machines process the parts in batches accommodated in the trolley without dropping them off. The notation pij represents the processing time of a batch of part type j (a load of trolley type j) on machine i, such that 1 ≤ i ≤ m.

The system produces semi-finished parts to be used in finished product (SD). The bill of materials (BOM) determines Bj, which indicates the numbers of each product type in one unit of finished product. The aim is to increase the throughput of the system in terms of final product. Therefore the performance is measured by the quantity of end product that can be produced using the parts processed in the system in a given period of time, for example in a week.

Decision variables are the numbers of elements in each subset of trolleys types. In other words, main question will be “how many trolleys should be used from each trolley types?” The objective is to maximize the quantity of finished product while ensuring the following technological constraints are not violated.

  • Total number of trolleys allowed in the system is limited to a specific number R due to physical restrictions.

  • Each subset of trolleys should have at least one element. In other words, there should be at least one trolley from each type.

  • Pre-emption is not allowed.

3 Literature Review

There are many articles in the literature regarding to flexible manufacturing systems (FMS) and optimization with simulation. Studies have focused on different topics, such as analysis of the flexible manufacturing system, closed loop layout design and some of them focused on optimizing some performance metrics in the system.

Basic definitions and a classification scheme of flexible manufacturing systems is given in [3]. In reference [4], a classical FMS system is studied. Different types of conveyors, transporters and workstations are considered, and a deterministic analytical model (queuing model) is proposed to make an analysis of classical FMS systems. The objective function is minimizing waiting times and queue size at particular crucial points in the system. However, our system is not a classical FMS, rather a specific variant of FMS. Moreover, we do not need manage a queue.

In reference [5], a study is presented to analyse throughput of non-homogeneous transfer line, which has different process times in each machines. The problem settings are similar to our problem. However, its layout is not a closed loop. Each part type is moving through between workstations and when its process on the last machine is finished, it leaves the system. In our closed loop layout, the parts are unloaded after they are done with the last workstation, and then the trolleys are loaded again with the same type of parts and hence sequence of the jobs are determined in a different way in our problem. They proposed different analytical approaches, which delivers approximate solutions. They do not prefer analytical models because they cause significant errors and poor estimate when compared to verified and validated simulation outputs.

Performance analysis of flexible manufacturing systems is studied in [6]. This paper concluded that analytical models are complex and usually nonlinear and therefore they are difficult to solve. They advised to use simulation models since they are more effective to analyze such systems.

The performance analysis of closed loop material handling systems is presented in [7]. In this paper, a manufacturing system is studied which consists of a set of workstations, an inventory system, and a material handling system. Model has developed for analyzing the performance of a manufacturing system consisting of N workstations, one loading station, N unloading stations, and an inventory system linked by conveyors. Incoming parts enter from loading station and recirculate throughout the conveyor, leave the system through the respective unloading station after being processed. Although there are some similarities with our problem settings, there are significant deviations. For example, in that model, the parts have an option to bypass a machine to be processed in others. In our problem, the parts should be processed sequentially in the same order. Furthermore, the parts arrive in a stochastic process, which does not conform to our problem settings. As usual, a simulation model is used to conduct the analysis.

An analysis of the performance measures of classical FMS systems is given in [8]. This study focused on application of Petri nets for measuring performance of FMS. He considers flexible routes for the parts in the system, which indicates a deviation from our problem environment since there is no route flexibility in our model. A simulation model is used as the analysis tool. Additionally, the bottleneck technique (an analytical model) has been developed to compare and verify simulation results. Designing optimal FMS for particular requirements is a complex problem and hence it is hard to develop accurate mathematical models to calculate performance measures. Therefore, simulation models are used for numeric modeling technique for analyzing highly complex systems.

In reference [9], improvement of the resilience of production systems had been studied. A methodology is proposed to assess the performance in face of breakdowns and to identify the level of resilience for a production system. Due to its modular structure, arbitrary production lines have been analyzed. A simulation model is employed and optimization procedures are used along with the simulation model. They use genetic algorithm to find the best configuration of the system to maximize the resilience.

Another simulation model is proposed in [10] to make an analysis of FMS. This study focused on strategic issues like variants of the simulation models to run and analyzing the outputs. In their problem settings, there are a number of machines usually performing different operations, however some of them identical and performs the same operation. The parts may have different routes. In our problem environment, there is only one machine dedicated for each particular operation and the parts have the same route through the machines. The aim of that study is determining the machine mix i.e. the number of machines performing each operation and the number of flexible machines performing any operation.

Almost all the studies use a simulation model as the basic analysis tool since underlying relationships usually lead to the complicated and nonlinear analytical models. We will follow the same path to demonstrate the analysis of our problem setting, i.e., a dedicated FMS with closed loop layout.

4 Mathematical Model

If machine failures ignored, the system can be considered as a deterministic model and therefore an analytical model can be demonstrated. A mathematical model has been developed to find the best composition of the trolleys to maximize throughput of the system. The notation is given as follows.

Parameters:

j::

index for trolley types, \( 1 \le i \le n \),

\( B_{j} \)::

quantity of part type j needed to manufacture an finish-product (shown in BOM)

\( A_{j} \)::

number of parts that can be accommodated in the trolley type j (determined by fixture of that trolley)

\( R \)::

maximum number of trolleys allowed to operate in the system

Decision Variables:

\( x_{j} \)::

number of type j trolleys to be used in the system,

(Each part type is represented by an associated trolley type)

y::

the number of finished product that can be produced in one complete tour of all trolleys

k::

the number of tours that can be completed in a given period

$$ {\text{Objective}}\;{\text{function}};\quad \quad Max. Z = k*y $$
(1)
$$ \frac{{A_{j} }}{{B_{j} }} * x_{j} \ge y,\quad \quad \forall j = 1,2, \ldots ,n $$
(2)
$$ x_{j} \ge 1,\quad \quad \forall j = 1,2, \ldots ,n $$
(3)
$$ \mathop \sum \nolimits_{j = 1}^{n} {\text{x}}_{j} \le R $$
(4)
$$ k = f\left( {p_{jk} ,{\text{x}}_{1} , {\text{x}}_{2} , \ldots ,{\text{x}}_{n,} } \right) $$
(5)
$$ x_{j } \;{\text{integers}},\quad \quad \forall {\text{j}} = 1,2, \ldots , {\text{n}} $$
(6)

Notice that the formulation leads to a nonlinear integer-programming problem since the objective function includes a multiplication of two decision variables and each decision variable is restricted to be integers. Furthermore, Eq. (5) indicates that the tour time k is a function of \( x_{j}^{\prime} s \). Although the model (1)–(6) is relatively simple, that function in Eq. (5) creates a great deal of complexity and ambiguity and therefore needs to be elaborated. For this reason, let us adopt some additional notation as follows.

i::

index for work stations, \( 0 \le i \le m \), Loading/unloading station is denoted by i = 0

V::

total number of trolleys currently used in the system,

$$ V = \mathop \sum \limits_{j = 0}^{n} x_{j} $$
\( P_{ij } \)::

operation time of parts carried in trolley type j on station i

g::

index for conveyor segments between stations.

Since the system is designed as unidirectional cyclic, conveyor segments are represented by a set of ordered pairs of stations, \( {\text{G}} = \left\{ {\left( {0,1} \right), \left( {1,2} \right), \left( {2,3} \right), \ldots ,\left( {m - 1,m} \right), \left( {m,0} \right)} \right\} \)

\( T_{g} \)::

transfer time on conveyor segment g.

If only one of a particular type of trolley is allowed in the system, in other words, only one \( x_{j} \) is equal to 1,

\( C_{j} \)::

total job completion time or the time for completing one tour for trolley type j if only one of trolley of type j is revolves in the system. It is defined as the sum of all processing and transfer times,

$$ C_{j} = \mathop \sum \nolimits_{i = 1}^{m} P_{ij} + \mathop \sum \nolimits_{g \in G}^{{}} T_{g} $$
(7)

Then the number of tours, k, in a given particular duration of production time, T, can be defined as follows.

$$ k = T/C_{j} = \frac{T}{{\mathop \sum \nolimits_{i = 1}^{m} P_{ij} + \sum\nolimits_{g \in G} {T_{g} } }} $$
(8)

On the other hand, if only one of each type of trolley is allowed in the system, in other words, each \( x_{j} \) is less than or equal 1, then the number of tours, k, is given as follows.

$$ k = \frac{T }{{Max \{ C_{1} , C_{2, } , \ldots C_{n} \} }} $$
(9)

If more than one trolley from each type is allowed in the system as required in real life application,

i.e., 1 ≤ \( x_{j} \le R \), then the number of tours, k, is given as follows

$$ k = \frac{T}{{Max\left\{ {\mathop \sum \nolimits_{j = 1}^{n} x_{j} P_{ij} , \forall i = 1,2, \ldots m} \right\}}} $$
(10)

However, the equation above holds in specific conditions, such as if machine blocking does not occur in the system. If machine blocking occurs, new relations should be investigated.

5 Simulation Model

The ARENA software has been used for creating simulation model for the analysis of the system. An animation model has also been developed to accompany to the simulation model. The framework of the animation model is shown in the below Fig. 3.

Fig. 3.
figure 3

The framework of the animation model

Two external files have been used in the model, inputs are received from the first one and outputs of the simulation are written to the second file. The input file includes the following data.

  • Processing times of each trolley type at each workstation

  • Transfer times between stations

  • Loading/unloading times of each type of trolley

  • The number of parts on each trolley type

The simulation model is essentially a deterministic one except the machine breakdowns. Since it has a stochastics nature, statistical analysis has been conducted on historical data to find the best distributions for Time-To-Failure and Repair times. Acceptance tests has been applied to verify the candidate distributions.

To verify the model, tests have been conducted using the ARENA software-debugging tool described as in [11] for each sub-module in the process of the model development. First, only a single part is allowed to enter into the system and solitary part flow is observed through the system. The same observations are carried for each other part types. Furthermore, especially the part interactions are investigated carefully. The system tested for many different values of part configurations and processing times. The aim is to create wide variety of different situations where the model logic might fail. A detailed animation model has been developed to accompany the simulation model. It allowed us to track the flow of parts and to view the activities that occurs within the system.

In order to validate the model, i.e. to check if the model has accurate representation of the real system, the outcomes of the simulation model are compared to the observations on the real system. The real system is observed for different configuration of trolley types is on action. Numbers of produced parts of each type are compared to the simulation outputs.

Simulation output has been analysed following the procedures and techniques described in [12]. Initially, the warm-up periods have been determined. Confidence intervals have been calculated for 10 replications for each scenario (a particular configuration of trolleys). It has been observed that the values of half widths of confidence intervals vary depending on the scenario, therefore it is required to standardize half widths and hence the concept of “relative error” is used [12, 13]. Using this concept, numbers of required replications have been determined in order to attain satisfactory relative errors. Each scenario has been run again with the calculated number of replications and it has been observed that relative error of each scenario has been decreased under threshold value.

6 Optimization via Simulation

The simulation model provides us with the results of a particular scenario. In our problem, each scenario represents a particular configuration of trolley types. In other words, each scenario is defined by determining the numbers of trolleys from each trolley type. Since many scenarios can be described, the task is to find the best scenario with respect to the performance measure. Two different approach has been followed in this study. The first one is to list only the promising configurations and hence determine scenarios to be fed into simulation model. It is a filtering process to eliminate the unpromising configurations. The rules of this process can be described as follows.

Step-1::

Determine mandatory minimum number of trolleys in the system, Vmin

Vmin is equal to the number of part types to be processed.

Assign a trolley for each part type. This is the first and base scenario.

Total number of trolleys in the system, V = Vmin

Step-2::

Increase the total number of trolleys in the system, V = V + 1

Step-3::

Determine number of trolleys for each part type such as \(\left \lfloor \frac{{A_{j} }}{{B_{j} }} \right\rfloor \) and \(\left \lfloor \frac{{A_{j} }}{{B_{j} }}\right\rfloor + 1 \)

Step-4::

Determine the combinations of trolley configurations such that total number of trolleys is equal to V, and the number of trolleys from each type should conform to Step 3.

Each combination represents a separate scenario. Add the scenarios generated into the list.

Step-5::

if V is equal to total number of trolleys physically allowed in the system, R, then exit,

otherwise, go to Step-2.

This procedure is useful to eliminate the unpromising scenarios. The size of the list that contains competent scenarios can be reduced considerably. Once the list is prepared, each scenario is evaluated by simulation model. It can be a time consuming process to run each scenario in the computer, however there is a very useful tools in ARENA software to run many scenarios simultaneously.

The other approach is to use special techniques described in [14]. One of the tools suggested is the “OpQuest” tool in ARENA software. It uses a linear combination procedure, suggested in connection with the scatter search methodology.

7 Solution of a Sample Problem

A sample problem has been solved using the two optimization approaches stated above. The sample contains 5 part types and allowable total number of trolleys in the system is 30. The number of parts required in one finished product and the number of parts loaded in one trolley for each part type are given in the following tables respectively (Tables 1 and 2).

Table 1. Number of parts to be used in a finished product, Bj
Table 2. Number of parts that are loaded simultaneously in one trolley, Aj

There are seven operations that are executed on machines. Loading and unloading operations are done manually. The processing times are given in table below (Table 3).

Table 3. Processing times, pij

The facility is assumed to work seven days a week and two-shifts a day (16 h). Time horizon is selected to be 72 days. There may be one or two operators for loading and unloading operations. If the number of operators is one, then the same operator does both operations. Otherwise, one operator is assigned only for loading operation and the other one does the unloading operation. The quantity of throughput by the total number of trolleys are shown in the following figure (Fig. 4).

Fig. 4.
figure 4

Maximum number of finished products by the total number of trolleys in the system

The best configurations that yields maximum number of finished products are described in the following table. It can be seen that, if one operator is used to execute both loading and unloading operations, best configuration is comprised of total 10 trolleys. The distribution of those trolleys for trolley types are 2, 4, 2, 1 and 1 respectively. On the other hand, if loading and unloading operations are done by separate operators, then the best configuration is to assign 4, 8, 4, 2 and 2 trolleys for each part types with a total 20 trolleys in the system (Table 4).

Table 4. Best configurations

8 Conclusion

A dedicated flexible manufacturing system with closed loop layout has been studied. An analytical model is proposed to show the dynamics and interactions in the system. It has been observed that such systems tend to be nonlinear w.r.t. mathematical modeling. Since the model is nonlinear and ignores random machine failures, simulation is the only tool to make a proper analysis of the system. However, it is an optimization problem, and the objective is to find the best configuration in order to maximize the throughput. Therefore it is required to employ the optimization techniques using simulation model to solve the problem. A number of scenarios representing different configuration settings should be evaluated and compared with respect to the objective function.