**Yu Sun 1,2, Qingshan Gong 1, Mingmao Hu 1,\* and Ning Yang <sup>1</sup>**


Received: 6 May 2020; Accepted: 10 July 2020; Published: 15 July 2020

**Abstract:** In order to solve the problems of flexible process route and workshop scheduling scheme changes frequently in the multi-variety small batch production mode, a multiprocess route scheduling optimization model with carbon emissions and cost as the multi-objective was established. At the same time, it is considered to optimize under the existing machine tool conditions in the workshop, then the theory of logistics intensity between equipment is introduced into the model. By designing efficient constraints to ensure reasonable processing logic, and then applying multilayer coding genetic algorithm to solve the case. The optimization results under single-target and multi-target conditions are contrasted and analyzed, so as to guide enterprises to choose a reasonable scheduling plan, improve the carbon efficiency of the production line, and save costs.

**Keywords:** multiprocess route; workshop scheduling; multi-objective optimization; logistics intensity

### **1. Introduction**

Small and medium-sized enterprises often design different products in response to the changing needs of customers, so that a variety of small batch production models are formed from the limited production cycle and manufacturing resources. Many scholars have used a variety of methods to solve the optimization problems of energy saving, emission reduction, cost reduction, and time saving for the existing traditional manufacturing system, so that the green upgrade optimization of the system can be achieved without a large amount of investment [1–9]. It is worth mentioning that Li Congbo et al. [10] used the concept of feature elements and processing elements to establish a multi-objective machining route optimization model. Oleh et al. [11] built a process route planning model for complex and flexible workshop based on BOM (Bill of Material) tables. Liu et al. [12] planned route planning problem is transformed into a constrained traveling salesman problem, which was calculated using the ant colony algorithm. Fang et al. [13] proposed a mathematical programming model for the pipeline workshop scheduling problem considering peak power load, energy consumption, carbon emissions, and cycle time. Gonzalez et al. [14] proposed an effective neighborhood structure for flexible job shop scheduling problems, and realized the reassociation of discrete search process routes. Li Congbo et al. [15] considered job batch optimization and established multi-objective multiprocess flexible operation workshop scheduling model. Huang Xuewen et al. [16] established a multiprocess route scheduling model based on OR subgraphs, and proposed a new four-tuple mathematical description method to describe the process path and machine tool flexibility. Liu Qiong et al. [17] optimized the integrated process route a feature of the model with multiple parameters and mutual influence, a NSGA-II algorithm with four-stage coding was proposed.

Based on the existing research on such problems, this paper proposes a workshop scheduling optimization model with low carbon and low cost as the multi-objective. At the same time, in the optimization process of the existing research, the emergency task insertion, machine tools failure, and workpiece features are considered [18–21], but their combination with the actual situation of the equipment in the workshop needs to be supplemented. For this reason, this paper considers the impact of logistics strength between machine tools on optimization to guide the existing equipment, so as to help enterprises achieve the goal of effectively utilizing resources, reducing costs, reducing logistics movement, and improving operational efficiency.

In order to ensure reasonable processing logic, many scholars also made innovative research on the establishment of constraints. Zheng Yongqian et al. [22] introduced the feature constraint matrix and processing priority coefficient, and established the process ordering model of the machining center. Huang Yuyue et al. [23] considered the scheduling optimization of the shift time and other constraints in actual production. Yan Jungang et al. [24] proposed waiting dual time window constraints caused by limited time and equipment capabilities. An Xianghua [25] proposed the establishment of processing element constraints based on intuitionistic fuzzy numbers, and using the cellular automaton-SPEA2 multi-objective optimization algorithm. Chang Zhiyong et al. [26] established constraints of the geometric positional relationship between the features and used adaptive ant colony optimization algorithms to solve practical problems. Chunlong Li et al. [27] proposed a SEEHS constraint treatment method for hydropower plants based on feasible space and adopted a contrary adjustment method to deal with power balance constraints.

In order to solve problems, scholars also have their own ideas and innovations on algorithms. Nikhil Padhye et al. [28] propose a unified approach to improving different evolution. Kalyanmoy Deb et al. [29] proposed to improve the performance of particle swarm optimization by linking with the algorithm of genetic algorithm. De Jong et al. [30,31] introduced a new algorithm, an evolutionary algorithm, in detail. R. Capek, P. et al. [ ˇ 32] proposed a heuristic algorithm based on priority construction with unscheduled steps and applied it to the case study of wire harness production. Gökan May et al. [33] reduced total energy consumption and processing time through a green genetic algorithm. Dunbing Tang et al. [34] used an improved particle swarm optimization algorithm to find the Pareto optimal solution of the dynamic flexible flow shop scheduling problem. Xiao-Ning Shen et al. [35] proposed an active response method based on multi-objective evolutionary algorithm (MOEA) for multiple targets such as efficiency and stability.

Based on the existing research, most of them take into account the influencing factors in the optimization process or consider the process route order to establish constraints. In this paper, some 0–1 variables are defined to constrain the processing sequence between processes and features, and ensure reasonable optimization and improve calculation efficiency.

#### **2. Establishment of Multi-Objective Optimization Model for Process**

Assumptions: (1) Features can select multiple process routes. (2) Processes in the process route are processed only once on one machine. (3) The machine tool will not malfunction regardless of inventory accumulation and part quality and volume.

The definitions *i* , *j* , *k* , *l* are the previous part of the *i*th part, the previous machine of the *j*th machine tool, the previous feature of the *k*th feature, and the previous process route of the *l*th process route. The total processing time of a process of a feature of a part on the machine tool is *tijk*, the starting time is *stijk*, and the part delivery time is edi.

Collection of parts *P* = p1, ··· , pi , ··· , pa}, *pi* indicates the *i*th of part, *i* = 1, 2, ··· , *a*.

Collection of machine tools *M* = {m1, ··· , mj, ··· , mb}, *mj* indicates the *j*th of machine tool, *j* = 1, 2, ··· , *b*.

Collection of features for all parts *OP* = op1, ··· , opi , ··· , opa}, *opi* indicates the *i*th of part's all features.

The collection of features for each part opi = opi1, ··· , opik, ··· , opic}, *opik* indicates the *i*th of part's the *k*th of feature, *k* = 1, 2, ··· , *c*. Defining variables χik ∈ {0, 1}, which means whether the feature *opik* of the *i*th of part needs to be machined before the feature *opik*, if necessary χ*ik* = 1; otherwise, it is zero.

The collection of process routes selectable for each feature is *OPR* = oprik1, ··· , oprikl, ··· , oprikd}, *oprikl* indicates that the *k*th feature of the *i*th part selects the *l*th process route for processing, *l* = 1, 2, ··· , *d*.

The collection *OPM* = opmikl1, ··· , opriklj, ··· , opriklb} represents the process included in the routing (corresponding machine tool), and *op*m*iklj* represents the *k*th feature of the *i*th part selected the *l*th process route and processed by the *j*th machine tool. The variable ιiklj ∈ {0, 1} is defined, which means whether the previous process *op*m*iklj* of process route *l* needs to be completed before *op*m*iklj*, if necessary ι*iklj* = 1; otherwise, it is zero.

#### *2.1. The Model of Carbon Emission*

When the CNC machine is in the standby or preparation stage, the standby power of the machine *P*<sup>1</sup> consists of the power-related auxiliary system, the motor, and the servo. The waiting time before the machining and the input program is *t*1; when a machine tool is processing different parts, the tool needs to be adjusted more; the tool setting time is *t*2, the movement time of the X, Y and Z axes of the machine tool are *tX*<sup>1</sup> ,*tY*<sup>1</sup> ,*tZ*<sup>1</sup> , the moving power of each axis is *PX*<sup>1</sup> , *PY*<sup>1</sup> , *PZ*<sup>1</sup> , and the power is 0 if no movement occurs (such as the spindle of the lathe); when the spindle Z starts to rotate, the no-load rotary power is *PZ*<sup>2</sup> , the no-load standby power is *P*<sup>s</sup> = *P*<sup>1</sup> + *PZ*<sup>2</sup> , and the no-load standby time is *t*s, then the *k*th feature of the *i*th part before the *j*th machine tool starts processing and can be expressed as

$$E\_{ijk}^{\varepsilon} = P\_1 \cdot t\_1 + P\_1 \cdot t\_2 + P \chi\_1 \cdot t \chi\_1 + P\_{Y\_1} \cdot t\_{Y\_1} + P \chi\_1 \cdot t \chi\_1 + P\_5 \cdot t\_5 \tag{1}$$

$$\mathbf{t}\_2 = \mathbf{t}\_{X\_1} + \mathbf{t}\_{Y\_1} + \mathbf{t}\_{Z\_1} \tag{2}$$

The cutting process of each procedure includes the air-cut energy *Eair ijk* and cutting energy *Em ijk*. The air-cut energy consumption of the machine tool includes the power of the X and Y axes of the machine tool. The power of each axis is *PX*, *PY*, and the energy consumption generated during the moving time is *tX*<sup>2</sup> ,*tY*<sup>2</sup> . If the spindle has movement (such as milling machine, grinding machine, etc.), the moving power *PZ*<sup>2</sup> of the spindle Z generates energy consumption in time *tZ*<sup>2</sup> . And the energy consumption of the no-load and standby parts of the machine during the air-cut time need to be considered. The cutting energy consumption is the energy consumed by the machine tool in the cutting time *tm*. For different machine tools and different cutting three-factor machine power, the actual machining power *Pijk* of each process is measured. Therefore, the *k*th feature of the *i*th part is machined on the *j*th machine tool can be expressed as

$$E\_{\rm ijk}^{\rm air} + E\_{\rm ijk}^{m} = P\_X \cdot \mathbf{t}\_{X\_2} + P\_Y \cdot \mathbf{t}\_{Y\_2} + P\_{Z\_2} \cdot \mathbf{t}\_{Z\_2} + P\_\mathbf{s} \cdot \left(t\_{X\_2} + t\_{Y\_2} + t\_{Z\_2}\right) + P\_{\rm ijk} \cdot t\_m \tag{3}$$

The auxiliary system energy consumption includes the energy consumed by the power *Pc* such as the filtration and cooling system during the cutting time *tm*; the energy consumption generated during the standby time *t*chp of the machine during the loading and unloading of the parts; after machining *N* times on the *j*th machine tool, the tool needs to be replaced. The energy consumption of the machine tool standby during the tool change time *t*cht, the auxiliary energy consumption of the the *k*th feature of the *i*th part is machined on the *j*th machine tool can be expressed as

$$E\_{\rm ijk}^{\rm as} = P\_{\rm c} \cdot t\_m + P\_1 \cdot t\_{\rm chp} + \frac{P\_1 \cdot t\_{\rm cht}}{N} \tag{4}$$

Taking energy consumption as the basic input and greenhouse gas (GHG) as the output, the corresponding carbon emissions in this process are converted through the carbon emission coefficient of various energies [36]. ξ is the carbon emission coefficient of energy (fuel, electricity, etc.), and taking into account the environmental (regional and time) impact factors δ and auxiliary process influence factors μ, the carbon emissions can be defined as

$$\mathcal{W} = \xi (1 + \delta + \mu) E \tag{5}$$

The carbon emissions for cutting in each process can be expressed as

$$\mathcal{W}\_{\mathbf{i}\mathbf{j}\mathbf{k}} = \xi (\mathbf{1} + \delta + \mu) \cdot \left( E\_{i\mathbf{j}\mathbf{k}}^{\mathbf{s}} + E\_{i\mathbf{j}\mathbf{k}}^{\mathbf{a}\mathbf{r}} + E\_{i\mathbf{j}\mathbf{k}}^{\mathbf{m}} + E\_{i\mathbf{j}\mathbf{k}}^{\mathbf{a}\mathbf{s}} \right) \tag{6}$$

It is assumed that no more than one machine is used for each process of the part; the collection of carbon emissions from part processing can be expressed as *W* = *<sup>W</sup>*<sup>111</sup> ··· *Wijk* ··· *Wabc* , where *Wijk* indicates the processing carbon emission of the *k*th feature of the *i*th part that was machined on the *j*th machine tool.

#### *2.2. The Model of Cost*

The processing cost of parts increases with the increase of processing time. It is divided into three aspects: machine tool cost, loss cost, and ancillary costs. Machine tool costs include energy consumption costs during standby, air cutting, cutting operations, etc. The expression for each process is

$$\begin{aligned} \mathbf{C}\_{ijk}^{\rm un} &= M\_{\mathbf{t}} \times \mathbf{t}\_{ijk\star} \\ \mathbf{t}\_{ijk} &= \mathbf{t}\_1 + \mathbf{t}\_2 + \mathbf{t}\_{X\_1} + \mathbf{t}\_{Y\_1} + \mathbf{t}\_{Z\_1} + \mathbf{t}\_{X\_2} + \mathbf{t}\_{Y\_2} + \mathbf{t}\_{Z\_2} + \mathbf{t}\_{\mathbf{s}} + \mathbf{t}\_m + \mathbf{t}\_{\mathbf{clp}} + \frac{\mathbf{t}\_{\mathbf{s}\mathbf{t}}}{N}, \end{aligned} \tag{7}$$

where *Cm ijk* is the processing cost (US\$) for each process and *Me* is the unit cost (US\$/s). *tijk* (s) is the total processing time of the part, which includes all the time associated with processing.

The loss cost includes the grinding wheel loss and the cutting fluid consumption. During the processing of N procedures, multiple tool dressings are required until the tool is worn to the minimum size and scrapped. The consumption of the cutting fluid is composed of the part where the temperature of the surface rises to evaporate the cutting fluid into the air, the part taken away by the chips, and the part deposited on the surface of the part. The loss cost *Closs ijk* (US\$) generated by each process is

$$C\_{ijk}^{loss} = \frac{M\_a + M\_l \times L}{N} \tag{8}$$

where *Ma* is the tool cost (US\$), *L* is the amount of cutting fluid (L) added during *N* times processes, and *Ml* is the cutting fluid cost (US\$/L).

The ancillary cost includes labor costs, which is the labor remuneration paid by workers during the process, and also includes the operating costs of each process, which include the costs of lubricants, water, equipment maintenance, and repair. Then, each process ancillary cost *Cas ijk* (US\$) is

$$C\_{ijk}^{\rm cs} = (M\_p + M\_\mu) \times t\_{ijk} \tag{9}$$

where *Mp* is labor cost (US\$/s) and *Mu* is operating cost (US\$/s).

Then, the cost of each processing operation is

$$\mathbf{C}\_{ijk} = \mathbf{C}\_{ijk}^{\text{un}} + \mathbf{C}\_{ijk}^{\text{loss}} + \mathbf{C}\_{ijk}^{\text{as}} \tag{10}$$

Collection of parts cost can be obtained as *C* = *<sup>C</sup>*<sup>111</sup> ··· *Cijk* ··· *Cabc* ; *Cijk* indicates the processing cost of the *k*th feature of the *i*th part that was machined on the *j*th machine tool.

#### *2.3. Optimization Model Considering Logistics Strength*

The system layout design of System Layout Planning (SLP) is the method used by the manufacturing enterprise in equipment planning [37]. The functions that the production system should perform include the system design and planning of the equipment, personnel, logistics, and investment within the system. The core content is based on the analysis of factory production logistics, combined with the degree of interconnection of operating units, and then the design and plan of the location of the production equipment.

To carry out workshop scheduling via the multiprocess route in manufacturing enterprises, the machine tool equipment has been relatively fixed, so it should be considered to carry out multi-objective optimization in the existing equipment planning and logistics system. We analyzed the logistics and other elements of the production line:


In summary, the logistics intensity evaluation function between two machine tools is established, and the expression is

$$LO\_{\dot{\gamma}'\dot{\jmath}} = A\_{\dot{\gamma}'\dot{\jmath}}B\_{\dot{\gamma}'\dot{\jmath}}C\_{\dot{\gamma}'\dot{\jmath}}D\_{\dot{\gamma}'\dot{\jmath}}I\_{\dot{\gamma}'\dot{\jmath}}\tag{11}$$

According to the actual situation of the enterprise's production line, define the evaluation indicators of each coefficient. The logistics information in the factory can be collected, and substituted into Formula (11) to be calculated, to then obtain the logistics strength evaluation function *LOj j*. The range is divided into five levels, so that the logistics intensity between machine tools is divided into intensity levels (A, E, I, O, U). Based on score, the logistics priority coefficient *G*<sup>j</sup> <sup>j</sup> can be established to define the logistics strength of the machine tool j' to the machine tool j. The intensity level can converted into a natural number of 0–4; the smaller the value, the higher the logistics intensity between processes. The unit logistics related table can be drawn, as shown in Figure 1.

**Figure 1.** Logistics-related table.

Combined with the analysis of logistics, we can get a collection of logistics strength between machine tools *G* = *G*<sup>11</sup> ··· *Gj <sup>j</sup>* ··· *Cb<sup>b</sup>* .

The definition of the independent variable γ*ikl* ∈ {0, 1} indicates whether the routing *oprikl* is selected, and if the *l*th route of the *k*th feature is selected γ*ikl* = 1; otherwise, it is zero.

The objective function can be obtained according to the carbon emission and cost of the machine tool processing corresponding to the selected process route, and the logistics strength between the machine tools used in the process of the preceding and following process routes,

$$\min \left( \sum G\_{j'j} \cdot \gamma\_{ikl} \cdot \mathcal{W}\_{ijk'} \cdot \sum G\_{j'j} \cdot \gamma\_{ikl} \cdot \mathcal{C}\_{ijk} \right)$$

s.t.

$$\text{sst}\_{i\text{j}\text{'}k} + t\_{i\text{j}\text{'}k} + Q(1 - \gamma\_{\text{i}\text{k}\text{'})} < \chi\_{\text{i}\text{k}\text{'}\text{i}\text{k}\text{'}i\text{j}}\\\text{s}\_{i\text{j}\text{k}\text{'}} \qquad \forall i, j, \text{j}\text{'}, k \tag{12}$$

$$\text{sst}\_{i\bar{j}k} - \text{st}\_{i'\bar{j}k'} > t\_{i'\bar{j}k'} + Q(1 - \gamma\_{i\bar{k}l}), \quad \forall i, i', j, k, k' \tag{13}$$

$$\sum\_{l}^{d} \gamma\_{i\mathbf{i}l} = 1, \quad \forall i, k, l \tag{14}$$

$$\text{sst}\_{i\uparrow'k} \ge 0, \quad \forall i, j', k \tag{15}$$

$$\max(st\_{ijk} + t\_{ijk}) \le ed\_{i\prime} \quad \forall i, j^{\prime}, k \tag{16}$$

where Q is a maximum value, and Formula (12) indicates that the process route satisfies the processing order between the features and the order of processing between processes; Formula (13) means that one machine can only process one part at a time; Formula (14) means that one feature of a part can only select one process route; Formula (15) indicates that the part processing should start from time 0; Formula (16) indicates that the last process of the part needs to be completed before the part delivery date.

#### **3. Multilayer Coding Genetic Algorithm**

The multilayer coding genetic algorithm divides the individual coding into multiple layers; each layer of coding contains different meanings, and jointly expresses the complete solution of the problem, thereby using a chromosome to accurately express the solution of the complex problem.

First, the constraint type of the optimization problem is determined, the solution set of the population composition problem is initialized, and an extended process-based coding is designed. Each chromosome represents a feasible solution under the target optimization. There are multiple kinds of products to be processed in this paper. When the product *ni* has *mj* processes, the individual lengths *k*

of the chromosomes have a total of 2 *i*=1 *nimj* integers, where in the first half is the processing order of the product features on the machine, and the second half represents the machine tool corresponding to the selected machining method. As shown in Figure 2, if the second feature can be processed by a third or second machining method, the corresponding machine tools are 5 and 8.


To determine the fitness value of a chromosome, it is necessary to reduce the chromosome into a process. It is also necessary to consider the logistics strength of the machine tool used in the current process and the machine tool used in the previous process, and also to consider how the target allocates the ratio of the processed carbon emissions and the processing cost in the multi-objective optimization. Forming a fitness calculation function, the calculation formula is

$$fitness(i) = k\_1 \cdot W\_{ijk} \cdot G\_{j'j} + k\_2 \cdot C\_{ijk} \cdot G\_{j'j} \tag{17}$$

where *k*1, *k*<sup>2</sup> are the coefficients, the smaller the total carbon emissions and cost generated by the process route of all parts, the better the chromosome.

The roulette method is used to select chromosomes with good fitness. The probability that chromosome *i* is selected every time is *p*(*i*). The better the chromosome is, the smaller the fitness value is. If the value is larger after derivative, the selected probability will be greater.

$$p(i) = Fitness(i) / \sum\_{i=1}^{n} Fitness(i) \tag{18}$$

$$Fitness(i) = 1/fitness(i)\tag{19}$$

The crossover of the integer crossover method is used to obtain new chromosomes, and the population is continuously evolved. Two chromosomes are selected from the population by roulette method, the k i=1 *nimj* bits are selected from the individual codes, and the intersection positions are randomly selected for intersection. After the intersection, the process in each process route will be redundant or missing, and the excess part of the process will be added to the missing part. It is judged whether the process conforms to the processing logic according to the constraint conditions. Then, k

the processing machine corresponding to each process is adjusted to a machine tool of i=1 *nimj* + 1 to

2 k i=1 *nimj* position.

Integer variation is used to obtain excellent individuals and promote the evolution of the entire population. The chromosomes are randomly selected from the population, the first half of the individual is selected to perform the mutation operation, and the machine tool corresponding to the second half is exchanged. The entire algorithm process is shown in Figure 3.

**Figure 3.** Algorithm flow.

#### **4. Examples and Analysis**

According to the production situation of an air compressor crankshaft of a commercial vehicle brake system company, a processing example can be fitted. In this example, set the part set *P*, that is, process eight kinds of parts at the same time on a production line. Any part contains three major features and the available feature set *OP*. Any feature has multiple process routes that can be selected and the available process route set *OPR*. The number of the machine tools in the workshop form a set *M*, that is, the production line has a total of 15 selectable processing machine tools, including machine tools with the same processing method but different numbers. Comprehensively considering the machine tool set and the process route set, the process set *OPM* can be obtained.

The machine tool can be selected according to the features' process route. Table 1 expresses the optional machine matrix *J*m, which longitudinally represent eight parts, horizontally represent the machine tool corresponding to the features of the parts, and the brackets indicate the various machine tools that can be selected; 0 means no such process. For example, the processing route of part 1 includes 5-12-4-2-3-5-9, 5-12-4-2-8-5-9, 5-12-4-2-8-5-11, 5-12-4-2-3-5-11, 5-12-4-15-3-5-9, 5-12-4-15-8-5-9, 5-12-4-15-8-5-9, 5-12-4-15-8-5-11, and 5-12-4-15-3-5-11; there are a total of eight process routes.


**Table 1.** Parts' features selectable machine tools.

Similar to the optional machine tool matrix *J*m, a processing time matrix *T* is generated based on the machining time of the part features on the machine, as shown in Table 2.


**Table 2.** Parts' features processing time.

Set the logistics strength matrix *GJ*<sup>m</sup> of 15 machine tools according to the collection of logistics strength *G*,


In order to complete the calculation of the model, the power value of each machine tool in the carbon emission model needs to be collected, and the control equipment enters the processing stages of standby and empty cutting. We used the three-phase four-wire connection method to connect the power recorder to the motor used in each stage. The control equipment works stably and collects the corresponding power value. The data is substituted into the expressions of the model. At the same time, the current monitoring device can be connected to the device to monitor the current situation at various stages of stable operation, and the accuracy of the power value can be reversed to improve the accuracy of the data [5]. The connection of the power recorder is shown in Figure 4a, and the connection of the current monitoring device is shown in Figure 4b.

**Figure 4.** Power detection equipment. (**a**) shows the connection of the power recorder, (**b**) shows the connection of the current monitoring device.

Using the power detection experimental method and the timing of the processing process, the carbon emissions *Wijk* and processing costs *Cijk* of each machine tool during processing can be calculated. Then, the carbon emission matrix W and processing cost matrix C can be determined, which are similar to the optional machine tool matrix *J*m and processing time matrix *T*.

Substituting five matrices into the algorithm calculation, the number of populations is 40, the maximum number of iterations is 50, the crossover probability is 0.8, and the mutation probability is 0.6.

When the cost is optimized separately, the algorithm is iterated for 24 generations. The results are shown in Figures 5 and 6. The completion time is 61 min and the carbon emission is 28.8 Kg. Each part feature mainly considers selecting a machine tool with a short machining time. The process route selects a route with less machine conflict and expands the parallel machining, which reduces the waiting time of the workpiece and reduces the maximum completion time.

When increasing carbon emissions for multi-objective optimization, the fitness coefficients k1 and k2 are taken as 0.5 and 0.5, respectively, and the algorithm is iterated for 27 generations. The results are shown in Figures 7 and 8. The total carbon emissions of the workshop are 23.7 Kg, which is 17.7% lower than the cost optimization alone. Most of the characteristics of each part will choose the processing route with less carbon emission and its corresponding machine tool for processing, which reduces the total carbon emission. However, the concentration of processing machine tools leads to the increase of waiting time in the process. The time has increased by 15 min and the cost has also increased.

**Figure 5.** Single-target optimization result Gantt chart.

**Figure 6.** Single target algorithm search process.

**Figure 7.** Multi-objective optimization results Gantt chart.

**Figure 8.** Multi-objective algorithm search process.

#### **5. Conclusions**

This paper establishes a multiprocess route workshop scheduling optimization model with the lowest carbon emissions and the best cost by defining a set of factors that affect machining production. At the same time, in order to make the model accurately fit the actual facility conditions, the existing equipment and the factors that affect the logistics intensity are also analyzed. The evaluation coefficients and functions are defined, and the logistics intensity model is fitted and substituted into the objective function. The scheduling modeling and optimization process of the production line has certain

reference value. Considering the actual conditions, such as the processing order between the parts' features and the processing order between processes, 0–1 variables χ, γ, and τ are introduced to ensure that the optimization process meets the actual processing order. Finally, through the fitting processing example, the multilayer coding genetic algorithm was used to calculate the Gantt chart under single-objective and multi-objective optimization, and the conclusion was drawn through comparative analysis, which verified the practicability and accuracy of the model, thus guiding the multi-objective. The process of workshop scheduling optimization for small and large batch parts manufacturing enterprises is defined. However, the modeling does not take into account the production line dynamics such as machine tool equipment sudden failures and order changes, and ignores the impact of peak power and processing quality, so optimization research needs to be further in-depth.

**Author Contributions:** Visualisation, writing, review and editing, and data curation: Y.S. and N.Y.; conceptualization, investigation, and experiment: Q.G. and M.H. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Acknowledgments:** This work was supported by the 58th postdoctoral science foundation program of China (Grant No. 2015M581301), the National Natural Science Foundation of China (Grant No. 51775392), the Doctoral Research Startup Foundation of Hubei University of Automotive Technology (Grant No. BK202001), and the Key Laboratory of Automotive Power Train and Electronics (Grant No. ZDK1201802). These financial contributions are gratefully acknowledged.

**Conflicts of Interest:** The authors declare no conflict of interest.
