SciELO - Scientific Electronic Library Online

 
vol.13 issue25Comparison of ATCOR Atmospheric and ELM Linear Empirical Correction Models Applied to WorldView-2 ImagesPulse Width Prediction Control Technique Applied to a Half-Bridge Boost author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Tecciencia

Print version ISSN 1909-3667

Tecciencia vol.13 no.25 Bogotá July/Dec. 2018  Epub June 20, 2019

https://doi.org/10.18180/tecciencia.2017.23.5 

Articles

Programming of Job Shop Production Systems with Fuzzy Logic

Programación de Sistemas de Producción Job Shop con Lógica Difusa

Luis Eduardo Leguizamón-Castellanos1  * 

1 Servicio Nacional de Aprendizaje, SENA, Colombia.


Abstract

This article proposes a decision-making algorithm based on the "fuzzy logic" as an optimization technique, which allows to find a good solution to the problem of determining the priority (sequencing) of service or manufacture of jobs in the programming of intermittent production systems, Job Shop. The combinatorial nature and complexity of the problem motivates the exploration of other alternatives solutions to the traditionally used. Initially, the fuzzy logic controller structure (number of input variables, rules and output) is determined in accordance with the objective functions to be optimized. Triangular membership functions are selected for the batch size, the delivery date, the processing time, the number of tools required in each operation, and the priority of the processing the jobs. The fuzzy rules base is defined, and the controller model is formulated (fuzzification, evaluation and defuzzification). The algorithm is developed in Matlab's ®Simulink ®Fuzzy logic toolbox, achieving better results than those obtained with other methods.

Keywords: Fuzzy Logic; Sequencing; Job Shop; Membership Function

Resumen

Este artículo propone un algoritmo de toma de decisiones con base en la lógica difusa (fuzzy logic) como técnica de optimización, que permita encontrar una buena solución al problema de determinar la prioridad (secuenciación) de servicio o fabricación de trabajos en la programación de sistemas de producción intermitente (Job Shop). La naturaleza combinatoria y complejidad del problema motiva la exploración de otras alternativas de solución a las tradicionalmente usadas. Inicialmente se determina la estructura del controlador difuso (número de variables de entrada, reglas y salida) en concordancia con las funciones objetivo a optimizar. Se seleccionan funciones de membresía triangulares para el tamaño de lote, la fecha de entrega, el tiempo de procesamiento, el número de herramientas necesarias en cada operación y la prioridad de procesamiento de los trabajos. Se define la base de reglas difusas y se formula el modelo del controlador (fuzzificación, evaluación y defuzzificación). El algoritmo es desarrollado en ®Simulink y ®Fuzzy logic toolbox de Matlab, alcanzando mejores resultados que los obtenidos con otros métodos.

Palabras clave: Lógica Difusa; Secuenciación; Sistemas de Producción Intermitente; Función de Membresía

1. Introduction

Programming production involves assigning workloads, sequencing jobs and timing them. Of these activities, sequencing is perhaps the most studied and is defined as the priority of service or processing of the jobs that are in the waiting line of the production system [1].

This activity is possibly the most complex of the process of programming operations due to its nature of combinatorial problem, especially if it is about intermittent production systems (job shop), which are characterized by manufacturing a wide variety of products in batches (batch), through several operations in different routes and processing times.

One of the first to study and propose a method of heuristic solution to this problem was Jackson [2]. Since then, the different methodologies that have been designed to solve the problem have been classified as heuristics and exact methods [3], see Table 1.

Table 1 Solution Methods. 

Exact methods can only be used in the solution of small problems due to the large number of variables that must be defined, and the excessive computational time required in their solution. The most common approach to the intermittent production is to use dispatch rules with priorities [3].

Most methods focus on models that satisfy only a single goal, but in the real world, usually, more than one of them most be satisfied simultaneously [4]. The most efficient programming systems must be able to achieve objectives concurrently such as, minimize the time of completion of all jobs (makespan), maximize the use of the machines, minimize costs of enlistment and preparation of parts and machines, maintain the balance of the workloads and meet the delivery deadline among other things.

2. Materials and methods

The problem consists in determining the sequence of operation of n jobs on m machines, to optimize a certain measure of performance that measures the efficiency of the program. The manufacture of each job requires the execution, in a certain established order, of a series of prefixed operations where each operation is assigned to one of the m machines and has a determined and known processing time. Problems such as that described above originate in the most diverse sectors of goods and/or services production.

The problem can be solved by total enumeration. However, since there are (n!) m possible sequences of operation and several performance measures or objective functions to optimize, is classified as a NP - hard problem, due to there is no algorithm that solves it in a reasonable computational time [2].

For 15 jobs on 6 machines there are (15!)6 possible sequences to be executed, here the question would be, which is the best? The answer to this question motivates the application of new solution alternatives and depends of the objective functions to optimize and the system variables. The parameters and variables of the model are observed in Table 2.

Table 2 Parameters and variables - job shop. 

Given the difficulty of maximizing profits or minimizing costs in a programming process, termination time functions are used, where the goal is to minimize these functions [2]. Some of these are shown in Table 3.

Table 3 Time functions - job shop. 

The objective of this work is to find a production program by applying fuzzy logic for the case proposed in figure 1[5], which maximizes the use of the machines and at the same time minimize the makespan, the maximum wait time, the maximum advance, the maximum delay and the product in process.

Figure 1 Production System job shop. 

The variables to be considered in the problem are: the process time, the committed delivery deadline, the batch size, and the number of tools required in each operation, as shown in Table 4.

Table 4 Variables of the proposed case. 

3. Proposed methodology

The information provided by the input variables is imprecise [6] because of its ambiguity, since they are bounded in intervals, for this reason we are in the presence of a deterministic uncertainty. Due to this, the method that is proposed involves the application of a Fuzzy Inference System (FIS), as an element of decision making. See flow diagram of Figure 2.

Figure 2 Proposed method flow diagram. 

The FIS is comprised of the 4 input variables, a set of 81 rules of the mamdani type with the form IF - THEN (If -Then) and one output that represents the priority of the workpiece to be processed, as shown in Figure 3.

Figure 3 Structure of the FIS. 

3.1 Inputs of the fuzzy logic controller

The 4 input variables that affect the problem have each one of them with a universe of discourse divided into 3 fuzzy sets, with small, medium and large linguistic variables [7] respectively, which represent the application of judgment and experience of the programmer when making a decision about the determination of the priority of the jobs.

The membership functions used are of the triangular type and right and left saturation, since they have been the ones that have shown the best behavior in similar studies [8] to this work. Figure 4 shows the fuzzy sets and the membership functions for the batch size.

Figure 4 Fuzzy sets of the batch size. 

3.2 Output of the fuzzy logic controller

The output obtained corresponds to a priority value in percentage, which, ordered from largest to smallest, determines the processing sequence of the pieces. The universe of discourse is between 0 and 1 and is represented by nine fuzzy sets, seven of them are represented by triangular membership functions, and two by saturation functions (left and right) as can be seen in Figure 5.

Figure 5 Fuzzy sets of the priority. 

3.3 Fuzzy Rules

The fuzzy rules also known as a blurry rules, combine input fuzzy sets or premises through logical conjuncts (and, or) that are associated with an output fuzzy set or consequence. These rules allow us to express the acquired knowledge about the relationship between antecedents and consequences of the problem under study [9].

The rules are the result of applying the decisions commonly made by the programmers of these production systems based on their experience [5]. Two of the eighty-one ("A" ~^"x " "=" "3" A"4" ) rules designed in the solution of this problem are described below.

  • IF batch size is small and processing time is small and the delivery date is small, and the number of tools is small THEN priority is 0.9.

  • IF batch size is small and processing time is large and delivery date is large and the number of tools is large THEN priority is 0.6.

3.4 Operation of the FIS

The fuzzification stage of the values of the input variables for each job consists of obtaining the fuzzy variables or belonging degrees of the input value x of the variable to each of the fuzzy sets "μ" _("A"_"i") "(x)" . See figure 6.

Figure 6 FIS Functioning [10]

The second stage is the evaluation of the control rules, which consists of determining the rules that are activated in the face of a certain input value. Each rule has an associated weight i, that is calculated with the equation (1). This weight sets the belonging degree of the diffuse output variable in the fuzzy sets"μ" _("E"_"i") "(y)" .

Finally, the defuzzification consists in finding a numerical value for the output from the fuzzy sets that compose it. Here the centroid method is used which consists in creating for the output (y) a membership "μ(y) " function to a new set resulting from the union of fuzzy sets to which the output value belongs partially [10]. These are obtained from the equation (2).

Where:

y = Centroid.

yk= Centroid of the membership function on the output set k.

Δk(y)=Subarea de k where is k.

For the implementation of the algorithm the pseudo-code shown in table 5 is developed, this provides a general description of the steps of how the fuzzy logic controller calculates the output (y) from the inputs (x1, x2, x3, x4).

Table 5 Pseudo-code algorithm proposed. 

3.5 Simulation and software

For the simulation of the FIS, the fuzbatch.mat file was created in ®Matlab with the information of the input variables and the fuzbatch.m file that executes the program of the operating instructions of the system.

With ®Fuzzy logic toolbox[11], the membership functions of membership for the inputs and the output were designed, as well as the control rules. Finally, the fuzbatchcdm block diagram was developed in ®Simulink shown in figure 7, which allows to simulate and obtain the process priority of the pieces.

Figure 7 Block diagram - proposed method. 

4. Results and Discussion

The results obtained by running the program and the simulation, indicates that the pieces with highest priority value should be processed first.

Initially there is the case for the fuzzy sets of the inputs with equal relative weight. Here, the piece that must be processed first is 1, then 12, 9,..., until finish with the work 5, as seen in figure 8, achieving a makespan of 2195 minutes. In table 6 shows that this program reaches better results than those obtained with the application of dispatch rules in five of the six objective functions to be optimized.

Figure 8 Fuzzy logic program with equal weight of the input variables. 

Table 6 Comparison of results. 

If the relative weight is increased for the batch size, the makespan is reduced to 1945 minutes. In this case the piece that must be processed first is 3, then 7, 15,..., until finishing with piece 5. See Figure 9.

Figure 9 Fuzzy logic program with greater weight of the batch size. 

Finally, the optimal solution is obtained by simultaneously increasing the relative weight for the batch size and the processing time. Here piece 3 must be processed first, followed by 2, 4,..., until finishing with piece 11, achieving a makespan of 1911 minutes. See Figure 10.

Figure 10 Optimal program with fuzzy logic. 

The results obtained in the three simulations are condensed in Table 6. It shows that the objective functions initially proposed are satisfied, and the optimal solution is achieved that minimizes the total flow time.

For the solution with inputs of equal relative weight with respect to the dispatch rules, the completion time is improved by 2.96%, the maximum wait time by 9.51%, the maximum advance by 0.11% and the use of the machines by 2.06%, with no backlog, see Table 7.

Table 7 Comparison of results with inputs of equal relative weight with respect to the dispatch rules. 

When the relative weight of the batch size is increased, improves the completion time by 14.01%, the maximum wait time by 10.20%, the maximum advance by 11.39% and the use of machinery in 11.02%, without any delay. It is then evident, that the relative weights of the inputs (batch size and processing time) directly influence the priority of the processing jobs in the job shop production system.

Acknowledgments

I would like to thank to the SENA Industrial Management Center and the ECCI University for their invitation as a speaker at the III Congress of Industrial Production Management and the VII Congress of Resource Management in Production Plants.

References

[1] L. E. Leguizamón Castellanos, «Programación de las actividades logísticas con algoritmos genéticos,» Bogotá DC, 2013. [ Links ]

[2] R. L. J. Daniel Sipper, Planeación y control de la producción, México, D.F.: McGraw-Hill, 1998. [ Links ]

[3] E. Alexander Alberto Correa Espinal, «Secuenciación de operaciones para configuraciones de planta tipo flexible Job Shop: Estado del arte ,» Revista Avances en Sistemas e Informática., vol. 5, n° 3, p. 11, 04 Febrero 2008. [ Links ]

[4] M. L. Pinedo, Scheduling Theory, Algorithms, and Systems, New York: Springer, 2012. [ Links ]

[5] O. A. y. S. K. O. Bilkay, «job shop scheduling using fuzzy logic,» The International Journal of Advanced Manufacturing Technology, vol. 23, pp. 606-619, 2004. [ Links ]

[6] M. J. Redondo, La logica Fuzzy y su aplicacion en la limitación de recursos, Valencia: Universidad Politecnica de Valencia, 2013. [ Links ]

[7] P. E. Onwuachu Uzochukwu C, «Application of Fuzzy Logic to Predictive Job Shop Scheduling in an Interconnected System,» International Journal of Computer Applications, vol. 145, n° 3, pp. 19-24, 2016. [ Links ]

[8] S. Y. Kevin M. Passino, Fuzzy Control, California: Addison Wesley Longman, 1998. [ Links ]

[9] A. S. M. Bonifacio Martin del Brio, Redes Neuronales y Sistemas Difusos, México, D.F: Alfaomega Grupo Editor, S.A, 2002. [ Links ]

[10] V. J. M. José R. Hilera, Redes Neuronales Artificiales., Santafé de Bogotá: Alfaomega, S.A, 2000. [ Links ]

[11] The Math Works, Inc. Fuzzy Logic Toolbox User's Guide, Natick: 3 Apple Hill Drive, 2017. [ Links ]

How to cite: Leguizamon, L.E., Programming of Job Shop Production System with Fuzzy Logic , TECCIENCIA, Vol. 13 No. 25, 39-45, 2018.DOI: http://dx.doi.org/10.18180/tecciencia.2017.23.5

Received: February 12, 2018; Accepted: July 08, 2018; other: August 29, 2018

* Corresponding Author. E-mail: leleguizamon@misena.edu.co

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License