Next Article in Journal
Local Differential Privacy Image Generation Using Flow-Based Deep Generative Models
Next Article in Special Issue
The Influences of Self-Introspection and Credit Evaluation on Self-Organized Flocking
Previous Article in Journal
Establishment of Localized Utilization Parameters for Numerical Simulation Analysis Applied to Deep Excavations
Previous Article in Special Issue
Hybrid Algorithm of Improved Beetle Antenna Search and Artificial Fish Swarm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Evolutionary Algorithms for Optimization Sequence of Cut in the Laser Cutting Path Problem

by
Bonfim Amaro Junior
1,
Guilherme Nepomuceno de Carvalho
2,†,
Marcio Costa Santos
3,†,
Placido Rogerio Pinheio
1,4,*,† and
Joao Willian Lemos Celedonio
2,†
1
Department of Computer Science, State University of Ceara, Fortaleza 60714903, Brazil
2
Department of Computer Science, Federal University of Ceara, Russas 62900000, Brazil
3
Department of Computer Science, Federal University of Minas Gerais, Belo Horizonte 31270901, Brazil
4
Department of Applied Informatics, University of Fortaleza, Fortaleza 60811905, Brazil
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Appl. Sci. 2023, 13(18), 10133; https://doi.org/10.3390/app131810133
Submission received: 3 August 2023 / Revised: 4 September 2023 / Accepted: 5 September 2023 / Published: 8 September 2023

Abstract

:
Efficiently cutting smaller two-dimensional parts from a larger surface area is a recurring challenge in many manufacturing environments. This point falls under the cut-and-pack (C&P) problems. This study specifically focused on a specialization of the cut path determination (CPD) known as the laser cutting path planning (LCPP) problem. The LCPP aims to determine a sequence of cutting and sliding movements for the head that minimizes the parts’ separation time. It is important to note that both cutting and glide speeds (moving the head without cutting) can vary depending on the equipment, despite their importance in real-world scenarios. This study investigates an adaptive biased random-key genetic algorithm (ABRKGA) and a heuristic to create improved individuals applied to LCPP. Our focus is on dealing with more meaningful instances that resemble real-world requirements. The experiments in this article used parameter values for typical laser cutting machines to assess the feasibility of the proposed methods compared to an existing strategy. The results demonstrate that solutions based on metaheuristics are competitive and that the inclusion of heuristics in the creation of the initial population benefits the execution of the evolutionary strategy in the treatment of practical problems, achieving better performance in terms of the quality of solutions and computational time.

1. Introduction

Researchers frequently aspire to reduce production costs by considering the context of cutting materials. Integrating CAD (computer-aided design) and CAM (computer-aided manufacturing) systems has significantly enhanced the production capacity of device tools for generating NC (numerical control) programs. Consequently, developers have created numerous commercial computer system packages to automate the NC programming process for diverse cutting applications. This advancement has resulted in the extensive adoption of automated devices across manufacturing industries, enabling the precise cutting of various materials such as clothes, papers, glasses, and sheet metals.
For example, cutting clothes involves working with polygon-shaped pieces that must be carefully positioned on a “strip” to minimize waste. This process, known as cutting and packing (C&P), is classified as an optimization problem. It aims to efficiently arrange items within a given space, maintaining the same dimension [1,2]. Employing heuristics and exact techniques for C&P can provide a significant commercial advantage [3]. For comprehensive surveys on C&P problems, refer to [4,5].
In the nesting process, which is the initial stage, the objective is to minimize the amount of raw material required. This process can also involve additional constraints specific to the application at hand. Laser cutting, for instance, is a widely used technique for separating sheet metal items, making it one of the primary methods employed once an optimal layout has been determined.
Once a suitable arrangement of polygons (layout) has been found, the next step is to compute the optimal cutting path the cutting device should follow to minimize the processing time. This problem is known as the cutting path determination problem (CPDP) [6]. The CPDP focuses on determining the most efficient cutting path for a tool or machine to manufacture a specific part or product.
Cutting can be categorized into two main categories: complete cutting, where each polygon is cut entirely before moving on to the next polygon, and partial cutting, where an item can be cut in portions, allowing for switching between partially cut pieces during the cutting process. The CPDP plays a crucial role in the manufacturing industry, and extensive research has been conducted to develop efficient algorithms and approaches to solve this problem across various manufacturing processes. The aim is to optimize the cutting path and minimize processing time, leading to improved efficiency and productivity in the manufacturing industry.
Various studies have explored the impact of laser cutting materials, specifically by examining the effects of processing heat and different speed parameters on cutting quality. However, our research specifically focuses on reducing the empty laser cutting path, mainly when dealing with instances involving connected and separate nested pieces. We incorporate two parameters to represent the air movement ( V m ) and cutting speeds ( V c ) of a laser cutting machine. Thus, we are able to simulate the elapsed time to cut the pieces in different paths. It is worth reinforcing that such processes can be time consuming in most applications and gains, however tiny, represent a large improvement overall.
We encounter the laser cutting path planning (LCPP) problem in this context. LCPP is a specific type of CPDP that aims to quickly determine a cutting path that minimizes the overall time required to cut all parts from the given layout. This optimization considers two crucial parameters: V m and V c . The total time involved in the laser cutting operation consists of the actual processing time and the movement time, during which the laser head moves without cutting between different nodes and edges (representing the items). Consequently, the actual processing time can be determined once the machine and material cut speed limitations are correctly defined. By optimizing the laser head’s traversal distance between different items, the time spent on air movement can be reduced.
LCPP is an extension of the well-known traveling salesman problem (TSP), a typical NP-hard problem [7]. Consequently, algorithms that aim to provide optimal solutions for LCPP face exponentially increasing computational time as the number of layout pieces grows. Hence, heuristic methods that offer approximate solutions are justified and necessary for solving industrial-scale problems. Metaheuristic methods have gained popularity among researchers as they can discover approximate solutions often close to optimal. On the other hand, approaches based on mathematical formulations have proven impractical for real-world examples, but they can serve as valuable guides for potential methods. This paper presents the self-adapted parameters biased random-key genetic algorithm (ABRKGA) [8] to address the laser cutting path planning problem. We also present a heuristic approach based on Eulerian paths to generate high-quality initial individuals. Our methods outperform existing approaches, and our promising results are compared with those presented in [9] and discussed in detail in Section 4.3.
The rest of this paper is organized as follows: Section 2 provides a formal definition of LCPP, Section 3 presents an overview of current approaches for tool path generation, and Section 4 highlights the critical aspects of the ABRKGA approach and the Eulerian concept for constructing an excellent initial population. Section 5 focuses on the test instances and compares the performance with the best-known solutions, presented in [9]. Finally, Section 6 draws conclusions based on the findings of this research.

2. The Laser Cutting Path Problem (LCPP)

A laser cutting machine is an automated device for precise cutting and design projects in various industries. It offers high cutting speed, narrow kerf, excellent cutting quality, and versatility. The laser cutting path is crucial in determining the cutting quality, processing efficiency, and energy consumption, directly impacting production costs. The required time is divided into cutting and air time (head movement between different edges/patterns) in the laser cutting process. Therefore, the specific CPDP applied to laser cutting machines is known as laser cutting path planning (LCPP).
The primary objective of the LCPP problem is to optimize the cutting time, which depends on two key parameters that simulate the laser cutting device: cutting velocity ( V c ) and air-moving (or sliding) velocity ( V m ) of the cutting head. The first parameter is influenced by the machine’s hardware, the shape of the pieces in the input layout, and the characteristics of the material being cut. The second parameter controls the speed at which the cutting head moves without cutting. In this study, we aim to address a generalized type of CPDP [6] considering the earlier constraints, distinguishing it from the research conducted by Derwil et al. [10].
Furthermore, LCPP involves optimizing the distances between cutting points where no cutting is performed, reducing air time. Therefore, strategies must minimize the length of unnecessary laser head movements. This situation can also be considered an “empty trip” problem in laser cutting [11].
Figure 1 illustrates an optimal solution obtained by input layout instance. Note that, in the LCPP problem, the choice process for every solution considers the source (S) coordinates ( x = 0 , y = 0 ) . Usually, the top-left corner of the laser cut machines. The main question is: starting from the source point, how can a laser cutting machine (a computational method) select the best sequence of edges that minimizes the complete cutting process time?
Furthermore, in Figure 1, the LCPP considers the initial and the final air time (represented by a dashed line, a sequence with the numbers 1 and 18). In every cutting process, the head of the device will move without cutting from the origin to the first point of the input layout (sequence number 1). The same happens when all the edges are cut, and the head must return to the origin (sequence number 18). Thus, it only moves the head when it does not perform a cut. The cost function uses a V m parameter and the Chebyschev distance between points to compute the time required for that movement. All the rest of the head machine moves (sequences 2–17) increase the final process time to cut the demand of an input layout. For this case, each cut uses the parameter V c and the size of the edge. Note that the sequence numbers 11 and 12 represent the same edge. Nonetheless, we divide common points for our proposal to increase path possibilities. For example, the node of the square that touches the triangle allows one edge division between sequence numbers 11 and 12.

2.1. Formal Definition

In this paper, we use a graph representation to tackle the LCPP. A graph G = ( V , E ) is an ordered pair of two sets, V the set of vertices and E { u v u , v V } , the set of edges. If  E V × V , we say that the graph is directed and, if for each element u v of E we have a value w u v associated with it, we say that the graph is weighted and that w u v is the weight of the edge u v .
Given a graph G = ( V , E ) , we say that v is adjacent to u if v u E and for a vertex v V , we call the neighborhood of v in G the set of all vertices adjacent to v in G and denote such a set by N G ( v ) = { u u V , u v E } . A walk W = [ [ e 1 , , e k ] ] in G is a sequence of edges from G such that, for all i { 1 , , k 1 } we have that e i = w v and e i + 1 = v u , in other words, the second endpoint of an edge is the first of the next edge. We are given a complete weighted graph G = ( V , E ) with weights w v u for each edge, a set of q required edges R = { r 1 , , r q } such that R E and two numerical constants, V c and V m , representing the cutting speed and the gliding speed for a cutting laser machine.
In this context, the laser cutting path problem (LCPP) can be defined as the optimization problem where one wants to minimize the sum of the weights of the edges in the walk multiplied by the proper speed, meaning that the edges in R must be multiplied by V c exactly once. All the other edges (including the other appearances of the edges in R) must be multiplied by V m . More formally, let W = [ e 1 , , e k ] be a walk in G and W ( R ) be the set of edges obtained from W by removing the first, and only the first, occurrence of an edge in R. We define the cost of W as s z ( W ) = e W ( R ) V m w e + e R V c w e ; the LCPP problem could be defined as presented in (1).
min W W ( R ) e W ( R ) V m w e + e R V c w e

2.2. An Integer Programming Formulation

A mathematical model serves several purposes. Firstly, it provides a common language that enables effective communication between researchers, practitioners, and stakeholders. Mathematical notation can precisely describe the problem and its requirements, facilitating a shared understanding among different parties.
The model is crucial for formalizing an LCPP: We have two sets of binary variables. The first set of variables are variables x u v , i that represent wherever the cutting edge u v is the i-th edge to be cut or not. These variables represent the LCPP solution since this represents the order in which one must cut the pieces. As we know the cut order for the cutting edges, to compute the total cost of this solution, one only needs to determine the edges used as slight edges. Such information is encoded by the second set of binary variables used to represent whether or not we require edge u v to be used as a sliding edge in the time i. This variable is defined as y u v , i for all u v E and i { 1 , , q } . Under such variables, we can define the following model.
(2a) min i = 1 q 1 u v E V m w u , v y u v , i + i = 1 q u v R V c w u , v x u v , i (2b) s . t .             i = 1 q x u v , i = 1    u v R , (2c) u v E ( x u v , i + x v u , i ) = 1    i { 1 , , q } , (2d) u V { v } x u v , i + p V { w } x w p , i + 1 1 y v w , i u v E R , i { 1 , , q 1 } , (2e) x u v , i { 0 , 1 } u v R , i { 1 , , q } , (2f) y u v , i { 0 , 1 } u v E R , i { 1 , , q }
The objective function (2a) computes the cost of a given solution under the form of an ordering of the required edges; constraints (2b) and constraints (2c) enforce a total ordering of the edges in R, (2c) enforces that each position is an edge, and (2b) ensures that every edge is listed; constraints (2d) compute the movements outside the required edges; and finally, constraints (2e) and constraints (2f) define the bounds on the variables.
Notice that the model encodes the solution as a sequence of edges to be crossed as it is building the path of the solution. Moreover, notice that the formulation has a large number of variables, O ( | V | 3 ) , and a large number of constraints O ( | V | 2 ) . The computational results show that this large number of variables take their tool in the formulation and serve as a motivation for the proposition of heuristic methods.

3. Literature Review

Researchers have attempted to apply metaheuristics to various processing methods to minimize the inefficient “airtime” during the operation of cutting devices [12]. GA (genetic algorithm) and BRKGA (biased random-key genetic algorithm) have been used to determine the optimal arrangement of edges for a set of operations located in asymmetrical positions and diverse classes [9,13]. The ant colony optimization (ACO) algorithm has been employed to minimize tool switching time and tool airtime in hole-making operations [14], as well as to discover the optimal travel path by determining the best ordering for hole-cutting operations [15].
The literature encompasses various research studies on algorithmic techniques for CPD. Dewil et al. [7] presented and classified these methods based on the approach used to traverse the vertices of the polygons. They identified three categories: the touring polygons problem [16,17], traveling salesman problem (TSP) [18,19], generalized TSP (GTPS) [20,21], and TSP with neighborhoods (TSP-N) [22].
Derwil et al. [10] classified CPD problems based on the flexibility of selecting an initial contour entry point and whether a piece is partially cut before the cutting head device moves to another object. The first category includes situations with continuous cutting, where the cut can start from any point along the perimeter of the pieces [22,23]. In such cases, the entry point should be the same for both entry and exit. The second category is referred to as endpoint cutting, which pertains to problems where the cut starts and ends at predefined vertices of the polygons [24,25]. The final category is intermittent cutting, which imposes no constraints on the points that can be used to enter or exit the cutting [26,27].
Additional objectives in CPD include minimizing the path length of the cutting trajectory across contours and considering the impact of heat on the cutting path sequence [28]. Another potential constraint is the requirement for a predefined cutting sequence of items without any sliding movements [29]. Manber and Israni [24] addressed the sequencing problem of a torch (flame cutter machine) for cutting regular and irregular parts placed on a surface. Their approach aimed to improve the cutting process by minimizing the number of piercings, which refers to small holes made near each piece.
One approach for solving CPD problems is to use linear integer models to determine the optimal sequence of actions that minimizes the overall cutting time for a given set of parts [30]. Building on this, Dewil et al. [10] further extended the work presented in [30] by incorporating additional constraints that reflect real-world conditions. For instance, the relationships between inner and outer contours arise from holes in parts, pieces positioned within holes, or elements nested within enclosed waste areas. Considering the inner–outer contour relationship means an inner contour must be cut entirely before the outer shape is cut.
In summary, the cutting sequence requires all pieces of an inner contour to be cut before the final element of its outer contour is cut. Additionally, imposing a set of constraints on primary cuts is feasible. In specific layouts, each regular cut is enclosed by a contour formed by its two surrounding contours. Therefore, it is not permitted for a regular cut to connect both of its surrounding contours.
Another set of significant constraints arises from the observation that when a regular cut intersects the contour of two surrounding contours, the disconnected contour can slide, rendering the remaining cutting process infeasible. The laser must move into the cut kerf to achieve precise cutting of the remaining contour objects. This event is not permissible if high part quality is required, and a pre-cut should have been made earlier. Similarly, when cutting a part, a small pre-cut can be created in a neighboring element if the laser head needs to start cutting from that location later on. Dewil et al. [7] also consider several non-trivial extensions, such as collisions, bridges, and thermal effects, which further add to the practical complexities of the problem.
An alternative approach involves mapping CPD to graph-based problems, such as the capacitated node routing problem (NRP), also known as the vehicle routing or dispatch problem [31]. This mapping allows for using mathematical models to optimize CPD [6,32]. These techniques handle CPD by manipulating a mathematical formulation based on the NRP problem and a derived model for the traveling salesman problem (TSP). This strategy is particularly effective in obtaining optimal solutions for instances with approximately 2000 edges within a reasonable time frame. The formulation presented in [6] achieved optimal results for more significant instances, with up to 712 edges and a maximum of 560 nodes.
It is important to note that using mathematical models in practical instances with tens of thousands of edges and nodes has proven impractical. A viable approach is to employ heuristics and metaheuristics to solve graph-based problems equivalent to the original CPD problem. For instance, Moreira et al. [25] adopted this technique by considering the surface as having an elevation (height) and allowing objects to fall as they are being cut. This approach qualifies for exploring alternative strategies that efficiently handle more extensive and complex instances.
Similarly, the empty path problems in laser cutting can be seen as an extension of the traveling salesman problem (TSP), a well-known NP-hard problem. Hajad et al. [33] propose an approach for addressing the laser cutting path problem, formulated as a generalized traveling salesman problem (GTSP). Their study combines population-based simulated annealing (SA) with adaptive large neighborhood search (ALNS). Recombination techniques, such as swap, reversion, insertion, and removal–insertion, are applied alternately using a fitness proportionate sampling mechanism. In each iteration, the cultural algorithm selection method manages 35% of the population to reduce computational execution time while maintaining solution quality. The results indicate that this method can solve problems of various sizes with a reasonable error percentage compared to the best-known solutions.
The study by Hajad et al. [33] demonstrates a promising approach for tackling the laser cutting path problem, utilizing a combination of population-based simulated annealing and adaptive extensive neighborhood search techniques. Their method effectively solves problems of different scales and provides satisfactory accuracy compared to the best-known solutions.
Skinderowicza [34] introduced a modified version of the ant colony optimization (ACO) algorithm called focused ACO (FACO). This approach incorporates a mechanism to manage potential differences between newly generated and previously selected solutions. The main objective is to create a more focused search procedure that allows for the discovery of improvements while maintaining the quality of the existing solution. A computational study using various traveling salesman problem (TSP) datasets was conducted to evaluate the performance of FACO. The results showed that FACO outperforms state-of-the-art ACO algorithms significantly when solving large TSP instances. FACO could find high-quality solutions within less than an hour using an eight-core commodity CPU.
Overall, Skinderowicza’s FACO algorithm presents a promising enhancement to the traditional ACO approach, demonstrating improved performance in solving large-scale TSP instances. The efficient computational performance of FACO makes it a valuable tool for tackling optimization problems with practical significance.
It is worth noting that mathematical formulations have proven to be impractical for more real-world examples. A practicable technique is using metaheuristics that employ a graph-based representation similar to the traditional CPD problem. However, we incorporate the air and cut speeds as additional considerations. We employ the adaptive biased random-key genetic algorithm (ABRKGA) [8], combined with an Eulerian heuristic, to construct the initial population and generate new individuals during the entire execution process.
By integrating the ABRKGA and the Eulerian heuristic, we aim to overcome the challenges posed by practical instances and enhance the efficiency of the solution process. This hybrid approach combines the benefits of both metaheuristics and heuristic techniques, allowing us to explore the solution space effectively and generate high-quality initial solutions.
In general, the proposed approach of utilizing the ABRKGA and Eulerian heuristic in conjunction with a graph-based representation addresses the limitations of traditional mathematical formulations. This combination of techniques provides a promising framework for solving practical CPD problems, considering the complexities of real-world scenarios and optimizing the air and cut speeds.

4. Overview of Application of ABRKGA to LCPP

4.1. Introduction

Metaheuristics serve as practical tools for acquiring high-quality solutions to combinatorial optimization problems. Nevertheless, during the design phase, developers must carefully consider various aspects, including solution representation, objective function calculation, constraints handling, neighborhood structures, initial solution selection, and parameter configuration. These decisions present numerous alternatives, and selecting the most suitable options becomes essential in attaining reasonable solutions for a given optimization problem.
The biased random-key genetic algorithm (BRKGA), put forward by Goncalves and Resende [35], presents an evolutionary algorithm that streamlines several choices mentioned above. It relies on the notion of random keys to depict a solution and employs a decoder function to transform the random-key solution into an optimized solution for the problem. Consequently, developers must implement the problem-specific decoder and adjust the method’s parameters.
Nonetheless, a crucial aspect of metaheuristics is the impact of parameters on the efficiency and effectiveness of exploring the solution space. These parameters necessitate configuration in every metaheuristic. However, the values are only sometimes optimal for specific problems or instances, and they may not be suitable considering the available computational time for execution. Consequently, conducting an efficient configuration of parameter values utilized in each specific application is essential.
The execution of evolutionary algorithms can involve configuration parameters as constants at the beginning of the execution or allowing flexibility in adjusting them as the process unfolds. In [36], the authors present a classification of parameter configuration techniques for evolutionary algorithms. Parameter values can be predetermined before the execution and remain fixed throughout the search (offline), or the parameter values can be dynamically modified during the execution (online).
In this section, we present a self-adapted params BRKGA, [8] (ABRKGA), aiming to balance exploration and exploitation considering the context of LCPP representation. The parameter values are modified according to deterministic rules (e.g., varying over the number of iterations) or adapted based on information obtained during the search (e.g., the quality of the solution found). Parameters can also be included in the solution representation and evolve during the search process (self-adaptive control). We know this approach does not necessarily reduce the number of parameters; however, the authors proposed simplifying the parameter configuration. Figure 2 depicts the evolutionary progression of the proposed ABRKGA.

4.2. Initialization and Basic Concepts

Similarly to [9], the execution will be performed on a laser cutting machine that moves along coordinates (x, y). The input parameters will define the head movement speed ( V m ) and cutting speed ( V c ). These values may vary according to equipment needs. The Chebyshev distance was considered to calculate the required time for a machine to extract parts from the inputs.
The input parameters of our approach include the following:
  • p—population size (representing the set of solutions viable in each iteration);
  • p e —elite size partition of the population (representing the portion of the population that is selected as elite);
  • p m —mutant size partition of the population (representing the portion of the solutions that are submitted to our mutation procedure);
  • ρ e —probability of inheriting the key from an elite parent;
  • m a x g e n —maximum number of generations;
  • γ —value based on the running available time and ( 0 γ < 1 );
  • V m —the device head movement speed value;
  • V c —the device head cutting speed value.
We apply five classical parameters of BRKGA [37] ( p , p e , p m , ρ e , m a x g e n ), and also consider ( α , β , γ ) (ABRKGA) [36] and ( V m , V c ), specific parameters of LCPP. The variables ρ e and β exhibit self-adjusting characteristics, while the remaining variables are modified using deterministic principles, except  V m and V c which are constant for the whole execution. Users must specify a solitary fresh parameter γ depending on the available duration of execution. The objective of the ABRKGA is to employ parameter adjustment to facilitate increased exploration during the initial stage of the search and enhanced exploitation throughout the evolutionary progression.
The ABRKGA creates an initial population comprising p randomly generated key vectors (individuals). Each individual’s chromosome consists of 2 n + 2 genes, randomly generated with a uniform probability from the range [0, 1]. The representation of a possible solution for LCPP is divided into three parts. Each individual is encoded by a vector of random keys (1, 2, …, n, n + 1, …, 2n, 2n + 1, 2n + 2), where n corresponds to the number of edges ( n = | R | ) that must be cut from the input layout. The n’s first positions define the cutting order of each required edge, and the next n’s indexes denote the direction of the cut. Finally, the remaining positions ( 2 n + 1 ) and ( 2 n + 2 ) are utilized to calculate the self-adjusting parameters ρ e and β , correspondingly. Figure 3 illustrates the three elements of individual representation.
It is necessary to emphasize that the cutting process starts from the original system of each device (source) and returns with the movement head at the end (regress). This research considers point (0,0) as the source because the industrial cutting machine applies the same idea. In this context, Figure 4 shows a visual solution considering an input layout and the same individual presented in Figure 3.
Therefore, the fitness of each individual ( f i t n e s s ( i ) ) and, consequently, the quality of the solutions is linked to the cutting time of an input layout. It is crucial to compute the fitness function for each i to count the time to cut the necessary edges ( T c u t ) and the movements of the head from the origin to the initially chosen node of the layout and back to the source ( t o f f s e t ). Then, we use the head movement speed ( V m ) and cutting speed ( V c ) to calculate the value of T c u t .
Figure 5 shows the (i, i + 1) step of the f i t n e s s function. Note that (i) typifies the edge to be cut in time(i), and ( n + i ) the direction, see Figure 3. The position i n d i v i d u a l [ i ] = 4 and i n d i v i d u a l [ n + i ] = 1 indicates that the edge labeled with 4 must be separated with the direction of nodes ( 0 3 ). Note that the complete cutting time ( C C T ) is incremented by C h e b y s h e v d i s t ( e d g e ( i ) ) / V c . The next element, i n d i v i d u a l [ i + 1 ] = 5 and i n d i v i d u a l [ n + i + 1 ] = 1 , needs to perform the air movement only to then cut edge 5 in the direction ( 1 5 ). Thus, add to C C T   C h e b y s h e v d i s t ( a i r E d g e ( i . v , ( i + 1 ) . u ) ) / V m + C h e b y s h e v d i s t ( e d g e ( i + 1 ) ) / V c . The time considered to cut in i and i + 1 is computed by this function C T ( e d g e ( i ) , e d g e ( i + 1 ) ) :
C T ( ( u , v ) , ( z , w ) ) = D i s t ( u , v ) / V c + D i s t ( v , z ) / V c , if v = z . D i s t ( u , v ) / V c + D i s t ( v , z ) / V m + D i s t ( z , w ) / V c , otherwise .
In other words, the faster the cut is made, the higher the quality of the individual. Therefore, Equation (4) denotes the fitness function for an individual i, Equation (5) denotes the best individual i of a population P, and Equation (6) the quality of a population k. These concepts are expressed more formally as:
f i t n e s s ( i n d i [ e 1 , e 2 , , e n , ] ) = ( e = 1 n 1 C T ( e d g e ( e ) , e d g e ( e + 1 ) ) ) + t o f f s e t
b e s t i k = i n d i k P k j { 1 , 2 , , p } : f i t n e s s ( i n d i k ) f i t n e s s ( i n d i j )
P Q k = i = 1 p o p s i z e ( K ) f i t n e s s ( i n d i ) / p o p s i z e ( K )
The quality of the solutions generated and inserted into the population, either initially or during the execution of the evolutionary algorithm, has a positive impact when associated with some knowledge about the problem at hand. In light of this, we apply a strategy to transform the input graph (computational representation of the layout) into another graph containing at least one Eulerian path. Thus, this heuristic guides the construction of the initial population. Section 4.3 describes the heuristic in the context of solutions for the LCPP.

4.3. An Eulerian Heuristic to Generate Improved Individuals for LCPP

Consider an LCPP context. Examine the provided layout (Figure 6) and note that it can commence from a single point and traverse every edge precisely once without changing the device mode (always cutting). The term traversable describes graphs in which it is possible to begin at a vertex and trace all the edges without lifting the pen off the page or retracing any edge. There are two categories of traversable graphs:
  • A graph is called Eulerian if it possesses a closed trail, known as an Eulerian trail or an Eulerian circuit, which starts and ends at the same vertex while traversing every edge.
  • A graph with an open trail, where the trail begins and ends at distinct vertices while traversing every edge, is called semi-Eulerian. Alternatively, it can be denoted as having a semi-Eulerian trail.
It is feasible to ascertain whether an undirected graph is Eulerian or semi-Eulerian without the need to identify the trail explicitly: if a graph exhibits precisely two vertices with an odd degree, it is classified as semi-Eulerian (Figure 6a). These two vertices serve as the start and end points of the open semi-Eulerian trail. If a graph consists entirely of even-degree vertices, it is categorized as Eulerian (Figure 6b). The closed Eulerian trail can commence from any vertex within the graph.
In this context, we consider the concept, as mentioned earlier, to improve individual fitness, whereas solutions tend to have fewer unnecessary air moves. In [9], the authors construct the initial population with a random order of edges. This fact impacts several air movements. Our idea is to consider four specific cases on the generation of initial solutions:
  • We assume the input layout is connected and contains all nodes with even degrees (Eulerian graph). Then, the heuristic can find an Eulerian circuit and needs to use one air movement (source to nearest node) and another (nearest node back to origin). In this case, we have the minimum time required to cut all items.
    Note: To return the sequence of edges at the Eulerian circuit, we apply a linear time implementation adapted from [38] with NetworkX (Python library).
  • We assume the input layout is connected and contains precisely two vertices that have odd degrees (semi-Eulerian graph). In this way, the initial population comprises solutions with path routes that necessarily pass through both odd-degree vertices. The idea is that the metaheuristic finds the combination that minimizes the end-cut time in the LCPP, assuming that a good solution must pass through the starting and ending points.
  • We assume the input layout is connected and contains more than two nodes with odd degrees. In this case, the heuristic seeks to transform the graph’s vertices that have odd degrees into even degrees, adding new edges between them until only two odd edges remain in the semi-Eulerian graph (2).
  • We consider the possibility that the input layouts present items without contact between them. This situation occurs when the cut needs to maintain a safe area for the edges.
In this procedure, edges between odd vertices enter the solution and are counted as displacement. Algorithm 1 shows the pseudocode for applying the heuristic to the graph. First, the edges are divided into two sets with even and odd degrees, then the code checks if the graph is semi-Eulerian. Otherwise, the displacements are added between them until only two even vertices remain.
Algorithm 2 shows the pseudocode of how we apply the heuristic to individual generation. Initially, we select a vertex and edge of this vertex, add it to the individual, and later, walk on the edges that can be reached from the initial vertex. When it is not possible, we choose another vertex that was not selected, repeating the process until all edges of the graph are covered.
Algorithm 1: Eulerian Heuristc Algorithm
Applsci 13 10133 i001
Algorithm 2: Eulerian Heuristic Individual Generation
Applsci 13 10133 i002

4.4. New Generation Process

During the core stage of the algorithm, the ABRKGA metaheuristic comprises six components in every successive iteration. The first step is to decode each individual, described in Section 4.2. The upper limit of generations determines the termination condition for ABRKGA, computed using the parameter γ . The population size in each generation is adjusted using the same parameter. Note that the value of γ is determined in the initialization phase, considering the allotted run time.
The parameters undergo updates based on deterministic rules that consider the advancement of the evolutionary process. The evolutionary process defines the two self-adaptive parameters ρ e and β as they are included within the chromosomes; see Figure 3. We explain the methodology of online parameter control during the search process, aiming to enhance population variance and prevent premature convergence, considering population size, number of generations, top/mutation partitions, and the crossover process.
Defining the parameter p is complex for real-instance problems. Furthermore, varying sizes could be advantageous during different stages of the search. For instance, at the beginning of the process, a larger population size may be beneficial to explore the search space and discover promising regions. As the subsequent generations progress, reducing the population size could be advantageous for refining the solutions.
According to [39], users of BRKGA typically select a population size ranging from 100 to 1000 individuals. It is worth noting that choosing smaller populations may lead to premature convergence towards local minima due to the limited information in the elite partition. Conversely, employing substantial populations increases computational time.
In this context, the new generation process initiates with the maximum population size (p = p m a x ). As each generation progresses, the population size (p) for each generation (k) diminishes by a factor of:
p k + 1 = p k γ
The quantity of offspring is adjusted to determine the size of the new population, which is defined by Equation (7). This strategy reduces the possible solutions at each generation. Then, a restart procedure is executed when the population size falls below a threshold of p m i n individuals. This restart procedure involves preserving only the restricted chromosome list (RCL) individuals, explained next, in the current population while generating p m a x | R C L | new individuals at random.
Additionally, these parameters are utilized in the calculation of the stop criterion through Equation (8), which determines the maximum number of generations ( m a x g e n ) for the ABRKGA. Consequently, a minor reduction in population size (with γ values close to 1) results in fewer generations. Conversely, if the population size decreases faster, it necessitates more generations and restarts.
m a x g e n = γ ( l o g γ p m i n p m a x )
In order to generalize, the population chromosomes are arranged in ascending order, placing the best chromosomes at the top and the worst at the bottom. This arrangement applies to minimization problems, as is the case for LCPP. The population is divided into two groups, with the best individuals retained in a restricted chromosome list (RCL). The RCL consists of individuals whose fitness surpasses a threshold value ( f e ) determined by the parameter α within the range [0, 1]:
f e = f m i n + α ( f m a x f m i n )
The fitness of the best individual in the current population is denoted as f m i n , while the fitness of the poorest individual is represented as f m a x . When α = 0, only individuals with the highest fitness are included in the RCL, whereas α = 1 includes all individuals in the RCL. The value of parameter α is adjusted periodically based on the progress of the search. The maximum number of individuals that can be included in the RCL is limited by p e . Lastly, the individuals in the RCL are replicated and carried over to the next population.
The parameter α determines the number of elite individuals by influencing the size of the RCL (defined by Equation (9)). Initially, α is set to 0.3 and decreases with each generation according to Equation (10). The minimum value for α is 0.1 . This range accounts for the suboptimal solutions commonly encountered in the early generations and the tendency for population stagnation after a certain number of iterations. This range was considered equality in the proposal of Chaves et al. [8].
α = 0.10 + ( 1 g k m a x g e n ) ( 0.30 0.10 )
The parameters k e (ranging from 0.10 to 0.25) and k m (ranging from 0.05 to 0.20) are employed to determine the elite ( p e ) and mutant ( p m ) partitions within the population. Once again, the objective of the search process is to promote diversification during the initial phase and gradually intensify the focus as the population evolves.
The parameter control k e is defined by Equation (11), while k m is defined by Equation (12), with  g k representing the current generation. Consequently, the maximum size of the elite partition is smaller in the early generations when the average quality of individuals is lower. However, this number progressively increases in subsequent generations. Conversely, the number of mutants decreases as the search process unfolds.
k e = 0.10 + g k m a x g e n ( 0.25 0.10 )
k m = 0.05 + ( 1 g k m a x g e n ) ( 0.20 0.05 )
In order to maintain diversification within the RCL, perturbations are employed to enable the ABRKGA to break free from local optima and overcome the limitations of solely introducing random individuals. Identical fitness values solely determine the similarity between individuals, for simplicity. This perturbation strategy involves randomly swapping values in a vector of random keys, with the strength of perturbation defined by the self-adaptive parameter β , which ranges from 0.001 to 0.1 .
A random variable is generated for each chromosome gene for each similar individual. This random variable determines whether a specific random key will undergo modification through gene swaps at random positions. This probability is set to a low value, otherwise, the search process may devolve into randomness. The parameter β is included in position 2 n + 2 of the chromosome and evolves alongside the other genes associated with the problem.
Within this framework, individuals with identical fitness values are subjected to perturbations, with the intensity of perturbation determined by β , a self-adaptive parameter. The value of β , calculated using Equation (13), is incorporated into chromosome c at position 2 n + 2 and undergoes evolutionary changes.
β = 0.001 + c 2 n + 2 ( 0.1 0.001 )
The mutation stage produces a set of p m mutant individuals through a random generation process. The identical module for generating the initial population creates these mutants.
The crossover process combines p | R C L | p m pairs of parents through mating, with one parent chosen from the RCL and the other randomly selected from the remaining population. The parameterized uniform crossover technique [40] is applied, which involves generating uniform random numbers r j within the range of [ 0 , 1 ] for each gene of the chromosome. For each gene position j, if  r j is less than or equal to ρ e , then the offspring inherits the j-th allele from the RCL parent; otherwise, it inherits the allele from the other parent. The value of the self-adaptive parameter ρ e , located at position 2 n + 1 of the chromosome, is always selected from the non-RCL parent.
The parameterized uniform crossover is designed to prioritize the inheritance of alleles from the RCL parent chromosomes. This method is achieved through the self-adaptive parameter ρ e , which determines the probability of an offspring inheriting the vector component from the RCL parent. The calculation of ρ e , as defined by Equation (14), involves the utilization of the random-key 2 n + 1 from the non-RCL chromosome c.
ρ e = 0.65 + c 2 n + 1 ( 0.80 0.65 )
It is essential to point out that the values for defining the calculations of the ABRKGA control parameters equations are based on the work of [39,41]. Table 1 presents each suggested value range for the parameters applied. Furthermore, the parameter γ is a configuration parameter, but it is relatively straightforward to adjust. Like in [8], we have defined three specific values for γ 0.999 ,   0.998 ,   0.997 based on the available running time. All of these values lead to a gradual decrease in population size. The primary distinction lies in the maximum number of generations, affecting the running time and solution space. Table 2 provides an overview of the γ and m a x g e n values and their respective characteristics. p1: The search is conducted within a reasonable computational time, ensuring that the minimum population size remains around 70% of the initial population size. p2: The search process is executed within a reasonable time, necessitating the restart of the population to its maximum size once. p3: The search is carried out over an extended duration, requiring four population restarts to be performed.
The objective of the ABRKGA is to utilize parameter tuning to enhance exploration during the initial phase of the search and increase exploitation throughout the evolutionary process. The evolutionary process of the ABRKGA is depicted in Figure 2. The decoder represents the problem-dependent component, responsible for converting random-key vectors into solutions and evaluating their fitness. On the other hand, the remaining components are problem-agnostic and can be reused in a general-purpose framework. Using an Eulerian path heuristic, we also consider a specialized initial population and new individual mutation. Algorithm 3 provides the pseudocode for our adaptation for ABRKGA to tackle LCPP. The procedure’s input parameters are the required cutting edges (n) and the specific ABRKGA parameter γ .
Algorithm 3: Pseudocode of ABRKGA to tackle LCPP
Applsci 13 10133 i003

5. Computational Results

The computational experiments were performed on a machine with a max turbo clock speed of 4.90 GHz, 11th Gen Intel(R) Core(TM) i7-11700 processor, 16 GB RAM, and running the Windows 10 operational system. All algorithms were implemented using the Python language version 3.7. The input data consisted of layout instances extracted using the research developed by Amaro et al. [41], resulting in SVG files. The subsequent sections provide details about the benchmark instances (Section 5.1), the results obtained with the execution of the LCPP model (Section 5.2), a comparison between BRKGA x e-BRKGA (Section 5.3), ABRKGA without and with an improved initial population with the Eulerian heuristic (Section 5.4), called here e-ABRKGA, and the e-BRKGA x e-ABRKGA in Section (Section 5.5). Please refer to the Data Availability Statement for complete information on the data used and constructed in this paper.

5.1. Instances

We utilized a set of 50 problem instances to evaluate the presented approaches. These instances were categorized based on the possible presence of space between the pieces in the input layout, categorized as connected (C) instances (see Figure A1 and Figure A2 in Appendix A.1) or separated (S) instances (see Figure A3, Figure A4 and Figure A5 in Appendix A.2). The space between items in the latter group enables the utilization of support, which is common in particular material cutting applications. We generated the dataset using the nesting approach outlined in [41], and for all tests, the laser machine parameters considered, V c (cut) and V m (air), were 16.67 mm/s and 400 mm/s, respectively.
In [9], several hyperparameter settings have been tested for the GA and the BRKGA heuristics, executed ten times for each instance. The authors chose the best-performing configuration, which will be compared with our approach. In Table 3, we present the instances along with the corresponding number of vertices, the count of edges (for both the original and adapted layouts with the edge joints), and the number of polygons. We also tested ABRKGA with the value of γ presented in Table 2 and we have chosen to use a maximum ( p m a x = 1000 ) and minimum ( p m i n = 100 ), executing each instance ten times.
Some instances present different vertices and edges due to applying the join procedure and split edges in the original input layout. It is necessary to highlight that joining segments are treated as particular cases of splitting edges. The algorithm of preprocessing input data, extracted by [6], converts the input file into a graph before addressing the LCPP. This conversion process can increase the number of edges of the original layout due to the realization of edge separation that occurs when a node of one figure touches the edge of another. For example, in Figure 6a) the “end” point separates edge 1 and edge 8. This procedure needs to occur to connect (C) groups of instances.

5.2. Results for the MIP Flow Model

In this subsection, we report the results obtained for the proposed MIP model. The model was implemented in JULIA 1.8.1 using JuMP library version 0.9, and the computational tests were carried out on a machine with a Linux Ubuntu 20.04 operational system, 16 GB of RAM, and an i7 processor with eight cores and 2.7 Hz speed. We set a time limit of 1 h (3600 s) for each instance. This value was adopted arbitrarily to establish a time control for the execution and validation of the model on the tests. The significance of 3600 s was considered reasonable by our team. We aim to consider the optimal results obtained and check with the BRKGA, ABRKGA, and variations.
Table 4 and Table 5 present results for the MIP flow model in the set of instances connected and separated. The column instance notes the name of the instance; column solution reports the best solution obtained by the model; column time is the elapsed time in seconds if the model reached the time limit of 1 h, this is represented by LIMIT; column gap registers the gap as presented by the solver at the end of execution; and column nodes reports the number of nodes in the branch and bound tree.
We filter instances containing a maximum of 40 nodes to carry out tests with the model. The results of Table 4 and Table 5 show that the MIP model can only solve a small number of the instances (four in both cases), and the instances that were solved have a small size (number of vertices plus the number of edges). One can verify that the models reach the time limit for most instances. Furthermore, for some instances, it was trapped in the root node of the branch and bound tree, and for the instance blaz2 of the separated benchmark, the model could not even be produced due to memory issues.
All these remarks lead us to conclude that, although this model presents a theoretical contribution to LCPP, it still needs to be a practical method, and heuristic methods are needed to tackle large instances. However, we intend to use the results presented by the model as an initial guide for the solutions of the computational experiments proposed in this research.

5.3. Comparison of Results for BRKGA vs. e-BRKGA 

This section shows the first comparison between some strategies discussed in the context of this paper. Thus, the results of BRKGA, as presented by [9], are confronted with the same strategy. However, we incorporate the Eulerian heuristic into the mechanism for creating the initial population. We will refer to this approach as e-BRKGA to simplify the terms.
The same parameters ( p = 1000 ;   p e = 0.30 ;   p m = 0.15 ) were applied to both approaches, and the stopping rule was approximately 300 s of time execution or 100 generations without improvement on the best solution found. Table 6 (BRKGA) and Table 7 (e-BRKGA) present the best, worst, average, standard deviation, and coefficient of variation for the ten computational runs of each instance from the connected group (C). The same structure was adopted in Table 8 (BRKGA) and Table 9, except that these two other tables represent execution for the separated group (S).
The first point deserving highlight in the analysis of the results is the average computational time of the approaches. Considering the “average” column, the average computational time for all executions in Table 6 was 170.70 s. In contrast, in Table 7, it is possible to observe that the e-BRKGA required a time 41.30% less than BRKGA, approximately 100.20 s. Considering the group (S), the average execution times of instances (Table 8) is 183.43 s, while the same attribute found in Table 9 is 96.17 s. This fact characterizes a gain of 47.57% of the e-BRKGA with respect to the BRKGA.
The coefficient of variation (variation column) allows the determination of the precision of the measurements and the variability within samples. Regarding the execution time, we highlight the variation in the instances “blaz1”, “dighe2”, and “inst_9pol” from group (C), which were the only ones that showed values higher than 10% (moderate variation).
In the instances from Table 7, the entries “dighe1”, “inst_2pol”, “inst_4pol”, and “shapes2” also fall under a moderate aspect regarding the variation in the samples. The only instance that draws attention to the context of the coefficient of variation is “inst_6pol”, with a value of 21.79%. Even so, there still needs to be a sizable relative variability in the data about the mean. Table 8 and Table 9 present the execution time variation, presenting all values less than 10%.
In summary, we can consider the execution times based on their respective averages due to the low value of the coefficient of variation attribute. We also highlight that 76% of the instances in group (C) and 80% in group (S) have GAPs (see Table 10) more significant than 50% concerning the difference in execution times for e-BRKGA.
Even in the column of the best and worst solutions found, when the developed Eulerian heuristic is applied to the initial population, it presents gains in execution time when applying e-BRKGA to LCPP. In the group of instances (C), only four instances had a longer execution time for e-BRKGA. However, for the set (S), no e-BRKGA execution took more computational time than BRKGA. All evolution graphs (best individual fitness x number of generation) are available in Data Availability Statement.
To consider the quality of the solutions (objective function value), as the second point of analysis of the results, Table 6, Table 7, Table 8, Table 9 and Table 10 reveal the best and average solutions of each approach and the “GAP” column that presents a comparison between the potentials (solution quality and computational time) of each strategy. For the two values incorporated in the “GAP” column, if the “fitness” or “time (%)” values are positive, it indicates a percentage gain. This improvement can be either in terms of the average solution quality or the execution speed of e-BRKGA compared to BRKGA or vice versa, depending on the sign.
For example, consider the “albano” instance, the first row in Table 10. The “fitness (%)” value in the “GAP connected” column between the approaches is 7.68%, and regarding the “time (%)” column, it is −1.66%. These numbers mean that the value of the “fitness” column for the e-BRKGA average multiplied by (1 + 7.68%) is approximately equal to the average “fitness” of the BRKGA. Furthermore, the “time (%)” column value for the “GAP connected” implies that the BRKGA executed in a time that, when multiplied by (1 + 1.66%), is approximately equal to the time spent by e-BRKGA. A positive GAP percentage α represents gains to e-BRKGA in the proportion α . Otherwise, the improvement α is reached by the BRKGA approach.
From Table 10, it is possible to verify that the BRKGA achieved a better average in the quality of results in 17 instances (negative percentages), tied in 2, and lost in 6 when considering the group of instances (C). For this analysis, it is essential to observe that among the six instances where e-BRKGA had a better average fitness, five have the highest number of nodes and edges in the input graph: “albano”, “blaz3”, “inst_26pol”, “shapes4”, and “trousers”; see Table 3.
Notice that e-BRKGA found, on average, a 7.68% improvement, with an execution time 1.66% higher, meaning 5.04 s slower than BRKGA, considering the “albano” instance. A more significant gain occurs with the “inst_26pol” instance, reaching a 10.69% improvement with a 3.34% longer execution time. In “trousers”, the average fitness gain was 6.31% in 28.88 s (−9.28%) more for the algorithm to stop.
On the other hand, in some instances, e-BRKGA improved compared to BRKGA, both in the average fitness and execution time. The entries “blaz3” and “inst_7pol” demonstrated slight gains in fitness, 0.13% and 0.02%, respectively. However, in terms of execution time, the improvement reaches 34.85% (105.50 s) for “blaz3” and 72.35% (45.77 s) for “inst_7pol.
For the group of separated instances (S), the results exhibit similar characteristics of (C), except for the execution time of e-BRKGA, which is better in all instances. In this examination, it is crucial to note that out of the five instances where e-BRKGA showed a superior average fitness: ”albano“, “inst_16pol”, “inst_26pol”, “shapes4”, and “trousers”.
The conclusion of this initial round of test analyses is well supported in Table 10. The strategy of initializing the population with the Eulerian heuristic for LCPP directly influenced the two aspects discussed here: solution quality and computational execution speed. Notably, in both the group (C) and group (S) datasets, the difference in fitness values when BRKGA averages better is relatively small, less than 2%. This information leads to the preference of the e-BRKGA approach over BRKGA for the LCPP problem, considering the computational execution times.

5.4. Comparison of Results for ABRKGA vs. e-ABRKGA 

This section presents the second comparison between the ABRKGA strategies within this paper, explicitly pitting them against the same strategy that incorporates the Eulerian heuristic in the mechanism for creating the initial population. Through this comparison, we aimed to evaluate the performance of both ABRKGA variants and the Eulerian heuristic-based procedure.
The set of three parameters for α = { 0.997 ,   0.998 ,   0.999 } were applied for both approaches. Table A1 (ABRKGA) and Table A2 (e-ABRKGA) show the best, worst, mean, standard deviation, and coefficient of variation for the ten computational runs of each instance of the connected group (C). The same structure was adopted in Table A3 (ABRKGA) and Table A4 (e-ABRKGA), except that these two other tables represent the execution for the separate group (S).
In this second analysis, the first point that deserves attention in analyzing the results is the average time of the approaches. Considering the “average” column, the average time of all executions in Table A1 was 86.09 s. On the other hand, in Table A2, it is possible to observe that the e-ABRKGA required a time 219.69% longer than the ABRKGA, approximately 275.18 s. Considering group (S), the average execution time of the instances (Table A3) is 101.04 s, while the same attribute found in Table A4 is 179.04 s. This is a 77.2% gain for ABRKGA over e-ABRKGA.
In Table A2 and Table A4, the variation in execution times all show values less than 15%. In e-ABRKGA, both the instances of groups (C) and (S) presented a longer execution time because they use their stopping criteria. All evolution graphs (best individual fitness x number of generation) are available in the Data Availability Statement.
To consider the quality of the solutions, as the second point of analysis of the results, Table A1, Table A2, Table A3, Table A4 and Table A5 reveal the best and average solutions of each approach and the “GAP” column that maintains the comparison between the potentials (solution quality and computational time) of each strategy. For the two values incorporated in the “GAP” column, if the “fitness” or “time (%)” values are positive, it indicates a percentage gain. This improvement can be either in terms of the average solution quality or the execution speed of ABRKGA compared to e-ABRKGA or vice versa, depending on the sign.
From Table A5, it is possible to verify that e-ABRKGA obtained the best average in the quality of the results in 48 instances with its set of parameters (positive percentages), tied in 5, and lost in 22 when considering the group of instances (C). For the (S) instances, the e-ABRKGA only lost in the “trousers” instance with α = { 0.999 } .
Notice that e-ABRKGA found, on average, a 6.7% improvement, with an execution time 152.1% higher, meaning 125.05 s slower than ABRKGA, considering the “albano” instance with α = { 0.997 } .
For the group of separate instances (S), the results show similar characteristics to (C), except for the execution time of e-ABRKGA, which is worse in all instances. In this examination, it is essential to note that in almost all instances e-ABRKGA presented a superior average fitness.
The results from the second round of test analyses are strongly supported by the data presented in Table A5. The strategy of initializing the population with the Eulerian heuristic for LCPP had a direct impact, now negative, assuming the relation solution quality versus computational execution speed. Particularly noteworthy is the observation that in the datasets of groups (C) and group (S), the difference in fitness values when the average ABRKGA result is superior is relatively small, being less than 3%. Simultaneously, the ABRKGA approach demonstrated execution times up to 500% shorter than the e-ABRKGA method. These results show that the ABRKGA approach outperforms the e-ABRKGA approach for the LCPP problem, particularly when considering computational execution times. Therefore, for practical applications where efficiency is a significant factor, the ABRKGA strategy is the preferred choice.

5.5. Comparison of Results for e-BRKGA vs. e-ABRKGA

This section shows the third comparison between strategies incorporating the Eulerian heuristic in Section 5.3 and Section 5.4. The e-BRKGA is compared using the parameters p = 1000 ; p e = 0.30 ;   p m = 0.15 and the e-ABRKGA with the parameters α = { 0.997 , 0.998 , 0.999 } .
In this third analysis, the first point that deserves attention in analyzing the results is the average time of the approaches. Considering the “average” column, the average time of all executions in Table 7 was 100.20 s. On the other hand, in Table A2, it is possible to observe that the e-ABRKGA required a time 174.63% greater than the e-BRKGA, approximately 275.18 s. Considering group (S), the average execution time of the instances (Table 9) is 96.17 s, while the same attribute found in Table A4 is 179.04 s. This fact characterizes a gain of 86.17% for e-BRKGA with respect to e-ABRKGA.
To consider the quality of the solutions as the second point of analysis of the results, Table 7, Table 9, Table A2, Table A4 and Table A6 reveal the best and average solutions of each approach and the “GAP” column that presents the comparison between the potentials (solution quality and computational time) of each strategy. For the two values incorporated in the “GAP” column, if the “fitness” or “time (%)” values are positive, this indicates a percentage gain. This improvement can be either in terms of the average solution quality or the execution speed of e-BRKGA compared to e-ABRKGA or vice versa, depending on the sign.
From Table A6, it is possible to verify that e-ABRKGA obtained the best average in the quality of the results in 41 instances with its set of parameters (positive percentages), tied in 6, and lost in 28 when considering the group of instances (C). For the (S) instances, the e-ABRKGA lost in 30, tied in 7, and won in 38 instances.
Note that e-ABRKGA found, in the best result, an improvement of 4.65%, with an execution time 847.78% higher, that is, 2882.43 s slower than e-BRKGA, considering instance “albano” with α = { 0.999 } for group (C). For group (S), the result was similar, an improvement of 5.15%, with an execution time 512.91% higher, that is, 1570.11 s slower than e-BRKGA, considering the instance “albano” with α = { 0.997 } .
The findings of this third round of test analyses are strongly substantiated by the data presented in Table A6. Using the Eulerian heuristic in initializing the population for LCPP impacted the two aspects under consideration: solution quality and computational execution speed. It is worth noting that in the group (C) and group (S) datasets, the disparity in fitness values when the average e-BRKGA result is superior is relatively minor, generally below 3%. Moreover, the e-BRKGA approach exhibited significantly shorter computational execution times, often up to 1000% faster.
These results consistently point to the superiority of the e-BRKGA approach over e-ABRKGA when considering the LCPP problem and its computational execution times. The e-BRKGA strategy outperforms the e-ABRKGA variant, striking a commendable balance between solution optimality and computational efficiency. Therefore, for practical applications with faster results, the e-BRKGA approach emerges as the more favorable choice over the e-ABRKGA approach.

6. Conclusions

This research paper presents the LCPP (laser cutting path planning) problem, which effectively captures real-world conditions by evaluating distinct cutting and air-moving speeds. The consequence of cutting and sliding rates in actual machinery is often overlooked in the existing literature, making this investigation a valuable contribution to the field. By presenting a self-adaptive parameters evolutionary approach, namely, the adaptive biased random-key genetic algorithm (ABRKGA), and a heuristic to try to construct more significant fitness of individuals, the authors demonstrate their effectiveness in tackling practical instances of the problem. These methods hold promise in addressing functional challenges related to the LCPP in real-world systems.
Computational tests were conducted to conclude our investigation, comprising four distinct scenarios and considering 50 available instances in the literature [9]. In the first scenario, tests are conducted using the conceptual model in mathematical programming proposed for the LCPP (Section 2.2). Our findings revealed that the optimal solution was obtained only for instances containing a maximum of 20 nodes and 20 edges within a runtime limit of 1 h.
The other three experiments (Section 5.3, Section 5.4 and Section 5.5) were designed to facilitate a comparative analysis between solution quality and execution time. By conducting these experiments, our objective was to assess how different approaches or algorithms perform in terms of finding high-quality solutions within a limited time frame. This comparison allows us to understand the trade-offs between solution optimality and computational efficiency, providing valuable insights into the strengths and weaknesses of each method under consideration. Such an analysis is crucial in selecting the most suitable approach for practical applications, where finding reasonably good solutions is often paramount. In this context, we conclude, through the analysis of the test tables, that applying the heuristic in conjunction with BRKGA provided the best trade-off between solution quality and speed. Additionally, ABRKGA can be an excellent alternative when there is no prior study on layout patterns for the LCPP.
Accurate thermal evaluation methods can be seamlessly integrated into cutting path algorithms without substantially increasing computation time. As a result, there is a compelling motivation for CAM software developers to integrate these strategies into their software solutions. This enhanced flexibility empowers businesses to tailor their manufacturing processes in response to evolving objectives, ensuring better adaptability in the dynamic market landscape. For future work, the objective is to leverage this versatile framework (e-BRKGA and ABRKGA) to tackle more complex multi-objective optimizations of laser cutting paths, thereby further enhancing the already promising results obtained through an essential linear combination of diverse objective functions. This continuous pursuit of optimization will enable industries to unlock greater efficiencies and precision in their manufacturing operations.

Author Contributions

Conceptualization, B.A.J.; data curation, M.C.S. and G.N.d.C.; methodology, J.W.L.C., B.A.J. and M.C.S.; software, G.N.d.C.; validation, B.A.J.; writing—original draft, M.C.S., B.A.J. and P.R.P.; writing—review and editing, B.A.J. 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.

Data Availability Statement

Publicly available datasets were analyzed in this study. This data can be found here: https://github.com/GUIKAR741/evolutionary-algorithms-lcpp, accessed on 25 August 2023. The folder “algorithms” includes the codes of the two approaches developed for this paper. The folder “instances” holds all input SVG layouts. The folder “results” present the numerical experimental data. The folder “result-evolution process” contains the evolution graph of the best solution (Y) with the number of generations (X), and the folder “results-draw” shows the images of the path sequence found (each instance x execution).

Acknowledgments

Bonfim Amaro Junior was supported by and is grateful to the Edson Queiroz Foundation/University of Fortaleza. Plácido Rogério Pinheiro is grateful to the Edson Queiroz Foundation/University of Fortaleza and to the Brazilian National Council for Scientific and Technological Development (CNPq).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ABRKGAAdaptive biased random-key genetic algorithm
ACOAnt colony optimization
ALNSAdaptive large neighborhood search
BRKGABiased random-key genetic algorithm
CADComputer-aided design
CAMComputer-aided manufacturing
C&PCutting and packing
CPDCut path determination
FACOFocused ant colony optimization
GAGenetic algorithm
GTSPGeneralized traveling salesman problem
LCPPLaser cutting path planning
NCNumerical control
NRPNode routing problem
SVGScalable vector graphics
RCLRestricted chromosome list
SASimulated annealing
TSPTraveling salesman problem
TSP-NTraveling salesman problem with neighborhoods

Appendix A. Images of Input Layouts

Appendix A.1. Connected Instances

Figure A1. Instances with connected items. Part (1/2).
Figure A1. Instances with connected items. Part (1/2).
Applsci 13 10133 g0a1
Figure A2. Instances with connected items. Part (2/2).
Figure A2. Instances with connected items. Part (2/2).
Applsci 13 10133 g0a2

Appendix A.2. Separated Instances

Figure A3. Instances with separated items. Part (1/3).
Figure A3. Instances with separated items. Part (1/3).
Applsci 13 10133 g0a3
Figure A4. Instances with separated items. Part (2/3).
Figure A4. Instances with separated items. Part (2/3).
Applsci 13 10133 g0a4
Figure A5. Instances with separated items. Part (3/3).
Figure A5. Instances with separated items. Part (3/3).
Applsci 13 10133 g0a5

Appendix B. Results Tables

Table A1. ABRKGA applied to the connected set of instances (C).
Table A1. ABRKGA applied to the connected set of instances (C).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano_[0.997]109.4581.85110.4382.59109.7782.210.341.090.311.32
albano_[0.998]108.9483.98110.0082.08109.5283.230.290.790.260.95
albano_[0.999]109.6580.55110.5179.69109.9980.790.270.940.241.16
blaz1_[0.997]156.2931.45158.2131.69157.2131.430.600.390.381.23
blaz1_[0.998]156.8130.97157.8632.53157.2531.410.370.530.241.70
blaz1_[0.999]156.2930.48158.1431.15157.2131.010.690.620.441.99
blaz2_[0.997]274.19113.44278.75117.19276.49116.741.331.370.481.18
blaz2_[0.998]275.6690.41279.3889.69277.3691.240.940.970.341.06
blaz2_[0.999]275.8196.73278.4097.11276.8697.530.761.460.271.50
blaz3_[0.997]424.31400.35428.85404.89426.69400.651.673.310.390.83
blaz3_[0.998]426.51276.21429.76276.08428.49274.411.071.820.250.66
blaz3_[0.999]428.02212.58432.00215.66429.43215.191.042.220.241.03
dighe1_[0.997]71.1012.3771.7713.0471.3512.460.230.420.323.40
dighe1_[0.998]71.1513.9372.1415.9571.4213.560.291.290.409.52
dighe1_[0.999]71.0220.5871.7611.9771.3814.660.204.120.2828.09
dighe2_[0.997]54.157.7854.607.9954.377.840.150.240.283.12
dighe2_[0.998]54.177.9154.567.7254.347.660.130.140.241.82
dighe2_[0.999]54.237.3654.617.4954.377.360.130.130.251.72
fu_[0.997]24.645.8924.826.7024.716.060.080.380.316.30
fu_[0.998]24.615.2424.845.7324.695.850.080.370.326.40
fu_[0.999]24.595.7724.955.7324.745.590.110.120.442.17
inst_10pol_[0.997]127.3118.00128.4418.78127.7118.300.340.260.271.42
inst_10pol_[0.998]127.1917.64128.9418.03127.8918.370.500.490.392.67
inst_10pol_[0.999]127.0017.31128.1317.97127.7217.850.360.290.281.65
inst_16pol_[0.997]77.3514.5578.2315.3877.7415.050.310.370.402.43
inst_16pol_[0.998]77.2814.7578.3314.6277.9114.660.310.200.391.34
inst_16pol_[0.999]77.7814.1778.5514.7578.0914.280.270.280.341.93
inst_2pol_[0.997]33.132.1833.132.1833.132.140.000.060.002.80
inst_2pol_[0.998]33.132.0133.132.0133.132.160.000.190.008.89
inst_2pol_[0.999]33.131.8033.131.8033.131.870.000.140.007.30
inst_3pol_[0.997]39.256.0639.256.0639.253.840.001.010.0026.36
inst_3pol_[0.998]39.252.8539.252.8539.254.610.001.310.0028.44
inst_3pol_[0.999]39.253.1739.253.1739.252.880.000.200.007.01
inst_4pol_[0.997]57.385.0457.385.0457.384.800.000.170.003.48
inst_4pol_[0.998]57.384.6257.384.6257.384.790.000.280.005.93
inst_4pol_[0.999]57.385.6457.385.6457.385.580.000.310.005.52
inst_5pol_[0.997]69.636.6569.756.5069.666.670.060.100.091.49
inst_5pol_[0.998]69.636.1970.006.7169.676.550.120.170.172.66
inst_5pol_[0.999]69.636.7669.756.7469.656.610.050.310.084.70
inst_6pol_[0.997]81.758.3082.388.5081.888.970.230.550.286.10
inst_6pol_[0.998]81.758.2582.008.4781.848.340.100.150.121.74
inst_6pol_[0.999]81.757.9782.138.1981.918.120.150.150.181.85
inst_7pol_[0.997]96.8810.7597.5011.3097.1311.360.190.320.202.83
inst_7pol_[0.998]97.0012.9397.8811.9197.1811.520.280.810.297.01
inst_7pol_[0.999]96.8811.7397.3811.3097.0811.610.220.500.234.31
inst_8pol_[0.997]105.7513.06106.7512.83106.0513.030.290.170.271.32
inst_8pol_[0.998]105.7513.73106.7512.92106.1812.930.370.370.352.90
inst_8pol_[0.999]105.7512.16106.5012.25106.0512.280.240.270.232.24
inst_9pol_[0.997]124.1316.52125.5016.89124.6816.980.430.600.343.52
inst_9pol_[0.998]124.0016.61125.5016.73124.7416.610.430.170.341.02
inst_9pol_[0.999]124.0015.92125.1316.54124.5016.010.330.270.271.67
inst_26pol_[0.997]146.11134.68149.09133.96146.99135.000.862.260.581.67
inst_26pol_[0.998]146.29139.31148.45142.15147.33139.750.692.580.471.85
inst_26pol_[0.999]146.71138.98150.06139.59148.07139.720.901.410.611.01
rco1_[0.997]140.9826.05143.7027.41142.2926.560.810.480.571.81
rco1_[0.998]141.8426.47143.3426.01142.2826.280.440.520.311.99
rco1_[0.999]141.6124.82142.9425.53142.2926.570.431.400.305.28
rco2_[0.997]276.80112.56278.61112.74277.53112.390.650.920.230.82
rco2_[0.998]275.6188.67277.4387.02276.5287.730.690.800.250.91
rco2_[0.999]274.4296.80276.8797.30275.8396.840.701.400.251.44
rco3_[0.997]402.96310.02407.02312.44404.28313.751.293.450.321.10
rco3_[0.998]402.55222.08406.46229.15404.62225.311.323.230.331.43
rco3_[0.999]403.49186.90406.39187.75404.48187.600.951.850.240.98
shapes2_[0.997]219.8662.61223.1164.44221.1863.881.011.140.461.79
shapes2_[0.998]220.3066.52222.5367.67221.3267.440.630.660.280.97
shapes2_[0.999]221.0467.50223.2068.73222.0468.590.760.650.340.94
shapes4_[0.997]425.10434.26428.50431.76426.62436.661.246.010.291.38
shapes4_[0.998]426.22306.57429.41308.92427.58303.991.077.880.252.59
shapes4_[0.999]428.66241.17433.44246.15430.30244.221.442.630.341.08
spfc_[0.997]146.6431.29148.1231.53147.2531.610.430.280.290.89
spfc_[0.998]146.4331.21147.9432.05147.0631.700.520.420.351.32
spfc_[0.999]146.7830.35147.9231.02147.3430.870.430.370.291.19
trousers_[0.997]268.61717.63273.28724.13270.71722.141.4614.190.541.97
trousers_[0.998]271.50481.03274.61537.23272.44512.281.1423.390.424.57
trousers_[0.999]270.75510.17273.38510.43271.84510.431.023.720.380.73
Exec. time (avg) 85.34 86.65 86.09    
Table A2. e-ABRKGA applied to the connected set of instances (C).
Table A2. e-ABRKGA applied to the connected set of instances (C).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano_[0.997]102.03207.58102.94207.05102.42207.260.301.240.290.60
albano_[0.998]102.12200.52103.60203.93102.63202.770.441.800.420.89
albano_[0.999]102.27191.72103.34195.22102.68196.520.322.170.311.10
blaz1_[0.997]154.6450.01155.2051.37155.1050.380.180.550.111.10
blaz1_[0.998]154.6449.65155.2050.65155.1050.100.180.520.111.04
blaz1_[0.999]154.6448.14155.2048.17155.1048.020.180.330.110.68
blaz2_[0.997]271.76295.15276.37298.51272.81296.511.322.210.480.74
blaz2_[0.998]270.84221.09274.62225.43272.68223.121.251.460.460.65
blaz2_[0.999]271.46230.73275.32233.02272.59230.221.171.880.430.82
blaz3_[0.997]421.23601.05426.37604.82423.98605.541.543.440.360.57
blaz3_[0.998]423.29413.60427.56409.67425.74410.321.501.700.350.41
blaz3_[0.999]424.69322.69428.82321.57426.92322.751.472.890.340.90
dighe1_[0.997]70.7713.2571.4913.6171.0513.350.200.160.271.16
dighe1_[0.998]70.8813.1271.3813.2771.0913.040.150.120.210.90
dighe1_[0.999]71.0412.7271.5112.4871.2012.580.150.120.220.98
dighe2_[0.997]54.4113.2154.7512.6454.5512.880.110.220.201.69
dighe2_[0.998]54.4812.3954.6812.6854.5612.570.060.140.121.10
dighe2_[0.999]54.4611.8955.0312.4054.6712.090.200.150.371.26
fu_[0.997]24.4012.9524.9413.3424.6713.510.160.350.652.55
fu_[0.998]24.3813.6724.8813.4024.6713.650.150.320.632.31
fu_[0.999]24.2712.9424.9113.6024.6713.540.190.390.772.84
inst_10pol_[0.997]127.0019.13127.8818.83127.3919.040.240.250.181.31
inst_10pol_[0.998]127.0018.80127.8118.84127.3619.010.200.270.161.41
inst_10pol_[0.999]127.0018.17127.6318.09127.3418.190.200.230.161.24
inst_16pol_[0.997]77.2816.6777.9516.5177.5516.700.190.220.251.29
inst_16pol_[0.998]77.5017.4277.9316.0477.6916.450.150.400.202.41
inst_16pol_[0.999]77.3516.0478.1815.8377.6315.870.250.190.331.21
inst_2pol_[0.997]33.505.8833.505.8833.505.870.000.200.003.46
inst_2pol_[0.998]33.505.3833.505.3833.505.600.000.230.004.08
inst_2pol_[0.999]33.504.3633.504.3633.505.010.000.410.008.27
inst_3pol_[0.997]39.254.8939.254.8939.254.760.000.110.002.25
inst_3pol_[0.998]39.254.5839.254.5839.254.570.000.180.003.90
inst_3pol_[0.999]39.254.9239.254.9239.254.520.000.190.004.29
inst_4pol_[0.997]57.386.1557.756.1657.415.990.120.140.212.36
inst_4pol_[0.998]57.385.7957.506.0657.385.860.040.160.072.74
inst_4pol_[0.999]57.385.7757.385.7757.385.760.000.080.001.35
inst_5pol_[0.997]69.6311.9670.1311.0269.7411.250.180.490.254.37
inst_5pol_[0.998]69.6311.4570.1311.8469.9511.350.180.270.262.35
inst_5pol_[0.999]69.6311.2170.2511.3569.9211.380.240.150.351.33
inst_6pol_[0.997]81.8813.2882.3813.2382.1013.050.200.190.241.44
inst_6pol_[0.998]81.7512.6682.2513.5281.9513.180.140.400.173.07
inst_6pol_[0.999]81.8812.8782.3813.1682.1312.800.170.210.211.67
inst_7pol_[0.997]96.8811.0397.1311.0896.9511.100.100.150.111.37
inst_7pol_[0.998]96.8811.0997.0010.9796.9711.010.050.160.051.43
inst_7pol_[0.999]96.8811.5797.0011.3696.9210.890.060.400.073.71
inst_8pol_[0.997]105.7513.47106.2512.98106.0213.060.160.180.151.36
inst_8pol_[0.998]105.7512.64106.2512.75105.9412.890.180.190.171.46
inst_8pol_[0.999]105.7512.76106.5012.48105.9412.460.260.180.241.43
inst_9pol_[0.997]125.6328.27126.2528.11125.9928.430.190.260.150.92
inst_9pol_[0.998]125.7527.78126.2527.24125.9727.730.160.480.131.74
inst_9pol_[0.999]125.7526.09126.1325.43125.9325.870.120.340.101.32
inst_26pol_[0.997]145.32310.40147.52295.21146.49303.920.696.840.472.25
inst_26pol_[0.998]145.64279.32147.77293.59146.71287.980.618.470.422.94
inst_26pol_[0.999]146.39261.52148.40268.48147.33264.130.642.030.430.77
rco1_[0.997]141.3143.82142.4044.36141.6844.390.290.350.200.79
rco1_[0.998]141.3545.61142.1746.86141.6746.440.282.040.204.39
rco1_[0.999]141.1752.97142.1052.95141.5849.700.262.780.185.59
rco2_[0.997]273.93138.93276.66139.57275.13139.861.010.930.370.67
rco2_[0.998]274.91113.39277.22112.39275.93112.230.821.250.301.11
rco2_[0.999]274.77120.76276.38120.09275.59119.920.580.700.210.58
rco3_[0.997]409.021582.20416.471622.53412.491595.472.2219.130.541.20
rco3_[0.998]408.78906.03418.29927.53414.10916.013.338.620.800.94
rco3_[0.999]406.78544.03424.24556.58414.57549.435.953.721.430.68
shapes2_[0.997]215.98123.75218.04123.12216.98122.750.630.770.290.63
shapes2_[0.998]216.36129.00218.14129.50216.86128.430.531.390.251.08
shapes2_[0.999]215.81130.11217.27131.53216.61131.030.451.280.210.97
shapes4_[0.997]423.63729.75426.50737.99424.83832.010.9277.010.229.26
shapes4_[0.998]422.93654.05427.32734.14425.41660.391.3634.040.325.15
shapes4_[0.999]424.58381.28430.23380.46427.40388.221.6611.730.393.02
spfc_[0.997]144.4667.95145.5867.80144.8768.030.400.370.280.55
spfc_[0.998]144.4966.69145.9667.17145.0667.050.530.330.370.50
spfc_[0.999]144.3967.95145.7364.31144.9166.580.422.310.293.47
trousers_[0.997]269.454044.48282.954618.07275.114114.724.91258.251.786.28
trousers_[0.998]271.723042.26283.933331.27277.103067.143.52183.451.275.98
trousers_[0.999]270.863308.09278.553386.72274.733222.422.87239.201.047.42
Exec. time (avg) 272.99 287.97 275.18 11.95  
Table A3. ABRKGA applied to the separated set of instances (S).
Table A3. ABRKGA applied to the separated set of instances (S).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano_[0.997]112.5876.25114.0775.22113.0675.580.460.870.411.15
albano_[0.998]112.7076.92114.2775.76113.3576.230.461.150.411.51
albano_[0.999]112.9471.98114.3772.61113.6972.940.511.020.451.40
blaz1_[0.997]163.9930.85165.6230.13164.6431.030.551.370.334.41
blaz1_[0.998]163.4929.72165.5530.77164.4830.470.730.870.442.84
blaz1_[0.999]163.3229.42166.2129.44164.5929.680.910.470.561.57
blaz2_[0.997]297.25116.10302.22117.62298.54117.501.430.890.480.76
blaz2_[0.998]297.6686.53300.1586.52298.5486.630.911.170.311.35
blaz2_[0.999]296.9796.52299.5495.22297.9994.230.901.450.301.54
blaz3_[0.997]496.93556.37502.51571.44498.86564.791.427.820.291.38
blaz3_[0.998]498.22357.06501.63376.76499.66373.331.0910.030.222.69
blaz3_[0.999]498.88234.87504.08235.78501.13238.471.653.250.331.36
dighe1_[0.997]97.4323.3298.1623.2697.8323.440.220.300.221.28
dighe1_[0.998]97.5623.0398.1522.9097.8123.110.200.780.203.37
dighe1_[0.999]97.6022.0498.4623.3998.0126.880.295.450.3020.28
dighe2_[0.997]79.3216.2780.1716.3479.7516.480.280.360.352.19
dighe2_[0.998]79.7516.1280.2216.7979.9416.990.190.910.245.37
dighe2_[0.999]79.5315.8180.3617.1979.9417.060.260.780.324.55
fu_[0.997]28.785.6629.045.7428.915.600.070.100.241.77
fu_[0.998]28.815.5429.095.4728.915.550.080.090.291.66
fu_[0.999]28.805.5529.055.3928.925.520.080.260.264.65
inst_10pol_[0.997]193.8434.05195.9133.62194.8033.290.650.410.331.22
inst_10pol_[0.998]194.0035.04196.0535.16194.8934.700.610.450.311.29
inst_10pol_[0.999]194.6534.54195.8835.04195.1734.590.380.380.191.09
inst_16pol_[0.997]174.6985.67175.9490.47175.2286.880.391.980.222.28
inst_16pol_[0.998]174.9391.13176.0691.78175.5491.360.360.480.200.52
inst_16pol_[0.999]175.1590.58176.1092.67175.4890.970.310.980.181.07
inst_2pol_[0.997]36.052.3636.052.3636.052.420.000.090.003.61
inst_2pol_[0.998]36.052.0836.052.0836.052.340.000.170.007.11
inst_2pol_[0.999]36.052.2136.052.2136.052.200.000.160.007.23
inst_3pol_[0.997]48.104.5548.305.1048.124.660.060.270.135.86
inst_3pol_[0.998]48.104.9248.303.9748.125.140.061.250.1324.40
inst_3pol_[0.999]48.103.8148.307.7548.145.390.081.830.1833.91
inst_4pol_[0.997]72.157.2372.507.0572.246.940.140.200.192.82
inst_4pol_[0.998]72.156.5672.406.7072.236.920.110.380.155.46
inst_4pol_[0.999]72.156.1672.437.1272.236.690.110.390.165.85
inst_5pol_[0.997]90.2010.1691.0010.1890.5610.220.280.140.311.41
inst_5pol_[0.998]90.159.8091.039.9190.439.960.300.260.332.56
inst_5pol_[0.999]90.259.5491.2310.0490.539.640.280.160.311.63
inst_6pol_[0.997]114.4514.30115.4814.47114.8014.780.320.410.282.80
inst_6pol_[0.998]114.2315.52115.6315.22114.7815.170.490.900.435.95
inst_6pol_[0.999]114.6215.25115.9314.59115.1215.250.370.500.323.31
inst_7pol_[0.997]138.7618.75140.2619.30139.3319.460.410.410.292.13
inst_7pol_[0.998]138.9119.54140.5619.79139.3719.580.500.210.361.10
inst_7pol_[0.999]138.5819.21140.1819.27139.3619.150.620.320.451.68
inst_8pol_[0.997]157.4323.40159.4324.18158.0523.970.740.390.471.61
inst_8pol_[0.998]156.6523.63159.0824.81157.7624.330.680.560.432.29
inst_8pol_[0.999]157.1523.68159.5023.40158.2323.640.810.460.511.96
inst_9pol_[0.997]187.7331.02189.7029.77188.7330.390.560.400.301.30
inst_9pol_[0.998]187.4030.10189.3331.58188.1530.690.710.600.381.97
inst_9pol_[0.999]187.9330.76189.4531.55188.6530.770.480.430.251.40
inst_26pol_[0.997]200.11187.88202.12188.32201.10188.780.741.500.370.80
inst_26pol_[0.998]199.62197.76202.22199.08200.89197.810.851.180.430.60
inst_26pol_[0.999]199.87203.37201.45200.57200.54202.620.503.850.251.90
rco1_[0.997]163.3226.56165.6226.95164.6127.400.680.710.412.59
rco1_[0.998]163.2626.49165.7227.72164.4927.070.820.430.501.59
rco1_[0.999]163.4926.71165.5726.56164.5126.900.720.450.441.66
rco2_[0.997]322.21122.50325.50119.63323.73121.271.061.580.331.31
rco2_[0.998]322.6790.66326.1693.85324.2592.391.221.120.381.22
rco2_[0.999]322.3697.28324.8299.31323.4098.140.800.870.250.89
rco3_[0.997]487.92435.70493.13430.93490.28429.451.423.150.290.73
rco3_[0.998]489.61288.38493.18285.21491.07285.951.322.020.270.71
rco3_[0.999]489.55196.50492.82195.90491.01193.281.173.600.241.86
shapes2_[0.997]231.1656.62233.0158.93232.1157.630.601.000.261.74
shapes2_[0.998]230.5963.62233.1361.43231.7662.380.811.170.351.87
shapes2_[0.999]230.9363.93233.0864.30231.9064.480.721.140.311.77
shapes4_[0.997]454.80464.50458.54484.06456.44465.411.1311.180.252.40
shapes4_[0.998]454.91291.62458.95287.36456.82289.341.294.150.281.43
shapes4_[0.999]456.35235.71461.07237.20458.01236.441.524.790.332.03
spfc_[0.997]149.9828.08151.4528.40150.7028.550.460.460.301.63
spfc_[0.998]150.1528.53151.5428.58150.7028.560.380.230.250.80
spfc_[0.999]149.9428.08152.2128.04150.6128.080.680.500.451.77
trousers_[0.997]298.75718.47302.70745.63300.84734.461.5721.920.522.99
trousers_[0.998]302.52511.29305.81526.19303.92520.261.0911.520.362.21
trousers_[0.999]301.90543.22305.16511.10303.36528.661.0322.340.344.23
Exec. time (avg) 100.47 101.47 101.04    
Table A4. e-ABRKGA applied to the separated set of instances (S).
Table A4. e-ABRKGA applied to the separated set of instances (S).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano_[0.997]112.20123.00113.63125.04112.95123.990.500.840.440.68
albano_[0.998]112.05123.38113.87123.47112.89123.230.610.800.540.65
albano_[0.999]112.68117.12114.36119.64113.51118.350.491.020.430.86
blaz1_[0.997]163.1834.58164.8334.67163.9934.960.550.520.341.49
blaz1_[0.998]163.5635.14164.4436.59163.9935.630.290.550.181.55
blaz1_[0.999]163.4334.79164.9335.49164.1034.790.430.390.261.13
blaz2_[0.997]295.37155.92298.16156.77296.04156.050.830.980.280.63
blaz2_[0.998]295.70114.84297.81116.00296.55114.770.660.840.220.73
blaz2_[0.999]296.18127.34298.83126.18297.23125.250.771.260.261.01
blaz3_[0.997]493.40900.49496.67892.15494.79900.631.178.430.240.94
blaz3_[0.998]493.20573.28498.01576.61495.92576.701.405.480.280.95
blaz3_[0.999]494.74354.22502.46357.07498.38361.712.064.520.411.25
dighe1_[0.997]97.3525.6498.0325.7697.5425.860.230.170.230.66
dighe1_[0.998]97.1625.3397.8825.6897.5525.440.210.220.220.87
dighe1_[0.999]97.3024.6198.0524.8597.7324.680.250.150.250.63
dighe2_[0.997]79.2617.6580.1419.7279.7118.090.240.590.303.26
dighe2_[0.998]79.4818.0280.2417.9679.7917.630.210.240.271.34
dighe2_[0.999]79.6116.6880.3717.0179.8317.040.220.170.271.00
fu_[0.997]28.738.1528.878.8328.818.320.050.330.184.00
fu_[0.998]28.778.1028.937.6128.848.070.060.310.213.86
fu_[0.999]28.627.8528.997.7528.828.130.110.360.374.46
inst_10pol_[0.997]193.2536.57195.4636.23194.1636.220.690.520.351.44
inst_10pol_[0.998]193.2637.49194.9037.79193.9637.530.480.280.250.75
inst_10pol_[0.999]192.6437.52195.1338.26193.8437.730.630.300.320.80
inst_16pol_[0.997]173.89128.79174.88129.62174.45129.300.271.210.150.93
inst_16pol_[0.998]174.48130.68175.05133.02174.69131.560.180.890.100.68
inst_16pol_[0.999]174.07130.36175.43131.52174.67131.070.530.590.300.45
inst_2pol_[0.997]36.053.2936.053.2936.052.980.000.160.005.31
inst_2pol_[0.998]36.053.0936.053.0936.052.830.000.150.005.15
inst_2pol_[0.999]36.052.5336.052.5336.052.660.000.220.008.42
inst_3pol_[0.997]48.104.8148.104.8148.104.920.000.180.003.63
inst_3pol_[0.998]48.104.6748.104.6748.104.810.000.200.004.16
inst_3pol_[0.999]48.104.6848.104.6848.104.710.000.120.002.54
inst_4pol_[0.997]72.158.7672.208.9172.178.810.030.160.041.82
inst_4pol_[0.998]72.158.4572.308.6772.188.580.050.170.072.04
inst_4pol_[0.999]72.158.8772.438.4472.228.610.100.400.144.64
inst_5pol_[0.997]90.1511.1990.5311.0190.3111.550.120.580.135.04
inst_5pol_[0.998]90.1811.9090.4511.9990.3011.840.100.160.111.37
inst_5pol_[0.999]90.1812.0890.9012.2890.3912.190.230.180.251.47
inst_6pol_[0.997]114.3314.83115.7315.83114.6815.130.410.530.363.50
inst_6pol_[0.998]114.4515.37115.2515.46114.7315.550.270.300.231.93
inst_6pol_[0.999]114.2315.63115.0015.73114.5915.890.260.300.231.88
inst_7pol_[0.997]138.4719.96139.6020.36138.8820.110.300.200.220.99
inst_7pol_[0.998]138.3419.83140.0220.06138.9120.080.520.230.381.13
inst_7pol_[0.999]138.4719.84140.3019.80139.0619.670.580.190.420.94
inst_8pol_[0.997]156.7024.87157.7824.86157.3325.050.330.230.210.92
inst_8pol_[0.998]156.9825.17157.8325.00157.3425.310.270.340.171.32
inst_8pol_[0.999]157.1525.00158.2525.16157.5724.810.400.340.251.37
inst_9pol_[0.997]187.2531.77188.5832.76187.8632.400.430.360.231.10
inst_9pol_[0.998]186.9532.63188.0833.55187.5633.700.410.590.221.74
inst_9pol_[0.999]187.4033.78188.9833.95188.1033.550.500.320.260.96
inst_26pol_[0.997]199.20549.52202.47530.77200.67564.140.9931.920.495.66
inst_26pol_[0.998]199.32434.97200.64581.02199.95494.600.4471.270.2214.41
inst_26pol_[0.999]199.48418.66201.38418.38200.14427.260.6113.370.303.13
rco1_[0.997]163.8130.42165.2931.70164.3631.190.550.810.332.59
rco1_[0.998]162.7836.21165.3134.67163.9734.360.671.160.413.37
rco1_[0.999]163.5837.45164.7337.76164.1137.460.470.610.281.64
rco2_[0.997]321.25149.40323.72148.95322.12149.760.781.140.240.76
rco2_[0.998]321.12113.98324.15116.29322.23114.740.850.950.260.83
rco2_[0.999]321.10123.41323.98123.36322.17122.951.160.760.360.61
rco3_[0.997]483.92619.23487.47618.18485.80614.271.204.850.250.79
rco3_[0.998]484.65402.16488.76409.30486.67406.481.413.670.290.90
rco3_[0.999]485.53268.59491.92267.00488.72267.851.921.370.390.51
shapes2_[0.997]230.7174.11232.3176.23231.5273.990.420.970.181.32
shapes2_[0.998]230.6880.32232.1679.21231.4679.770.560.570.240.72
shapes2_[0.999]230.1383.55232.8182.09231.4483.060.891.380.391.66
shapes4_[0.997]451.62749.86454.56757.36452.86764.330.8611.210.191.47
shapes4_[0.998]454.21473.16457.01480.69455.42479.821.133.560.250.74
shapes4_[0.999]455.10367.46457.53369.41456.36370.810.843.410.180.92
spfc_[0.997]149.4850.40150.5257.76150.1054.450.343.220.225.92
spfc_[0.998]149.1450.57150.8450.25149.9550.740.450.900.301.78
spfc_[0.999]149.3648.72150.8048.83150.0048.800.440.300.290.62
trousers_[0.997]298.681873.57302.211961.91299.981876.231.04134.290.357.16
trousers_[0.998]302.021189.90304.421121.54303.431188.920.8659.510.285.01
trousers_[0.999]301.401326.50306.611262.62303.451363.361.3795.930.457.04
Exec. time (avg) 176.83 178.58 179.04    
Table A5. GAP comparison ABRKGA x e-ABRKGA to connected (C) and separated (S) instances.
Table A5. GAP comparison ABRKGA x e-ABRKGA to connected (C) and separated (S) instances.
InstancesGAPGAP
Connected (C) Separated (S)
Fitness (%) Time (s) Time (%) Fitness (%) Time (s) Time (%)
albano_[0.997]6.70%125.05−152.10%0.10%48.41−64.06%
albano_[0.998]6.29%119.54−143.63%0.41%47.01−61.67%
albano_[0.999]6.65%115.73−143.25%0.17%45.40−62.25%
blaz1_[0.997]1.34%18.95−60.28%0.40%3.93−12.67%
blaz1_[0.998]1.37%18.68−59.48%0.30%5.16−16.94%
blaz1_[0.999]1.34%17.01−54.83%0.29%5.11−17.20%
blaz2_[0.997]1.33%179.77−153.98%0.84%38.56−32.82%
blaz2_[0.998]1.68%131.89−144.56%0.67%28.14−32.49%
blaz2_[0.999]1.54%132.69−136.05%0.25%31.02−32.92%
blaz3_[0.997]0.64%204.89−51.14%0.82%335.83−59.46%
blaz3_[0.998]0.64%135.90−49.52%0.75%203.36−54.47%
blaz3_[0.999]0.58%107.56−49.98%0.55%123.24−51.68%
dighe1_[0.997]0.41%0.88−7.09%0.30%2.41−10.29%
dighe1_[0.998]0.46%−0.523.83%0.26%2.33−10.07%
dighe1_[0.999]0.26%−2.0814.20%0.28%−2.218.21%
dighe2_[0.997]−0.33%5.05−64.39%0.04%1.62−9.81%
dighe2_[0.998]−0.41%4.90−64.00%0.19%0.64−3.75%
dighe2_[0.999]−0.55%4.74−64.41%0.13%−0.020.12%
fu_[0.997]0.16%7.45−122.90%0.34%2.72−48.48%
fu_[0.998]0.08%7.81−133.49%0.23%2.52−45.46%
fu_[0.999]0.29%7.95−142.08%0.35%2.62−47.41%
inst_10pol_[0.997]0.25%0.74−4.04%0.33%2.93−8.81%
inst_10pol_[0.998]0.42%0.64−3.51%0.47%2.83−8.16%
inst_10pol_[0.999]0.30%0.34−1.88%0.68%3.13−9.06%
inst_16pol_[0.997]0.25%1.65−10.97%0.44%42.43−48.83%
inst_16pol_[0.998]0.28%1.79−12.24%0.49%40.19−43.99%
inst_16pol_[0.999]0.59%1.59−11.12%0.46%40.10−44.08%
inst_2pol_[0.997]−1.13%3.73−174.00%0.00%0.56−23.15%
inst_2pol_[0.998]−1.13%3.43−158.72%0.00%0.49−20.76%
inst_2pol_[0.999]−1.13%3.14−167.87%0.00%0.46−20.84%
inst_3pol_[0.997]0.00%0.92−23.97%0.05%0.26−5.52%
inst_3pol_[0.998]0.00%−0.040.86%0.04%−0.336.48%
inst_3pol_[0.999]0.00%1.63−56.65%0.08%−0.6812.56%
inst_4pol_[0.997]−0.06%1.20−24.97%0.10%1.87−26.94%
inst_4pol_[0.998]0.00%1.08−22.49%0.06%1.65−23.91%
inst_4pol_[0.999]0.00%0.17−3.09%0.01%1.91−28.58%
inst_5pol_[0.997]−0.11%4.58−68.74%0.27%1.33−12.99%
inst_5pol_[0.998]−0.41%4.80−73.22%0.14%1.88−18.86%
inst_5pol_[0.999]−0.39%4.77−72.08%0.16%2.55−26.42%
inst_6pol_[0.997]−0.28%4.08−45.46%0.11%0.35−2.40%
inst_6pol_[0.998]−0.14%4.83−57.96%0.04%0.38−2.51%
inst_6pol_[0.999]−0.26%4.68−57.59%0.46%0.64−4.22%
inst_7pol_[0.997]0.18%−0.272.36%0.32%0.65−3.35%
inst_7pol_[0.998]0.22%−0.504.37%0.33%0.50−2.54%
inst_7pol_[0.999]0.16%−0.726.16%0.21%0.52−2.72%
inst_8pol_[0.997]0.02%0.03−0.24%0.46%1.08−4.51%
inst_8pol_[0.998]0.22%−0.040.29%0.27%0.97−4.00%
inst_8pol_[0.999]0.10%0.18−1.45%0.42%1.17−4.93%
inst_9pol_[0.997]−1.05%11.45−67.42%0.46%2.01−6.61%
inst_9pol_[0.998]−0.98%11.12−66.92%0.31%3.01−9.80%
inst_9pol_[0.999]−1.15%9.86−61.62%0.29%2.79−9.05%
inst__[0.997]0.35%168.92−125.12%0.21%375.36−198.83%
inst__[0.998]0.42%148.24−106.08%0.47%296.80−150.04%
inst__[0.999]0.50%124.41−89.04%0.20%224.64−110.87%
rco1_[0.997]0.43%17.83−67.12%0.15%3.79−13.84%
rco1_[0.998]0.43%20.16−76.71%0.31%7.29−26.94%
rco1_[0.999]0.50%23.13−87.04%0.24%10.56−39.25%
rco2_[0.997]0.86%27.47−24.44%0.50%28.49−23.49%
rco2_[0.998]0.21%24.50−27.93%0.62%22.35−24.19%
rco2_[0.999]0.09%23.08−23.83%0.38%24.81−25.28%
rco3_[0.997]−2.03%1281.72−408.52%0.91%184.82−43.04%
rco3_[0.998]−2.34%690.70−306.55%0.90%120.54−42.15%
rco3_[0.999]−2.50%361.83−192.88%0.47%74.57−38.58%
shapes2_[0.997]1.90%58.87−92.15%0.26%16.36−28.40%
shapes2_[0.998]2.01%60.99−90.44%0.13%17.39−27.88%
shapes2_[0.999]2.44%62.44−91.04%0.20%18.58−28.81%
shapes4_[0.997]0.42%395.34−90.54%0.78%298.93−64.23%
shapes4_[0.998]0.51%356.40−117.24%0.31%190.48−65.83%
shapes4_[0.999]0.67%144.00−58.96%0.36%134.37−56.83%
spfc_[0.997]1.62%36.42−115.22%0.40%25.90−90.73%
spfc_[0.998]1.36%35.36−111.54%0.50%22.18−77.65%
spfc_[0.999]1.65%35.71−115.67%0.41%20.72−73.79%
trousers_[0.997]−1.63%3392.58−469.80%0.29%1141.78−155.46%
trousers_[0.998]−1.71%2554.87−498.73%0.16%668.66−128.52%
trousers_[0.999]−1.06%2711.99−531.31%−0.03%834.70−157.89%
Table A6. GAP comparison e-BRKGA x e-ABRKGA to connected (C) and separated (S) instances.
Table A6. GAP comparison e-BRKGA x e-ABRKGA to connected (C) and separated (S) instances.
InstancesGAPGAP
Connected (C) Separated (S)
Fitness (%) Time (s) Time (%) Fitness (%) Time (s) Time (%)
albano_[0.997]0.04%−101.9532.97%−3.65%−176.0058.67%
albano_[0.998]−0.17%−106.4434.42%−3.59%−176.7658.92%
albano_[0.999]−0.22%−112.6836.44%−4.16%−181.6560.55%
blaz1_[0.997]1.03%7.36−17.10%0.22%−5.1312.79%
blaz1_[0.998]1.03%7.08−16.45%0.22%−4.4611.13%
blaz1_[0.999]1.03%5.00−11.62%0.15%−5.3013.23%
blaz2_[0.997]0.87%122.07−69.98%0.29%67.81−76.84%
blaz2_[0.998]0.92%48.69−27.91%0.12%26.52−30.06%
blaz2_[0.999]0.95%55.79−31.98%−0.11%37.00−41.93%
blaz3_[0.997]0.20%408.29−207.00%0.46%697.74−343.92%
blaz3_[0.998]−0.21%213.07−108.02%0.24%373.82−184.25%
blaz3_[0.999]−0.49%125.50−63.63%−0.26%158.83−78.29%
dighe1_[0.997]0.23%−33.8671.73%−0.26%−22.3846.40%
dighe1_[0.998]0.19%−34.1672.37%−0.28%−22.8047.27%
dighe1_[0.999]0.03%−34.6373.36%−0.46%−23.5648.85%
dighe2_[0.997]−0.91%−10.7745.52%−0.10%−20.3152.89%
dighe2_[0.998]−0.92%−11.0846.87%−0.20%−20.7754.09%
dighe2_[0.999]−1.12%−11.5648.87%−0.25%−21.3755.64%
fu_[0.997]−2.79%−39.7074.60%−1.96%−34.0180.34%
fu_[0.998]−2.79%−39.5674.34%−2.07%−34.2680.94%
fu_[0.999]−2.76%−39.6774.55%−2.00%−34.2080.79%
inst_10pol_[0.997]1.26%−22.9854.69%0.09%−1.584.18%
inst_10pol_[0.998]1.28%−23.0154.76%0.19%−0.270.71%
inst_10pol_[0.999]1.30%−23.8356.71%0.25%−0.070.20%
inst_16pol_[0.997]0.52%−43.8972.43%−0.87%−67.1034.16%
inst_16pol_[0.998]0.34%−44.1472.84%−1.00%−64.8533.02%
inst_16pol_[0.999]0.42%−44.7273.82%−0.99%−65.3333.26%
inst_2pol_[0.997]−1.13%−2.0025.39%0.00%−3.7455.66%
inst_2pol_[0.998]−1.13%−2.2728.88%0.00%−3.8857.84%
inst_2pol_[0.999]−1.13%−2.8636.28%0.00%−4.0560.40%
inst_3pol_[0.997]0.00%−3.4241.78%0.00%−5.1451.10%
inst_3pol_[0.998]0.00%−3.6144.15%0.00%−5.2452.17%
inst_3pol_[0.999]0.00%−3.6644.79%0.00%−5.3453.10%
inst_4pol_[0.997]0.37%−10.2663.12%0.05%−5.0536.42%
inst_4pol_[0.998]0.43%−10.3863.91%0.04%−5.2738.07%
inst_4pol_[0.999]0.43%−10.4964.57%0.00%−5.2437.85%
inst_5pol_[0.997]−0.15%−1.3410.62%0.03%−6.6336.49%
inst_5pol_[0.998]−0.46%−1.249.84%0.04%−6.3434.89%
inst_5pol_[0.999]−0.41%−1.219.58%−0.06%−5.9932.96%
inst_6pol_[0.997]0.26%−12.1748.27%0.11%−5.6227.07%
inst_6pol_[0.998]0.44%−12.0447.76%0.06%−5.2025.05%
inst_6pol_[0.999]0.23%−12.4249.24%0.18%−4.8623.41%
inst_7pol_[0.997]0.00%−6.3936.55%0.14%−4.4117.97%
inst_7pol_[0.998]0.00%−6.4737.01%0.12%−4.4418.12%
inst_7pol_[0.999]0.04%−6.6037.71%0.01%−4.8519.78%
inst_8pol_[0.997]0.02%−5.6930.34%0.21%−1.977.30%
inst_8pol_[0.998]0.10%−5.8631.26%0.20%−1.726.37%
inst_8pol_[0.999]0.10%−6.2933.56%0.06%−2.228.23%
inst_9pol_[0.997]−0.30%−5.6416.55%0.07%−0.571.71%
inst_9pol_[0.998]−0.28%−6.3418.62%0.23%0.73−2.22%
inst_9pol_[0.999]−0.25%−8.2024.07%−0.05%0.58−1.77%
inst__[0.997]−0.01%−12.103.83%−1.55%260.88−86.03%
inst__[0.998]−0.16%−28.048.87%−1.18%191.35−63.10%
inst__[0.999]−0.59%−51.8916.42%−1.28%124.00−40.89%
rco1_[0.997]0.18%8.25−22.83%0.21%−1.915.77%
rco1_[0.998]0.19%10.30−28.49%0.45%1.26−3.81%
rco1_[0.999]0.25%13.56−37.51%0.36%4.37−13.19%
rco2_[0.997]0.29%46.84−50.36%0.17%69.40−86.37%
rco2_[0.998]0.00%19.22−20.66%0.13%34.39−42.79%
rco2_[0.999]0.13%26.90−28.92%0.15%42.60−53.01%
rco3_[0.997]−2.41%1432.03−876.18%0.61%464.11−309.07%
rco3_[0.998]−2.81%752.57−460.46%0.43%256.32−170.69%
rco3_[0.999]−2.93%385.99−236.16%0.01%117.68−78.37%
shapes2_[0.997]1.29%23.85−24.11%−0.21%−4.836.13%
shapes2_[0.998]1.35%29.53−29.86%−0.18%0.95−1.20%
shapes2_[0.999]1.46%32.13−32.49%−0.17%4.24−5.38%
shapes4_[0.997]−1.37%524.54−170.60%0.24%512.09−203.02%
shapes4_[0.998]−1.51%352.92−114.78%−0.33%227.59−90.23%
shapes4_[0.999]−1.98%80.75−26.26%−0.53%118.57−47.01%
spfc_[0.997]0.84%8.92−15.09%−0.23%2.76−5.34%
spfc_[0.998]0.71%7.94−13.44%−0.12%−0.951.84%
spfc_[0.999]0.81%7.48−12.65%−0.16%−2.895.58%
trousers_[0.997]4.52%3774.72−1110.23%5.15%1570.11−512.91%
trousers_[0.998]3.83%2727.15−802.11%4.05%882.80−288.39%
trousers_[0.999]4.65%2882.43−847.78%4.05%1057.25−345.37%

References

  1. Júnior, B.A.; Pinheiro, P.R. Approaches to tackle the nesting problems. In Artificial Intelligence Perspectives in Intelligent Systems; Springer: Berlin/Heidelberg, Germany, 2016; pp. 285–295. [Google Scholar]
  2. Araújo, L.J.; Panesar, A.; Özcan, E.; Atkin, J.; Baumers, M.; Ashcroft, I. An experimental analysis of deepest bottom-left-fill packing methods for additive manufacturing. Int. J. Prod. Res. 2020, 58, 6917–6933. [Google Scholar] [CrossRef]
  3. Araújo, L.J.; Özcan, E.; Atkin, J.A.; Baumers, M. Analysis of irregular three-dimensional packing problems in additive manufacturing: A new taxonomy and dataset. Int. J. Prod. Res. 2019, 57, 5920–5934. [Google Scholar] [CrossRef]
  4. Zhao, X.; Bennell, J.A.; Bektaş, T.; Dowsland, K. A comparative review of 3D container loading algorithms. Int. Trans. Oper. Res. 2016, 23, 287–320. [Google Scholar] [CrossRef]
  5. Leao, A.A.; Toledo, F.M.; Oliveira, J.F.; Carravilla, M.A.; Alvarez-Valdés, R. Irregular packing problems: A review of mathematical models. Eur. J. Oper. Res. 2020, 282, 803–822. [Google Scholar] [CrossRef]
  6. Silva, E.F.; Oliveira, L.T.; Oliveira, J.F.; Toledo, F.M.B. Exact approaches for the cutting path determination problem. Comput. Oper. Res. 2019, 112, 104772. [Google Scholar] [CrossRef]
  7. Dewil, R.; Vansteenwegen, P.; Cattrysse, D. A review of cutting path algorithms for laser cutters. Int. J. Adv. Manuf. Technol. 2016, 87, 1865–1884. [Google Scholar] [CrossRef]
  8. Chaves, A.A.; Gonçalves, J.F.; Lorena, L.A.N. Adaptive biased random-key genetic algorithm with local search for the capacitated centered clustering problem. Comput. Ind. Eng. 2018, 124, 331–346. [Google Scholar] [CrossRef]
  9. Amaro Junior, B.; Santos, M.C.; de Carvalho, G.N.; de Araújo, L.J.P.; Pinheiro, P.R. Metaheuristics for the Minimum Time Cut Path Problem with Different Cutting and Sliding Speeds. Algorithms 2021, 14, 305. [Google Scholar] [CrossRef]
  10. Dewil, R.; Vansteenwegen, P.; Cattrysse, D. Construction heuristics for generating tool paths for laser cutters. Int. J. Prod. Res. 2014, 52, 5965–5984. [Google Scholar] [CrossRef]
  11. Qu, P.; Du, F. Improved Particle Swarm Optimization for Laser Cutting Path Planning. IEEE Access 2023, 11, 4574–4588. [Google Scholar] [CrossRef]
  12. Rico-Garcia, H.; Sanchez-Romero, J.L.; Migallon Gomis, H.; Rao, R.V. Parallel implementation of metaheuristics for optimizing tool path computation on CNC machining. Comput. Ind. 2020, 123, 103322. [Google Scholar] [CrossRef]
  13. Qudeiri, J.A.; Yamamoto, H.; Ramli, R. Optimization of Operation Sequence in CNC Machine Tools Using Genetic Algorithm. J. Adv. Mech. Des. Syst. Manuf. 2007, 1, 272–282. [Google Scholar] [CrossRef]
  14. Ghaiebi, H.; Solimanpur, M. An ant algorithm for optimization of hole-making operations. Comput. Ind. Eng. 2007, 52, 308–319. [Google Scholar] [CrossRef]
  15. Medina, N.; Montiel Ross, O.; Sepúlveda, R.; Castillo, O. Tool Path Optimization for Computer Numerical Control Machines based on Parallel ACO. Eng. Lett. 2012, 20, 101–108. [Google Scholar]
  16. Chvátal, V.; Cook, W.; Dantzig, G.B.; Fulkerson, D.R.; Johnson, S.M. Solution of a large-scale traveling-salesman problem. In 50 Years of Integer Programming 1958–2008; Springer: Berlin/Heidelberg, Germany, 2010; pp. 7–28. [Google Scholar]
  17. Ahadi, A.; Mozafari, A.; Zarei, A. Touring a sequence of disjoint polygons: Complexity and extension. Theor. Comput. Sci. 2014, 556, 45–54. [Google Scholar] [CrossRef]
  18. Khan, W.; Hayhurst, D. Two and Three-Dimensional Path Optimization for Production Machinery. J. Manuf. Sci. Eng.-Trans. Asme-J. Manuf. Sci. Eng. 2000, 122, 244–252. [Google Scholar] [CrossRef]
  19. Erdos, G.; Kemény, Z.; Kovacs, A.; Váncza, J. Planning of Remote Laser Welding Processes. Procedia CIRP 2013, 7, 222–227. [Google Scholar] [CrossRef]
  20. Xie, S.; Tu, Y.; Liu, J.; Zhou, Z. Integrated and concurrent approach for compound sheet metal cutting and punching. Int. J. Prod. Res. 2010, 39, 1095–1112. [Google Scholar] [CrossRef]
  21. Yu, W.; Lu, L. A route planning strategy for the automatic garment cutter based on genetic algorithm. In Proceedings of the 2014 IEEE Congress on Evolutionary Computation, CEC 2014, Beijing, China, 6–11 July 2014; pp. 379–386. [Google Scholar] [CrossRef]
  22. Arkin, E.M.; Hassin, R. Approximation algorithms for the geometric covering salesman problem. Discret. Appl. Math. 1994, 55, 197–218. [Google Scholar] [CrossRef]
  23. Veeramani, D.; Kumar, S. Optimization of the nibbling operation on an NC turret punch press. Int. J. Prod. Res. 1998, 36, 1901–1916. [Google Scholar] [CrossRef]
  24. Manber, U.; Israni, S. Pierce point minimization and optimal torch path determination in flame cutting. J. Manuf. Syst. 1984, 3, 81–89. [Google Scholar] [CrossRef]
  25. Moreira, L.M.; Oliveira, J.F.; Gomes, A.M.; Ferreira, J.S. Heuristics for a dynamic rural postman problem. Comput. Oper. Res. 2007, 34, 3281–3294. [Google Scholar] [CrossRef]
  26. Garfinkel, R.S.; Webb, I.R. On crossings, the Crossing Postman Problem, and the Rural Postman Problem. Networks 1999, 34, 173–180. [Google Scholar] [CrossRef]
  27. Rodrigues, A.; Soeiro Ferreira, J. Cutting path as a Rural Postman Problem: Solutions by Memetic Algorithms. IJCOPI 2012, 3, 31–46. [Google Scholar]
  28. Chan Han, G.; Joo Na, S. A study on torch path planning in laser cutting processes part 2: Cutting path optimization using simulated annealing. J. Manuf. Syst. 1999, 18, 62–70. [Google Scholar] [CrossRef]
  29. Lee, M.K.; Kwon, K.B. Cutting path optimization in CNC cutting processes using a two-step genetic algorithm. Int. J. Prod. Res. 2006, 44, 5307–5326. [Google Scholar] [CrossRef]
  30. Dewil, R.; Vansteenwegen, P.; Cattrysse, D. Cutting path optimization using tabu search. Key Eng. Mater. 2011, 473, 739–748. [Google Scholar] [CrossRef]
  31. Golden, B.L.; Wong, R.T. Capacitated arc routing problems. Networks 1981, 11, 305–315. [Google Scholar] [CrossRef]
  32. Usberti, F.L.; França, P.M.; França, A.L.M. The open capacitated arc routing problem. Comput. Oper. Res. 2011, 38, 1543–1555. [Google Scholar] [CrossRef]
  33. Hajad, M.; Saetang, V.; Dumkum, C.; Jaturanonda, C. Solving the Laser Cutting Path Problem Using Population-Based Simulated Annealing with Adaptive Large Neighborhood Search. Key Eng. Mater. 2020, 833, 29–34. [Google Scholar] [CrossRef]
  34. Skinderowicz, R. Improving Ant Colony Optimization efficiency for solving large TSP instances. Appl. Soft Comput. 2022, 120, 108653. [Google Scholar] [CrossRef]
  35. Gonçalves, J.F.; Resende, M.G.C. Biased random-key genetic algorithms for combinatorial optimization. J. Heuristics 2011, 17, 487–525. [Google Scholar] [CrossRef]
  36. Eiben, A.E.; Michalewicz, Z.; Schoenauer, M.; Smith, J.E. Parameter Control in Evolutionary Algorithms. In Parameter Setting in Evolutionary Algorithms; Lobo, F.G., Lima, C.F., Michalewicz, Z., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 19–46. [Google Scholar] [CrossRef]
  37. Resende, M. Biased random-key genetic algorithms with applications in telecommunications. TOP 2010, 20, 130–153. [Google Scholar] [CrossRef]
  38. Edmonds, J.; Johnson, E. Matching, Euler Tours and the Chinese Postman. Math. Program. 1973, 5, 88–124. [Google Scholar] [CrossRef]
  39. Prasetyo, H.; Fauza, G.; Amer, Y.; Lee, S.H. Survey on applications of biased-random key genetic algorithms for solving optimization problems. In Proceedings of the 2015 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM), Singapore, 6–9 December 2015; pp. 863–870. [Google Scholar] [CrossRef]
  40. Spears, V.M.; Jong, K.A.D. On the virtues of parameterized uniform crossover. In Proceedings of the Fourth International Conference on Genetic Algorithms, San Diego, CA, USA, 13–16 July 1991; pp. 230–236. [Google Scholar]
  41. Amaro Júnior, B.; Pinheiro, P.R.; Coelho, P.V. A parallel biased random-key genetic algorithm with multiple populations applied to irregular strip packing problems. Math. Probl. Eng. 2017, 2017, 1670709. [Google Scholar] [CrossRef]
Figure 1. An optimal solution example for laser cutting path planning.
Figure 1. An optimal solution example for laser cutting path planning.
Applsci 13 10133 g001
Figure 2. The ABRKGA workflow. Adapted from [8].
Figure 2. The ABRKGA workflow. Adapted from [8].
Applsci 13 10133 g002
Figure 3. Encoder and decoder for an individual representation.
Figure 3. Encoder and decoder for an individual representation.
Applsci 13 10133 g003
Figure 4. Input layout and solution constructed, for example illustrated in Figure 3.
Figure 4. Input layout and solution constructed, for example illustrated in Figure 3.
Applsci 13 10133 g004
Figure 5. Example of the quality value computed between i and i + 1 indexes of individual vector representation.
Figure 5. Example of the quality value computed between i and i + 1 indexes of individual vector representation.
Applsci 13 10133 g005
Figure 6. Each graph has a trail that utilizes each edge exactly once. The trail on the left (a) is open, commencing and ending at different vertices. Conversely, the graph on the right (b) is closed, allowing any vertices to be the start and end points.
Figure 6. Each graph has a trail that utilizes each edge exactly once. The trail on the left (a) is open, commencing and ending at different vertices. Conversely, the graph on the right (b) is closed, allowing any vertices to be the start and end points.
Applsci 13 10133 g006
Table 1. Parameter definitions and recommended value ranges.
Table 1. Parameter definitions and recommended value ranges.
ParameterSuggested Value Range
p [ 100 ,   1000 ]
p e m a x [ 3 ,   k e p ] where k e [ 0.10 ,   0.25 ]
p m m a x [ 1 ,   k m p ] where k m [ 0.05 ,   0.20 ]
ρ e 0.65 ρ e 0.80
m a x g e n [ 50 ,   500 ]
Table 2. Available options for parameter γ .
Table 2. Available options for parameter γ .
Search Property max gen γ
p1271 0.999
p27400.998
p320170.997
Table 3. The properties of each instance were applied in our computational experiments. The table presents each instance’s number of nodes, edges, and polygons: (C) connected pieces and (S) separated.
Table 3. The properties of each instance were applied in our computational experiments. The table presents each instance’s number of nodes, edges, and polygons: (C) connected pieces and (S) separated.
InstanceNodesEdgesPolygons
Initial Converted
(C) (S) (C) (S) (C) (S) (C) (S)
albano1561641641641731642424
blaz139444444464477
blaz27080888089801413
blaz3971321321321301322121
dighe12054465438541515
dighe22046384630461010
fu3743434351431212
inst_10pol2040394029401010
inst_16pol2712864128421281632
inst_2pol78888822
inst_3pol8121212101233
inst_4pol10161616131644
inst_5pol12201920162055
inst_6pol13242324182466
inst_7pol15282728212877
inst_8pol16323132233288
inst_9pol18363536263699
inst_26pol2102642642642372646666
rco133363636403677
rco26272727281721414
rco3821081081081161082121
shapes268707070787088
shapes41271401401401471401616
spfc5555555563551111
trousers3503883883884243886464
Table 4. Results for the MIP flow model on the connected set of instances.
Table 4. Results for the MIP flow model on the connected set of instances.
Instance (Connected)SolutionTimeGAPNodes
inst_2pol33.130.020.00
inst_3pol39.251.540.0469
inst_4pol57.3824.610.025,463
inst_5pol69.632595.580.01,393,088
inst_6pol102.88LIMIT1.0587,126
inst_7pol109.38LIMIT1.0314,325
inst_8pol113.61LIMIT1.0189,994
inst_9pol181.54LIMIT1.0114,572
inst_10pol157.59LIMIT1.070,963
dighe1.txt75.64LIMIT1.025,198
dighe2.txt84.56LIMIT1.054,868
rco1.txt345.63LIMIT1.08798
blaz1.txt449.59LIMIT1.02118
Table 5. Results for the MIP flow model on the separated set of instances.
Table 5. Results for the MIP flow model on the separated set of instances.
Instance (Separated)SolutionTimeGAPNodes
inst_2pol36.050.210.0152
inst_3pol48.106.550.01618
inst_4pol72.15138.180.048,868
inst_5pol90.151039.980.095,880
inst_6pol184.66LIMIT1.052,374
inst_7pol244.31LIMIT1.012,773
inst_8pol260.18LIMIT1.021,074
inst_9pol300.32LIMIT1.011,166
inst_10pol395.04LIMIT1.03874
Table 6. BRKGA applied to the connected set of instances (C).
Table 6. BRKGA applied to the connected set of instances (C).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano108.17304.68113.10303.76110.97304.171.460.541.320.18
blaz1154.71146.10155.86148.94155.09152.180.3717.030.2411.19
blaz2269.94302.04271.95301.69270.81301.740.750.350.280.12
blaz3423.96303.11428.01302.96425.39302.751.420.480.330.16
dighe170.57158.8970.88140.1270.72138.070.108.240.145.97
dighe253.9088.3854.0589.7753.9699.070.0510.070.0910.17
fu23.82185.1623.95167.6023.89184.480.048.750.154.75
inst_10pol127.00106.61127.3883.24127.1590.210.148.700.119.64
inst_16pol76.75127.6376.90155.8976.83132.180.079.350.097.07
inst_2pol33.1322.7333.1322.7333.1324.080.001.360.005.63
inst_3pol39.2528.0039.2528.0039.2527.290.000.810.002.96
inst_4pol57.3833.7757.3833.7757.3834.240.000.840.002.47
inst_5pol69.6344.4669.6344.4669.6342.250.001.510.003.58
inst_6pol81.7552.4581.7552.4581.7551.250.002.270.004.44
inst_7pol96.8865.4697.0060.3796.9863.250.044.480.047.08
inst_8pol105.7572.59106.0068.80105.8267.040.093.050.084.55
inst_9pol124.00103.57124.2573.90124.0682.430.098.760.0710.63
inst_26pol160.50306.98166.74306.34164.00305.811.911.271.160.42
rco1140.28116.84141.14132.15140.77122.010.3010.780.218.83
rco2270.71301.86271.90301.45271.41301.520.350.320.130.10
rco3394.67302.78398.84302.69396.89302.421.220.400.310.13
shapes2215.26293.88217.22301.44216.07297.580.624.670.281.57
shapes4427.55302.73436.58303.90430.10303.173.140.530.730.17
spfc144.11236.94144.92212.40144.38227.100.2713.540.195.96
trousers305.90312.92308.70309.30307.52311.110.802.240.260.72
Exec. time (avg) 172.82 169.93 170.70    
Table 7. e-BRKGA applied to the connected set of instances (C).
Table 7. e-BRKGA applied to the connected set of instances (C).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano101.38309.54106.48310.74102.45309.211.990.951.940.31
blaz1156.2544.97157.8638.89156.7143.020.512.310.325.37
blaz2271.97169.48278.18181.48275.21174.442.249.970.815.71
blaz3423.04192.78426.93190.56424.83197.241.2513.470.296.83
dighe171.0540.6571.5355.5571.2247.210.185.420.2611.48
dighe253.9423.2954.2622.9654.0623.650.081.520.156.41
fu23.8956.2824.1347.3424.0053.210.062.700.245.07
inst_10pol128.6940.99129.5041.32129.0142.020.233.330.187.94
inst_16pol77.7358.6678.2562.1777.9560.590.183.840.246.34
inst_2pol33.136.1233.136.1233.137.870.000.920.0011.74
inst_3pol39.258.0739.258.0739.258.180.000.170.002.03
inst_4pol57.3817.2657.8813.4357.6316.250.202.220.3513.64
inst_5pol69.6311.9769.7514.0069.6412.580.040.790.066.26
inst_6pol82.0026.1282.7523.9682.3225.220.265.490.3221.79
inst_7pol96.8818.4197.1317.5796.9517.490.081.520.098.67
inst_8pol105.8818.93106.2518.49106.0518.750.120.510.112.72
inst_9pol125.5033.27126.0032.53125.6134.070.172.490.137.31
inst_26pol144.23318.39150.25315.41146.47316.022.201.601.500.51
rco1141.2136.43142.5239.31141.9436.140.411.970.295.44
rco2274.4990.41278.4091.20275.9493.011.223.960.444.26
rco3401.29155.61404.92157.88402.78163.441.276.540.324.00
shapes2218.9884.77220.7998.40219.8298.900.6313.190.2813.34
shapes4415.56307.62423.43306.97419.08307.472.770.670.660.22
spfc145.4562.94146.7755.37146.0959.110.363.160.255.35
trousers281.57342.34293.53338.96288.12340.004.162.761.440.81
Exec. time (avg) 99.01 99.55 100.20    
Table 8. BRKGA applied to the separated set of instances (S).
Table 8. BRKGA applied to the separated set of instances (S).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano113.09303.06116.14303.15113.74303.530.950.640.840.21
blaz1162.23145.88163.41142.45162.82139.820.327.050.205.04
blaz2292.01301.86293.67300.93292.88299.800.604.460.211.49
blaz3493.35302.32499.90302.43496.15302.841.770.340.360.11
dighe196.18186.4596.66198.2696.40194.690.1612.220.176.28
dighe278.66137.7579.16147.8178.96153.100.1813.340.228.71
fu28.00137.5028.20140.5828.10141.590.064.760.213.36
inst_10pol193.09134.11194.14135.72193.48135.040.296.150.154.55
inst_16pol172.74303.31174.69303.12173.59302.650.630.650.360.21
inst_2pol36.0524.2036.0524.2036.0524.660.001.310.005.29
inst_3pol48.1032.1648.1032.1648.1032.490.001.000.003.08
inst_4pol72.1548.8272.1548.8272.1548.150.003.310.006.87
inst_5pol90.1553.1790.2060.5690.1657.580.024.410.037.67
inst_6pol114.2373.97114.5577.93114.4374.200.104.670.096.29
inst_7pol138.47104.92138.9180.33138.7089.790.167.090.117.90
inst_8pol156.68101.20157.18102.50156.92102.610.186.620.116.45
inst_9pol187.10117.63187.65130.63187.34122.250.215.220.114.27
inst_26pol218.68308.02219.84304.34219.16306.230.331.400.150.46
rco1162.78109.34163.88116.15163.25110.320.306.240.195.66
rco2317.76264.95319.63262.81318.71271.210.606.220.192.29
rco3480.66301.41485.71302.02481.99301.921.380.420.290.14
shapes2227.83237.60229.71266.72228.87256.270.5413.710.245.35
shapes4453.30302.06455.87303.49454.13302.920.840.510.180.17
spfc147.77195.91148.81196.75148.21202.180.3017.370.218.59
trousers343.11312.32347.59306.85346.43309.981.332.230.380.72
Exec. time (avg) 181.60 183.63 183.43    
Table 9. e-BRKGA applied to the separated set of instances (S).
Table 9. e-BRKGA applied to the separated set of instances (S).
InstancesBestWorstAverageStd. DeviationVariation
Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec. Fitness Exec.
albano107.88301.77109.96301.59108.97299.990.564.340.511.45
blaz1163.5939.04166.2937.48164.3440.090.832.270.515.66
blaz2295.4089.47298.2882.66296.8988.250.943.860.324.38
blaz3495.29194.61500.55180.00497.09202.881.3212.680.276.25
dighe197.0948.7497.5749.6997.2848.240.182.730.195.66
dighe279.3740.4680.0939.8979.6338.400.201.730.254.50
fu28.1641.8928.3539.4228.2542.330.073.760.248.88
inst_10pol193.9037.91195.0837.28194.3337.800.422.430.216.42
inst_16pol172.20220.74173.85189.20172.95196.400.5712.970.336.60
inst_2pol36.055.9636.055.9636.056.710.000.490.007.23
inst_3pol48.1010.1948.1010.1948.1010.050.000.360.003.63
inst_4pol72.1514.6172.4012.8072.2113.850.090.940.136.82
inst_5pol90.1518.5990.7318.7090.3418.180.191.530.218.42
inst_6pol114.6019.37115.2320.15114.8020.750.231.260.206.07
inst_7pol138.6623.88139.6022.55139.0824.520.331.370.245.58
inst_8pol157.2027.25158.2524.11157.6527.030.321.630.206.03
inst_9pol187.0330.68188.8332.33188.0032.970.471.700.255.17
inst_26pol196.50304.46201.26303.18197.61303.261.440.650.730.21
rco1164.0631.18165.5336.59164.7133.100.472.020.286.09
rco2321.8883.18323.9677.48322.6680.360.853.100.263.86
rco3486.86153.02491.18159.72488.79150.161.497.870.315.24
shapes2230.5279.09231.7376.11231.0478.820.463.620.204.59
shapes4452.26243.26455.89231.39453.94252.241.1216.110.256.39
spfc149.4155.16150.1855.40149.7651.690.262.800.175.42
trousers308.86306.82334.58305.88316.26306.128.610.792.720.26
Exec. time (avg) 96.85 93.99 96.17    
Table 10. GAP comparison BRKGA x e-BRKGA to connected (C) and separated (S) instances.
Table 10. GAP comparison BRKGA x e-BRKGA to connected (C) and separated (S) instances.
InstancesGAPGAP
Connected (C)Separated (S)
Fitness (%) Time (s) Time (%) Fitness (%) Time (s) Time (%)
albano7.68%5.04−1.66%4.19%−3.541.17%
blaz1−1.04%−109.1571.73%−0.94%−99.7371.33%
blaz2−1.63%−127.3142.19%−1.37%−211.5670.57%
blaz30.13%−105.5034.85%−0.19%−99.9633.01%
dighe1−0.71%−90.8765.81%−0.92%−146.4575.22%
dighe2−0.18%−75.4276.13%−0.85%−114.6974.91%
fu−0.48%−131.2771.16%−0.57%−99.2670.10%
inst_10pol−1.47%−48.1953.42%−0.44%−97.2472.01%
inst_16pol−1.46%−71.5954.16%0.37%−106.2535.11%
inst_2pol0.00%−16.2167.32%0.00%−17.9572.78%
inst_3pol0.00%−19.1070.02%0.00%−22.4469.07%
inst_4pol−0.44%−17.9952.54%−0.09%−34.3071.23%
inst_5pol−0.02%−29.6770.21%−0.19%−39.4068.43%
inst_6pol−0.70%−26.0350.79%−0.33%−53.4572.03%
inst_7pol0.02%−45.7772.35%−0.27%−65.2772.69%
inst_8pol−0.21%−48.2972.03%−0.47%−75.5873.66%
inst_9pol−1.25%−48.3658.67%−0.35%−89.2873.03%
inst_26pol10.69%10.21−3.34%9.84%−2.970.97%
rco1−0.83%−85.8770.38%−0.90%−77.2270.00%
rco2−1.67%−208.5169.15%−1.24%−190.8670.37%
rco3−1.48%−138.9845.96%−1.41%−151.7650.26%
shapes2−1.74%−198.6866.76%-0.95%−177.4569.24%
shapes42.56%4.30−1.42%0.04%−50.6816.73%
spfc−1.19%−167.9973.97%−1.05%−150.4974.44%
trousers6.31%28.88−9.28%8.71%−3.861.24%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Junior, B.A.; de Carvalho, G.N.; Santos, M.C.; Pinheio, P.R.; Celedonio, J.W.L. Evolutionary Algorithms for Optimization Sequence of Cut in the Laser Cutting Path Problem. Appl. Sci. 2023, 13, 10133. https://doi.org/10.3390/app131810133

AMA Style

Junior BA, de Carvalho GN, Santos MC, Pinheio PR, Celedonio JWL. Evolutionary Algorithms for Optimization Sequence of Cut in the Laser Cutting Path Problem. Applied Sciences. 2023; 13(18):10133. https://doi.org/10.3390/app131810133

Chicago/Turabian Style

Junior, Bonfim Amaro, Guilherme Nepomuceno de Carvalho, Marcio Costa Santos, Placido Rogerio Pinheio, and Joao Willian Lemos Celedonio. 2023. "Evolutionary Algorithms for Optimization Sequence of Cut in the Laser Cutting Path Problem" Applied Sciences 13, no. 18: 10133. https://doi.org/10.3390/app131810133

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