1. Introduction
In the context of Industry 4.0, mass customization is developing rapidly, and customers can choose customized products with different configurations. Mass customization is a modern manufacturing mode that combines mass production with customization [
1]. Mass customization can help balance the contradiction between order differentiation and manufacturing costs [
2] and enables greater flexibility in manufacturing systems [
3]. The key to achieving mass customization and rapid response is providing diverse product configurations to meet customer requirements and shortening the order delivery time [
4]. It is an important way to attract customers and improve the competitiveness of manufacturing enterprises. However, it often adds complexity to the production scheduling process. Production scheduling is the core of modern manufacturing, and it aims at balancing customer requirements and manufacturing resources, as well as improving quality, increasing efficiency and reducing costs and consumption. Metal structural parts are widely used in aerospace products, ships, automobiles, transmission towers and other equipment. Generally, their production process includes part nesting, cutting processing and welding assembly. Due to the differentiation of orders, there are many types of metal structural parts and small batches, resulting in machine load imbalance, low material utilization, poor kitting and a backlog of work-in-progress in the production process.
The production process of metal structural parts could be regarded as a kind of parallel machine scheduling problem (PMSP). The classical PMSP assumes that there are n jobs, and each job must be processed by one of m parallel machines. The objectives of the PMSP are to minimize the makespan, the tardiness, etc. However, in the actual production process, part nesting makes the metal structural parts not independent. In addition, this is necessary for the close connection between machining and welding assembly. The absence of any one part leads to the retention of all the parts belonging to the same kit or component, and subsequent follow-ups cannot be carried out during assembly welding. Due to the variety of orders and the fluctuation in the price of metal materials, it is required that suitable scheduling must comprehensively consider the above factors to improve the machining and assembly efficiency of the metal structural parts and reduce the waste of materials. Therefore, eligibility constraints need to be considered, i.e., the material-type constraints of each structural part and the nesting constraints. Part nesting is necessary to optimize material utilization. When welding assembly is performed, it is necessary to ensure that all the parts of the same component or product are completed as close to the same time as possible, a process called kitting. Compared with the classical PMSP, this makes problem modeling and solution more complicated and puts forward higher requirements for the comprehensive performance of the scheduling approach.
Since McNaughton studied the PMSP for the first time [
5], research on models and algorithms for the PMSP has achieved rich theoretical results [
6,
7]. Due to the wide range of practical applications, many researchers have focused on the PMSP in practical workshops [
8,
9,
10]. Workshop scheduling needs to comprehensively consider the cooperation and combination of multiple production links, such as machining and assembly, making the scheduling problem more complex. Meng et al. analyzed a metal-cutting plant, considered processing times, setup times, pickup times, different delivery times and machine eligibility constraints, and addressed a bi-objective cutting parallel machine scheduling problem aiming to minimize the total makespan and the total tardiness [
11]. Zhang et al. researched the integrated scheduling problem of production and delivery on parallel batch processing machines with non-identical capacities in different locations in cloud manufacturing and assumed the job release time, batch sizes, processing times and delivery times. A mixed-integer programming (MIP) model was presented to solve this problem, and the objective was to minimize the total service completion time [
12]. Hatami et al. first described the distributed parallel machine and assembly scheduling problem (DPMASP) with eligibility constraints, aiming to optimize the scheduling of two manufacturing stages, namely, the production stage and the assembly stage. The production stage consisted of a set of identical factories with a set of unrelated parallel machines in one factory. In the assembly stage, the assembly machine was assigned to assemble all products. The proposed eligibility constraints indicated conditions whereby a job could only be assigned to an eligible factory. Minimizing the makespan of the products in the assembly stage was considered as the objective. The scheduling model was solved using CPLEX and Gurobi solver [
13]. Amallynda et al. discussed an expansion of the DPMASP to a new parallel machine scenario and presented new meta-heuristics for scheduling problems. A set of products was manufactured through the assembly of several parts, each fabricated in the factories during the production stage. A product could be assembled in the assembly stage only after all the jobs in the production stage were completed. The objectives were to minimize the mean flow time and the number of tardy jobs [
14]. The above studies addressed the PMSP of production and assembly or delivery with different optimization objectives. However, the scheduling objectives were mostly limited to part-level metrics; the focus was only on the point in time when the last job was finished, ignoring the actual duration of the jobs within the same component. The kit delivery efficiency was often overlooked, that is, the difference in the completion time of multiple parts of the same component was not considered. It has to be noted that the longer it takes to perform kitting, the more the work-in-process stock increases. For the case of kit delivery, Hsu et al. researched the customer order scheduling (COS) problem, where each order consisted of the set of jobs that had to be shipped as one batch at the same time. A new dispatching rule was proposed for COS in job shop scheduling, in order to reduce the total time it took to complete all jobs within the same order [
15]. Chen et al. studied a synchronized scheduling problem of production and shipment with the objective to ensure that all products belonging to the same order were simultaneously completed (at least as close as possible). The proposed scheduling method was applied to a two-stage assembly flow shop scheduling [
16]. Hu et al. developed a two-stage framework for the lot sizing and scheduling of the production activities at a kitting facility aiming to solve a kitting-specific production planning problem in a manufacturing setting [
17]. According to the research background of this paper, it is also necessary to perform metal structural part nesting to improve the utilization rate of materials, which is a more realistic and complex PMSP. The part nesting problem [
18,
19], in general, has received increasing attention from researchers as an independent optimization problem [
20,
21]. However, the coupling problem of part nesting and parallel machine scheduling has rarely been considered. Some researchers studied the scheduling problem of cutting plates with parallel machines and solved it using branch and bound heuristic algorithms [
22,
23]. The above studies from the literature provide a basis for this paper, but there are few research studies on PMSP that simultaneously consider material assignment, material utilization and kit delivery.
In the production process of metal structural products, the complexity of the scheduling problem is determined by the differences in the ordered-product configuration and the resource constraints, making the scheduling problem a typical multi-objective optimization problem [
24]. Various multi-objective optimization methods are reported in the existing literature, and we here summarize them [
25,
26]. (1) The weighted approach: The decision maker assigns different weights based on the importance of each objective. Multiple objectives are merged into a single-objective problem. (2) The hierarchical approach: The objectives are sorted based on their importance. Then, hierarchical solving is performed, and the optimal solution obtained in the previous level is used in the next level as a constraint. (3) The posterior approach: It aims to obtain a set of non-dominated solutions (also known as Pareto solutions). The decision maker selects an eligible optimal solution from this set of solutions. (4) The interactive approach: The decision maker expresses their preferred target value for each objective in the solution process. The overall computing mode extracts a feasible trade-off solution based on the objective equation and the decision maker’s preference. Many scholars have combined the posterior approach with meta-heuristic algorithms to solve multi-objective optimization problems. Meta-heuristic algorithms characterized by simple structure, flexibility, gradient-free information, easy implementation and a strong capability of circumventing local constraints can achieve a global optimum [
27]. Currently, multi-objective meta-heuristics include particle swarm optimization [
28], the immune genetic algorithm [
29], the bat algorithm [
30], etc. Deb K. proposed a fast non-dominated sorting genetic algorithm with elite strategy (NSGA-II) [
31], which is widely used to solve multi-objective workshop scheduling problems because of its less computing time and good solution quality. Chen et al. applied the non-dominated sorting genetic algorithm to the design of non-compact flow shop scheduling and successfully solved the multi-objective optimization problem considering process connections [
32]. Wu et al. designed a flexible job shop scheduling problem (FJSP) model with energy considerations in line with the production field. They invented an adaptive population non-dominated sorting genetic algorithm to solve the scheduling problem. The results showed that the proposed algorithm was efficient and powerful when dealing with the multi-objective FJSP that included energy consumption [
33]. Regarding multi-objective PMSP, Zheng et al. investigated the PMSP of matching orders and factories; the objectives included minimizing the total tardiness and the extra quality of service costs, using NSGA-II to efficiently solve large-scale instances [
34]. Although the designed algorithm considers the eligibility constraint relationship between orders and machines of a factory, orders are independent and non-decomposable minimum job units, which cannot solve scenarios containing kitting requirements. Liu et al. studied a complex product assembly line scheduling problem considering multi-skilled worker assignment and parallel team scheduling and took the maximum completion time and the imbalance degree of team workload as the optimization objectives. The improved strategies were proposed on the basis of NSGA-II, and a hybrid coding method considered worker assignment and task order [
35]. They focused the completion time due to the worker assignment scheme but did not consider the matching relationship between workers and jobs. Therefore, the proposed approaches were difficult to be applied to the optimization problem containing the coupled material assignment and the job scheduling studied in this paper. Bandyopadhyay et al. addressed a PMSP with three objectives by improved NSGA-II. Experimental results showed that the proposed algorithm also works effectively [
36]. However, this algorithm was only applied to the classical PMSP scheduling problem and could not solve the scheduling problem constrained by the material assignment and the part nesting. Therefore, current research results on multi-objective optimization algorithms applied to the production scheduling did not yet have an effective algorithm to solve the multi-objective optimization problem of production scheduling in metal structural parts for kitting delivery considering both the material assignment and the part nesting constraints, as proposed in this paper.
Due to the particularity of the production process of metal structural parts, there is still a lack of effective scheduling models and algorithms to address such complex scheduling problems. Therefore, this paper studied a multi-objective scheduling problem of the kit delivery of metal structural parts with eligibility constraints. The scheduling process was divided into two stages to solve material assignment and part nesting, as well as kit delivery for welding assembly. Aiming at solving the two-stage scheduling problem, a mixed-integer programming scheduling model with eligibility constraints was established, and a hierarchical multi-objective optimization approach was designed. Briefly, the first stage of the scheduling model was solved using Gurobi, and the results of the first stage were used to constrain the second stage. The second stage of the scheduling model was solved using an improved multi-objective genetic algorithm. Furthermore, according to the scheduling characteristics of the metal structural parts, a hybrid encoding–decoding mode with eligibility constraints was designed. Finally, the validity of the model and algorithm was verified using the production scheduling data of the metal structural parts of bus frames.
The remainder of this article is arranged as follows: In
Section 2, we describe the scheduling problem and propose a mixed-integer programming model. The design of an improved multi-objective genetic algorithm to solve the corresponding scheduling model is presented in
Section 3. In
Section 4, we conduct a numerical study. Finally, we summarize the contributions of this paper and suggest possible directions for future research in
Section 5.
2. Problem Description
A typical product structure of metal structural parts is shown in
Figure 1a. It can generally include multiple levels: parts, kits or components, and products. Welding is performed at each level to form sub-assemblies or assemblies and finally form products. Customized product configurations lead to the difference in the sub-assemblies at all the levels of the product and part processing. A machining workshop produces metal structural parts for multiple ordered products. Various types of materials are used in production. The type of a bundle of material corresponds to a cross-sectional shape and size. A bundle of material includes multiple identical profiles (the profile is a straight bar with a certain cross-sectional shape and size). All metal structural parts are cut from profiles one by one, and different parts could need to share the same material or even belong to the same profile due to part nesting. Therefore, the material type of the parts in the product and part nesting impose eligibility constraints on production scheduling. Before production, the material types of all parts are selected, and part nesting is performed to obtain the number of single profiles for each material, as shown in
Figure 1b. The processing time of a single profile and the total processing time of each material are obtained based on the known processing time of the part and the results of part nesting. The production process is divided into four steps, as shown in
Figure 1c: (1) each material is sequentially allocated to buffers according to its total processing time and sequence. (2) Each profile in the buffer enters the machine in sequence according to profile sorting. (3) The single profile is cut into parts in sequence according to part sorting. (4) After the parts belonging to the same kit or product undergo kitting, they are delivered to the workshop.
2.1. Notation
According to the problem description, the mathematical symbols are as follows:
Parameters: | Index of machines: ; |
| Index of orders: ; |
| Index of kits (or components): ; |
| Index of parts: ; |
| Index of material type: ; |
| Index of profiles that belong to material ; |
| Set of machines: ; |
| Set of orders: ; |
| Set of kits (or components) that belong to order ; |
| Set of parts: ; |
| Set of material types: ; |
| Set of profiles of material . |
Input variables: | Processing time of part ; |
| Length of part ; |
| Length of material ; |
| Processing time of material ; |
| Processing time of the -th profile of material ; |
| Processing time of part , which belongs to -th profile, in material ; |
| Assumed to be a big number. |
Decision variables: | Starting time of material in a machine; |
| Starting time of -th profile of material ; |
| Starting time of part , which belongs to the -th profile, in material ; |
| Starting time of part , which belongs to kit ; |
| Completion time of part , which belongs to kit ; |
| Starting time of kit delivery window of kit ; |
| Completion time of kit delivery window of kit ; |
| Equals 1 if material type of part is and 0 otherwise; |
| Equals 1 if material h is processed by machine i and 0 otherwise; |
| Equals 1 if part j belongs to the g-th profile of material h and 0 otherwise; |
| Equals 1 if part j belongs to kit k; |
| Equals 1 if part j is processed by machine i and 0 otherwise; |
| Equals 1 if material h is adjacently processed before h’ by machine i and 0 otherwise; |
| Equals 1 if the g-th profile, which belongs to material h, is adjacently processed before the g’-th one by machine i and 0 otherwise; |
| Equals 1 if part j, which belongs to the g-th profile of material h, is adjacently processed before j’ by machine i and 0 otherwise. |
2.2. Formulation
Based on the above analysis, the researched scheduling problem of manufacturing metal structural parts in this paper is detailed below.
types of material () are to be processed by identical parallel machines (). These materials are cut into parts () according to customized orders (). Each material h is distributed to a machine i; the processing sequence of each profile g is determined, and each part j is assigned to a profile, so that all the parts that belong to one kit can undergo kitting and be delivered as closely to each other as possible. On the basis of satisfying the related constraints, multiple scheduling objectives are optimized. These objectives include the minimization of the makespan, the minimization of the material utilization ratio and objectives related to kitting.
The relative assumptions made are listed as follows:
- (1)
Excluding the transport time of material and profiles;
- (2)
Each material is only transported once, and its quantity can meet the cutting requirements of all parts using the material;
- (3)
After each profile is processed, the handling time of off-cut is not counted;
- (4)
The cutting edge width does not count;
- (5)
The processing time of all parts is known and determined;
- (6)
Each part can only be processed by one machine at most once;
- (7)
The processing capacity of each machine is the same;
- (8)
Each machine can only process at most one part at a time;
- (9)
Preemption is not allowed; that is, any started operation cannot be stopped before completion;
- (10)
All parts and machines are available at the beginning; machine failures and blocks are not considered.
2.3. Scheduling Model
In this section, an extended parallel machine scheduling model is established based on multi-objective optimization. The scheduling problem is separated into two stages. The first stage is to schedule all materials onto a set of parallel production machines M. Meanwhile, part nesting is carried out to determine the part set belonging to the same profile. In the second stage, all parts are scheduled and sorted according to the eligibility constraints to obtain the optimal processing sequence of materials, profiles and parts.
In actual production, the makespan and material utilization are given priority, as they directly affect the cost of the enterprise. Then, they need to meet the requirements of kitting to guarantee order delivery. Therefore, the optimization objectives corresponding to two-stage scheduling have priority. The optimization objectives in the first stage have higher priority than those in the second stage. We propose a hierarchical optimization approach. The results of the first stage are used to constrain the second stage. Hence, it is necessary to first achieve the objectives related to the makespan and part nesting and lastly optimize the objectives related to kitting.
Based on the notation defined, we propose the mathematical model in the next sections.
2.3.1. Material Assignment
The purpose of material assignment is to minimize the makespan. This is related to the number of machines and the processing time of each material. The mathematical model of material assignment is as shown below.
s.t.,
In the formulation, objective (1) is to minimize the maximum makespan of machines M in the first stage. Constraint (2) imposes that each material h is only processed by one machine and can only be processed once. Constraint (3) enforces that at least one material is processed on one machine. Equation (4) calculates the total processing time of material h. Constraint (5) specifies that decision variables and are binary.
2.3.2. Part Nesting
The material utilization is expressed as a quantity. Here, only the influence of the part length on the nesting was considered, which was a one-dimensional nesting optimization problem. Hence, to optimize the quantity of each material, the mathematical model of material
h is as shown below.
s.t.,
In the optimization model, objective (6) accounts for the minimization of the total quantity of material h required in the first stage. Constraint (7) imposes that each part j is only assigned to one profile g that belongs to material h and can only be assigned once. Constraint (8) imposes that the total length of parts distributed on material h cannot exceed the length of material h. Constraint (9) defines that decision variable is binary.
Formulas (1)–(9) above are the optimization objectives and constraints relative to the first stage. We carry out the distribution of each material and the part layout and obtain the optimal scheme. Then, we establish a mathematical model of optimization objectives related to kitting.
2.3.3. Optimization of Kitting
The second stage optimizes three evaluation indicators at the same time: minimizing the maximum kit completion time (), minimizing the number of earliness kits () and minimizing the number of tardiness kits ().
(1)
Minimizing the maximum kit completion time: The completion time of kit
k is the difference between the completion time of the last part of the kit and the starting time of the first part.
(2)
Minimizing the number of earliness kits: Earliness kits are components whose last part’s completion time is shorter than the starting time of the kit’s delivery window. The number of earliness kits is the sum of the number of components completed ahead of schedule.
(3)
Minimizing the number of tardiness kits: Tardiness kits are components whose last part’s completion time is longer than the completion time of the kit’s delivery window. The number of tardiness kits is the sum of the number of all delayed components.
s.t.,
Constraint (14) indicates that each part can only be processed by one machine and can only be processed once. Constraint (15) imposes that each machine needs to process parts. Constraints (16) and (17) indicate that material h is adjacently processed before h’ by machine i. Constraints (18) and (19) denote that profile g belongs to material h and is adjacently processed before g’ by machine i. Constraints (20) and (21) indicate that two parts on the g-th profile of material h are processed one after the other by a machine. Constraint (22) indicates that one machine can only process one part at a time. Constraint (23) is used to calculate the start of the processing time of each material. Constraint (24) is used to calculate the start of the processing time of each part. Constraint (25) indicates that every part is processed. Constraints (26) and (27) indicate that all processing is non-pre-emptive and that processing cannot be interrupted once it starts. Constraint (28) specifies that the decision variables, including , , and , are binary.
3. Algorithm Design
The scheduling model consists of two stages: material assignment and part nesting constitute the first stage, and profile sorting and part processing sorting form the second stage. The two stages include three optimization models. From the perspective of the scale and computational complexity of the three optimization models, the first model is smaller than the second one, and the second one is smaller than the third one. Hence, we proposed a hierarchical optimization approach. Taking into account the accuracy and efficiency of the solution, model 1 and model 2 are solved with an accurate method that uses Gurobi as the solver in the first stage. Gurobi can solve many types of problems, including mixed-integer programming, and is the best and fastest linear programming/quadratic programming solver in the world today because of its wide range of problem types and high solution efficiency. At the same time, Gurobi can be easily integrated into third-party platforms such as MATLAB, Python or Net, and is more capable of handling a wide range in complex scientific research and applications, so Gurobi was chosen as the first-stage optimization solver. According to the solution results of the first stage, the number of profiles belonging to each material, the index of all profiles of each material and the part index of a profile can be obtained, and there is a fixed subordination relationship among them. The subordination relationships are eligibility constraints. The results of the first stage were used for eligibility constraints in the second stage. Model 3 belongs to the second stage, is a multi-objective optimization model, and the solution scale is large, so we proposed an improved multi-objective meta-heuristics algorithm based on the NSGA-II. Due to eligibility constraints, there are strong coupling relationships among the sorting of parts, the sorting of each profile and the sorting of each material. In order to express these sorting relationships, part-based coding is designed; in order to improve the problem of insufficient crossover due to too-long chromosomes, a segmented crossover method is designed. In order to improve the iterative quality of the population, the non-dominated sorting method is improved, and the elite retention strategy is used to improve the iterative quality of the population. The flow chart of the improved NSGA-II algorithm is shown in
Figure 2.
3.1. Coding
This paper designs an integer coding method based on parts that can effectively express the sorting of materials and their assignment to each machine, the order of each material among the materials and the sorting of parts and their assignment to each profile. According to the optimization results of the model in the first stage, the subordination relationships among parts, profiles, materials and machines can be obtained. This kind of affiliation can be expressed with a tree diagram, as shown in
Figure 3.
First, the initial reference code is designed; this is an integer sequence , where NJ is the sum of the number of all parts, that is, the length of the chromosome. In the iterative process, the reference codes are reordered according to different chromosome sequences to form a feasible job code. A feasible encoding is [649251110121783]. Since all the permutations of the chromosome are merely the reordering of the original reference code, the number and type of certain elements in the reference code are not changed, nor are new elements formed. Therefore, this coding method does not generate illegal chromosomes. This coding method avoids reducing the algorithm search efficiency due to the identification of illegal chromosomes.
3.2. Decoding
The genetic-locus value in the designed chromosome represents the part number, and the parts are sorted according to the sequence of the genetic loci. The other parts on the profile are indexed according to the part number on the genetic locus to form the processing sequence of the parts on the profile. The other profiles of the material category are indexed according to the number of profiles to form the processing sequence of the profile. The other materials on the machine are indexed according to the number of materials to form the processing sequence of materials. The decoding process is shown in
Figure 4. According to the above method, the sequencing of all the genetic loci is completed to form a sequencing scheme.
Combining the processing time of parts, the processing time of each profile and the processing time of each material, a feasible scheduling plan is finally formed. After decoding according to the chromosome generated above, Gantt charts are formed for material assignment scheduling and profile cutting scheduling. Moreover, the Gantt chart of part sorting is shown in
Figure 5, assuming that the first kit contains parts 1, 2, 10 and 11, the second one contains parts 3, 5, 6 and 9 and the third one contains parts 4, 7, 8 and 12. We can obtain the Gantt chart of kitting according to the Gantt chart of part sorting, as shown in
Figure 6, and calculate the objective function related to the complete kit.
3.3. Fast Non-Dominated Sorting
In a multi-objective optimization problem, in order to compare the pros and cons of two individuals, two measurement indicators—the non-dominated ranking level and the crowding distance—are commonly used. If none of the goals of individual p are worse than those of individual q and at least one goal of individual p is better than those of individual q, then individual p dominates individual q. First, all individuals are ranked according to non-dominated relationships. Obviously, the individuals at the first front end are dominant, and the individuals at the second front end are dominated by the first front-end individuals. Individuals are assigned to different front ends through sorting, and for individuals at the same front end, pros and cons can be determined by comparing the crowding distance until all individuals are sorted.
The evaluation of individual fitness and selection is performed using two methods: fast non-dominated sorting and crowding distance. Each individual in the population is assigned a non-dominated rank through rapid non-dominated sorting. For the population of pop individuals, it is assumed that individuals are dominated by the i-th individual and that the individuals dominating others form set . The process of rapid non-dominated sorting is described below.
Step 1: Compare the fitness values of the individuals (fitness equals objectives , and ); count the number of non-dominated individuals q (); set these individuals to level 1 ().
Step 2: Determine the () of each individual on level 1; judge whether the of each individual t in equals 0; set the individuals with = 0 to level 2.
Step 3: Repeat Step 2 until all individuals are set to the corresponding rank. Then, the individuals on the same level are subjected to a fitness comparison based on the crowding distance.
The crowding distance of each individual is calculated as described below.
Step 1: Find the non-dominated individuals of the same front end and place them in a matrix W.
Step 2: Based on the c-th objective function, arrange matrix W in descending order, where c = 1.
Step 3: Let the crowding distance between the first and last individuals in matrix W be infinite.
Step 4: Calculate the crowding distance of all individuals in matrix
W. The calculation formula is shown below.
where
d(max) represents the maximum value of the
c-th objective function;
d(min) represents the minimum value of the
c-th objective function; and
d(
f + 1) and
d(
f − 1) represent the
c-th objective function value of the (
f − 1)-th individual and the (
f + 1)-th individual after sorting, respectively.
Step 5: c = c + 1, ; obtain the crowding distance under each objective function.
Step 6: Add the crowding distance under each objective function to obtain the individual’s final crowding distance. The greater the value of the crowding distance, the smaller the degree of individual crowding, and the better the diversity of the population.
3.4. Selection
In order to obtain better cross-offspring, a tournament selection strategy of two participating individuals is adopted. The size of the mating pool (pool = pop/2) is set; two different participating individuals, preferentially the participating individuals with the highest Pareto levels, are randomly selected to enter the parent population. When two individuals have the same Pareto level, the individual with a larger crowding distance is preferred to enter the parent population. When two contestants have the same Pareto level and the same crowding distance, the first contestant is selected. This process continues until the parent population of the pool size is selected.
3.5. Crossover/Mutation
Due to the large number of metal structural parts in the production workshop and the long chromosome length during encoding, the traditional cross-mutation method cannot obtain good results, so this paper proposes the segmented cross-mutation method.
The specific crossover process of segment crossover is as follows: First, parent chromosomes P1 and P2 are segmented, the length of the segment is set to
h and the chromosome is divided into x segments. Then, two genetic loci, p1 and p2, in each chromosome of the parent are randomly selected. The chromosome between loci p1 and p2 of P1 is inherited by offspring O1. Finally, the genes in P2 that are different from O1 are inherited by O1, and offspring O2 is obtained in the same way. The schematic diagram of the cross-section algorithm is shown in
Figure 7.
The mutation method and crossover method in this paper use the same principle. First, the chromosomes are segmented; then, two gene positions, p1 and p2, are randomly selected in each chromosome of the parent; finally, the values of the two gene positions are exchanged. At the beginning of evolution, a larger crossover probability should be selected. This search process is conducive to maintaining the diversity of the population. In the next stage, a careful search is required to prevent the optimal solution from being destroyed and accelerate the convergence rate, and a smaller crossover probability should be selected. The adaptive crossover probability used in this article is shown below.
where
pc is the crossover probability;
gen is the current number of iterations;
maxgen is the maximum number of iterations; and
pcmin is the minimum value of the crossover probability.
3.6. Elite Retention Strategy
The offspring population whose population size is pop after crossover and mutation and the parent population whose population size is pooled to form a population whose size is pop + pool, and the non-dominated sorting of the combined population is performed. The Pareto level and crowding distance of each individual in the merged population are calculated, and the first pop individuals are kept as the new population obtained after iteration.
5. Conclusions and Prospects
Aiming at the problem of the machining and delivery of metal structural parts with eligibility constraints, this paper proposes a complex multi-objective parallel machine scheduling approach that considers part nesting, material assignment and kit delivery. The proposed scheduling problem is divided into two stages: In the first stage, parts are laid out, and the materials are allocated to the machines. The optimization objectives are to maximize the utilization of materials and minimize the total makespan. The second stage sorts the profiles and parts and assigns them to each machine with the objectives of minimizing the kit delivery metrics (kitting time and the numbers of early and tardy kits). A mixed-integer programming model with eligibility constraints is established, and a hierarchical optimization method is proposed. The scheduling results of the first stage are used as the constraints of the second stage. Gurobi is used to obtain the first-stage optimization results; the multi-objective genetic algorithm is improved for the second-stage scheduling optimization. The algorithm includes encoding, decoding, fast non-dominated sorting and genetic operations, and a design considering eligibility constraints is employed. To verify the model and algorithm, we used the actual production data of a metal structure workshop of bus frames. In order to further verify the scalability of the proposed scheduling method, a larger-scale scheduling optimization was conducted through the derived simulation examples. The data showed that with the increase in the number of components, the utilization rate of materials gradually increased. When the number of components exceeded 300—that is, when the number of parts exceeded about 1500—the material utilization rate reached 95%. By selecting the appropriate number of machines, the machine utilization rate reached 90%. The results verified the effectiveness of the scheduling model and algorithm proposed in this paper.
In the future, we aim to focus on extending the method proposed in this paper to more complex scheduling problems, continuing to add some practical constraints not considered in this paper, such as transit time, setup time, uncorrelated parallel machines, batch setup, integrating geometrical shape constrained for part nesting, etc., to formulate a new mathematical model for the scheduling problem of metal structural parts. Dynamic events of machine failures and order changes should also be considered. In addition, the multi-objective genetic algorithm should continue to be improved for scheduling problems, and the performance of the algorithm should be further improved by incorporating a new genetic operation mechanism.