# Integrated Optimization Method of IPPS under TOU and Tiered Electricity Price

Authors: Erbao Xu; Yan Li; Mingshun Yang; Zhenyu Wang; Yirou Liu; Jiali Han
Journal: Discrete Dynamics in Nature and Society
 (2021)

---

## Abstract

Energy-saving production is one of the issues that must be paid attention to by today’s manufacturing enterprises. Aiming at the problem of integrated process planning and scheduling (IPPS) in the manufacturing process, considering Time-of-Use (TOU) and tiered electricity price, this paper systematically studies the energy-saving scheduling problem in order to reduce the power consumption in processing and production. To establish the multiobjective optimization mathematical model of the problem, the load balancing problem of the equipment is considered, the minimization of the power consumption and the maximum load of the equipment are taken as the optimization objectives. Then, considering the constraints of resource and multiprocess, the switching strategy of the equipment in idle time is introduced, including shutdown and restart operations. In order to solve the model easily, a multiobjective firefly algorithm (MOFA) based on five-layer coding is designed, and the elite strategy is introduced to protect the excellent firefly individuals in the iterative population. Finally, through a specific example, the Pareto solution set is obtained, which provides a reference scheme for decision-makers, and verifies the correctness of the model and the effectiveness of the algorithm.


---

## Body

## 1. Introduction

Integrated process planning and scheduling (IPPS) is an important part of the processing-assembly manufacturing system, which is one of the most difficult NP-Complete combinatorial optimization problems [1]. The research on IPPS has always been a hot issue. Li et al. [2] combined the genetic algorithm with the variable neighborhood search algorithm, applied it to the actual case of nonstandard equipment production workshop of packaging machine, and achieved good results. Salido et al. [3] developed a genetic algorithm to solve an extended version of the Job-shop scheduling problem in which machines can consume different amounts of energy to process tasks at different rates. Luo et al. [4] proposed a multiobjective genetic algorithm (MOGA-IE) based on immune principle and external files to solve the multiobjective IPPS problem. Lin et al. [5] address a problem regarding the joint decision of process planning and scheduling in the context of a distributed flexible job shop (DFJS) and develop a genetic algorithm to solve the IPPS/DFJS problem.With the emergence of the concept of green manufacturing, the problem of energy shortage has become increasingly prominent, and more manufacturers have attached importance to energy consumption indicators. Therefore, we have to focus on the IPPS problem under multiobjective circumstances. How to fully consider the factors such as equipment energy consumption and tiered electricity price is a difficult issue in the implementation of IPPS. As the main energy of the manufacturing industry, how to save electricity has become the primary measure for manufacturing enterprises to reduce production costs [6, 7]. Zhang et al. [7] studied the optimization of energy savings for IPPS. A mathematical model for multiobjective optimization of IPPS was established to minimize the total energy consumption and peak power of the job shop. The evaluation indexes showed that the NSHMSGA approach designed could obtain a better nondominated solution set than the NSGA-II approach. Jin et al. [8] formulated a mixed-integer linear programming (MILP) model with both makespans and total power consumption criteria. A multiobjective memetic algorithm is then developed to realize energy saving.Stable operation of power grid requires a balance between power supply and demand. In order to meet the growing peak power demand, both the supply side and the demand side should be considered, and the power consumption mode of end users should be changed through price signals or other measures, such as time-of-use price, step price, and real-time price [9]. In recent years, the issue of energy-saving IPPS has gradually attracted the attention of scholars. Zhang et al. [10] proposed an integration model based on nonlinear process planning (NLPP). He proved that the energy-saving effect of IPPS mode is better than that of single process planning and scheduling. Through experiments, Dai et al. [11] proposed the energy perception model of IPPS. It aims at the maximum completion time and energy consumption, establishes a multiobjective integrated scheduling model, and obtains the Pareto solution by using the improved genetic algorithm. Finally, a case is used to verify that the proposed model and algorithm can improve the energy efficiency of the manufacturing process. Yang [12] studies the scrap steel batching optimization problem and the scrap steel production scheduling optimization problem under the time-of-use electricity price and realizes the partial optimization of scrap steel batching system and scrap steel production scheduling system. Meng et al. [13] studied the problem of IPPS aiming at energy saving, based on the two modeling ideas of idle time and idle energy consumption, and considering the energy-saving strategy of shutdown and restart, he established three mixed-integer linear programming models. Zhang et al. [14] complied with feature precedence and other technological requirements, mapped flexible manufacturing system-integration of process planning and scheduling as an asymmetric traveling salesman problem.Facing the current situation of energy shortage and considering the demand of green and low-carbon manufacturing, manufacturing enterprises must also consider energy saving while improving production efficiency. How to systematically reduce the power consumption in machining and process planning has important research value. The existing research results show that the energy-saving IPPS problem has attracted much attention at present, but there are few studies related to the electricity price, especially the study on the TOU and tiered electricity price. Therefore, according to the TOU and tiered electricity price, firstly, we integrate the process planning and production scheduling and consider the utilization rate and energy consumption cost of equipment. Then, a mathematical model is established to minimize the power cost and the maximum load of equipment. As a new heuristic optimization algorithm, the firefly algorithm (FA) has the advantages of simple parameters and good optimization performance. So, a multiobjective FA (MOFA) is designed to solve the model. Finally, an example is given to verify the correctness of the model and the effectiveness of the algorithm. The practical project proves that the optimization method can select a suitable process route and a suitable production scheduling plan in the complex actual production environment, which has certain theoretical value and practical significance.


## 2. Construction of Mathematical Model

The integrated optimization problem of IPPS under TOU and tiered electricity prices is described as follows: In the workshop, there are a variety of different workpieces to be processed, and each workpiece has multiple process routes to choose from and each process corresponds to a corresponding processing equipment. In this case, the optimization goal is to minimize the cost of electricity and the maximum load of the equipment. Then through the selection of the process route and the sorting of the workpiece processing order, the optimal process route and scheduling plan are obtained. At the same time, according to the production situation of processing equipment, the switch strategy is introduced in peak periods and low periods, and the processing equipment is turned off or restarted when suitable so as to further reduce the power cost.For the integrated optimization problem of IPPS, the following assumptions are made: (1) At the same time, each processing equipment can only process one process; (2) The processing route of the workpiece and the processing time of each procedure are known and determined in advance; (3) Once each process starts to be processed, it cannot be interrupted before the processing task is completed; (4) The preparation time for tool change and clamping is included in the processing time of each process; (5) It is necessary that each working procedure of the workpiece can be carried out only after the completion of the previous working procedure.To establish an IPPS optimization model, the mathematical symbols are defined as follows:i: Workpiece number, i ∈ [1,…,I]j: Machine number, j ∈ [1,…,J]k: Electricity price period, k ∈ [1,…,K]v: Electricity price ladder, v ∈ [1,…,V]li: Number of process routes of workpiece i, l ∈ [1,…,li]wi: Number of processes of workpiece i, w ∈ [1,…,wi]uj: Number of positions of machine j, u ∈ [1,…,uj]ST: Plan start timeET: Plan end timepril: Boolean variable, the corresponding relationship between the workpiece and the process route. If the workpiece i selects the process route l, its value is 1; otherwise, it is 0;Oliwju: Boolean variable, when the process route l is selected, the w processes of the workpiece i are processed at the u position on the machine j, the value is 1; otherwise, it is 0;Sliwju: When the process route l is selected, the start processing time of the w process of the workpiece i at the u position on the machine jEliwju: When the process route l is selected, the completion time of the w process of the workpiece i at the position u on the machine jRTj: The time it takes for machine j to shut down and start onceWjre: Energy consumption required for machine j to shut down and start oncexju: Boolean variable, the machine j adopts the switch machine strategy after finishing the processing position u, the value is 1; otherwise, it is 0.tidlejk: The idle time of machine j in period kpidlej: Standby power of machine jtmachiwj: Processing time of process w of workpiece i on machine jpmachiwj: The power requirement for the process w of the workpiece i to be processed on the machine jppub: Public equipment powerPSk: Start time of period kPEk: End time of period kPCSkv: Electricity standard of v-range electricity price in period kykv: Boolean variable, whether the power consumption of period k meets the standard of v, if so, value 1; otherwise, 0Pkv: The v-th price of period kzliwjk: Boolean variable, whether machine j is processing w processes of workpiece i in k time period when selecting process route l, if it is, the value is 1; otherwise, it is 0;tliwjk: When the process route l is selected, the processing time in the k period when the machine j processes the w processes of the workpiece iEmax: Maximum completion timeRjk: The number of times that machine j adopts the switch machine strategy in time period k


### 2.1. Objective Function

In the integrated optimization problem of IPPS, considering energy saving, the first optimization objective is to minimize power consumption. In the actual scheduling, due to improper scheduling, the utilization rate of some equipment may be too high or too low, and then the scheduling bottleneck will appear. In order to effectively avoid this problem, we take the minimization of the maximum load of the equipment as the second optimization objective. From this, an objective function with two optimization objectives is established as follows.


#### 2.1.1. Energy Cost

Energy consumption is divided into machine tool processing energy consumption, standby energy consumption and public energy consumption.


#### 2.1.2. Machine Tool Processing Energy Consumption

Processing energy consumption of machinej in period k:(1)Wjkmach=∑i∈I∑w∈witliwjkpiwjmach.Among them,(2)tliwjk=tiwjmach,∑k=1Kzliwjk=1,Eliwju−PSk,Sliwju≤PSk≤Eliwju,PEk−Sliwju,Sliwju≤PEk≤Eliwju,Among them,tliwjk is the processing time of w processing time of machine j for workpiece i in period k; Sliwju is the starting time of w process of workpiece i at u position on machine j; Eliwju is the completion time of w process of workpiece i at u position on machine j.


#### 2.1.3. Standby Energy Consumption

Standby energy consumption of machinej in period k:(3)Wjkidle=tjkidlepjidle+RjkWjre.Among them, machine standby timetjkidle:(4)tjkidle=PSk−PEk−∑i∈I∑w∈witliwjk−∑i∈I∑w∈wi∑u=1ujSl′i′w′j,u+1−Eliwjuxjuziwjk.


#### 2.1.4. Public Energy Consumption including Lighting

Public energy consumption in periodk:(5)Wkpub=PSk−PEkppub.In summary, the total energy consumption of the workshop in periodk is as follows:(6)Wk=∑j=1JWjkmach+Wjkidle+Wkpub.Therefore, the objective function of minimizing energy consumption is established:(7)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1.


#### 2.1.5. Maximum of Equipment Load

The maximum equipment load is directly determined according to the processing time of each machine, and the objective function of the minimum equipment’s maximum load is established:(8)minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.In summary, the objective function is established as follows:(9)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1,minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.Among them,Pkv is the v gear electricity price of period k; PCSkv is the electricity consumption standard for v gear electricity price of period k, which is a known input condition and does not need another formula to calculate.


### 2.2. Constraint Conditions

The constraints are as follows:(1)
The uniqueness constraint of the machine:(10)Sl′i′w′j,u+1≥Eliwju+RTj×xju.(2)
The uniqueness constraint of the workpiece:(11)Sl′i,w+1,j′u′≥Eliwju+RTj×xju.(3)
Ensure the continuity of processing. Once the process starts, it cannot be interrupted before completion:(12)Sliwju+tiwjmach=Eliwju,∑k=1Ktliwjk=tiwjmach.(4)
Start processing and complete processing tasks within the specified time:(13)Sliwju≥ST,Eliwju≤ET.(5)
Start processing and complete processing tasks within the specified time:(14)∑k=1KRjk=∑u=1ujxju.(6)
Only one processing machine can be selected for a process of a workpiece:(15)∑i∈I∑w∈wioiwju=1.(7)
Only one processing route can be selected for a workpiece:(16)∑i∈Ipril=1.(8)
Switching strategy refers to the operation of shutting down and then restarting when the machine or equipment is idle. When the processing equipment adopts the switching strategy, the idle time meets the time requirements of the processing equipment shutdown and startup:(17)Si′w′j,u+1−Eiwjuxju≥RTj.(9)
When the processing equipment adopts the switch strategy, the standby energy consumption during idle time is greater than the energy consumption required for one shutdown and startup:(18)Si′w′j,u+1−Eiwjuxjupjidle≥Wjre.


## 2.1. Objective Function

In the integrated optimization problem of IPPS, considering energy saving, the first optimization objective is to minimize power consumption. In the actual scheduling, due to improper scheduling, the utilization rate of some equipment may be too high or too low, and then the scheduling bottleneck will appear. In order to effectively avoid this problem, we take the minimization of the maximum load of the equipment as the second optimization objective. From this, an objective function with two optimization objectives is established as follows.


### 2.1.1. Energy Cost

Energy consumption is divided into machine tool processing energy consumption, standby energy consumption and public energy consumption.


### 2.1.2. Machine Tool Processing Energy Consumption

Processing energy consumption of machinej in period k:(1)Wjkmach=∑i∈I∑w∈witliwjkpiwjmach.Among them,(2)tliwjk=tiwjmach,∑k=1Kzliwjk=1,Eliwju−PSk,Sliwju≤PSk≤Eliwju,PEk−Sliwju,Sliwju≤PEk≤Eliwju,Among them,tliwjk is the processing time of w processing time of machine j for workpiece i in period k; Sliwju is the starting time of w process of workpiece i at u position on machine j; Eliwju is the completion time of w process of workpiece i at u position on machine j.


### 2.1.3. Standby Energy Consumption

Standby energy consumption of machinej in period k:(3)Wjkidle=tjkidlepjidle+RjkWjre.Among them, machine standby timetjkidle:(4)tjkidle=PSk−PEk−∑i∈I∑w∈witliwjk−∑i∈I∑w∈wi∑u=1ujSl′i′w′j,u+1−Eliwjuxjuziwjk.


### 2.1.4. Public Energy Consumption including Lighting

Public energy consumption in periodk:(5)Wkpub=PSk−PEkppub.In summary, the total energy consumption of the workshop in periodk is as follows:(6)Wk=∑j=1JWjkmach+Wjkidle+Wkpub.Therefore, the objective function of minimizing energy consumption is established:(7)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1.


### 2.1.5. Maximum of Equipment Load

The maximum equipment load is directly determined according to the processing time of each machine, and the objective function of the minimum equipment’s maximum load is established:(8)minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.In summary, the objective function is established as follows:(9)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1,minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.Among them,Pkv is the v gear electricity price of period k; PCSkv is the electricity consumption standard for v gear electricity price of period k, which is a known input condition and does not need another formula to calculate.


## 2.1.1. Energy Cost

Energy consumption is divided into machine tool processing energy consumption, standby energy consumption and public energy consumption.


## 2.1.2. Machine Tool Processing Energy Consumption

Processing energy consumption of machinej in period k:(1)Wjkmach=∑i∈I∑w∈witliwjkpiwjmach.Among them,(2)tliwjk=tiwjmach,∑k=1Kzliwjk=1,Eliwju−PSk,Sliwju≤PSk≤Eliwju,PEk−Sliwju,Sliwju≤PEk≤Eliwju,Among them,tliwjk is the processing time of w processing time of machine j for workpiece i in period k; Sliwju is the starting time of w process of workpiece i at u position on machine j; Eliwju is the completion time of w process of workpiece i at u position on machine j.


## 2.1.3. Standby Energy Consumption

Standby energy consumption of machinej in period k:(3)Wjkidle=tjkidlepjidle+RjkWjre.Among them, machine standby timetjkidle:(4)tjkidle=PSk−PEk−∑i∈I∑w∈witliwjk−∑i∈I∑w∈wi∑u=1ujSl′i′w′j,u+1−Eliwjuxjuziwjk.


## 2.1.4. Public Energy Consumption including Lighting

Public energy consumption in periodk:(5)Wkpub=PSk−PEkppub.In summary, the total energy consumption of the workshop in periodk is as follows:(6)Wk=∑j=1JWjkmach+Wjkidle+Wkpub.Therefore, the objective function of minimizing energy consumption is established:(7)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1.


## 2.1.5. Maximum of Equipment Load

The maximum equipment load is directly determined according to the processing time of each machine, and the objective function of the minimum equipment’s maximum load is established:(8)minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.In summary, the objective function is established as follows:(9)min∑k=1KPk1Wk+∑v=2VykvWk−PCSkvPkv−Pk,v−1,minmax∑l∈li∑i∈I∑w∈wi∑u∈ujEliwju−Siwju.Among them,Pkv is the v gear electricity price of period k; PCSkv is the electricity consumption standard for v gear electricity price of period k, which is a known input condition and does not need another formula to calculate.


## 2.2. Constraint Conditions

The constraints are as follows:(1)
The uniqueness constraint of the machine:(10)Sl′i′w′j,u+1≥Eliwju+RTj×xju.(2)
The uniqueness constraint of the workpiece:(11)Sl′i,w+1,j′u′≥Eliwju+RTj×xju.(3)
Ensure the continuity of processing. Once the process starts, it cannot be interrupted before completion:(12)Sliwju+tiwjmach=Eliwju,∑k=1Ktliwjk=tiwjmach.(4)
Start processing and complete processing tasks within the specified time:(13)Sliwju≥ST,Eliwju≤ET.(5)
Start processing and complete processing tasks within the specified time:(14)∑k=1KRjk=∑u=1ujxju.(6)
Only one processing machine can be selected for a process of a workpiece:(15)∑i∈I∑w∈wioiwju=1.(7)
Only one processing route can be selected for a workpiece:(16)∑i∈Ipril=1.(8)
Switching strategy refers to the operation of shutting down and then restarting when the machine or equipment is idle. When the processing equipment adopts the switching strategy, the idle time meets the time requirements of the processing equipment shutdown and startup:(17)Si′w′j,u+1−Eiwjuxju≥RTj.(9)
When the processing equipment adopts the switch strategy, the standby energy consumption during idle time is greater than the energy consumption required for one shutdown and startup:(18)Si′w′j,u+1−Eiwjuxjupjidle≥Wjre.


## 3. Improvement of FA to Solve the Model

In practical engineering applications, due to many parameters and dimensions involved in the problem, a single optimization objective cannot meet the actual needs. The interaction and competition among the multiple objectives make the multiobjective problem more complex. The single objective optimization problem can get a unique optimal solution, but the multiple objective functions in the multiobjective problem make the solution no longer unique. Therefore, the multiobjective optimization algorithm is no longer the unique solution but the Pareto solution set [15, 16].There are many algorithms to solve multiobjective scheduling problems, such as genetic algorithm [17, 18], particle swarm algorithm [19, 20], migratory bird optimization algorithm [21, 22], and FA [23, 24]. As a new swarm intelligence optimization method, FA has the advantages of a simple model, less adjustable parameters, easy parallel processing, and fast convergence speed, so it has been applied in many fields [25, 26]. We chose the FA and improved it to solve the energy-saving integrated scheduling mathematical model established in Section 2.


### 3.1. Multiobjective FA

The standard FA was first proposed for single objective problem [27]. Each firefly individual corresponds to only one objective function value. The standard FA can directly compare the objective function values of two fireflies. According to the objective function value, the individual brightness can be determined and the individual moving direction can be determined. However, for solving the multiobjective optimization problem, each firefly individual corresponds to two or even more objective function values, which cannot directly compare the objective function of the firefly individual to judge the individual brightness relationship. Therefore, Yang proposed a MOFA for the continuous solution domain in 2013. By extending the standard FA, according to the Pareto dominance in the target solution space, the corresponding solutions of the individual firefly are compared, and the moving direction of the individual firefly is determined, and finally, the Pareto optimal front surface is obtained [15].


#### 3.1.1. Location Update

When the fireflyI is attracted by the higher-bright firefly j and moves to j, the position update formula is as follows:(19)xi=xi+βdxj−xi+αrand−12.In formula (19), xi, xj are the spatial positions of firefly individual i and individual j; α is the step factor, which is a constant between 0-1; rand is a random number with a uniform distribution between 0-1; the αrand−1/2 is the random disturbance term, which is to avoid falling into local optimum prematurely in the population iteration process.In the MOFA, in order to maintain the diversity of the Pareto solution set, Yang added a random movement, that is, a new way of position updating, as shown in the following formula:(20)xi=g∗+αrand−12.Among them,g∗ is the optimal solution in the current population solution space obtained by weighted calculation of multiple objective function values according to random weights (the sum of random weights is 1).Therefore, in MOFA, there are two ways to update the location of firefly individuals. When the individualxi exists in the current population xj≺xi, the location should be updated according to equation (19). When the firefly individual xi does not exist xj≺xi in the current solution space, the location should be updated according to formula (20).


#### 3.1.2. Fluorescence Brightness of Firefly

For multiobjective optimization problems, it is not possible to sort individuals directly based on the comparison of objective function values, so Pareto is used to determine the brightness of individuals. The fast nondominated sorting method adopted in the NSGA-II algorithm [28] can efficiently and quickly determine the good and bad of the solutions corresponding to different individuals and determines the quality level of individuals. Therefore, in the MOFA, the fast nondominated sorting method is used to sort the firefly individuals, and the rank of firefly individuals is obtained. The specific process is as follows:Step1: First, calculate the dominated number of solutions corresponding to each individual fireflyxi in the current population and then calculate the total number nxi and set of all firefly individuals dominating xi. If the total number of individuals dominating xi is zero, that is, nxi = 0, then the solution corresponding to xi is regarded as the highest level, denoted as rank = 1, and there may be multiple solutions at this level.Step2: The individuals with rank = 1 are temporarily removed from the entire population, and the remaining ones are decomposed into a new population. Then judge it according to Step1 to see if it regains the advantage. Finally, a new set of nondominated solutions is obtained, and these solutions are regarded as the second-higher level, denoted as rank = 2.Step3: Repeat the above sorting method until all the solutions have determined the corresponding level.After ranking all the individuals in the current population, there may be multiple Pareto optimal solutions on some levels. In the next iteration, the crowding distance is used to calculate the density distribution of Pareto solutions. The calculation method of crowding distance corresponding to individual firefly xi is shown as follows:(21)di=∑j=1Mfji+1−fji−1fjmax−fjmin.In the formula,M is the count of objective functions in multiobjective optimization; fj (i) represents the value of the jth objective function corresponding to the firefly individual xi; fjmax and fjmin are the maximum and minimum values of the jth objective in the Pareto frontier solution set.After calculating the Pareto dominance level and crowding distance of each individual firefly, we can sort all the firefly individuals comprehensively according to the two attributes, including Pareto dominance level and crowding distance. If one of the two conditions in the following equation (22) is satisfied, it can be considered that the individual xi is superior to the individual xj, then xi≺nxj is called the total order relationship between individuals.(22)ranki<rankj,ranki=rankj,di>dj.In MOFA, the total order relationship of individuals can be used as the criterion for determining the brightness of firefly individuals.


### 3.2. Design of MOFA

The standard MOFA is aimed at continuous solution domains. It is not completely applicable to the IPPS problem under TOU and tiered electricity prices in this paper. Therefore, the MOFA needs to be redesigned.


#### 3.2.1. Coding Method

The IPPS problem under TOU and tiered electricity price can be divided into four subproblems: The selection of the process route, the selection of the processing machine, the starting time of the workpiece, and the determination of whether to adopt a switch strategy. According to the four different subproblems, a five-layer coding structure is designed. The first layer is coding based on process route, which process route the workpiece chooses; The second level of coding is based on the sequence of the workpiece, which represents the processing order of the workpiece. The third layer is the coding based on the device number, indicating which device is selected for processing in this process of the workpiece. The fourth layer is coding based on start time, which represents the start time of the workpiece. The fifth layer coding is based on the switch strategy coding in order to determine whether the device is processed after the completion of the switch strategy.Suppose that there are three workpieces to be processed, and each workpiece has two kinds of process routes. A feasible solution is designed, as shown in Figure1. The first layer code represents the selected process route of the workpiece. The second layer code represents the processing sequence of the workpiece. The third layer represents the corresponding processing equipment number. The fourth layer represents the start processing time of the workpiece. In the fifth layer, 1 represents taking shutdown and restart operation, 0 means no operation.Figure 1
Schematic diagram of encoding.


#### 3.2.2. Decoding Method

The problem described in this paper is different from the common job shop scheduling problem considering energy consumption. A single decoding method is not completely suitable for this problem. Therefore, this paper designs two decoding methods, namely, decoding based on workpiece sequence and decoding based on start time.(1) Decoding based on workpiece sequence: First, determine the processing route adopted by the workpiece according to the first-level code. Then according to the second layer codes and the third layer codes, determine the processing sequence of the workpiece and the processing equipment used. Finally, according to the idle time of the processing equipment of the workpiece and the processing time of the workpiece, it is determined whether the workpiece can complete the processing task within the specified time.(2) Decoding based on start time: First, determine the start time of the workpiece according to the start time of the fourth layer. Then, according to the fifth-level code, it is determined whether the processing equipment will shut down and restart after processing the current workpiece.


#### 3.2.3. Key Links

(1) Location update: For the discrete solution domain space of the first three layers of coding, referring to the position update operation of the MOFA, when the individual firefly is dominated, the precedence preserving order-based crossover (POX) is commonly used in shop scheduling is used for the crossover operation. However, when the individual firefly is not dominated, a swap (SWAP) operation is adopted. That is, two positions are randomly generated on the individual firefly, and the codes at the two positions are exchanged. The SWAP operation is equivalent to the random movement operation in the position update of the multitarget firefly algorithm, which increases the diversity of the population.For the continuous solution domain space of the fourth layer based on the startup time coding, the position update operation in the multitarget firefly algorithm is adopted. If the individual is dominated, the location is updated according to equation (19). If the individual is not dominated, move randomly according to formula (20) to increase the diversity of the Pareto solution set.(2) Judgment and repair of feasible solution: When the position is updated for the fourth layer of coding, it may lead to the irrationality of the starting time of the workpiece, and then an infeasible solution may appear. The process of determining and repairing feasible solutions is as follows:Step1: Judge whether the second level code is after the plan start time. If it is, proceed to the next step. If it is not, set the code that is not within the specified time as the plan start time, and then proceed to the next step.Step2: Traverse the first layer of codes one by one and determine the next idle time of the workpiece and the processing equipment according to the current processing state of the workpiece and the processing equipment and the processing time of the workpiece. Then judge the feasibility of the corresponding coding of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the next idle time of the workpiece and the processing equipment, and then go to the next step.Step3: Make sure that the second level code is before the planned completion time. If it is, go to step 5. If not, set the code that is not within the specified time range as the planned completion time and continue to the next step.Step4: Traverse the first level of code in reverse order and determine the last idle time of the workpiece and processing equipment according to the processing time of the workpiece and the current processing state of the workpiece and processing equipment. Then judge the feasibility of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the last idle time of the workpiece and the processing equipment at the same time, and then go to step 1.Step5: Output the feasible solution of the second layer of coding.(3) Elite strategy: Elitist strategy is that in order to keep the superior individuals of the parent generation into the Pareto solution set in the population iteration, the superior individuals of the parent generation and the offspring generation are merged and selected to enter the next iteration.


#### 3.2.4. Algorithmic Process

For the current problem, the specific flow of the algorithm designed is as follows:Step1: Setting initial parameters: the population size is the number of firefliesm, the light intensity absorption coefficient γ, the maximum attraction β0, the step size factor α, the number of population iterations T, and initializing the firefly position.Step2: Calculating and sorting the dominance level and crowding distance of each firefly individual.Step3: Selecting firefly individualxj, updating the position for the first three layers of code: If individual xj is not dominated, SWAP operation is carried out on the first three layers of codes, and the process route is randomly reselected. If individual xj is dominated, POX crossover operation is carried out on the first three layers of codes.Step4: Using the decoding method based on the sequence of work pieces, the maximum completion time of workpieces is obtained by decoding. If the completion time is within the specified time, the next step will be continued. Otherwise, return to step 3.Step5: Selecting firefly individualxj and updating the position for the fourth layer of code. If the individual xj is not dominated, it moves randomly according to formula (20). If the individual xj is dominated, the position is updated according to formula (19).Step6: The feasibility of the fourth layer coding is judged and repaired. According to the switch strategy requirements, the fifth layer coding is calculated and a firefly individual is obtained.Step7: If all the firefly individuals have performed the location update operation, continue to the next step. Otherwise, return to step 3.Step8: Carrying out elite strategy, combining father and son to select elite and keep excellent individuals.Step9: Determining whether the number of iterations meets the number of population iterationsT, if so, continue to the next step. Otherwise, return to step 2.Step10: Calculating and outputting Pareto front solution set.


## 3.1. Multiobjective FA

The standard FA was first proposed for single objective problem [27]. Each firefly individual corresponds to only one objective function value. The standard FA can directly compare the objective function values of two fireflies. According to the objective function value, the individual brightness can be determined and the individual moving direction can be determined. However, for solving the multiobjective optimization problem, each firefly individual corresponds to two or even more objective function values, which cannot directly compare the objective function of the firefly individual to judge the individual brightness relationship. Therefore, Yang proposed a MOFA for the continuous solution domain in 2013. By extending the standard FA, according to the Pareto dominance in the target solution space, the corresponding solutions of the individual firefly are compared, and the moving direction of the individual firefly is determined, and finally, the Pareto optimal front surface is obtained [15].


### 3.1.1. Location Update

When the fireflyI is attracted by the higher-bright firefly j and moves to j, the position update formula is as follows:(19)xi=xi+βdxj−xi+αrand−12.In formula (19), xi, xj are the spatial positions of firefly individual i and individual j; α is the step factor, which is a constant between 0-1; rand is a random number with a uniform distribution between 0-1; the αrand−1/2 is the random disturbance term, which is to avoid falling into local optimum prematurely in the population iteration process.In the MOFA, in order to maintain the diversity of the Pareto solution set, Yang added a random movement, that is, a new way of position updating, as shown in the following formula:(20)xi=g∗+αrand−12.Among them,g∗ is the optimal solution in the current population solution space obtained by weighted calculation of multiple objective function values according to random weights (the sum of random weights is 1).Therefore, in MOFA, there are two ways to update the location of firefly individuals. When the individualxi exists in the current population xj≺xi, the location should be updated according to equation (19). When the firefly individual xi does not exist xj≺xi in the current solution space, the location should be updated according to formula (20).


### 3.1.2. Fluorescence Brightness of Firefly

For multiobjective optimization problems, it is not possible to sort individuals directly based on the comparison of objective function values, so Pareto is used to determine the brightness of individuals. The fast nondominated sorting method adopted in the NSGA-II algorithm [28] can efficiently and quickly determine the good and bad of the solutions corresponding to different individuals and determines the quality level of individuals. Therefore, in the MOFA, the fast nondominated sorting method is used to sort the firefly individuals, and the rank of firefly individuals is obtained. The specific process is as follows:Step1: First, calculate the dominated number of solutions corresponding to each individual fireflyxi in the current population and then calculate the total number nxi and set of all firefly individuals dominating xi. If the total number of individuals dominating xi is zero, that is, nxi = 0, then the solution corresponding to xi is regarded as the highest level, denoted as rank = 1, and there may be multiple solutions at this level.Step2: The individuals with rank = 1 are temporarily removed from the entire population, and the remaining ones are decomposed into a new population. Then judge it according to Step1 to see if it regains the advantage. Finally, a new set of nondominated solutions is obtained, and these solutions are regarded as the second-higher level, denoted as rank = 2.Step3: Repeat the above sorting method until all the solutions have determined the corresponding level.After ranking all the individuals in the current population, there may be multiple Pareto optimal solutions on some levels. In the next iteration, the crowding distance is used to calculate the density distribution of Pareto solutions. The calculation method of crowding distance corresponding to individual firefly xi is shown as follows:(21)di=∑j=1Mfji+1−fji−1fjmax−fjmin.In the formula,M is the count of objective functions in multiobjective optimization; fj (i) represents the value of the jth objective function corresponding to the firefly individual xi; fjmax and fjmin are the maximum and minimum values of the jth objective in the Pareto frontier solution set.After calculating the Pareto dominance level and crowding distance of each individual firefly, we can sort all the firefly individuals comprehensively according to the two attributes, including Pareto dominance level and crowding distance. If one of the two conditions in the following equation (22) is satisfied, it can be considered that the individual xi is superior to the individual xj, then xi≺nxj is called the total order relationship between individuals.(22)ranki<rankj,ranki=rankj,di>dj.In MOFA, the total order relationship of individuals can be used as the criterion for determining the brightness of firefly individuals.


## 3.1.1. Location Update

When the fireflyI is attracted by the higher-bright firefly j and moves to j, the position update formula is as follows:(19)xi=xi+βdxj−xi+αrand−12.In formula (19), xi, xj are the spatial positions of firefly individual i and individual j; α is the step factor, which is a constant between 0-1; rand is a random number with a uniform distribution between 0-1; the αrand−1/2 is the random disturbance term, which is to avoid falling into local optimum prematurely in the population iteration process.In the MOFA, in order to maintain the diversity of the Pareto solution set, Yang added a random movement, that is, a new way of position updating, as shown in the following formula:(20)xi=g∗+αrand−12.Among them,g∗ is the optimal solution in the current population solution space obtained by weighted calculation of multiple objective function values according to random weights (the sum of random weights is 1).Therefore, in MOFA, there are two ways to update the location of firefly individuals. When the individualxi exists in the current population xj≺xi, the location should be updated according to equation (19). When the firefly individual xi does not exist xj≺xi in the current solution space, the location should be updated according to formula (20).


## 3.1.2. Fluorescence Brightness of Firefly

For multiobjective optimization problems, it is not possible to sort individuals directly based on the comparison of objective function values, so Pareto is used to determine the brightness of individuals. The fast nondominated sorting method adopted in the NSGA-II algorithm [28] can efficiently and quickly determine the good and bad of the solutions corresponding to different individuals and determines the quality level of individuals. Therefore, in the MOFA, the fast nondominated sorting method is used to sort the firefly individuals, and the rank of firefly individuals is obtained. The specific process is as follows:Step1: First, calculate the dominated number of solutions corresponding to each individual fireflyxi in the current population and then calculate the total number nxi and set of all firefly individuals dominating xi. If the total number of individuals dominating xi is zero, that is, nxi = 0, then the solution corresponding to xi is regarded as the highest level, denoted as rank = 1, and there may be multiple solutions at this level.Step2: The individuals with rank = 1 are temporarily removed from the entire population, and the remaining ones are decomposed into a new population. Then judge it according to Step1 to see if it regains the advantage. Finally, a new set of nondominated solutions is obtained, and these solutions are regarded as the second-higher level, denoted as rank = 2.Step3: Repeat the above sorting method until all the solutions have determined the corresponding level.After ranking all the individuals in the current population, there may be multiple Pareto optimal solutions on some levels. In the next iteration, the crowding distance is used to calculate the density distribution of Pareto solutions. The calculation method of crowding distance corresponding to individual firefly xi is shown as follows:(21)di=∑j=1Mfji+1−fji−1fjmax−fjmin.In the formula,M is the count of objective functions in multiobjective optimization; fj (i) represents the value of the jth objective function corresponding to the firefly individual xi; fjmax and fjmin are the maximum and minimum values of the jth objective in the Pareto frontier solution set.After calculating the Pareto dominance level and crowding distance of each individual firefly, we can sort all the firefly individuals comprehensively according to the two attributes, including Pareto dominance level and crowding distance. If one of the two conditions in the following equation (22) is satisfied, it can be considered that the individual xi is superior to the individual xj, then xi≺nxj is called the total order relationship between individuals.(22)ranki<rankj,ranki=rankj,di>dj.In MOFA, the total order relationship of individuals can be used as the criterion for determining the brightness of firefly individuals.


## 3.2. Design of MOFA

The standard MOFA is aimed at continuous solution domains. It is not completely applicable to the IPPS problem under TOU and tiered electricity prices in this paper. Therefore, the MOFA needs to be redesigned.


### 3.2.1. Coding Method

The IPPS problem under TOU and tiered electricity price can be divided into four subproblems: The selection of the process route, the selection of the processing machine, the starting time of the workpiece, and the determination of whether to adopt a switch strategy. According to the four different subproblems, a five-layer coding structure is designed. The first layer is coding based on process route, which process route the workpiece chooses; The second level of coding is based on the sequence of the workpiece, which represents the processing order of the workpiece. The third layer is the coding based on the device number, indicating which device is selected for processing in this process of the workpiece. The fourth layer is coding based on start time, which represents the start time of the workpiece. The fifth layer coding is based on the switch strategy coding in order to determine whether the device is processed after the completion of the switch strategy.Suppose that there are three workpieces to be processed, and each workpiece has two kinds of process routes. A feasible solution is designed, as shown in Figure1. The first layer code represents the selected process route of the workpiece. The second layer code represents the processing sequence of the workpiece. The third layer represents the corresponding processing equipment number. The fourth layer represents the start processing time of the workpiece. In the fifth layer, 1 represents taking shutdown and restart operation, 0 means no operation.Figure 1
Schematic diagram of encoding.


### 3.2.2. Decoding Method

The problem described in this paper is different from the common job shop scheduling problem considering energy consumption. A single decoding method is not completely suitable for this problem. Therefore, this paper designs two decoding methods, namely, decoding based on workpiece sequence and decoding based on start time.(1) Decoding based on workpiece sequence: First, determine the processing route adopted by the workpiece according to the first-level code. Then according to the second layer codes and the third layer codes, determine the processing sequence of the workpiece and the processing equipment used. Finally, according to the idle time of the processing equipment of the workpiece and the processing time of the workpiece, it is determined whether the workpiece can complete the processing task within the specified time.(2) Decoding based on start time: First, determine the start time of the workpiece according to the start time of the fourth layer. Then, according to the fifth-level code, it is determined whether the processing equipment will shut down and restart after processing the current workpiece.


### 3.2.3. Key Links

(1) Location update: For the discrete solution domain space of the first three layers of coding, referring to the position update operation of the MOFA, when the individual firefly is dominated, the precedence preserving order-based crossover (POX) is commonly used in shop scheduling is used for the crossover operation. However, when the individual firefly is not dominated, a swap (SWAP) operation is adopted. That is, two positions are randomly generated on the individual firefly, and the codes at the two positions are exchanged. The SWAP operation is equivalent to the random movement operation in the position update of the multitarget firefly algorithm, which increases the diversity of the population.For the continuous solution domain space of the fourth layer based on the startup time coding, the position update operation in the multitarget firefly algorithm is adopted. If the individual is dominated, the location is updated according to equation (19). If the individual is not dominated, move randomly according to formula (20) to increase the diversity of the Pareto solution set.(2) Judgment and repair of feasible solution: When the position is updated for the fourth layer of coding, it may lead to the irrationality of the starting time of the workpiece, and then an infeasible solution may appear. The process of determining and repairing feasible solutions is as follows:Step1: Judge whether the second level code is after the plan start time. If it is, proceed to the next step. If it is not, set the code that is not within the specified time as the plan start time, and then proceed to the next step.Step2: Traverse the first layer of codes one by one and determine the next idle time of the workpiece and the processing equipment according to the current processing state of the workpiece and the processing equipment and the processing time of the workpiece. Then judge the feasibility of the corresponding coding of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the next idle time of the workpiece and the processing equipment, and then go to the next step.Step3: Make sure that the second level code is before the planned completion time. If it is, go to step 5. If not, set the code that is not within the specified time range as the planned completion time and continue to the next step.Step4: Traverse the first level of code in reverse order and determine the last idle time of the workpiece and processing equipment according to the processing time of the workpiece and the current processing state of the workpiece and processing equipment. Then judge the feasibility of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the last idle time of the workpiece and the processing equipment at the same time, and then go to step 1.Step5: Output the feasible solution of the second layer of coding.(3) Elite strategy: Elitist strategy is that in order to keep the superior individuals of the parent generation into the Pareto solution set in the population iteration, the superior individuals of the parent generation and the offspring generation are merged and selected to enter the next iteration.


### 3.2.4. Algorithmic Process

For the current problem, the specific flow of the algorithm designed is as follows:Step1: Setting initial parameters: the population size is the number of firefliesm, the light intensity absorption coefficient γ, the maximum attraction β0, the step size factor α, the number of population iterations T, and initializing the firefly position.Step2: Calculating and sorting the dominance level and crowding distance of each firefly individual.Step3: Selecting firefly individualxj, updating the position for the first three layers of code: If individual xj is not dominated, SWAP operation is carried out on the first three layers of codes, and the process route is randomly reselected. If individual xj is dominated, POX crossover operation is carried out on the first three layers of codes.Step4: Using the decoding method based on the sequence of work pieces, the maximum completion time of workpieces is obtained by decoding. If the completion time is within the specified time, the next step will be continued. Otherwise, return to step 3.Step5: Selecting firefly individualxj and updating the position for the fourth layer of code. If the individual xj is not dominated, it moves randomly according to formula (20). If the individual xj is dominated, the position is updated according to formula (19).Step6: The feasibility of the fourth layer coding is judged and repaired. According to the switch strategy requirements, the fifth layer coding is calculated and a firefly individual is obtained.Step7: If all the firefly individuals have performed the location update operation, continue to the next step. Otherwise, return to step 3.Step8: Carrying out elite strategy, combining father and son to select elite and keep excellent individuals.Step9: Determining whether the number of iterations meets the number of population iterationsT, if so, continue to the next step. Otherwise, return to step 2.Step10: Calculating and outputting Pareto front solution set.


## 3.2.1. Coding Method

The IPPS problem under TOU and tiered electricity price can be divided into four subproblems: The selection of the process route, the selection of the processing machine, the starting time of the workpiece, and the determination of whether to adopt a switch strategy. According to the four different subproblems, a five-layer coding structure is designed. The first layer is coding based on process route, which process route the workpiece chooses; The second level of coding is based on the sequence of the workpiece, which represents the processing order of the workpiece. The third layer is the coding based on the device number, indicating which device is selected for processing in this process of the workpiece. The fourth layer is coding based on start time, which represents the start time of the workpiece. The fifth layer coding is based on the switch strategy coding in order to determine whether the device is processed after the completion of the switch strategy.Suppose that there are three workpieces to be processed, and each workpiece has two kinds of process routes. A feasible solution is designed, as shown in Figure1. The first layer code represents the selected process route of the workpiece. The second layer code represents the processing sequence of the workpiece. The third layer represents the corresponding processing equipment number. The fourth layer represents the start processing time of the workpiece. In the fifth layer, 1 represents taking shutdown and restart operation, 0 means no operation.Figure 1
Schematic diagram of encoding.


## 3.2.2. Decoding Method

The problem described in this paper is different from the common job shop scheduling problem considering energy consumption. A single decoding method is not completely suitable for this problem. Therefore, this paper designs two decoding methods, namely, decoding based on workpiece sequence and decoding based on start time.(1) Decoding based on workpiece sequence: First, determine the processing route adopted by the workpiece according to the first-level code. Then according to the second layer codes and the third layer codes, determine the processing sequence of the workpiece and the processing equipment used. Finally, according to the idle time of the processing equipment of the workpiece and the processing time of the workpiece, it is determined whether the workpiece can complete the processing task within the specified time.(2) Decoding based on start time: First, determine the start time of the workpiece according to the start time of the fourth layer. Then, according to the fifth-level code, it is determined whether the processing equipment will shut down and restart after processing the current workpiece.


## 3.2.3. Key Links

(1) Location update: For the discrete solution domain space of the first three layers of coding, referring to the position update operation of the MOFA, when the individual firefly is dominated, the precedence preserving order-based crossover (POX) is commonly used in shop scheduling is used for the crossover operation. However, when the individual firefly is not dominated, a swap (SWAP) operation is adopted. That is, two positions are randomly generated on the individual firefly, and the codes at the two positions are exchanged. The SWAP operation is equivalent to the random movement operation in the position update of the multitarget firefly algorithm, which increases the diversity of the population.For the continuous solution domain space of the fourth layer based on the startup time coding, the position update operation in the multitarget firefly algorithm is adopted. If the individual is dominated, the location is updated according to equation (19). If the individual is not dominated, move randomly according to formula (20) to increase the diversity of the Pareto solution set.(2) Judgment and repair of feasible solution: When the position is updated for the fourth layer of coding, it may lead to the irrationality of the starting time of the workpiece, and then an infeasible solution may appear. The process of determining and repairing feasible solutions is as follows:Step1: Judge whether the second level code is after the plan start time. If it is, proceed to the next step. If it is not, set the code that is not within the specified time as the plan start time, and then proceed to the next step.Step2: Traverse the first layer of codes one by one and determine the next idle time of the workpiece and the processing equipment according to the current processing state of the workpiece and the processing equipment and the processing time of the workpiece. Then judge the feasibility of the corresponding coding of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the next idle time of the workpiece and the processing equipment, and then go to the next step.Step3: Make sure that the second level code is before the planned completion time. If it is, go to step 5. If not, set the code that is not within the specified time range as the planned completion time and continue to the next step.Step4: Traverse the first level of code in reverse order and determine the last idle time of the workpiece and processing equipment according to the processing time of the workpiece and the current processing state of the workpiece and processing equipment. Then judge the feasibility of the second layer coding. If it is feasible, proceed to the next step. If it is not feasible, replace the corresponding coding with the last idle time of the workpiece and the processing equipment at the same time, and then go to step 1.Step5: Output the feasible solution of the second layer of coding.(3) Elite strategy: Elitist strategy is that in order to keep the superior individuals of the parent generation into the Pareto solution set in the population iteration, the superior individuals of the parent generation and the offspring generation are merged and selected to enter the next iteration.


## 3.2.4. Algorithmic Process

For the current problem, the specific flow of the algorithm designed is as follows:Step1: Setting initial parameters: the population size is the number of firefliesm, the light intensity absorption coefficient γ, the maximum attraction β0, the step size factor α, the number of population iterations T, and initializing the firefly position.Step2: Calculating and sorting the dominance level and crowding distance of each firefly individual.Step3: Selecting firefly individualxj, updating the position for the first three layers of code: If individual xj is not dominated, SWAP operation is carried out on the first three layers of codes, and the process route is randomly reselected. If individual xj is dominated, POX crossover operation is carried out on the first three layers of codes.Step4: Using the decoding method based on the sequence of work pieces, the maximum completion time of workpieces is obtained by decoding. If the completion time is within the specified time, the next step will be continued. Otherwise, return to step 3.Step5: Selecting firefly individualxj and updating the position for the fourth layer of code. If the individual xj is not dominated, it moves randomly according to formula (20). If the individual xj is dominated, the position is updated according to formula (19).Step6: The feasibility of the fourth layer coding is judged and repaired. According to the switch strategy requirements, the fifth layer coding is calculated and a firefly individual is obtained.Step7: If all the firefly individuals have performed the location update operation, continue to the next step. Otherwise, return to step 3.Step8: Carrying out elite strategy, combining father and son to select elite and keep excellent individuals.Step9: Determining whether the number of iterations meets the number of population iterationsT, if so, continue to the next step. Otherwise, return to step 2.Step10: Calculating and outputting Pareto front solution set.


## 4. Case Analysis

In a workshop of a processing-assembly enterprise, there are five processing equipment, six different types of the workpiece to be processed, and each workpiece has to be processed by three of them. Each kind of workpiece has 5 ones to be processed, and each kind of workpiece has a variety of process routes. The processing time of different process routes of the workpiece is shown in Table1. The shutdown start time and power demand of the processing equipment are shown in Table 2. The power of public equipment is 5. The price table of TOU and tiered electricity price is shown in Table 3. It is required to start processing at 7 o’clock in the morning and complete the processing tasks within one day. The division of peak and valley periods within the specified duration is shown in Figure 2.Table 1
Work route and processing time of workpiece types.
Workpiece typeRoutingProcessing equipment, processing timeProcedure 1Procedure 2Procedure 3Workpiece type 1Routing 1(3,61)(1,63)(2,62)Routing 2(3,63)(2,62)(5,67)Routing 3(3,61)(5,64)(4,63)Workpiece type 2Routing 1(1,59)(2,53)(5,50)Routing 2(2,53)(3,54)(5,56)Routing 3(4,53)(5,57)(3,61)Workpiece type 3Routing 1(4,56)(3,55)(2,52)Routing 2(5,53)(4,56)(2,55)Routing 3(4,59)(3,64)(1,67)Workpiece type 4Routing 1(5,62)(4,66)(1,67)Routing 2(5,67)(3,62)(1,65)Routing 3(1,61)(2,68)(3,57)Workpiece type 5Routing 1(3,53)(1,58)(2,57)Routing 2(3,55)(2,54)(4,53)Routing 3(3,57)(5,53)(1,55)Workpiece type 6Routing 1(2,57)(5,63)(1,64)Routing 2(1,69)(2,63)(4,64)Routing 3(3,64)(4,66)(1,62)Table 2
Shutdown and restart parameters and power requirements of processing equipment.
Machine 1Machine 2Machine 3Machine 4Machine 5Turn off or restart time (min)2025252228Energy consumption of shutdown or restart (KWh)64565Processing power (KW)2530153520Standby power (KW)42343Table 3
Time-sharing tiered electricity price period and price list.
Time frameFirst-grade electricity priceSecond-grade electricity pricePeak hours8:00–11:00 18:00–23:000.98311.3131Normal period7:00–8:00 11:00–18:000.67121.0012Low valley period23:00–7:000.35940.6894Figure 2
Time division of time-sharing tiered electricity price within the specified duration.According to the model established in the above part of this study, The algorithm is written by MATLAB and the program is run on MATLAB R2014B. The population size is 100, the light intensity absorption coefficientγ is 0.5, the maximum attraction β0 is 1, the step factor α is 0.5, and the number of iterations is 500. The Pareto solution set is obtained, as shown in Figure 3. The target values corresponding to the Pareto solutions are counted, as shown in Table 4.Figure 3
Pareto solution set.Table 4
The statistical results of each target value corresponding to the Pareto solution set.
Electricity cost (Yuan)Equipment maximum load (min)MaxMinAverageMaxMinAverage1926.21814.61841130211721230The Gantt diagram of the optimal solution with the minimum power cost as the single objective is shown in Figure4, and the Gantt diagram with the minimum of equipment’s maximum load as the single objective is shown in Figure 5. Among them, process 1 corresponds to red, process 2 corresponds to yellow, and process 3 corresponds to green. In the brackets, the first number represents the process route selected by the workpiece, the second number is the workpiece number, and the third number represents the operation number of the workpiece.Figure 4
Pareto solution to the concentrated Gantt chart for optimal power cost.Figure 5
Pareto solution to the concentrated Gantt chart for optimal maximum load.It can be seen from Figures4 and 5 and Table 4 that when the power cost reached the optimal value of 1814, the corresponding maximum load of the equipment is 1240. When the maximum load of the equipment reached the optimal value of 1172, the power cost has risen to 1844. Therefore, it can be seen that only pursuing the optimal power cost or the maximum load of the equipment will lead to the excessively high cost of the other goal. The result shows that the multiobjective optimization scheme considering both the TOU and Tiered Electricity Price and the maximum load minimization of the equipment has obvious advantages, and the dispatcher can choose a suitable scheduling scheme. Compared with the traditional single production scheduling, it can achieve the purpose of reducing the maximum load of the equipment and saving energy.


## 5. Discussion

Considering that there are usually multiple process routes in the processing of parts, the integrated process planning and production scheduling is to determine the process route, processing sequence, and starting time of parts according to the resources in the production environment. Obviously, this problem is a traditional issue in the field of manufacturing, but we take the time-sharing price and switching strategy into account to obtain a new optimization objective and establish an integrated process planning and production scheduling model based on energy saving. According to the characteristics of the model, we choose firefly algorithm to solve the model, and through adjusting some of its links, we achieve the purpose of solving the model quickly and get good results. The example results show that taking the power cost and the maximum load of equipment as the goal, the switching strategy adopted in peak hours and flat peak hours reduces the standby time of equipment, decreases the power cost and the occurrence of unbalanced use of equipment. Finally, we achieve the purpose of enterprise energy saving, which has a certain guiding significance for the actual production.Limited to space, in this paper, we only focus on solving the model, ignoring the comparison between different algorithms. In future research, we will try to use different algorithms to solve this problem and compare the advantages and disadvantages of different algorithms.


## 6. Conclusions

Due to the characteristics of multiple process routes of workpieces, this study integrates the two for research on process planning and production integrated scheduling. To establish the multiobjective optimization mathematical model for the problem, the load balancing of the equipment needs to be considered. Then, taking the minimization of the power consumption cost and the maximum load of the equipment as the optimization objectives, introducing the strategy of turning off and restarting the device in idle time, considering the constraints of resources and multiprocesses comprehensively, the mathematical model of the study is established. To facilitate the solution of the model, a MOFA based on five-layer coding is designed. Finally, an example is given to verify the correctness of the model and the effectiveness of the algorithm. The results show that by introducing the switching strategy and increasing the new optimization goal of minimizing energy consumption, compared with the traditional single objective optimization, a more energy-saving and efficient scheduling scheme can be obtained to reduce the equipment load and energy consumption.We only studied the energy-saving integrated scheduling of process planning and production and did not integrate the subsequent assembly links for research. Compared with the integrated scheduling of the two links, it is more complex to integrate the three links for unified scheduling, which will be the main content of our next study.



---

*Source: 8081618-2021-08-24.xml*