Electroplating line driving scheduling method, device and storage medium based on evolutionary algorithm
Through the method based on evolutionary algorithm, the electroplating line slot and driving scheduling scheme are dynamically updated, and multiple constraint conflicts in the electroplating line driving scheduling problem are solved, achieving the goal of minimizing the average completion time of the electroplating product.
Patent Information
- Application Number
- CN202110826240.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-21
- Publication Date
- 2025-03-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The driving scheduling problem of electroplating lines is complicated, and traditional methods are difficult to meet the product processing order constraints, single task constraints for slots and driving, as well as multiple constraints such as distance limitations between driving, making it difficult to achieve the goal of minimizing the average completion time of electroplating products.
The evolutionary algorithm-based method is used to generate slot immersion time through random initialization and real-number coding. Combined with binary championships, two-point crossing and single-point variation operators, the slot and driving scheduling scheme are dynamically updated to ensure that the scheme meets all constraints and ultimately minimize the average completion time of the electroplating product.
It effectively resolves multiple constraint conflicts in the plating line driving scheduling problem, significantly reduces the average completion time of electroplating products, and improves the feasibility and efficiency of the scheduling plan.
Smart Images

Figure CN113988497B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of electroplating line crane scheduling, and in particular to an electroplating line crane scheduling method, device and storage medium based on an evolutionary algorithm. Background Art
[0002] The job shop scheduling problem is one of the most classic NP-hard problems. Generally speaking, the job shop scheduling problem is to minimize the average completion time of the product under the constraints that the machine can only execute one job at a time, given the process sequence and processing time of the workpiece on the machine. For example, in a production workshop, the completion time of a part or a group of parts (workpieces) on a lathe (machine) is minimized; in the aircraft scheduling problem, the landing time of an aircraft (workpiece) on a parking area (machine) is minimized.
[0003] The electroplating line crane scheduling problem refers to the problem of designing the immersion (processing) time of the electroplating slot (machine) in the electroplating industry, obtaining a feasible crane scheduling control plan, and minimizing the average completion time of the electroplated products (workpieces). Due to the characteristics of the electroplating line crane scheduling problem itself, such as adjustable process time, non-preemptive crane operation time, and limited driving distance, the electroplating line crane scheduling problem is a more complex job shop scheduling problem.
[0004] However, in addition to the constraints of product processing sequence and the constraints that only one product can be executed in a slot at the same time, the crane scheduling problem of the electroplating line still needs to meet the constraints that only one product can be executed at the same time by the crane and the distance limit between cranes. The traditional job shop scheduling method cannot be applied to the crane scheduling problem of the electroplating line. Summary of the invention
[0005] In view of the above-mentioned deficiencies in the prior art, the purpose of the present invention is to provide a method, device and storage medium for scheduling electroplating line cranes based on evolutionary algorithms, which is of great significance for arranging the immersion time of electroplating tanks, obtaining feasible crane scheduling schemes, and achieving the goal of minimizing the average completion time of electroplated products.
[0006] The first aspect of the present invention provides a method for scheduling a driving system of an electroplating line based on an evolutionary algorithm, the method comprising: step S100: setting the value of the current evolutionary generation gen to 1; step S200: randomly initializing M populations, wherein the size of each population is NP, the initialization generates the immersion time of each slot, and represents each individual in the population by a real number coding method, and constrains each solution obtained by initialization so that each solution satisfies the constraint condition; and evaluating the fitness value of each individual, while updating the best of the population. mParameters; Step S300: Select two crossover parent individuals in the current population through the binary tournament method; Step S400: Generate a new slot immersion time through a two-point crossover operator; Step S500: Re-randomly initialize the immersion time of a specific slot through a single-point mutation operator, represent the offspring individuals in the population through a real number coding method, and constrain the solutions of the offspring individuals so that the solutions of the offspring individuals all meet the constraints; and evaluate the fitness value of each individual, and update the best of the population at the same time m Parameters; Step S600: Repeat Step S300 to Step S500 until the number of offspring individuals is equal to the population size NP; Step S700: Select NP-1 individuals from the parent and offspring populations through the binary tournament method to enter the next generation population; m Parameters are added to enter the next generation population; step S800: increase the value of the current evolutionary generation gen by 1. If the value of the current evolutionary generation gen does not reach the preset maximum evolutionary generation, return to step S300 to continue execution. If the value of the current evolutionary generation gen reaches the maximum evolutionary generation, the process ends.
[0007] In combination with the first aspect, in a possible implementation, in step S200, the step of representing each individual in the population by a real number coding method includes: if the initial position of the vehicle is L = {l1, l2, ..., l p}, the individual slot immersion time is X = {x1, x2, ..., x q} Randomly initialized, where p is the number of vehicles, q is the number of slots, and x j ∈[x jmin ,x jmax ]; the slots passed are a subsequence subseq of {1,2,…,q}, whose size is q′, the number of products is n, and the estimated entry time of product i in each slot is in
[0008]
[0009] represents the moving time of the product from the previous task slot to the process slot; the estimated departure time of product i in each slot is in
[0010]
[0011] Thus, the initial solution of the individual is {t i ,T i}.
[0012] In combination with the first aspect, in a possible implementation, in step S200 and step S500, the constraint processing includes: step S201: initializing n product estimated entry time and estimated exit time {{t 1 ,T 2},{t 2 ,T 2},…,{t n ,T n}}; Step S202: Set the number of the currently processed product to i=2; Step S203: Check whether the first constraint condition is satisfied. If the first constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S203; if the first constraint condition is met, execute step S204; step S204: check whether the second constraint condition is met, if the second constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S204; if the second constraint condition is met, execute step S205; step S205: arrange the driving scheduling plan according to the restrictions of the third constraint condition, detect the fourth constraint condition at the same time during the driving scheduling process, update the driving scheduling plan, and if the fourth constraint condition is still violated, update t i =t i +1, T i =T i +1, return to step S205; if the fourth constraint condition is met, execute step S206; step S206: increase the current processing product number i by 1. If the current processing product number has not reached the maximum number of product numbers, return to step S202 to continue execution; if the current processing product number has reached the maximum number of products, the program terminates.
[0013] In combination with the first aspect, in a possible implementation, in step S203, the detecting whether the first constraint condition is satisfied includes: detecting whether the expected entry time and the expected exit time of the product satisfy the first constraint condition, and the first constraint condition includes:
[0014]
[0015] In combination with the first aspect, in a possible implementation, in step S204, the detecting whether the second constraint condition is satisfied includes: detecting whether the expected entry time and the expected exit time of the product satisfy the second constraint condition, and the second constraint condition includes:
[0016]
[0017] In combination with the first aspect, in a possible implementation, in step S205, the limiting according to the third constraint condition includes: limiting the driving interval according to the third constraint condition, and the third constraint condition includes:
[0018]
[0019] Among them, loc uv Indicates the position of vehicle u at time v.
[0020] In combination with the first aspect, in a possible implementation, in step S205, detecting the fourth constraint condition includes: detecting the driving interval according to the fourth constraint condition, and the fourth constraint condition includes:
[0021]
[0022] Here, |·| represents the number of sets. When product i enters and leaves slot j, the product i is dropped off and picked up by the vehicle.
[0023] In combination with the first aspect, in a possible implementation, in step S205, arranging the driving scheduling plan according to the third constraint condition includes: if the current time is t now When vehicle 1 is in slot loc1, vehicle 2 is in slot loc2, and loc1+2≤loc2, the vehicle scheduling scheme includes: Step S2051: Find the occurrence time of the next task in
[0024]
[0025] Step S2052: Assume that the next task time t next , the product needs to be extracted from slot locNow and transported to locNext, and then the vehicle for the task is selected according to the goal of low vehicle movement cost; Step S2053: After the task is selected, the time for the selected vehicle to move to slot locNow is calculated as time(loc1,locNow), and the position of the selected vehicle during the moving time is recorded; Step S2054: Determine whether the fourth constraint condition is met. If the fourth constraint condition is met, update t now =t next If the fourth constraint condition is not satisfied, the selected vehicle is replaced and the vehicle avoidance is performed again, and then the process returns to step S2053 to determine whether the fourth constraint condition is satisfied. If the fourth constraint condition is satisfied, t is updated. now =tnext ; if the fourth constraint condition is not satisfied, then jump out of the train operation scheduling plan and enter step S205; Step S2055: If a feasible train operation plan is obtained; if not, then return to step S2051.
[0026] Combined with the first aspect, in a possible implementation manner, the train selected to schedule the task according to the goal of minimizing the train movement cost is as follows: if ||locNow - loc1|| - ||locNext - locNow|| ≤ ||locNow - loc2|| - ||locNext - locNow|| is satisfied, then arrange train 1 to complete the task at this moment. If loc2 < locNext + 2, then train 2避让 train 1 to satisfy the third constraint condition; if ||locNow - loc1|| - ||locNext - locNow|| ≤ ||locNow - loc2|| - ||locNext - locNow|| is not satisfied, then arrange train 2 to complete the task at this moment. If loc1 > locNow - 2, then train 1避让 train 2 to satisfy the third constraint condition.
[0027] Combined with the first aspect, in a possible implementation manner, in step 700, the method of selecting NP - 1 individuals to enter the next - generation population through the binary tournament includes: randomly select two individuals with replacement each time, and select the better of the two individuals to enter the next - generation population.
[0028] The second aspect of the present invention provides an electroplating line train scheduling device based on an evolutionary algorithm, characterized in that the device includes a processor, a memory, and a transceiver. The memory, the processor, and the transceiver are connected to each other through a line. Instructions are stored in the memory; the processor is configured to execute the electroplating line train scheduling method based on an evolutionary algorithm as described in any one of the possible implementation manners from the first aspect to the first aspect of the present application by calling the instructions stored in the memory.
[0029] The third aspect of the present invention further provides a non - volatile computer - readable storage medium, characterized in that the non - volatile computer - readable storage medium stores computer - executable instructions. When the computer - executable instructions are executed by one or more processors, the one or more processors can execute the electroplating line train scheduling method based on an evolutionary algorithm as described in any one of the possible implementation manners from the first aspect to the first aspect of the present application.
[0030] Note: In the above translation, "避让" is a Chinese term for which there may not be an exact one - word equivalent in English. Here, a more descriptive phrase might be needed depending on the specific context to accurately convey the intended meaning. For simplicity, it is left as "避让" for now.The present invention discloses a method, device and storage medium for scheduling electroplating line vehicles based on evolutionary algorithms. The method comprises: step S100: setting the value of the current evolutionary generation gen to 1; step S200: randomly initializing M populations, wherein the size of each population is NP, the initialization generates the immersion time of each slot, and represents each individual in the population by a real number coding method, and constrains each solution obtained by initialization so that each solution satisfies the constraint conditions; and evaluating the fitness value of each individual, while updating the best of the population. m Parameters; Step S300: Select two crossover parent individuals in the current population through the binary tournament method; Step S400: Generate a new slot immersion time through a two-point crossover operator; Step S500: Re-randomly initialize the immersion time of a specific slot through a single-point mutation operator, represent the offspring individuals in the population through a real number coding method, and constrain the solutions of the offspring individuals so that the solutions of the offspring individuals all meet the constraints; and evaluate the fitness value of each individual, and update the best of the population at the same time m Parameters; Step S600: Repeat Step S300 to Step S500 until the number of offspring individuals is equal to the population size NP; Step S700: Select NP-1 individuals from the parent and offspring populations through the binary tournament method to enter the next generation population; m Parameters are added to enter the next generation population; Step S800: Increase the value of the current evolutionary generation gen by 1. If the value of the current evolutionary generation gen does not reach the preset maximum evolutionary generation, return to step S300 to continue execution. If the value of the current evolutionary generation gen reaches the maximum evolutionary generation, then the process ends. It has the following advantages and effects:
[0031] 1) According to the characteristics of the electroplating line crane scheduling problem, a corresponding mathematical model was established with the goal of minimizing the maximum completion time of the product. At the same time, constraints such as product processing sequence constraints, the constraint that only one product can be executed at the same time in a slot, the constraint that only one product can be executed at the same time by a crane, and the distance between cranes were considered.
[0032] 2) Use random initialization to generate slot immersion time, and initialize the time when the product is expected to enter each slot and the time when the product is expected to leave each slot through real number coding.
[0033] 3) A dynamic update strategy is adopted to resolve the constraint conflicts and obtain the completion time. By dividing the constraints, the product processing sequence constraints and the constraint that only one product can be executed at the same time in the slot are first satisfied. Then, the vehicle scheduling plan is arranged according to the distance constraint between vehicles. At the same time, the constraint that only one product can be executed at the same time is considered. The time for the products to enter the assembly line is updated in sequence, and finally a feasible solution is obtained.
[0034] 4) The binary tournament method and the elite retention strategy are used as the selection operators of the proposed method. The use of the binary tournament helps to maintain the diversity of the population and retain more excellent gene fragments, and the use of the elite retention strategy helps to ensure the convergence of the algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The present invention will be further described below with reference to the accompanying drawings and embodiments, in which:
[0036] Figure 1 A schematic diagram of a flow chart of a method for scheduling a crane in an electroplating line based on an evolutionary algorithm provided by the present invention;
[0037] Figure 2 A schematic diagram of the structure of an individual provided by the present invention;
[0038] Figure 3 A schematic diagram of an individual immersion time scheme and an initialization case of the product entering and leaving the slot provided by the present invention;
[0039] Figure 4 A schematic diagram of a case of slot exclusivity constraint detection and updating of product entry and exit time provided by the present invention;
[0040] Figure 5 A flow chart of a method for dispatching a crane in an electroplating line based on an evolutionary algorithm provided by the present invention;
[0041] Figure 6 A schematic diagram of a cross operation provided by the present invention;
[0042] Figure 7 A schematic structural diagram of a crane scheduling device for an electroplating line based on an evolutionary algorithm provided by the present invention. DETAILED DESCRIPTION
[0043] The embodiments of the present application provide a ground filtering method and related equipment, aiming to improve the reliability of ground filtering through multiple filtering.
[0044] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. In the present application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there may be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following" or its similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c or a and b and c, where a, b and c can be single or multiple. It is worth noting that "at least one" can also be interpreted as "one or more items".
[0045] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0046] The first, second, etc. descriptions appearing in the embodiments of the present application are only used for illustration and distinction of the description objects. There is no order, nor do they indicate any special limitation on the number of devices in the embodiments of the present application, and cannot constitute any limitation on the embodiments of the present application.
[0047] The job shop scheduling problem is one of the most classic NP-hard problems. Generally speaking, the job shop scheduling problem is to minimize the average completion time of the product under the constraints that the machine can only execute one job at a time, given the process sequence and processing time of the workpiece on the machine. For example, in a production workshop, the completion time of a part or a group of parts (workpieces) on a lathe (machine) is minimized; in the aircraft scheduling problem, the landing time of an aircraft (workpiece) on a parking area (machine) is minimized.
[0048] The electroplating line crane scheduling problem refers to the problem of designing the immersion (processing) time of the electroplating slot (machine) in the electroplating industry, obtaining a feasible crane scheduling control plan, and minimizing the average completion time of the electroplated products (workpieces). Due to the characteristics of the electroplating line crane scheduling problem itself, such as adjustable process time, non-preemptive crane operation time, and limited driving distance, the electroplating line crane scheduling problem is a more complex job shop scheduling problem.
[0049] In recent decades, many researchers have focused on the job shop scheduling problem. The key to the job shop scheduling problem is how to meet the constraints of process order and the constraint that the machine can only execute one workpiece at a time. Some of the existing solutions use a hybrid particle swarm algorithm based on a multi-region sampling strategy to optimize the two objectives of maximum completion time and total machine delay time. Some use an improved genetic algorithm to solve the label printing generation scheduling problem through integer coding and a new dynamic adaptive crossover operator.
[0050] However, in addition to the constraints of product processing sequence and the constraints that only one product can be executed in a slot at the same time, the crane scheduling problem of the electroplating line still needs to meet the constraints that only one product can be executed at the same time by the crane and the distance limit between cranes. The traditional job shop scheduling method cannot be applied to the crane scheduling problem of the electroplating line.
[0051] In addition, in the electroplating line driving scheduling problem, the immersion time of the slot is a range interval, and the arrangement of the immersion time is a complex permutation and combination optimization problem. When the solution scale is expanded, the number of feasible solutions will increase exponentially. If the exact algorithm is still used to solve the problem, the dimensionality disaster will occur. Evolutionary algorithm is a type of random search optimization algorithm designed to simulate biological evolution and genetic principles. It has the characteristics of self-organization, self-adaptation, self-learning and parallelism, and can realize multi-directional and global search. It is often used to solve investment portfolio and decision-making, job shop scheduling, project schedule problems, flight boarding space allocation and other problems.
[0052] Therefore, designing a crane scheduling method for electroplating lines based on evolutionary algorithms is of great significance for arranging the immersion time of electroplating tanks, obtaining feasible crane scheduling schemes, and achieving the goal of minimizing the average completion time of electroplated products.
[0053] The present invention firstly provides an electroplating line crane scheduling optimization model.
[0054] Assume that there are q slots in the electroplating line. The processing plan of a product needs to go through a subsequence subseq of slots {1, 2, ..., q} in sequence. The size of subseq is q′. The immersion time range of the product in each slot is [x jmin ,x jmax ], there are p cranes in total on the electroplating line.
[0055] (1) Objective function: For the electroplating line driving scheduling problem, assume that the immersion time of the slot is X = {x1, x2, …, x q′}, then the estimated entry time of product i in each slot is Estimated departure time is The optimization goal is to minimize the completion time of processing n products. The objective function is as follows:
[0056]
[0057] (2) Product process constraints, that is, the products need to be processed in the order of slots:
[0058]
[0059] (3) Slot exclusivity constraint, that is, a slot can only process one product at the same time:
[0060]
[0061] (4) Driving distance limit, that is, adjacent vehicles always maintain a distance of no less than 2:
[0062]
[0063] (5) Driving execution constraints, that is, a driving vehicle can only perform extraction tasks for one product at the same time:
[0064]
[0065] (6) In summary, a mathematical model for the electroplating line crane scheduling problem can be established, see MOD1.
[0066]
[0067] This paper mainly studies the driving scheduling problem of the electroplating line based on the MOD1 model. Since the immersion time of the slot is a range interval, finding the optimal immersion time arrangement is a complex permutation and combination optimization problem. When the solution scale is expanded, the number of feasible solutions will increase exponentially. If the exact algorithm is still used to solve the problem, the dimensionality disaster will occur. Evolutionary algorithm is a type of random search optimization algorithm designed to simulate biological evolution and genetic principles. It has the characteristics of self-organization, self-adaptation, self-learning and parallelism, and can realize multi-directional and global search. It is often used to solve investment portfolio and decision-making, job shop scheduling, flight boarding space allocation and other problems.
[0068] See also Figure 1 The present invention provides a method for scheduling a driving system of an electroplating line based on an evolutionary algorithm, the method comprising:
[0069] S100: Set the value of the current evolution generation gen to 1.
[0070] S200: Randomly initialize M populations, and perform constraint processing on each solution obtained by initialization.
[0071] Randomly initialize M populations, where the size of each population is NP. The initialization generates the immersion time of each slot, and represents each individual in the population by a real number coding method. Constraint processing is performed on each solution obtained by initialization so that each solution satisfies the constraint conditions; and the fitness value of each individual is evaluated, and the best of the population is updated at the same time. m parameter.
[0072] S300: Select two crossover parent individuals in the current population through the binary tournament method.
[0073] S400: Generate a new slot immersion time through a two-point crossover operator.
[0074] S500: re-randomly initialize the immersion time of a specific slot through a single-point mutation operator, represent the offspring individuals in the population through a real number coding method, and perform constraint processing on the solutions of the offspring individuals.
[0075] Through the single-point mutation operator, the immersion time of a specific slot is randomly initialized, and the offspring individuals in the population are represented by the real number coding method. The solutions of the offspring individuals are constrained so that the solutions of the offspring individuals meet the constraints; and the fitness value of each individual is evaluated, and the best of the population is updated at the same time. m Parameters. The specific slots are some specified slots.
[0076] S600: Repeat steps S300 to S500 until the number of offspring individuals is equal to the population size NP.
[0077] S700: In the parent and offspring populations, NP-1 individuals are selected through the binary tournament method to enter the next generation population.
[0078] In the parent and offspring populations, NP-1 individuals are selected to enter the next generation population through the binary tournament method; and the best m Parameters are added to the next generation population.
[0079] In the parent and child populations, NP-1 individuals are selected to enter the next generation population through the binary tournament method, which can increase the diversity of the population and at the same time make the best m Adding parameters into the next generation population can ensure the convergence of the algorithm.
[0080] S800: Increase the value of the current evolutionary generation gen by 1. If the value of the current evolutionary generation gen does not reach the preset maximum evolutionary generation, return to step S300 to continue execution. If the value of the current evolutionary generation gen reaches the maximum evolutionary generation, end.
[0081] It should be noted that, in step S200, the method of representing each individual in the population by a real number coding method includes:
[0082] If the initial position of the vehicle is L = {l1,l2,…,l p}, the individual slot immersion time is X = {x1, x2, ..., x q} Randomly initialized, where p is the number of vehicles, q is the number of slots, and x j ∈[x jmin ,x jmax ];
[0083] The slots passed are a subsequence subseq of {1,2,…,q}, whose size is q′, the number of products is n, and the estimated entry time of product i in each slot is in
[0084]
[0085] Indicates the time it takes to move a product from the previous task slot to the process slot;
[0086] The estimated departure time of product i in each slot is in
[0087]
[0088] Thus, the initial solution of the individual is {t i ,T i}.
[0089] It should be noted that in step S200 and step S500, the constraint processing includes:
[0090] Step S201: Initialize n products’ estimated entry time and estimated exit time {{t 1 ,T 2},{t 2 ,T 2},…,{t n ,T n}};
[0091] Step S202: Set the number of the currently processed product to i=2;
[0092] Step S203: Check whether the first constraint condition is satisfied. If the first constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S203; if the first constraint condition is met, execute step S204;
[0093] Step S204: Check whether the second constraint condition is satisfied. If the second constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S204; if the second constraint condition is met, execute step S205;
[0094] Step S205: Arrange the driving dispatch plan according to the third constraint condition, detect the fourth constraint condition during the driving dispatch process, update the driving dispatch plan, and if the fourth constraint condition is still violated, update t i =t i +1, T i =T i +1, return to step S205; if the fourth constraint condition is met, execute step S206;
[0095] Step S206: Increase the current processing product number i by 1. If the current processing product number has not reached the maximum number of product numbers, return to step S202 to continue execution; if the current processing product number has reached the maximum number of products, the program terminates.
[0096] In step S203, in order to make the individual solution a feasible solution, according to the constraints of the electroplating line driving scheduling, for the processing sequence constraints of the electroplated products, the time for the product to enter and leave the slot can be restricted. Specifically, detecting whether the first constraint condition is met includes:
[0097] Detecting whether the expected entry time and the expected exit time of the product meet the first constraint condition, wherein the first constraint condition includes:
[0098]
[0099] For the constraint that a slot can only execute one product at a time, in step S204, detecting whether the second constraint condition is met includes:
[0100] It is detected whether the expected entry time and the expected exit time of the product meet the second constraint condition, and the second constraint condition includes:
[0101]
[0102] For the restriction of the driving interval, for example, the driving interval is not less than 2, then in step S205, the restriction according to the third constraint condition includes:
[0103] The driving interval is restricted according to the third constraint condition, and the third constraint condition includes:
[0104]
[0105] Among them, loc uv Indicates the position of vehicle u at time v.
[0106] If the vehicle can only execute one product at the same time, then in step S205, the fourth constraint condition of the detection includes:
[0107] The driving interval is detected according to the fourth constraint condition, and the fourth constraint condition includes:
[0108]
[0109] Here, |·| represents the number of sets. When product i enters and leaves slot j, the product i is dropped off and picked up by the vehicle.
[0110] Furthermore, in step S205, arranging the driving scheduling plan according to the third constraint condition includes:
[0111] If the current time is t now When vehicle 1 is in slot loc1, vehicle 2 is in slot loc2, and loc1+2≤loc2, the vehicle scheduling scheme includes:
[0112] Step S2051: Find the occurrence time of the next task in
[0113]
[0114] Step S2052: Assume that the next task time t next When the product needs to be extracted from the slot locNow and transported to locNext, the vehicle with the lowest vehicle moving cost is selected for scheduling.
[0115] Step S2053: After the task selection is completed, the time for the selected vehicle to move to the slot locNow is calculated as time(loc1,locNow), and the position of the selected vehicle during the moving time is recorded;
[0116] Step S2054: Determine whether the fourth constraint condition is satisfied. If the fourth constraint condition is satisfied, update t now =t next If the fourth constraint condition is not satisfied, the selected vehicle is replaced and the vehicle avoidance is performed again, and after returning to step S2053, it is determined whether the fourth constraint condition is satisfied. If the fourth constraint condition is satisfied, t is updated. now =t next; If the fourth constraint condition is not satisfied, then jump out of the train operation plan and enter step S205;
[0117] Step S2055: If A feasible train operation plan is obtained; if not, then return to step S2051.
[0118] It should be noted that in step S2052, the train selected for dispatching this task according to the goal of minimizing the train movement cost is:
[0119] If ||locNow - loc1|| - ||locNext - locNow|| ≤ ||locNow - loc2|| - ||locNext - locNow|| is satisfied, then arrange train 1 to complete the task at this moment. If loc2 < locNext + 2, then train 2避让 train 1 to satisfy the third constraint condition;
[0120] If ||locNow - loc1|| - ||locNext - locNow|| ≤ ||locNow - loc2|| - ||locNext - locNow|| is not satisfied, then arrange train 2 to complete the task at this moment. If loc1 > locNow - 2, then train 1避让 train 2 to satisfy the third constraint condition.
[0121] Furthermore, in step S700, individuals of the next generation population are selected by the binary tournament method. In the classical evolutionary algorithm, after merging the parent and offspring populations, they are directly selected to enter the next generation in order of fitness from good to bad until the scale of the next generation population is reached. However, selecting the best solution to enter the next generation population may lead to premature convergence of the algorithm and is not conducive to global convergence to obtain the global optimal solution.
[0122] In the binary tournament, two individuals are randomly selected with replacement each time, and the better one enters the next generation population. In this way, there is also a possibility for slightly worse solutions to enter the next generation population. These slightly worse solutions may provide gene fragments in subsequent crossover and mutation operations to generate better offspring. Such a selection operation helps to maintain the diversity of the population. At the same time, in order to ensure convergence, the elite strategy is applied, that is, the best individuals in the parent and offspring are directly selected to enter the next generation, ensuring that the algorithm will not have a convergence regression.
[0123] Please refer to Figure 2 , this application gives a structural schematic diagram of an individual A, where X = {x1, x2, …, x q′} represents the slot dipping time plan of the individual, {t = {t1, t2, …, t q′}, T = {T1, T2, …, T q′}} represents the entry and exit time of the product in each slot under this scheme. The individual slot immersion time scheme is generated by random initialization. After the immersion time scheme is obtained, the n products initialize the slot entry time t according to the following rules:
[0124]
[0125] in Indicates the time it takes to move a product from the previous task slot to the process slot.
[0126] Initialize the time T to leave the slot according to the following rules:
[0127]
[0128] Figure 3 : is a schematic diagram of an individual immersion time scheme and an initialization case of the product entering and leaving the tank provided by the present invention. Where q′=10, n=3. Figure 3 As shown, the product processing time generated by the immersion time scheme is obviously inconsistent with the constraints in the electroplating line driving scheduling problem. According to the constraint adjustment scheme in the invention content, the product's entry slot time and exit slot time are updated in sequence.
[0129] Figure 4 It is a case diagram of a slot exclusivity constraint detection and updating product entry and exit time provided by the present invention. Figure 4 This is an example of updating the product's slot entry and exit times after slot exclusivity constraint detection. According to the slot exclusivity constraint, i.e., a slot can only process one product at the same time, the product's time settings are sequentially checked to see if they meet the constraint. If not, the slot entry and exit times are updated until they meet the constraint. Other constraints, such as driving distance constraints and driving execution constraints, are all handled in accordance with the method of handling constraints in the invention content.
[0130] Figure 5 This is a flow chart of a driving scheduling method for an electroplating line based on an evolutionary algorithm provided by the present invention. First, a random initialization method generates the immersion time of each slot, and a real number coding method is used to represent each individual in the population. For the individual slot immersion time scheme, the individual's slot entry time and slot exit time are initialized, and then the constraint processing module is entered. The individual's slot entry time and slot exit time are updated in sequence according to the constraint processing rules until all constraints are met. At this time, the current individual's product completion time, that is, the individual's fitness, is also obtained. Please refer to the above embodiment for details, which will not be repeated here.
[0131] In the process of evolution, new individuals are generated through the crossover operator, that is, the partial immersion time scheme of exchanging individuals. The crossover operator in the evolutionary algorithm is derived from the crossover of simulated organisms, which helps to pass on the chromosome fragments of excellent individuals to offspring. At the same time, the crossover operator generally plays the role of global search and can mine unknown space. First, when the random number is less than the crossover probability P c When , the parent generation of the crossover is selected through the binary tournament method. The binary tournament method is a common strategy for selecting individuals in evolutionary algorithms. Through sampling with replacement, better individuals are selected. The steps are as follows:
[0132] (1) Two individuals are randomly selected from the population each time;
[0133] (2) Compare the fitness of two individuals and select the better one;
[0134] (3) Repeat steps (1) and (2) until the number of individuals selected reaches the required number.
[0135] When two individuals are selected, the two-point crossover operator is used to generate offspring. First, two crossover points are randomly generated in the slot set {1, 2, …, q′}, and then the slot immersion time arrangement between the two crossover points is exchanged for the parent generation to obtain two offspring after crossover. Figure 6 A schematic diagram of the crossover operation of two individuals A and B is given, and after two-point crossover, offspring A′ and B′ are generated.
[0136] In the evolutionary process, for the offspring obtained after crossover, if the random number is less than the mutation probability P m When a new individual is generated through the mutation operator, that is, the preset immersion time of a slot of the mutant individual, the mutation operator in the evolutionary algorithm simulates the gene mutation operation of organisms in the genetic evolution process. Through mutation operations, organisms survive the fittest and continuously develop in a better direction.
[0137] For the offspring obtained by crossover, a single-point mutation operator is used to generate new offspring. First, a mutation point is randomly generated in the slot set {1, 2, …, q′}, and then a new soaking time schedule is randomly generated within the allowed soaking time range of the slot where the mutation point is located, so as to obtain the mutated offspring.
[0138] In the evolutionary process, crossover and mutation operations are repeated until the size of the generated offspring is the same as the size of the parent generation NP. In the classic evolutionary algorithm, after merging the parent and offspring populations, the next generation is directly selected in order of fitness from good to bad until the next generation population size is reached. However, selecting the best solution to enter the next generation population may lead to premature algorithm maturation, which is not conducive to global convergence to obtain the global optimal solution. Here, the binary tournament method and elite retention strategy are used as the operators of the selection operation.
[0139] Similar to selecting the parent in crossover, the binary tournament method is also used in the selection operation to select individuals to enter the next generation population. First, the individuals in the parent and offspring are merged, and then two individuals are randomly selected from the population each time. The fitness of the two individuals is compared, and the individual with the higher fitness is selected to enter the next generation population. The binary tournament method is repeated until NP-1 individuals are selected to enter the next generation population. In this way, slightly worse solutions also have the possibility of entering the next generation population. These slightly worse solutions may provide gene fragments in subsequent crossover and mutation operations to generate better offspring. Such selection operations help maintain the diversity of the population.
[0140] At the same time, in order to ensure convergence, the elite strategy is applied to directly select the best individuals from the parent and child generations into the next generation, ensuring that the algorithm will not experience convergence regression.
[0141] If the termination condition is met, that is, the population evolution generation number meets the set value, the algorithm stops, otherwise it returns to the crossover operation to continue evolving the population.
[0142] Parameter setting description: population size NP is set to 100, evolutionary generation gen is set to 100, crossover probability P is set to 100. c Set to 0.9, the mutation probability P m Set to 0.2.
[0143] The electroplating line crane scheduling method based on evolutionary algorithm provided by the present invention has the following advantages and effects:
[0144] 1) According to the characteristics of the electroplating line crane scheduling problem, a corresponding mathematical model was established with the goal of minimizing the maximum completion time of the product. At the same time, constraints such as product processing sequence constraints, the constraint that only one product can be executed at the same time in a slot, the constraint that only one product can be executed at the same time by a crane, and the distance between cranes were considered.
[0145] 2) Use random initialization to generate slot immersion time, and initialize the time when the product is expected to enter each slot and the time when the product is expected to leave each slot through real number coding.
[0146] 3) A dynamic update strategy is adopted to resolve the constraint conflicts and obtain the completion time. By dividing the constraints, the product processing sequence constraints and the constraint that only one product can be executed at the same time in the slot are first satisfied. Then, the vehicle scheduling plan is arranged according to the distance constraint between vehicles. At the same time, the constraint that only one product can be executed at the same time is considered. The time for the products to enter the assembly line is updated in sequence, and finally a feasible solution is obtained.
[0147] 4) The binary tournament method and the elite retention strategy are used as the selection operators of the proposed method. The use of the binary tournament helps to maintain the diversity of the population and retain more excellent gene fragments, and the use of the elite retention strategy helps to ensure the convergence of the algorithm.
[0148] Figure 7 4 is a schematic diagram of the structure of a plating line driving scheduling device based on an evolutionary algorithm provided in an embodiment of the present application. The plating line driving scheduling device 400 based on the evolutionary algorithm may have relatively large differences due to different configurations or performances, and may include one or more processors (CPU) 410 (for example, one or more processors) and a memory 420, and one or more storage media 430 (for example, one or more mass storage devices) storing application programs 433 or data 432. Among them, the memory 420 and the storage medium 430 can be short-term storage or permanent storage. The program stored in the storage medium 430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the interactive device 400. Furthermore, the processor 410 may be configured to communicate with the storage medium 430 to execute a series of instruction operations in the storage medium 430 on the plating line driving scheduling device 400 based on the evolutionary algorithm.
[0149] The electroplating line driving scheduling device 400 based on evolutionary algorithm may also include one or more power supplies 440, one or more wired or wireless network interfaces 430, one or more input and output interfaces 460, and / or one or more operating systems 431, such as Windows Serve, Nmc OS X, Umix, Limux, FreeBSD, etc. It can be understood by those skilled in the art that Figure 7 The structure of the electroplating line crane scheduling device based on the evolutionary algorithm shown does not constitute a limitation on the data processing equipment, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0150] The present application also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When the instructions are executed on a computer, the computer executes the steps of the electroplating line crane scheduling method based on an evolutionary algorithm.
[0151] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0152] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (RON), random access memory (RMN), disk or optical disk and other media that can store program codes.
[0153] In the embodiments provided in this application, it should be understood that the disclosed methods can be implemented in other ways without exceeding the spirit and scope of this application. The current embodiment is only an illustrative example and should not be used as a limitation. The specific content given should not limit the purpose of this application. For example, some features can be ignored or not executed.
[0154] The technical means disclosed in the present application are not limited to the technical means disclosed in the above-mentioned implementation methods, but also include technical solutions composed of any combination of the above technical features. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of this application, and these improvements and modifications are also regarded as the protection scope of this application.
[0155] The above is a detailed introduction to a method, device and storage medium for scheduling a driving system of an electroplating line based on an evolutionary algorithm provided in the embodiments of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for scheduling electroplating line cranes based on evolutionary algorithms, characterized in that: The method includes: Step S100: Set the value of the current generation number gen to 1; Step S200: Randomly initialize M populations, where the size of each population is NP. The initialization generates the immersion time of each slot, and represents each individual in the population by a real number coding method. Constraint processing is performed on each solution obtained by initialization so that each solution satisfies the constraint conditions; and the fitness value of each individual is evaluated, and the best value of the population is updated at the same time. m parameter; Step S300: Select two parent individuals for crossover in the current population by the method of binary tournament; Step S400: Generate a new slot dipping time through the two-point crossover operator; Step S500: re-initialize the immersion time of a specific slot randomly through a single-point mutation operator, represent the offspring individuals in the population through a real number coding method, constrain the solutions of the offspring individuals so that the solutions of the offspring individuals meet the constraints; evaluate the fitness value of each individual, and update the best of the population at the same time. m parameter; Step S600: Repeat Step S300 to Step S500 until the number of the offspring individuals is equal to the population size NP; Step S700: From the parent and child populations, select NP-1 individuals to enter the next generation population through a binary tournament method; m Parameters are added into the next generation population; Step S800: Increase the value of the current generation number gen by 1. If the value of the current generation number gen does not reach the preset maximum number of generations, return to Step S300 to continue execution. If the value of the current generation number gen reaches the maximum number of generations, end; In Step S200, representing each individual in the population by the real number coding method includes: If the initial position of the vehicle is L = {l1,l2,…,l p }, the individual slot immersion time is X = {x1, x2, ..., x q } Randomly initialized, where p is the number of vehicles, q is the number of slots, and x j ∈[x jmin ,x jmax ]; The slots passed are a subsequence subseq of {1,2,…,q}, whose size is q′, the number of products is n, and the estimated entry time of product i in each slot is in Indicates the time it takes to move a product from the previous task slot to the process slot; The estimated departure time of product i in each slot is in Thus, the initial solution of the individual is {t i ,T i }; In Step S200 and Step S500, performing constraint processing includes: Step S201: Initialize n products’ estimated entry time and estimated exit time {{t 1 ,T 2 },{t 2 ,T 2 },…,{t n ,T n }}; Step S202: Let the number of the currently processed product be i = 2; Step S203: Check whether the first constraint condition is satisfied. If the first constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S203; if the first constraint condition is met, execute step S204; Step S204: Check whether the second constraint condition is satisfied. If the second constraint condition is violated, update t i =t i +1, T i =T i +1, return to step S204; if the second constraint condition is met, execute step S205; Step S205: Arrange the driving dispatch plan according to the third constraint condition, check the fourth constraint condition during the driving dispatch process, update the driving dispatch plan, and if the fourth constraint condition is still violated, update t i =t i +1, T i =T i +1, return to step S205; if the fourth constraint condition is met, execute step S206; Step S206: Increase the currently processed product number i by 1. If the currently processed product number does not reach the maximum number of product numbers, return to Step S202 to continue execution; if the currently processed product number reaches the maximum number of products, the program terminates.
2. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 1 is characterized in that: In Step S203, detecting whether the first constraint condition is satisfied includes: Detecting whether the expected entry time and expected departure time of the product satisfy the first constraint condition, where the first constraint condition includes:
3. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 1 is characterized in that: In Step S204, detecting whether the second constraint condition is satisfied includes: Detecting whether the expected entry time and expected departure time of the product satisfy the second constraint condition, where the second constraint condition includes:
4. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 1 is characterized in that: In Step S205, the limitation according to the third constraint condition includes: Limiting the headway according to the third constraint condition, where the third constraint condition includes: Among them, loc uv Indicates the position of vehicle u at time v.
5. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 4 is characterized in that: In Step S205, detecting the fourth constraint condition includes: Detecting the headway according to the fourth constraint condition, where the fourth constraint condition includes: Where, |·| represents the number of the set. When the product i enters and leaves the slot j, the product i is put down and picked up by the traveling crane.
6. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 1 is characterized in that: In Step S205, arranging the traveling crane scheduling plan according to the limitation of the third constraint condition includes: If the current time is t now When vehicle 1 is in slot loc1, vehicle 2 is in slot loc2, and loc1+2≤loc2, the vehicle scheduling scheme includes: Step S2051: Find the occurrence time of the next task in Step S2052: Assume that the next task time t next When the product needs to be extracted from the slot locNow and transported to locNext, the vehicle with the lowest vehicle moving cost is selected for scheduling. Step S2053: After the selection of the task is completed, calculate the time for the selected traveling crane to move to the slot locNow as time(loc1,locNow), and record the position of the selected traveling crane during the moving time; Step S2054: Determine whether the fourth constraint condition is satisfied. If the fourth constraint condition is satisfied, update t now =t next If the fourth constraint condition is not satisfied, the selected vehicle is replaced and the vehicle avoidance is performed again, and after returning to step S2053, it is determined whether the fourth constraint condition is satisfied. If the fourth constraint condition is satisfied, t is updated. now =t next ; If the fourth constraint condition is not met, then the driving scheduling plan is exited and the process goes to step S205; Step S2055: If A feasible driving plan is obtained; if not, return to step S2051.
7. The electroplating line crane scheduling method based on evolutionary algorithm according to claim 6 is characterized in that: Selecting the traveling crane for scheduling this task according to the goal of minimizing the traveling cost of the traveling crane is: If ||locNow - loc1|| - ||locNext - locNow|| ≤ ||locNow - loc2|| - ||locNext - locNow|| is satisfied, arrange the traveling crane 1 to complete the task at this moment. If loc2 < locNext + 2, the traveling crane 2避让 the traveling crane 1 to satisfy the third constraint condition; Note: There is a non-Chinese word "避让" in the original text which might be a typo or a specific term in Chinese. I translated it as "避让" as it is, but it might need to be adjusted according to the actual context. If it's a misspelling, it should be corrected first for a more accurate translation. If ||locNow-loc1||-||locNext-locNow||≤||locNow-loc2||-||locNext-locNow|| is not satisfied, vehicle 2 is arranged to complete the task at this moment; if loc1>locNow-2, vehicle 1 avoids vehicle 2 to satisfy the third constraint condition.
8. The electroplating line driving scheduling method based on evolutionary algorithm according to claim 1 is characterized in that: In step 700, the method of selecting NP-1 individuals to enter the next generation population through the binary tournament method includes: Each time two individuals are randomly selected with replacement, the better of the two individuals is selected to enter the next generation population.
9. A driving dispatching device for an electroplating line based on an evolutionary algorithm, characterized in that: The device includes a processor, a memory and a transceiver, wherein the memory, the processor and the transceiver are connected to each other via a line, and instructions are stored in the memory; The processor is used to execute the electroplating line crane scheduling method based on evolutionary algorithm as described in any one of claims 1 to 8 by calling the instructions stored in the memory.
10. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores computer-executable instructions, which, when executed by one or more processors, enable the one or more processors to execute the electroplating line crane scheduling method based on evolutionary algorithm as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Meme evolution multiobjective optimization scheduling method based on objective importance decomposition
CN105488568A
Flexible job shop scheduling method and system
CN108776461A