Available online at www.sciencedirect.com Available online at www.sciencedirect.com
ScienceDirect ScienceDirect
Procedia Computer Science 00 (2019) 000–000 Available online at www.sciencedirect.com Procedia Computer Science 00 (2019) 000–000
ScienceDirect
www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia
Procedia Computer Science 150 (2019) 603–608
13th International Symposium “Intelligent Systems” (INTELS’18) 13th International Symposium “Intelligent Systems” (INTELS’18)
The Crossover Operator of a Genetic Algorithm as Applied The Crossover Operator of a Genetic Algorithm as Applied to the Task of a Production Planning to the Task of a Production Planning S.L. Podvalny, M.I. Chizhov, P.Y. Gusev*, K.Y. Gusev S.L. Podvalny, M.I. Chizhov, P.Y. Gusev*, K.Y. Gusev
Voronezh State Technical University, Moskovskii prospekt, 14, Voronezh, 394026, Russian Federation Voronezh State Technical University, Moskovskii prospekt, 14, Voronezh, 394026, Russian Federation
Abstract Abstract In this paper we propose using a genetic crossover operator for the task of detecting the optimal queue of a product parts. We In this paper we propose using genetic crossover operator theoftask detecting the optimal queue of a product parts. in Wea performed a literature review onathe problem and defined thefor goal this of work. An offered crossover operator is presented performed away. literature the problem and defined goal of this work.Comparative An offered crossover operator is presented in a formalized Basedreview on thison operator was developed the the optimizing software. analysis of the developed software formalized way.solution Based on operator was developed the optimizing software. Comparative analysis of the developed software and the existed wasthis performed. and the existed solution was performed. © 2019 The Author(s). Published by Elsevier B.V. © 2019 The Authors. Published by Elsevier B.V. © 2019 The Author(s). Published Elsevier B.V. This is an open access article underbythe CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the scientific committee of Peer-review under responsibility of the scientific committee of the the 13th 13th International InternationalSymposium Symposium“Intelligent “IntelligentSystems” Systems”(INTELS’18) (INTELS’18). Peer-review under responsibility of the scientific committee of the 13th International Symposium “Intelligent Systems” (INTELS’18) Keywords: planning; genethic algorithms; crossover. Keywords: planning; genethic algorithms; crossover.
1. Introduction 1. Introduction Modern production system cannot exist without using of a product lifecycle management system. The tasks of a Modern production system cover cannotthe exist without using of a product lifecycle tasks ofAa product lifecycle management whole production process: from a designmanagement statement tosystem. productThe utilization. product lifecycle management cover production process: from a design statement to product utilization. production process plays a vital roletheinwhole a product lifecycle. A product demands and price are depending on A a process a vital role inofa aproduct lifecycle. A product and price are depending production speed andplays quality. In the case production standstill a productdemands may become irrelevant that leads toonthea production speed and quality. In the case of a production standstill a product may become irrelevant that leads to the financial loss. financial loss. Production on term is provided by the modern software packages of planning. A production planning can be Production term is provided by the modern software packages of planning. A production planning be performed bothon long-term (for the entire period of production) and short-term perspective (processing of somecan parts performed both long-term (for the entire period of production) and short-term perspective (processing of some parts of a product). of a product). * Corresponding author. Tel.: +7-952-551-1640. address:author.
[email protected] * E-mail Corresponding Tel.: +7-952-551-1640. E-mail address:
[email protected] 1877-0509 © 2019 The Author(s). Published by Elsevier B.V. This is an open access underPublished the CC BY-NC-ND 1877-0509 © 2019 Thearticle Author(s). by Elsevier license B.V. (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the committee of the 13th International Symposium “Intelligent Systems” (INTELS’18) This is an open access article under the scientific CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the scientific committee of the 13th International Symposium “Intelligent Systems” (INTELS’18)
1877-0509 © 2019 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the scientific committee of the 13th International Symposium “Intelligent Systems” (INTELS’18). 10.1016/j.procs.2019.02.100
604 2
S.L. Podvalny et al. / Procedia Computer Science 150 (2019) 603–608 S.L. Podvalny et al. / Procedia Computer Science 00 (2019) 000–000
The problem is particularly acute for a short-term planning with wide components variety and frequent changeover of equipment [1]. With the new constraining conditions (priority order intake, production rescheduling and etc.) a production plan changing for this equipment is required. Such “critical” equipment take place in most of domestic enterprises. Usually it is a large machining center that cannot be doubled by a reason of high price. Speed of planning makes all the difference in a production deadline and standing time of equipment. Various optimization algorithms provide an adequate speed of an operational production plan generation. Among these algorithms should be highlighted the line of genetic algorithms that are well-found in dealing with such issues [2]. Optimization problem definition In a real production process a production time of a certain items number depends on the following factors: machine time on a certain workstation; change-over time of equipment; queue time; transportation time; probability of rejection; unexpected circumstances: equipment failure, processing priority variation, lack of tools and etc. All these factors can be accounted when a digital double of a real production system will be created. However, for the results testing is sufficient to consider a time of one item processing and a time of equipment change-over. Time of a batch workpieces production can be changed with reordering of the items processing. In general terms the task is represented in the following way. There are n types of items. When passing from the item n1 to the item n2 it takes the time t for equipment change-over. It makes no matter of the time changing for the different n. The reason is that even with the same change-over time of any item the common time depends on the order of these items processing. 2. Literature review and the goal of the work Domestic [3,4] and abroad [5,6] scientists were searching for an appropriate solution of a production planning with genetic algorithms. However, taking into account the problem specificity it is required to develop a crossover operator that would allow minimizing the number of populations and the number of genotypes in a population. In these conditions the main operator’s task is the maximum speed in searching of an approximate global extremum value. A crossover operator has following typical schemes [7-11]: single-point crossover; multi-point crossover; uniform crossover; arithmetic crossover; planar crossover. The listed crossover operators approve themselves as a reliable remedy for a solution searching. However, the drawback is the generation of a new population in a narrow gap that driven by parents. At the present time there are the crossover operators that eliminate such drawbacks. However, for the better results they take the large number of iterations [12,13]. In that manner we defines the goal of the work – increase the speed of a production plan calculation through a crossover operator developing that provides an adequate accuracy of the results with the minimal population size. 3. The genetic algorithm description The developed genetic algorithm for a production planning implies using terms and notions that are completely alien to a production process. Each product part in a genetic algorithm is a gene. The parts queue is a genetic sequence. From a genetic sequence is formed a genotype. Collection of genotypes at every step of the algorithm represents as a population. Genotypes in a population are exposed to a crossover operator.
S.L. Podvalny et al. / Procedia Computer Science 150 (2019) 603–608 S.L. Podvalny et al. / Procedia Computer Science 00 (2019) 000–000
605 3
The genetic algorithm has two types of the input data encoding: a binary or a decimal encoding. A decimal encoding also called as a real valued encoding. For our purposes we use a real valued encoding. Each type of parts is coded by decimal value. Depending on the parts count of the same type, to the queue will be added a certain set of genes with a decimal number assigned to them. For example, if there are 2 parts each of the 2 types, the encoded queue will be represented as: [1,2,1,2]. In this case the common permutations count is 4!. Important stage of an algorithm is a fitness function calculation. In the developed algorithm a fitness function is calculated as follows: if a type of a current gene is equal to a type of a next gene, then the function value increases on t1 minutes, else the value increases on t2 minutes, where t1 – relocation time for the same parts, t2 – changeover time for the other parts type. For the above example the value of a fitness function is 8 – first part is considered with reallocation. The optimization goal is a fitness function minimization. Initial population in the algorithm is initialized at random. Fig. 1 shows the scheme of the genetic algorithm.
Fig. 1. Genetic algorithm scheme.
4. Crossover operator The feature of the presented genetic algorithm is the crossover operator functionality. The proposed operator has following features: the best solution will be saved; genotypes are crossed by pairs and each two genotypes give two descendants; the worst solution is forced out; lack of mutations; lack of a selection stage – in a new population included the all descendants and no one of the parent genotypes; genotype completeness checking – presence of the all genes in a sequence. Mutation operator is used to extent the searching range of an optimal value. Taking into account the task specific, each genotype contains the full set of genes. In this case we can get an optimal solution using a crossover operator only. Furthermore a mutation operator uses a random number generator that might lead both improvement and degradation of the result. For this reason a mutation operator is not used in the algorithm. The proposed crossover operator can be described as follows. The pair of parent genotypes undergoes the operator working:
G1 ( g11 , g 12 ,..., g 1n ), 2 2 2 G2 ( g1 , g 2 ,..., g n ),
(1)
606 4
S.L. Podvalny et al. / Procedia Computer Science 150 (2019) 603–608 S.L. Podvalny et al. / Procedia Computer Science 00 (2019) 000–000
where G – parent genotype, g – gene in genotype, n – number of genes in each genotype. Each pair of the crossed genotypes is selected by a fitness function. On the first stage the best genotype and the next after it are crossed. Then the 3 and 4 genotypes in order of a fitness function are crossed. The all genotypes in a population will be crossed with the step 2. The crossing result of the two parent genotypes is presented as two descendant genotypes:
C1 (c11 , c12 ,..., c1n ), 2 2 2 C2 (c1 , c2 ,..., cn ),
(2)
where C – descendant genotype, c – gene in genotype. Values of the descendant genes are defined as follows: 1 gi , if i 0 or i even number , ci1 2 gi , if i odd number ,
(3)
gi1 , if i n / 2 and i odd number , ci2 2 gi , if i n / 2 and i even number.
(4)
The task conditions impose the necessity of the all genes existence in each genotype. If after crossing the genes amount, then in the genotype is added genes from genotype, in the genotype is added genes from genotype. It is worth noting that the proposed crossover operator is working with the odd number of genotypes in a population. This restriction arises in relation of the best solution saving. The described crossover operator can be considered as a particular case of a multi-point operator. 5. Testing and results analysis
We developed the testing software in C# language that implements the genetic algorithm. The software allows the task definition. The task is configured with 2 parameters: types amount of the parts and the parts amount in each type. It allows testing the crossover operator with various input data. The developed software contains the following classes: gene class; genotype class; fitness function class; class that implements the information acquisition about the algorithm; class with the algorithm preferences; optimization class. This structure makes an opportunity of using the software for another operators testing. Also the developed software allows testing the various implementations of a genetic algorithm. The crossover operator testing is performed with different numbers of populations and different sizes of each population. For this purpose the software has the selection window of these parameters. It is also possible to experimentation. We can specify the initial and resulted values of the populations count and its sizes. Fig. 2 shows the window with the algorithm parameters. The developed algorithm results were compared with the results of a genetic algorithm implementation in the Tecnomatix Plant Simulation (TPS) software. In TPS was created the simulated model of an equipment unit with the parts queue and change-over time as a boundary condition.
S.L. Podvalny et al. / Procedia Computer Science 150 (2019) 603–608 S.L. Podvalny et al. / Procedia Computer Science 00 (2019) 000–000
607 5
Fig. 2. The algorithm customization window.
Performance evaluation of the developed crossover operator was performed through the degree of the result closeness to the optimal value. The algorithm parameters are restricted with 20 populations and 20 genotypes in each population. This is explained by the fact that for the real tasks a calculation of a fitness function is time-consuming. In the tables below are shown the results for the following parameters [populations count, genotypes count]: [11,11], [13,13], [15,15], [17,17], [19,19]. For testing purpose we use the 3 real production tasks. Changeover time for each task is equal. Same parts changeover takes 1 minute; different parts changeover takes 2 minutes. First test case contains the parts of 10 types. Each type contains 2 parts. With the optimal queue of parts the common processing time will be equal to 30 minutes. Table 1 shows the experiment results. Table 1. First experiment results. Populations count Genotypes count
Plant Simulation result
% of the best result
Developed operator result
% of the best result
11
11
32
94
33
91
13
13
33
91
31
97
15
15
32
94
32
94
17
17
30
100
30
100
19
19
31
97
31
97
The Table 1 shows that the effectiveness of the developed crossover operator is equal to the TPS software. Second test case contains the parts of 5 types. Each type contains 10 parts. With the optimal queue of parts the common processing time will be equal to 55 minutes. Table 2 shows the experiment results. Table 2. Second experiment results. Populations count Genotypes count
Plant Simulation result
% of the best result
Developed operator result
% of the best result
11
11
84
65
76
72
13
13
84
65
75
73
15
15
82
67
74
74
17
17
83
66
74
74
19
19
80
69
70
78
Second experiment results show the loss of efficiency of the developed algorithm in percentage correlation. But comparing with the TPS software it shows the better result on average by 8%. Third test case contains the parts of 10 types. Each type contains 10 parts. With the optimal queue of parts the common processing time will be equal to 110 minutes. Table 3 shows the experiment results. Table 3. Third experiment results. Populations count Genotypes count 11 11 13 13 15 15 17 17 19 19
Plant Simulation result 178 176 170 173 171
% of the best result 62 63 65 64 64
Developed operator result 143 142 141 139 137
% of the best result 77 77 78 79 80
608 6
S.L. Podvalny et al. / Procedia Computer Science 150 (2019) 603–608 S.L. Podvalny et al. / Procedia Computer Science 00 (2019) 000–000
Third experiment results show the effectiveness of the developed algorithm on the level of 77–80%. Comparing with TPS software it shows the better result up by 14–16%. It is worth noting that the TPS genetic algorithm doubles the genotypes count in a population after the second iteration. It is associated with the algorithm specifics. But this algorithm was designed for solving of the wide range of the tasks [2]. Further experiments with the developed crossover operator show that the input data size increasing leads to a negligible result improving – 4–5%. The crossover operator allows achieving the fast searching of an approximate value. Future work with a crossover operator implies improving the results accuracy without sacrificing the populations and genotype count restrictions. 6. Conclusions
In this paper we proposed the crossover operator of a genetic algorithm that can be applied for tasks of a production planning. Modern domestic enterprises feel the lack of the planning information technologies. For that reason the proposed operator applying allows to increase the effectiveness of the decisions taken and eliminate the human factor. The proposed operator successfully passed the tests and it will be used for solving of the real tasks in the future. References [1] Chizhov MI, Gusev PY, Trubetskoy DV. Razrabotka imitacionnoy modeli discretnogo tehnologicheskogo processa mekhanicheskoy obrabotki. Informatika: problemy, metodologiya, tehnologii 2016;430–432. [2] Gusev PY, Skripchenko YS, Trubetskoy DV. Optimizatsiya imitatsionnoy modely uchastka mehanicheskoy obrabotki s primeneniem evolutsionnyh algoritmov. Informatika: problemy, metodologiya, tehnologii 2016;298–301. [3] Vasilyev AS, Matveykin VG. Modificatsiya geneticheskogo algoritma dlya resheniya zadachi kalendarnogo planirovaniya s ogranichennymi resursami. Vestnik Tambovskogo gosudarstvennogo tehnicheskogo universiteta 2008;14:2. [4] Kostrova VN, Shendrik VA. Genetichesky algoritm mnogokriterialnoy optimizatsii kombinirovannyh graphikov dlya proizvodstvennoy systemy na osnove gibkogo tseha potochnogo proizvodstva. Vestnik Voronezhskogo gosudarstvennogo tehnicheskogo universiteta 2009;5:11. [5] Hartmann S. A competitive genetic algorithm for resource – constrained project scheduling. Naval Research Logistics (NRL). 1998;45:7:733–750. [6] Gonçalves JF, de Magalhães Mendes JJ, Resende MGC. A hybrid genetic algorithm for the job shop scheduling problem. European journal of operational research 2005;167:1:77–95. [7] Goldberg DE. Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, MA: Addison-Wesley; 1989. [8] Eshelman LJ. Crossover operator biases: Exploiting the population distribution. Proceedings of the 7th International Conference on Genetic Algorithms, 1997. [9] Syswerda G. Uniform crossover in genetic algorithms. Proceedings of the third international conference on Genetic algorithms. Morgan Kaufmann Publishers, 1989. p. 2–9. [10] Michalewicz Z. Genetic algorithms + data structures = evolution programs. Springer; 1996. [11] Radcliffe NJ. Equivalence class analysis of genetic algorithms. Complex systems 1991;5:2:183–205. [12] Moraglio A, Poli R. Topological interpretation of crossover. Genetic and Evolutionary Computation Conference. Springer, Berlin, Heidelberg; 2004. p. 1377–1388.