Next Article in Journal
Predicting the Suitable Current and Future Potential Distribution of the Native Endangered Tree Tecomella undulata (Sm.) Seem. in Pakistan
Next Article in Special Issue
Data Analysis and Decision on Navigation Safety of Yangshan Port Channel
Previous Article in Journal
The Informal City: Exploring the Variety of the Street Vending Economy
Previous Article in Special Issue
An Artificial-Immune-System-Based Algorithm Enhanced with Deep Reinforcement Learning for Solving Returnable Transport Item Problems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Simulation Model for Wire Harness Design in the Car Production Line Optimization Using the SimPy Library

1
Institute of Smart Cities, Department Statistics, Computer Science, and Mathematics, Public University of Navarre, 31006 Pamplona, Spain
2
Department Statistics, Computer Science, and Mathematics, Public University of Navarre, 31006 Pamplona, Spain
*
Author to whom correspondence should be addressed.
Sustainability 2022, 14(12), 7212; https://doi.org/10.3390/su14127212
Submission received: 21 April 2022 / Revised: 27 May 2022 / Accepted: 3 June 2022 / Published: 13 June 2022
(This article belongs to the Special Issue New Trends in Sustainable Supply Chain and Logistics Management)

Abstract

:
The automotive industry is one of the most important economic sectors in the world. At the beginning, vehicles only had mechanical components, so the use of an automotive wire harness was not indispensable. Cars today are equipped with electronic components that, in addition to the basic operations of moving, turning, and stopping, perform more and more functions every day. Wiring harnesses are indispensable for controlling these electronic components. Automotive wiring harnesses have hundreds of variants, are principally manufactured with customized designs, and are measured specifically for each car. A large number of production variants increase labor hours, as well as rework, inventory, and manufacturing costs. Even when technologies exist to assist in the design of production lines, today, the design of production lines is mainly based on experience from previous cases. This paper aims to show how a discrete event simulation permits support for decision making for the proper design of assembly lines, as well as identifying possible unbalances in production lines and overloaded processes. In our work, we design and implement a discrete event simulation model of this production using the SimPy Python library. Finally, a case study in the automotive sector is presented, a production week is simulated, and the current plant configuration and possible improvement scenarios are analyzed.

1. Introduction

For confidentiality reasons, the company that provided the data needed to develop this article will be referred as Cables SA.
The automotive industry started at the beginning of the twentieth century. The first cars were treated as objects of luxury and were exclusively accessible to wealthy people. At the beginning, vehicles only had mechanical components, based on the steam motor, so the use of automotive cable was not indispensable. The history of the automotive industry has evolved with the times and adapted to the circumstances and needs of society. The steam engine was replaced by the internal combustion engine, which is currently hampered by restrictions on emissions legislation, as well as by the limited availability of petroleum-derived fuels and, consequently, by the cost of the fuel.
Historically speaking, the assembly line, introduced by Henry Ford in 1913, made it possible to speed up the production and reduced the unit costs of manufacturing. Production and demand for automobiles began to grow rapidly and the automobile was no longer just a luxury within the reach of the very few, becoming a commodity for the middle class. Mass production is a common method used by most automotive companies in producing cars and mobile devices, opening new opportunities for industry and consumers. Mass production adjusted its costs and manufacturing times, allowing consumers access to products and services previously reserved for the richest. The fact that everyone bought the same thing did not matter, the interesting fact was that the products were available to them. In the industry today, priorities have changed, and now, consumers are looking to differentiate themselves. Demand for customized products has increased and, associated with it, a change in manufacturing processes; although, with the same strategy as always: to execute it in short cycles and with low costs. Thanks to Industry 4.0, this is possible. Not only because of the possibilities offered by the new technological tools, but also because it is available to the customer to participate directly in the customization of the products to be purchased. This new production scope makes the automotive supply chain more dynamic and complex.
Furthermore, wiring harnesses are controlling electronic components, transmitting power and signals to every part of the vehicle. Consisting of connectors, terminals, clamps, sheaths, and other elements surrounding a core of electrical wires, they are crucial components similar to blood vessels and nerves in the human body. Figure 1 illustrates how a wiring harness is distributed inside an automobile. It shows the complexity of the wiring harness, which is distributed throughout the automobile. Moreover, it facilitates a better understanding of the product on which the present study is focused.

Motivation of the Research

Cables are subjected to aggressive environmental conditions, which can create defects with dramatic consequences. A failure can cause death or injury to people. Therefore, correct manufacturing is vital. Besides, automotive wire harnesses are logistically the most complex part of the car supply chain because of the following reasons:
  • They include hundreds of elements. These elements must be purchased, transported, and put together gradually to form the wiring harness, always taking into account the reduction of unit costs and production cycles;
  • They are manufactured to measure specifically for each car. Consumers today prefer customized products, which makes wiring harnesses even more variable and consequently more complex to produce;
  • They are manufactured mainly manually because of the size, flexibility, and number of components included in the wiring harnesses, making it difficult to automate their production;
  • Demand in product variability is neither stable nor predictable, and besides this, demand has been increased by the COVID-19 pandemic.
Production includes several transport, storage, and transforming steps for each of the raw components and sub-assemblies created within the manufacturing process. Figure 2 shows an example of a wire harness production line. In the figure you can see how the wiring harness passes through several work stations, where the workers connect the different modules to assemble the final product. This work is performed manually.
The design of adequate wiring harness production lines is today mainly based on experience and previous cases. The present work is a first approach to the simulation modeling and implementation for the manufacturing processes of wire harnesses in one real case. Evaluating different lay-out parameters through a what-if analysis, we can detect bottlenecks, thereby reducing blockages and inactivity times. This permits us to increase the productivity and efficiency of the assembly line.

2. Wire Harness Manufacturing Processes

The principal electrical component of the automobile is the wiring harness. It consists of a set of cables that transmit electrical power and information from the various components of the automobile. The number of wiring harnesses in a car depends mainly on the design of the car model, and it is divided at the request of the company that manufactures it. For this reason, it is not possible to say the exact number of wire harnesses that a car has. On the other hand, two types are well differentiated by their complexity and the way that they are logistically handled. These two types of wiring harnesses are presented below:
  • Autarkes: These are the smallest wiring harnesses with low variability. These are produced in batches (in large quantities) because they have few variations. Among these types of wiring harnesses we can find the following:
    Front and back doors: these are the most variable types of Autarkes, mainly the front doors, and especially the driver door;
    Front and back bumpers: these contain different sensors, such as shock sensors, for example;
    Seats: these are mainly used to control heated seats, weight detection alarms, and seat belts.
  • Customer-Specific Wiring Harness (KSK, which stands for Kundenspezifischer Kabelstrang in German): These wiring harnesses are very complex to manufacture because they contain many more elements and they have hundreds of variants. The orders of these wiring harnesses are customized, which means that in addition to the functionalities that are necessary for the correct performance of the car, the final user chooses some additional functionalities. These harnesses are usually divided into two types:
    Motor wiring: these wiring harnesses are critical, as they are the most exposed to the weather, so they are provided with a special isolation to resist water penetration and the high temperatures of the motor;
    Car’s inner structure: these sections show great importance since they control the operation of the car control systems being protected by the car body.

2.1. Wiring Harness Evolution

In recent years, the automotive industry has shown a constant evolution, and consequently, an important progress in wiring harnesses. Automobile variety has been steadily increasing for most of this century [1]. The growing number of electrical components has been accompanied by an increase in the total weight and length of the wiring harnesses [2]. In 2008, if we considered the total number of innovations in the automotive sector, 80 % are related to software and 90 % are associated with electronic components [3]. Modern automobiles are becoming more and more similar to computers [4]. In the 1960s, a vehicle had mainly mechanical components. The total cumulative length of electrical wiring harnesses is approximately 8000 m of cable, containing 40 electronic control units and 10 million lines of code [4,5]. Similarly, hybrid vehicles have even more wires and require the incorporation of safety mechanisms to eliminate possible damage from a short circuit [6]. These safety mechanisms increase the number of cables by duplicating electrical networks and electronic control units. The connectors and wiring harness components of an electric or hybrid car have to be able to perform at their optimum without any risk of failure or malfunction. This is the reason why it is necessary to install a series of fail-safe mechanisms in each wiring harness.
Likewise, transport is responsible for about 30 % of total CO2 emissions in the European Union (https://www.europarl.europa.eu/news/en/headlines/society/20190313STO31218/co2-emissions-from-cars-facts-and-figures-infographics (accessed on 20 April 2022)). Electric and hybrid cars are a potentially environmentally friendly product [7,8]. Reducing the weight of wiring harnesses is a challenging task, since electrical components in automobiles have gradually gained importance over the decades [9,10]. The medium-sized vehicle contains cables weighing more than 20 kg, and reducing the mass of the wiring harness minimizes fuel consumption [11]. Thus, in a more complex wiring harness scenario, manufacturers have to adjust and find a way to make the unit as light as possible. Consequently, the introduction of methods that contribute to reducing the impact of additional technology on weight, cost, complexity, and packaging space is essential for wiring harnesses. High-voltage cables, which previously were made of copper, are now replaced by aluminum. The aluminum wiring harness reduces the weight of the automobiles [12]. Another technology used to increase wiring harness density is component miniaturization, which reduces mass, decreases costs, and improves efficiency [13].

2.2. Product Description

In the present work, we have chosen the development of a simulation model for the production of door wiring harnesses. Our choice is based on the fact that it is the most variable of the Autarkes, without being as complex as the wiring harnesses (KSK) for the car’s inner engine. These wiring harnesses have eight different variants that consist of different combinations of wires, soldering, splices, connectors, and clips. Hence, the production of the wiring harnesses is performed in batches of size n and in a number of m iterations. This means that a quantity equal to the set batch size of variants of the same type is produced before moving on to the production of the next variant. This process is repeated as many times as the number of defined iterations.
Thus, the processes involved in the wiring harness components manufacturing are listed below, considering the devices where they are developed:
  • Cutting, crimping, and seals (CCS) machines: There are eight machines that carry out these processes and they have different numbers of tools. In this manner, 46 types of wires are created that are used in the construction of the wire harness;
  • Twisting machines: these devices twist wires to avoid magnetic fields, considering five types of twisting;
  • Welding machines: This process on the assembly line is quality-critical, more time consuming, and more costly than others, because it requires special bulky equipment. For that reason, most of the welding process is performed outside of the assembly line, and three types of welds are used to construct this wiring harness;
  • Assembly line: There are eight different variants of this wiring harness, and all the parts are assembled together to form the wiring harness. Moreover, the assembly process has four sub-processes that are performed sequentially on four work stations;
  • Electrical test stations: in this process, the wiring harness is checked for continuity and insulation before being sent to the customer;
  • Quality and packaging: This is the last process that we take into account in the simulation. In this process, the quality tests and the packaging of the wiring harnesses are performed.
The flow diagram of the different processes and the relationships between them can be seen in Figure 3. The diagram represents the warehouses and processes involved in the manufacture of the wiring harnesses treated in this project. The flow of materials are described between the processes connected by arrows. As we can see, the first transformations of the cables are performed in the CCS machines. Then, some of the wires go through the twisting machine, while others are processed by the welding machine. Wires that are not used in the previous processes go to an intermediate storage. Next, the assembly process takes place, where all the parts are joined together. Later, the correct functioning of the finished product is checked using an electrical test. Finally, a quality control and packaging of the wire harnesses is made.

3. Simulation and Methodology

The history of simulation goes back several centuries, with the military being very well known for their extended use of simulations to solve their problems. Chess probably represents one of the earliest attempts at war-gaming. The modern aviation industry has developed high-fidelity flight simulations, improving pilots’ skills. Similarly, the space program has made extensive use of simulations for personnel training and testing. The nuclear power industry, with its adverse experience of how bad things can go when they go wrong, as at Three Mile Island and Chernobyl, is another field with a strong commitment to simulation. What these groups have in common is that, for each of them, training or testing systems in the real world would be too costly or dangerous [14].
Tako and Robinson [15] conduct a study of the applications of discrete event and dynamical systems simulations in logistics and supply chains. A total of 127 selected journal papers were analyzed in detail, of which 86 ( 68 % ) use a Discrete Event Simulation (DES) approach, 38 ( 30 % ) use a the System Dynamics (SD) approach, and only 3 ( 2 % ) of the articles use a hybrid methodology of DES and SD to model the system. Similarly, Owen [16] makes a review of the main methods used to simulate the supply chain. According to this thesis, the three main techniques of supply chain simulation are SD, DES, and Agent-Based Modeling (ABM), and of these, DES was the most frequently used in the literature to deal with supply chain challenges.
The SD approach is based on the assumption that time delays, nonlinearities, and system feedbacks, amplifications, and structural relationships between elements of a system may be more important in determining the aggregate behavior of the system than the individual components themselves [17,18]. SD is compatible both with the continuous and the discrete concept of time and combines the advantages of these two concepts [19]. Another technique used to deal with supply chain challenges is ABM. There is no universal definition of the term ’agent’ in the literature, but definitions tend to agree on more points than they disagree [20,21]. The idea of simulations is to represent the behavior of individuals as entities, which are usually called agents. Finally, a recent methodology with a good performance in solving real problems with uncertainty has been simheuristics [22], which is a technique of simulation optimization that tries to obtain the advantages of the good results of heuristics and metaheuristics, solving real problems with low computational effort. This methodology provides good results, particularly in problems presenting uncertain scenarios and probabilistic parameters [23].

Discrete Event Simulation (DES)

Discrete Event Simulation (DES) represents the real world by simulating its behavior on an event-by-event model. It has been long since become one of the most important tools for computer-aided decision making because of the availability of powerful computers [24,25]. This technique is traditionally used for industrial applications [26]. It describes the operation of a system as a series of events that change the state of the system and occur in different discrete time intervals, unlike other models in which states can change continuously over time. All events occur at a specific point in time.
According to Huling and Miles [27], DES requires the specification of the elements’ entities, events, and resources and their interactions. These elements represent the system to be simulated.
  • Entities describe conceptual or tangible objects (examples of entities we use are parts, wiring harnesses, etc.). Entities interact with the simulation environment using events, resource requests, and resource utilization;
  • Events are associated with the changes of states of entities and resources. They are triggered at a discrete moment in time and have a specified duration;
  • Resources are used by entities to perform an action (people, machines, and warehouses can be considered resources). They can have a finite or infinite capacity. An entity requests a resource, and when it is free it is assigned to it, uses it, and then releases it.
There are two ways to classify this model called local simulation and distributed or parallel simulation. In Misra [28], a study of these two variants is presented, and the advantages of distributed simulation are discussed. Distributed simulation is performed on different computer clusters, and this allows the simulation to be performed faster; however, it adds software complexity. In our work, we will focus exclusively on local simulation. Dealing with random (stochastic) behavior is a very useful feature of the DES approach. Random behavior can represent phenomena such as machine or process failures, different arrival rates, and the time taken for a process or an activity. These features can be easily implemented into the logic of the model [14].
With the advances in the computing power of computers, the development of simulation software has proliferated. The discrete behavior of the system allows the implementation of it in a computer program. The evolution of DES software has been carried out progressively since the 1960s, and these systems have been developed by both university studies and industrial sectors.
SimPy stands for Simulation in Python. It is a package for process-oriented discrete event simulation. Instead of using threads, as is the case for most process-oriented simulation packages, SimPy makes novel use of the capabilities of Python generators [29]. It is not a formal Python thread but allow us to process events in parallel in the simulation. A generator is a type of function that uses the yield statement instead of the return statement. This kind of function, instead of returning a single value, returns an iterator object with a sequence of values. Generators allow the programmer to specify that a function can be prematurely exited and then later re-entered at the point of last exit, enabling co-routines, meaning functions that alternate executions with each other. SimPy has been around as a project for more than a decade. The  SimPy documentation is adequate, and there have been several guides explaining key concepts and presenting various practical examples that demonstrate how to use the features of SimPy. This library has been used for various applications including maintenance and logistics design [30], the supply chain [31], and disaster recovery [27].

4. Model Development

The simulation model implemented represents the production of one week of door wire harnesses. Several assumptions have been made in the definition of the model, with the aim of achieving a balance between realism and complexity:
  • Machines are always available. No times have been considered for machine-related activities, such as ramp-up, adjustments, reparations, or waiting times in general;
  • Machine productivity is considered as 100 % . No stops or reduced speeds have been considered;
  • Manufactured parts are free from defects, and the quality test will always be passed by the wiring harnesses;
  • Transfer time between the different processes has not been taken into account because material transfer has been performed parallel to the production processes;
  • Raw material is always available;
  • It has been taken into account that production is carried out 24 hours a day, since the plant has production personnel, which are divided into three 8-hour work shifts, and office personnel, who perform one 8-hour shift. In addition, production never stops when workers change shifts.

4.1. Data Collection

The production times considered in the different manufacturing processes have been provided by Cables SA. These durations are approximated values based on historic data. Nevertheless, due to the confidentiality, real-time distributions are not used in this research. Instead, uniform and symmetric triangular distributions have been used to represent the statistical variation of the production times of the different resources. According to Castrup [32], the uncertainty estimation using uniform and triangular distributions is a practice that has been gaining ground in recent years. Both distributions are the standard ones when considering the process duration in simulation models, because its computation is much simpler than that of nonlinear functions. Symmetric triangular distribution is used to simulate scenarios with less uncertainty, since the most likely values are closer to the central value. On the other hand, uniform distribution will be used to simulate scenarios with more uncertainty in production times.
Algorithm 1 illustrates the steps used for its calculation. It can be extensible to use other probability distributions according to the production data. Times provided by Cables SA are used as the mean value for the [ a , b ] interval. The probability distribution type ( [ u n i f o r m , t r i a n g u l a r ] ) is passed as a parameter to the function. The variable w i d e represents the percentage of the central value used for the calculation of the amplitude of the interval used by the probability distribution. Firstly, the amplitude of the interval is calculated, then, these values are used to obtain the time of the process using the Python random library, and finally, the calculated time is returned.
Algorithm 1 Calculation of production times.
Input: t i m e 0 , d i s t r i b u t i o n = [ u n i f o r m , t r i a n g u l a r ] , 0 w i d e 1
Output: p r o d u c t i o n _ t i m e = [ a , b ]
1: a t i m e t i m e × w i d e
2: b t i m e + t i m e × w i d e
3: if d i s t r i b u t i o n = uniform then
4:     p r o d u c t i o n _ t i m e random.uniform(a, b)
5: else if d i s t r i b u t i o n = triangular then
6:     p r o d u c t i o n _ t i m e random.triangular(a, b)
7: end if

4.2. Model Implementation

For the implementation of the model, we chose Python programming language. This high-level language is already used by the engineering department of Cables SA, in addition to the multiple advantages of this language. The main Python libraries used in this project are the following: simpy (https://simpy.readthedocs.io/en/latest/index.html (accessed on 20 April 2022)), numpy (https://numpy.org/ (accessed on 20 April 2022)), pandas (https://pandas.pydata.org/ (accessed on 20 April 2022)), matplotlib (https://matplotlib.org/ (accessed on 20 April 2022)), and random (https://docs.python.org/3/library/random.html (accessed on 20 April 2022)).
Figure 4 shows the flowchart of the main functions in which the code is structured:
  • Control: this is the first function to be executed, and is responsible for invoking the functions used in the simulation according to their corresponding order;
  • Initialize_variables: this function is in charge of:
    Initializing the times used for the processes in the simulation model;
    Initializing the resources of the processes to be simulated;
    Calculating the number of wires of each type that the CCS machines have to produce to perform the production simulation;
    Declaring numpy arrays to store the simulation data.
  • Production_Control: This function is executed every 0.01 time unit. If any of the production processes has the necessary parts to be performed, it calls the corresponding Simulate_process name function, which is used to request one of the resources assigned to that process and wait until it can be accessed;
  • Metric_Control: This function is executed every one unit of time. It obtains the simulation metrics (process queue, process occupancy, and production times) and stores them using numpy arrays, in memory;
  • Graphing_saving_data: this function graphs the data obtained from the execution of the simulation model and saves the results in different excels, in order to facilitate the performance of more detailed analyses later.
Table 1 shows the main functions of the SimPy library that we use in the implementation of the simulation model.

4.2.1. Model Input

The fact that the model is parameterizable allows for testing different scenarios and comparing them with each other. Table 2 presents the input parameters of the model, the values that are valid for them, and a short description of each one.
Due to the fact that time distributions are used to simulate the processes, a single simulation run is not representative, so it is necessary to define a number of iterations to be performed. This parameter allows the user to perform as many simulations as considered convenient. The results obtained in each simulation are averaged to obtain the final output. Another parameter is the production batch size. In each iteration of the production, the number of wiring harnesses for each one of the variants that are produced is the BATCH_SIZE. Equation (1) is used to calculate the total number of wire harnesses produced (Q), where B is the batch size and I is the number of iterations.
Q = 8 B I
Besides this, the type of time distribution is used to define the distribution that the production times will follow in the execution of the simulations. Another parameter is the amplitude of the distribution used. This represents the percentage of the central value of the interval used to calculate the extremes (a and b) of the time distributions. Its values are in the range of [ 0 ; 1 ] to avoid negative times. If this value is closer to one, the time interval is wider. On the other hand, if the value is zero, the processes will always take a constant value. Additionally, the time to perform the processes is used together with the amplitude of the distribution to obtain the times of the different manufacturing processes. Lastly, the number of resources permits the analysis of several scenarios, changing the amount of resources in them. These parameters cannot take values of zero because this represents that this process has no resources to be performed.

4.2.2. Model Output

The wire harness examined in this project has eight variants, and each one of them has different production materials. This means a different production time for each variant. The time from the production of the first piece of the variant until the production of the variant is completed, considering all of the waiting times of the different manufacturing processes, has been obtained from the simulation. Additional data of interest are the production times without taking into account the waiting times. This refers to the time taken to produce a wiring harness, taking into account only the time spent in the different manufacturing processes. It ignores the time spent in the waiting queues of the resources. Additionally, in order to perform an analysis of the most used processes, the percent of production time that each resource is in use or in disuse has been obtained. Furthermore, the size of the waiting queue for each resource was determined, based on the number of processes waiting to use a given resource in a given time.

5. Results

A total of 100 simulation runs were performed for each configuration to obtain representative data. Moreover, in order to differentiate when we employ uniform or triangular symmetric distribution, we will add to the name of the experiments the following termination:
  • _U: for uniform distribution;
  • _T: for triangular symmetric distribution.
The time spread for this case will be taken as 15 % .

5.1. Basic Scenario

For this case study (we refer to it as S1), we implemented the simulation with the configuration shown in Table 3. It represents the current configuration of the manufacturing process of a wire harness for a real project of the Cables SA company. As we can see, all processes have just one resource assigned to them, with the exception of the assembly, which has two. The batch size used is equal to 50 and the number of iterations is 6. With this setup 300 ( 50 × 6 ), wiring harnesses are manufactured of each of the eight variants, for a total of 2400. This value represents the mean weekly demand.

5.1.1. Production Times

A total of 8694.5 min on average for each of the two time distributions is required to complete the fabrication of all the wiring harnesses in this layout. This time is bigger than the five working days. The average of the production times of the different variants (Table 4) shows that there is not much difference between the manufacturing times. This is because the material content and manufacturing process of each of the variants are very similar. The average production time is 13.378 min. In addition, the average production times for each of the variants are very similar for the two used probability distributions.
Histograms of the production times, without taking into account the waiting queue times, are presented in Figure 5. Furthermore, histograms are shown for each variant. Production times using the uniform distribution are in the range of approximately [ 12.838 ; 13.868 ] min, and for the symmetric triangular distribution they are found in the range [ 13.028 ; 13.732 ] . The range of the values taken by the production times for the uniform distribution is greater than that of the triangular distribution. This is because, when using the first one, the probability is uniformly distributed over the whole interval [ a ; b ] , while in the second one, it is more probable at the center of the interval ( c = a + b 2 ).

5.1.2. Occupancy of Production Means

Occupancy charts are shown for each of the different processes. Automated machines and manual or semi-automated machines have been shown separately. In addition, it is interesting to make a comparison between these cutting machines, which are the beginning of the production processes.
The CCS5 machine type is most occupied machine from the automated process type (Figure 6). This is because it produces the greatest number of cable types of the CCS machines. The occupancy of this resource is around 13 % . The low utilization of the automatic process indicates that they are capable of assimilating the workload of the manufacturing process. These machines are in reality used for producing components not just for this model of wire harness, but also for other references. Therefore, installed capacity in this area is much bigger than needed, as planed.
Table 5 shows these results in more detail; as can be seen, the occupancy rate of the automatic process with the uniform and triangular symmetric distributions is the same or very similar.
As shown in Figure 7, the packaging process has an occupancy close to 100 % ; this is where the current bottleneck in production is located. Welding, assembly, and electrical tests have approximately 30 % occupancy. This data indicates that the production line is unbalanced.
Table 6 presents these data in more detail. In addition, the results obtained using the two types of time distributions are also very similar.

5.1.3. Occupancy Queue of Production Means

Figure 8 shows the occupancy queue of the production means for this layout. Using the two types of time distributions (uniform and symmetric triangular), the process queue plots are similar. CCS machines do not have waiting queues because they are supplied by cable drums. The twisting and welding queues increase rapidly for a short period of time and then decrease. This accelerated increase is caused by the fact that the CCS machines have very low occupancy and produce very fast, since they are automated. The assembly and electrical test processes do not have a waiting queue, while the quality and packaging process has a queue during the whole simulation; this is because its occupation is around 100 % .

5.2. Alternative Scenarios with Increased Resources

Currently there is not much information about the production times, so in the scenarios, the amount of resources of the different manufacturing processes will be increased. The increase in the number of resources corresponds to the possibility of increasing the number of workstations as needed and having more employees performing the same process. This will allow to find the solution where the workload and the production line is balanced.
Table 7 shows the alternative scenarios that were created for the current layout. The number of CCS, the batch size, the number of iterations, and the width of the distribution used are the same as in the basic scenario, in order to keep the production times and the number of wiring harnesses produced and then compare the results. Since the quality and packaging process is the one with the highest utilization, the number of its resources is increased to attempt to balance the workload of the processes. In these scenarios, we increase the amount of resources of the processes with more workload.
Scenario S1 corresponds to the basic scenario. S6 shows a configuration in which all resources have been increased, and it is unrealistic and to obtain an idea of how much the current system can be improved. In S2, S3, and S4, the number of resources in the quality and packaging process has been increased. These scenarios are very interesting because they try to balance the workload of all the processes by increasing the number of resources of the most overloaded ones. Scenario S5 increases the number of resources for the two processes with the highest workload; these are the quality and packaging, and the welding process.

Analysis of Results

Table 8 shows the time (including queue waiting times) it takes to finish production in minutes. As can be seen, from S1 to S2, the times are reduced by approximately half, and this also happens from S2 to S3. Then, S4 and S5 improve the total production time, but this improvement is not substantial. Finally, S6, because it is the scenario with the most resources, obtains the best total production time.
Figure 9 shows the times presented in the previous table graphically.
The results of the occupancy percentage and the total simulation time for the different scenarios can be observed in Table 9. Figure 10 shows the data for semi-automatic and manual process using uniform distribution times.
Automatic processes have a low workload in all simulated scenarios because they have low execution times. They perform efficiently and can handle the workload of the production line. The quality and packaging process has an occupancy rate higher than 95 % in all scenarios. Additionally, the assembly process has the lowest workload of the manual and semi-automatic processes.
When the number of resources of the quality and packaging process is incremented to two and three, the workload of the other processes is increased. In S3, the welding workload exceeds 96 % , indicating that the work capacity of this process is being exceeded. Scenario S3 improves considerably on the basic scenario. Additionally, it significantly improves the total production time with respect to the base scenario (see Figure 9). In addition, this scenario balances the workload of the semi-automatic and manual process (see Figure 10). Even when S4 and S5 improve the total production time, this improvement is not substantial compared to S3.

6. Conclusions

The number of companies using simulations is increasing every day. Simulations are a problem-solving methodology that can be used to describe and analyze the behavior of a system. They are a very powerful tool that can be used before modifying an existing system or building a new one, and they allow us to reduce the possibilities of not meeting specifications, to identify and eliminate bottlenecks, avoid the under-utilization or over-utilization of resources, and optimize system performance. Simulations permit us to anticipate the real process, to validate it, and to obtain its best configuration. Consequently, this results in significant cost savings for the companies.
We study the production processes involved in the manufacturing of wiring harnesses for the automotive sector. In addition, we present some of the characteristics of the main simulation techniques used in the supply chain. A discrete simulation model of the production of wiring harnesses for a car door was developed. This model was implemented using the SimPy Python library. Finally, different resource configurations were studied in order to balance the production line. During the course of this work, we have been able to arrive at the following conclusions:
  • There is a significant difference in the utilization of the quality and packaging processes with respect to the other production processes. As a result, the current configuration of the production line is unbalanced. Therefore, changes in the wiring harness production configuration are necessary to optimize manufacturing;
  • The components (number of wires, clips, and connectors) and the manufacturing process of the eight wiring harness variants studied are very similar. Consequently, their average production times are very similar;
  • The results of the scenarios analyzed show that it is possible to distribute better the workload of the processes. For this objective, we suggest increasing the number of resources assigned to the quality and packaging process. This would improve the capacity and productivity of the wire harness production process;
  • Automated processes are performed efficiently because they have a very low workload. Furthermore, the automation of wire harness production processes is very complex due to variability, the deformable properties of the wires, and the miniaturization of production;
  • SimPy Python library allows the implementation of DES models. It has several limitations since it does not have a visual interface and can be difficult to use for professionals that are not familiar with programming. On the other hand, it allows great flexibility since the programmer is the owner of the code, which makes it a suitable choice for the development of more powerful software to carry out simulations.

Future Research

For future research, it will be interesting to study the production process of the more complex wiring harnesses (KSK) and to build a simulation model of them. Simulating the manufacture of KSK is very challenging due to the hundreds of variants and components involved. In addition, usually the majority of production problems and delays occur in this type of complex wiring harness. Therefore, this model will be a very helpful tool for the organization. In addition, we suggest acquiring more data (transfer time between processes, total production times, and number of wiring harnesses failing electrical tests and quality tests, as well as machine down-times) to improve the model. These data would permit us to carry out an exhaustive analysis in order to identify the distributions followed by the times, and to make possible an increase in the realism of the model by taking into account the times of this study.

Author Contributions

Conceptualization, R.G. and J.P.; methodology, R.G., A.S.-H. and J.F.; writing—original draft preparation, R.G. and A.S.-H.; writing—review and editing, R.G., A.S.-H., J.P. and J.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fisher, M.L.; Ittner, C.D. The impact of product variety on automobile assembly operations: Empirical evidence and simulation analysis. Manag. Sci. 1999, 45, 771–786. [Google Scholar] [CrossRef] [Green Version]
  2. Trommnau, J.; Kühnle, J.; Siegert, J.; Inderka, R.; Bauernhansl, T. Overview of the state of the art in the production process of automotive wire harnesses, current research and future trends. Procedia CIRP 2019, 81, 387–392. [Google Scholar] [CrossRef]
  3. Hardung, B.; Kölzow, T.; Krüger, A. Reuse of software in distributed embedded automotive systems. In Proceedings of the 4th ACM International Conference on Embedded Software, Pisa, Italy, 27–29 September 2004; pp. 203–210. [Google Scholar]
  4. Rivero, A.A.L. From complex mechanical system to complex electronic system: The case of automobiles. Int. J. Automot. Technol. Manag. 2014, 14, 65–81. [Google Scholar] [CrossRef]
  5. Klier, T.H.; Rubenstein, J.M. Who Really Made Your Car?: Restructuring and Geographic Change in the Auto Industry; WE Upjohn Institute: Kalamazoo, MI, USA, 2008. [Google Scholar]
  6. Raskin, A.; Shah, S. The Emergence of Hybrid Vehicles: Ending Oil’s Stranglehold on Transportation and the Economy; AllianceBernstein: New York, NY, USA, 2006. [Google Scholar]
  7. Oliver, J.D.; Rosen, D.E. Applying the environmental propensity framework: A segmented approach to hybrid electric vehicle marketing strategies. J. Mark. Theory Pract. 2010, 18, 377–393. [Google Scholar] [CrossRef]
  8. Tran, D.D.; Vafaeipour, M.; El Baghdadi, M.; Barrero, R.; Van Mierlo, J.; Hegazy, O. Thorough state-of-the-art analysis of electric and hybrid vehicle powertrains: Topologies and integrated energy management strategies. Renew. Sustain. Energy Rev. 2020, 119, 109596. [Google Scholar] [CrossRef]
  9. Ilgevicius, A. Analytical and Numerical Analysis and Simulation of Heat Transfer in Electrical Conductors and Fuses. Ph.D. Thesis, Universität der Bundeswehr München, Neubiberg, Germany, 2004. [Google Scholar]
  10. Rius Rueda, A. A Novel Optimization Methodology of Modular Wiring Harnesses in Modern Vehicles: Weight Reduction and Safe Operation; Universitat Politècnica de Catalunya: Barcelona, Spain, 2017. [Google Scholar]
  11. Koch, S.; Antrekowitsch, H. Aluminum alloys for wire harnesses in automotive engineering. BHM Berg-und Hüttenmännische Monatshefte 2007, 152, 62–67. [Google Scholar] [CrossRef]
  12. Yamano, Y.; Hosokawa, T.; Hirai, H.; Ono, J.; Otsuka, T.; Tabata, M.; Otsuka, Y.; Nishikawa, T.; Kitamura, S.; Yoshimoto, J. Development of aluminum wiring harness. SEI Tech. Rev. 2011, 73, 73–80. [Google Scholar]
  13. Fernandes, M.M.; de Almeida, I.A.; Junior, H.M. Automotive Miniaturization Trend: Challenges for Wiring Harness Manufacturing; Technical Report; SAE Technical Paper: Warrendale, PA, USA, 2010. [Google Scholar]
  14. Aebersold, M. The History of Simulation and Its Impact on the Future. AACN Adv. Crit. Care 2016, 27, 56–61. [Google Scholar] [CrossRef] [PubMed]
  15. Tako, A.A.; Robinson, S. The application of discrete event simulation and system dynamics in the logistics and supply chain context. Decis. Support Syst. 2012, 52, 802–815. [Google Scholar] [CrossRef] [Green Version]
  16. Owen, C. Selection of Simulation Tools for Improving Supply Chain Performance. Ph.D. Thesis, Aston University, Birmingham, UK, 2013. [Google Scholar]
  17. Sterman, J. Business Dynamics; McGraw-Hill, Inc.: New York, NY, USA, 2000. [Google Scholar]
  18. Kotir, J.H.; Smith, C.; Brown, G.; Marshall, N.; Johnstone, R. A system dynamics simulation model for sustainable water resources management and agricultural development in the Volta River Basin, Ghana. Sci. Total Environ. 2016, 573, 444–457. [Google Scholar] [CrossRef] [PubMed]
  19. Sahin, O.; Stewart, R.A.; Porter, M.G. Water security through scarcity pricing and reverse osmosis: A system dynamics approach. J. Clean. Prod. 2015, 88, 160–171. [Google Scholar] [CrossRef] [Green Version]
  20. Macal, C.M.; North, M.J. Tutorial on agent-based modeling and simulation. In Proceedings of the Winter Simulation Conference, Orlando, FL, USA, 4 December 2005; p. 14. [Google Scholar]
  21. Crooks, A.T.; Heppenstall, A.J. Introduction to agent-based modelling. In Agent-Based Models of Geographical Systems; Springer: Berlin, Germany, 2012; pp. 85–105. [Google Scholar]
  22. Juan, A.A.; Faulin, J.; Grasman, S.E.; Rabe, M.; Figueira, G. A review of simheuristics: Extending metaheuristics to deal with stochastic combinatorial optimization problems. Oper. Res. Perspect. 2015, 2, 62–72. [Google Scholar] [CrossRef] [Green Version]
  23. Reyes-Rubiano, L.; Ferone, D.; Juan, A.A.; Faulin, J. A simheuristic for routing electric vehicles with limited driving ranges and stochastic travel times. SORT 2019, 1, 3–24. [Google Scholar]
  24. Law, A.M.; Kelton, W.D.; Kelton, W.D. Simulation Modeling and Analysis; McGraw-Hill: New York, NY, USA, 2000; Volume 3. [Google Scholar]
  25. Robinson, S. Discrete-event simulation: From the pioneers to the present, what next? J. Oper. Res. Soc. 2005, 56, 619–629. [Google Scholar] [CrossRef] [Green Version]
  26. Babulak, E.; Wang, M. Discrete Event Simulation; Goti, A., Ed.; Sciyo: Rijeka, Croatia, 2010; p. 1. [Google Scholar]
  27. Huling, D.; Miles, S.B. Simulating disaster recovery as discrete event processes using python. In Proceedings of the 2015 IEEE Global Humanitarian Technology Conference (GHTC), Seattle, WA, USA, 8–11 October 2015; pp. 248–253. [Google Scholar]
  28. Misra, J. Distributed discrete-event simulation. ACM Comput. Surv. (CSUR) 1986, 18, 39–65. [Google Scholar] [CrossRef] [Green Version]
  29. Matloff, N. Introduction to Discrete-Event Simulation and the Simpy Language; Retrieved on August; Department of Computer Science, University of California: Davis, CA, USA, 2008; Volume 2, pp. 1–33. [Google Scholar]
  30. Iwata, C.; Mavris, D. Object-oriented discrete event simulation modeling environment for aerospace vehicle maintenance and logistics process. Procedia Comput. Sci. 2013, 16, 187–196. [Google Scholar] [CrossRef] [Green Version]
  31. Pinho, T.; Coelho, J.; Oliveira, P.; Oliveira, B.; Marques, A.; Rasinmäki, J.; Moreira, A.; Veiga, G.; Boaventura-Cunha, J. Routing and schedule simulation of a biomass energy supply chain through SimPy simulation package. Appl. Comput. Inform. 2021, 17, 36–52. [Google Scholar] [CrossRef]
  32. Castrup, H. Distributions for uncertainty analysis. In Proceedings of the International Dimensional Workshop, Sonoma, CA, USA, 31 March–1 April 2001; pp. 1–12. [Google Scholar]
Figure 1. Wiring harness inside an automobile.
Figure 1. Wiring harness inside an automobile.
Sustainability 14 07212 g001
Figure 2. Wire harness production line.
Figure 2. Wire harness production line.
Sustainability 14 07212 g002
Figure 3. Flow diagram of the production process.
Figure 3. Flow diagram of the production process.
Sustainability 14 07212 g003
Figure 4. Flowchart main functions implemented.
Figure 4. Flowchart main functions implemented.
Sustainability 14 07212 g004
Figure 5. Histogram of the manufacturing time for the variants without taking into account the waiting queue times (x-axis is given in minutes and y-axis is number of variants).
Figure 5. Histogram of the manufacturing time for the variants without taking into account the waiting queue times (x-axis is given in minutes and y-axis is number of variants).
Sustainability 14 07212 g005
Figure 6. Occupancy rate graph (in percentage) of automatic processes S1.
Figure 6. Occupancy rate graph (in percentage) of automatic processes S1.
Sustainability 14 07212 g006
Figure 7. Occupancy rate graph (in percentage) of the manual and semi-automatic processes S1.
Figure 7. Occupancy rate graph (in percentage) of the manual and semi-automatic processes S1.
Sustainability 14 07212 g007
Figure 8. Number of entities from the resource occupancy queue in S1 (x-axis is given in minutes and y-axis represents the number of entities in the queue).
Figure 8. Number of entities from the resource occupancy queue in S1 (x-axis is given in minutes and y-axis represents the number of entities in the queue).
Sustainability 14 07212 g008
Figure 9. Bar chart of total manufacturing (y-axis is given in minutes).
Figure 9. Bar chart of total manufacturing (y-axis is given in minutes).
Sustainability 14 07212 g009
Figure 10. Occupancy rate graph (in percentage) of the semi-automatic and manual processes for alternative scenarios (using a uniform distribution time).
Figure 10. Occupancy rate graph (in percentage) of the semi-automatic and manual processes for alternative scenarios (using a uniform distribution time).
Sustainability 14 07212 g010
Table 1. Main elements of the SimPy library used.
Table 1. Main elements of the SimPy library used.
CodeDescription
env = simpy.Environment()Creates the environment where the simulation will be performed.
resource = simpy.Resource(env, 1)Creates in the environment (env) passed as parameter a quantity of a resource with a specified capacity (one in our example).
env.run()If no arguments are passed, the  simulation is performed until there are no more events.
env.run(until=100)The simulation runs until the time provided (100 in the example).
env.nowProvides the current simulation time.
env.process(simulate_CCS())Attaches to the simulation environment the process passed as a parameter.
yield env.timeout(15)A resource when executing the timeout, it tells the environment to wait (sleep) an amount of time equal to the value passed as a parameter.
Table 2. Description of the input parameters of the simulation model.
Table 2. Description of the input parameters of the simulation model.
ParameterTypeValid ValuesDescription
Nint x Z , x 1 Number of simulations to be performed.
BATCH_SIZEint x Z , x 1 Size of production batches.
NUM_ITERATIONSint x Z , x 1 Number of production iterations.
DISTRIBUTIONstring x [ u n i f o r m , t r i a n g u l a r ] Type of time distribution to be used.
WIDEfloat x R , 0 x 1 Amplitude of the distribution used.
CCS_TIMESdictionary x R , x 1 Time to perform the processes.
TWISTING_TIMEfloat x R , x 1
WELDING_TIMEfloat x R , x 1
ASSEMBLY_TIMEfloat x R , x 1
ELECTRICAL_TIMEfloat x R , x 1
PACKAGING_TIMEfloat x R , x 1
NUMBER_CCS1int x Z , x 1 Number of resources of the different processes.
NUMBER_CCS2int x Z , x 1
NUMBER_CCS3int x Z , x 1
NUMBER_CCS4int x Z , x 1
NUMBER_CCS5int x Z , x 1
NUMBER_CCS6int x Z , x 1
NUMBER_CCS7int x Z , x 1
NUMBER_CCS8int x Z , x 1
NUMBER_TWISTINGint x Z , x 1
NUMBER_WELDINGint x Z , x 1
NUMBER_ASSEMBLYint x Z , x 1
NUMBER_ELECTRICALint x Z , x 1
NUMBER_PACKAGINGint x Z , x 1
Table 3. Actual configuration of the layout in the plant (S1).
Table 3. Actual configuration of the layout in the plant (S1).
ParametersValuesDescription
N100 Number of simulations to be performed.
BATCH_SIZE50 Size of production batches.
NUM_ITERATIONS6 Number of production iterations.
WIDE0.15Amplitude of the distribution used.
NUMBER_CCS11Number of resources of the different processes.
NUMBER_CCS21
NUMBER_CCS31
NUMBER_CCS41
NUMBER_CCS51
NUMBER_CCS61
NUMBER_CCS71
NUMBER_CCS81
NUMBER_TWISTING1
NUMBER_WELDING1
NUMBER_ASSEMBLY2
NUMBER_ELECTRICAL1
NUMBER_PACKAGING1
Table 4. Average production times in minutes of the variants in scenario S1.
Table 4. Average production times in minutes of the variants in scenario S1.
Total TimeV1V2V3V4V5V6V7V8
S1_U 8695 13.392 13.372 13.372 13.375 13.378 13.377 13.382 13.376
S1_T 8694 13.377 13.378 13.377 13.377 13.380 13.382 13.372 13.375
Average 8694.5 13.385 13.375 13.375 13.376 13.379 13.380 13.377 13.376
Table 5. Occupancy rate (in percentage) of automatic process S1.
Table 5. Occupancy rate (in percentage) of automatic process S1.
CCS1CCS2CCS3CCS4CCS5CCS6CCS7CCS8Twisting
S1_U 0.839 6.202 1.427 4.033 12.703 1.678 0.839 1.678 2.426
S1_T 0.839 6.203 1.427 4.036 12.705 1.679 0.839 1.679 2.426
Table 6. Occupancy rate (in percentage) of manual and semi-automatic process S1.
Table 6. Occupancy rate (in percentage) of manual and semi-automatic process S1.
WeldingAssemblyElectrical TestQuality & Packaging
S1_U 32.626 28.689 30.048 99.355
S1_T 32.627 28.663 30.027 99.354
Table 7. Configuration of alternative scenarios.
Table 7. Configuration of alternative scenarios.
ParametersS1S2S3S4S5S6
N100100100100100100
BATCH_SIZE505050505050
NUM_ITERATIONS666666
WIDE0.150.150.150.150.150.15
NUMBER_CCS1111111
NUMBER_CCS2111111
NUMBER_CCS3111111
NUMBER_CCS4111111
NUMBER_CCS5111111
NUMBER_CCS6111111
NUMBER_CCS7111111
NUMBER_CCS8111111
NUMBER_TWISTING111111
NUMBER_WELDING111122
NUMBER_ASSEMBLY222224
NUMBER_ELECTRICAL111112
NUMBER_PACKAGING123445
Table 8. Total manufacturing time in minutes of the alternative scenarios.
Table 8. Total manufacturing time in minutes of the alternative scenarios.
S1_US1_TS2_US2_TS3_US3_TS4_US4_TS5_US5_TS6_US6_T
Total Time8.6958.6944.3774.3772.9392.9382.8912.8912.6502.6491.7671.766
Table 9. Occupancy rate (in percentage) of the alternative scenarios.
Table 9. Occupancy rate (in percentage) of the alternative scenarios.
S1_US1_TS2_US2_TS3_US3_TS4_US4_TS5_US5_TS6_US6_T
CSS10.8390.8391.6671.6672.4832.4842.5242.5252.7542.7554.1344.132
CSS26.2026.20312.32012.32118.34818.35718.64918.65620.35220.35430.55230.535
CSS31.4271.4272.8362.8344.2234.2214.2924.2934.6844.6837.0337.022
CSS44.0334.0368.0158.01711.93511.94412.13212.13913.23813.24519.86919.863
CSS512.70312.70525.23225.23437.57837.59238.19838.20841.68041.69662.56162.527
CSS61.6781.6793.3333.3354.9664.9685.0485.0505.5085.5098.2668.264
CSS70.8390.8391.6671.6672.4842.4842.5242.5252.7542.7554.1344.132
CSS81.6781.6793.3333.3354.9654.9685.0485.0505.5075.5108.2678.264
Twisting2.4262.4264.8204.8167.1797.1767.2967.2937.9607.95911.95111.939
Welding32.62632.62764.80264.81096.51096.54098.10898.12353.51053.53780.34180.293
Assembly28.68928.66357.00256.91284.89284.76086.27586.17192.95993.05772.84972.984
Ele. Test30.04830.02759.64959.63988.83388.89790.29390.35598.54198.54576.65575.739
Qua. & Pac.99.35599.35498.72398.71698.09398.08995.52795.08598.66098.65497.99897.984
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Guerrero, R.; Serrano-Hernandez, A.; Pascual, J.; Faulin, J. Simulation Model for Wire Harness Design in the Car Production Line Optimization Using the SimPy Library. Sustainability 2022, 14, 7212. https://doi.org/10.3390/su14127212

AMA Style

Guerrero R, Serrano-Hernandez A, Pascual J, Faulin J. Simulation Model for Wire Harness Design in the Car Production Line Optimization Using the SimPy Library. Sustainability. 2022; 14(12):7212. https://doi.org/10.3390/su14127212

Chicago/Turabian Style

Guerrero, Ruddy, Adrian Serrano-Hernandez, Jose Pascual, and Javier Faulin. 2022. "Simulation Model for Wire Harness Design in the Car Production Line Optimization Using the SimPy Library" Sustainability 14, no. 12: 7212. https://doi.org/10.3390/su14127212

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop