Movatterモバイル変換


[0]ホーム

URL:


CN120010425A - A flexible job shop scheduling optimization method with robot constraints - Google Patents

A flexible job shop scheduling optimization method with robot constraints
Download PDF

Info

Publication number
CN120010425A
CN120010425ACN202510485593.3ACN202510485593ACN120010425ACN 120010425 ACN120010425 ACN 120010425ACN 202510485593 ACN202510485593 ACN 202510485593ACN 120010425 ACN120010425 ACN 120010425A
Authority
CN
China
Prior art keywords
population
machine
pop
operator
rand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202510485593.3A
Other languages
Chinese (zh)
Other versions
CN120010425B (en
Inventor
孟磊磊
张玉帅
程伟耀
蔡笑凡
石艳洁
高媛媛
张彪
李鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaocheng University
Original Assignee
Liaocheng University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Liaocheng UniversityfiledCriticalLiaocheng University
Priority to CN202510485593.3ApriorityCriticalpatent/CN120010425B/en
Publication of CN120010425ApublicationCriticalpatent/CN120010425A/en
Application grantedgrantedCritical
Publication of CN120010425BpublicationCriticalpatent/CN120010425B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

Translated fromChinese

本发明涉及智能制造中柔性作业车间调度技术领域,具体是一种带有机器人约束的柔性作业车间调度优化方法。包括:初始化参数;种群初始化,生成进化引导种群和知识驱动种群;种群进化,使用个体竞争策略、自我进化和协同进化对进化引导种群进行进化,使用个体配对策略和DQN进化对知识驱动种群进行进化;种群更新,利用组合后的种群对进化引导种群和知识驱动种群进行更新;CP辅助优化,满足优化条件,构造CP模型,将种群更新后最大完工时间最小的个体作为CP模型中的初始解,利用CP模型的全局搜索能力进一步优化;终止条件检查,满足输出最终解。本发明能够有效降低机器人装卸时间对生产效率的影响,提高设备利用率。

The present invention relates to the technical field of flexible job shop scheduling in intelligent manufacturing, specifically a flexible job shop scheduling optimization method with robot constraints. It includes: initialization parameters; population initialization, generating evolutionary guided population and knowledge driven population; population evolution, using individual competition strategy, self-evolution and co-evolution to evolve the evolutionary guided population, using individual pairing strategy and DQN evolution to evolve the knowledge driven population; population update, using the combined population to update the evolutionary guided population and the knowledge driven population; CP-assisted optimization, meeting the optimization conditions, constructing a CP model, taking the individual with the smallest maximum completion time after the population update as the initial solution in the CP model, and further optimizing using the global search capability of the CP model; termination condition check, meeting the output of the final solution. The present invention can effectively reduce the impact of robot loading and unloading time on production efficiency and improve equipment utilization.

Description

Scheduling optimization method for flexible job shop with robot constraint
Technical Field
The invention relates to the technical field of flexible job shop scheduling in intelligent manufacturing, in particular to an optimization method for scheduling problems of flexible job shops with robot constraint.
Background
With the rapid development of automation technology, a fully-automatic workshop equipped with robots has become an important development trend of the manufacturing industry. The flexible job shop scheduling problem (Flexible Job Shop Scheduling Problem, FJSP) is a core scheduling problem of the intelligent production system, the flexible job shop scheduling expansion problem (Flexible Job Shop Scheduling Problem with Robot Constraints, FJSP-RC) with robot constraint, not only needs to solve the process sequencing and machine selection problems, but also needs to consider the loading and unloading task scheduling of the robot. In the existing method, a Mixed-integer linear Programming (MILP) model and a constraint Programming (Constraint Programming, CP) model can solve small-scale examples, but are inefficient for large-scale problems. Traditional evolutionary algorithms (Evolutionary Algorithm, EA), while efficient in solving, lack effective utilization of historical search information. In the field of intelligent scheduling, reinforcement learning based on Q learning is a specific implementation of reinforcement learning (Reinforcement Learning, RL). Q learning is a model-free reinforcement learning algorithm that evaluates a long-term jackpot that takes a particular action in a certain state by means of a Q value (action cost function), and an agent that selects an optimal action based on the Q value, the agent being the subject of executing a decision task to achieve the goal of maximizing the jackpot. However, the state extraction capability of the reinforcement learning (Q-learning) based on the Q learning is limited in a complex workshop environment, compared with the reinforcement learning based on the Q learning, the Deep-reinforcement learning algorithm has obvious advantages, the Deep Q Network (DQN) is an algorithm of the Deep-reinforcement learning, the DQN fuses the strong feature extraction capability of the Deep learning and a decision optimization mechanism of the reinforcement learning, the challenges brought by a high-dimensional state space are effectively solved, an intelligent agent can more accurately understand the environment state, and therefore better decisions are made, and the DQN is gradually applied to the workshop scheduling field. In addition, the existing method does not fully combine the global searching capability of the CP with the population optimization advantages of the EA, resulting in insufficient quality and efficiency of solutions. Thus, there is a need for a hybrid algorithm that can integrate CP, EA and DQN to efficiently solve flexible job shop scheduling problems with robotic constraints.
Disclosure of Invention
The invention aims to provide a flexible job shop scheduling optimization method with robot constraint, which solves the problems that the robot constraint cannot be effectively processed, the solution space is limited and the searching efficiency is low in the conventional shop scheduling, and achieves the purposes of effectively reducing the influence of the loading and unloading time of a robot on the production efficiency and improving the equipment utilization rate by optimizing a scheduling scheme.
The invention provides a flexible job shop scheduling optimization method with robot constraint, which is characterized by comprising the following steps,
Step 1, initializing parameters, and setting an evolution guidance population scale Np1, a knowledge driving population scale Np2 and a total running time t;
step 2, initializing a population, and randomly generating an initial population, wherein the initial population comprises an evolutionary guide population and a knowledge driven population;
Step 3, the population evolves, the evolution guiding population evolves by using individual competition strategy, self-evolution and co-evolution, and the knowledge driving population evolves by using individual pairing strategy and DQN evolution;
step 4, updating the population, namely combining the evolutionarily guided population and the knowledge driven population into a population, and updating the evolutionarily guided population and the knowledge driven population by utilizing the combined population;
5, CP auxiliary optimization, if an optimization condition is met, constructing a CP model, taking an individual with the largest completion time after population updating as an initial solution in the CP model, further optimizing by utilizing the global searching capability of the CP model, and if the optimization condition is not met, returning to the step 3, wherein the optimization condition is that the running time after population updating is equal to half of the running total time t;
and 6, checking a termination condition, and outputting a final solution if the termination condition is met, wherein the termination condition is that the running time after the CP auxiliary optimization is equal to the running total time t.
Further, in step 2, the population initialization is performed by cycling the individuals, including iterating the evolutionary guide population through cycling from 0 to Np1, iterating the knowledge-driven population through cycling from 0 to Np2, creating an individual per iteration, the individuals are composed of two vectors, a process ordering vector and a machine selection vector, initializing the process ordering vector, wherein the length of the process ordering vector is the total number of processes, the processes in the process ordering vector are randomly generated within the range of [0, N-1], N is the total number of workpieces, the number of times each workpiece appears in the process ordering vector is consistent with the number of processes contained in the workpiece, initializing the machine selection vector, the length of the machine selection vector is the total number of processes, randomly generating machines in the machine selection vector within the range of [0, M-1], and M is the total number of machines, if the processing time of the processes on the selected machines is 0, continuing to randomly generate the machines in the range of [0, M-1], until the processing time of the processes on the selected machines is not 0, after the initialization is completed, adding the generated number of Np1 to the individual population, and driving the individual populationp2.
Further, in step 3, the individual competition strategy is to classify the individuals in the evolutionary guide population according to the maximum completion time, divide the evolutionary guide population into a winner population and a loser population, the winner population and the loser population are Np/2 in scale, the individuals in the evolutionary guide population are ordered from small to large according to the maximum completion time, the first Np1/2 number of individuals are distributed to the winner population, the later Np1/2 number of individuals are distributed to the loser population, each individual in the winner population randomly performs self-evolution by using one of an exchange operator, an inversion operator and a reassignment operator, wherein the exchange operator and the inversion operator are applied to process ordering vectors, the reassignment operator is applied to machine selecting vectors, the winner population and the loser population cooperatively evolve by using a crossover operator, the crossover operator comprises a priority process crossover operator and a uniform crossover operator, each individual is randomly selected from the winner population and the loser population, the process ordering vectors of the two selected individuals use the priority crossover operator, the machine selecting vectors uses the uniform crossover operator, each individual crossover operator and each individual ordering vector performs self-evolution by each individual ordering vector, and all the process selecting the individual vectors.
Further, the operations of the swap operator, the invert operator, the reassign operator, the priority process crossover operator and the uniform crossover operator are as follows,
The operation process of the exchange operator is that two different positions rand1 and rand2 are randomly selected from the individual process sequence vectors, and the processes on the selected positions rand1 and rand2 are exchanged;
The operation process of the reversing operator is that two different positions rand1 and rand2 are randomly selected from the individual process sequence vectors, the position rand1 is at least 3 process intervals before the position rand2, the process sequence between the position rand1 and the position rand2 in the process sequence vectors is reversed, the midpoint position (rand1+rand2)/2 of a reversing interval is found, and the processes with the midpoint position of the reversing interval as symmetry are sequentially exchanged;
the operation process of the reassignment operator is that a position is randomly selected in the machine selection vector, and a machine is randomly selected from a selectable machine set of the procedure corresponding to the selected position to replace the original machine;
The operation process of the priority procedure crossing operator is that procedure ordering vectors of an individual pop1 and an individual pop2 are obtained, wherein the procedure ordering vectors are expressed as procedure sequences, a number num between [1, n-1] is randomly generated, n is expressed as the total number of workpieces, a num-sized workpiece set I0 is generated, num different workpieces are randomly selected from all the workpieces to be filled into the workpiece set I0, each position of the procedure sequences of the pop1 and the pop2 is traversed, and if a procedure belonging to the workpiece set I0 is found, corresponding procedures in the pop1 and the pop2 are sequentially exchanged;
The operation of the uniform crossover operator is to obtain machine selection vectors of the individual pops1 and2, wherein the machine selection vectors are represented as machine sequences, generate a number set B of size N, N represents the total number of processes, each position in the number set B is randomly filled with 0 or 1,0 and 1 is a flag for determining whether machines at corresponding positions in the machine sequences in pops1 and2 are swapped, wherein 0 represents swap, 1 represents no swap, N iterations are performed, each position of the machine sequences in pops1 and pop2 is sequentially traversed in order from the first position to the last position, and numbers at corresponding positions in the number set B are synchronously traversed, and if the number at the current position of the number set B is 0, machines at current positions on the machine sequences in pops1 and2 are swapped.
Further, in step 3, the individual pairing strategy is that all paired individual pairs are generated from the knowledge-driven population, each paired individual pair is composed of two different individuals, all individual pairs are combined together to form a paired population, DQN evolution is applied to the paired population, DQN selects a search operator for minimizing the maximum completion time according to the combined information of the process sorting vector and the machine selection vector of the individual pairs in the current paired population, the search operator comprises an exchange operator, an inversion operator, a reassignment operator, a job-based crossover operator, a two-point crossover operator and a multi-point crossover operator, wherein the exchange operator, the inversion operator and the job-based crossover operator are applied to the process sorting vector, and the reassignment operator, the two-point crossover operator and the multi-point crossover operator are applied to the machine selection vector.
Further, the operation steps of the operation-based crossover operator, the two-point crossover operator and the multi-point crossover operator are as follows,
The operation process of the crossover operator based on the operation is that the process sequencing vectors of the individual pops1 and the individual pops2 are obtained, wherein the process sequencing vectors are expressed as process sequences, a list C1 and a list C2 are initialized, a list C1 is used for storing the process sequences of the crossed pops1, a list C2 is used for storing the process sequences of the crossed pops2, all workpieces are randomly divided into two different sets and respectively marked as a workpiece set I1 and a workpiece set I2, each position of the process sequences of the pops2 and the pops2 is traversed, if the current process of the pops2 belongs to the I2, the process is copied to the corresponding position of the list C2, if the current process of the pops2 belongs to the I2, the process sequences of the pops2 are sequentially copied to the corresponding position of the list C2 according to the sequence in the order of the pops2, and for the processes of the pops2 which do not belong to the I2 are sequentially copied to the list2, the process sequences of the non-occupied position of the pops2 are sequentially copied to the list2 according to the sequence of the non-processing sequences of the pops2;
The two-point crossover operator is operated by obtaining machine selection vectors of individual pop1 and pop2, wherein the machine selection vectors are represented as machine sequences, initializing list C1 and list C2,C1 for storing machine sequences of post-crossover pop1, C2 for storing machine sequences of post-crossover pop2, randomly generating position rand1 and position rand2 on the machine sequences, position rand1 being at least 1 machine interval before position rand2, copying machines on machine sequence interval [ rand1,rand2 ] in pop1 to corresponding positions in list C1,rand2, copying machines on machine sequence interval [ rand1,rand2 ] in pop1,rand2 to corresponding positions in list C1,rand2, copying machines on machine sequence intervals [0, rand1,rand2 ] and [ rand1,rand2, N-1] to corresponding positions in list C1,rand2, copying machines on machine sequence intervals [ rand1,rand2 ] and [ rand1,rand2, assigning numbers to the total number of machines in list C1,rand2, and assigning numbers to the post-crossover machines in list C1,rand2;
The operation of the multipoint crossover operator is to obtain machine selection vectors for individual pops1 and2, where the machine selection vectors are expressed as a sequence of machines, the number num between random generation [0, N-1], N is the total number of processes, pops1 and pop2 are exchanged for machines in num times, one machine location is randomly selected at a time, and machines in selected positions of the sequence of machines in pops1 and pop2 are exchanged.
Further, in step 4, the specific process of population updating includes that the evolved leading population and the knowledge driving population are combined into a population, individuals in the combined population are ordered from small to large according to the maximum finishing time, all individuals in the evolved leading population and the knowledge driving population are removed, the first Np1 of individuals in the combined population are sequentially added into the evolved leading population, and the first Np2 of individuals in the combined population are sequentially added into the knowledge driving population.
Further, in step 5, the CP model contains the following constraint set,
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
The variables of the CP model comprise, I representing workpiece indexes; J represents the process index; A process set representing a workpiece i, L representing an index of a loading or unloading task, L representing a set of loading or unloading tasks, K representing a machine index, K representing a set of all machines, R representing a robot index, R representing a set of all robots, N representing a total number of workpieces, N representing a total number of processes, Oi,j representing a jth process of the workpiece i; a set of machines representing a processable process Oi,j; As a continuous decision variable for maximum finishing time,Is the first of the work pieces iInterval variables of task unloading of the individual procedures; As the interval variable of the process Oi,j,An optional process variable on machine k for process step Oi,j; The interval variable for loading or unloading a task in the process Oi,j is represented by a loading task when l=1, an unloading task when l=2,Optional interval variables for the loading or unloading tasks of process Oi,j on machine k; As an interval variable for the off-load task of process Oi,j,An interval variable for the loading task of process Oi,j+1; Interval variables for loading or unloading tasks integrating process Oi,j, and optional interval variables for processing on machine k; Decision variables for machine sequences, including assigned optional interval variables;Decision variables for robot sequences including assigned selectable interval variables;Decision variables for machine sequences, including assigned optional interval variablesAnd;An interval variable for the loading task of process Oi,j; Interval variable for task off-load for process Oi,j, constraint set (1) represents the goal of minimizing maximum completion timeFunction ofReturn interval variableEnd time of (2);
the constraint set (2) indicates that the process Oi,j can be performed on only one machine meeting the conditionsUpper working, functionRepresenting the variable in each intervalCan only select one optional interval variable;
The constraint set (3) indicates that the loading or unloading task/of the process Oi,j can be performed on only one machine which meets the conditionsUpper working, functionRepresenting the variable in each intervalCan only select one optional interval variable;
The constraint set (4) indicates that, for each step of the workpiece i, the loading task of step Oi,j+1 can be started only after the unloading task of step Oi,j preceding step Oi,j+1 is completed, a functionRepresenting variables between loading tasksVariable only between offload tasksStarting after finishing;
the constraint set (5) represents the constraint setAndThe two selectable interval variables form one selectable interval variable in time sequenceFunction ofThe function represents an optional inter-zone variableInvolving sets {,All of the current intervals in the },Is set {,Minimum start time of optional inter-zone variable in }, whileThe end time of (1) is set {,Maximum end time of optional inter-zone variable in };
the constraint set (6) represents that one process can only be processed on one machine, the functionOptional interval variable indicating the presence of process Oi, jIs the number of (3);
the constraint set (7) represents that the machine k can only process one procedure at the same time, and the functionRepresenting all the available selectable inter-zone variablesNon-overlapping;
the constraint set (8) indicates that the robot r can only execute one loading or unloading task at the same time, the functionRepresenting all the available selectable inter-zone variablesNon-overlapping;
The constraint set (9) indicates that the processing steps on machine k must be performed in sequence, a functionAll existing optional inter-zone variablesAndAre not overlapped with each other;
The constraint set (10) indicates that for each process of the workpiece i, the processing start time of the process Oi,j cannot be set to a function before the loading task of the process Oi,j is completedRepresenting interval variablesThe start time of (a) is not earlier than the interval variableEnd time of (2);
The constraint set (11) indicates that for each process of the workpiece i, the off-load task start time of process Oi,j cannot be before the processing end time of process Oi,j, a functionRepresenting interval variablesNot less than the interval variableEnd time of (2).
Compared with the prior art, the flexible job shop scheduling optimization method with robot constraint aims at minimizing the maximum finishing time, and has the following positive effects that (1) the invention provides a novel hybrid algorithm, namely an evolution algorithm (EA-DQN-CP) taking a depth Q network into consideration, assisted by a constraint planning model, and the evolution algorithm (EA-DQN) assisted by the depth Q network is combined with the Constraint Planning (CP) model, so that a high-quality solution is obtained by utilizing the EA-DQN at high efficiency, then the solution space is further optimized by means of the CP model, the quality of the solution is improved, and the solution with smaller maximum finishing time is obtained;
(2) In the invention, an evolution guide population and a knowledge driven population are respectively constructed, the overall optimization of the population is realized by the evolution guide population through individual competition, self-evolution and co-evolution, the risk of sinking into local optimum is reduced by the knowledge driven population through individual pairing and DQN evolution, and meanwhile, 6 search operators are designed, the advantages of the operators are comprehensively utilized, and the maximum finishing time of the obtained solution is minimized;
(3) The invention adopts the CP model which is suitable for the scheduling problem of the flexible job shop with robot constraint, and compared with the MILP model, the CP model can more comprehensively explore the solution space, more comprehensively consider various constraint conditions in the problem and more effectively process the complex relation of the job shop scheduling;
In conclusion, the flexible job shop scheduling problem with robot constraint is effectively solved. Through designing an EA-DQN-CP algorithm, namely an evolution algorithm taking a depth Q network into consideration assisted by a constraint planning model, the working procedure sequence of workpieces, machine selection and loading and unloading task sequence of a robot are reasonably arranged, and the method has the positive effects of improving the utilization rate of the machine and further improving the resource utilization efficiency of the whole workshop production.
Drawings
FIG. 1 is a flow chart of an implementation of the present invention;
FIG. 2 is an exemplary diagram of individual process sequence vectors and machine selection vectors of the present invention;
FIG. 3 is a diagram of the evolution process of the evolutionarily guided population of the present invention;
FIG. 4 is a diagram of the evolution process of a knowledge-driven population of the present invention;
FIG. 5 is a mechanical diagram of the connection of the CP model to the EA-DQN of the present invention.
Detailed Description
As shown in fig. 1, the optimization method for flexible job shop scheduling with robot constraint provided by the invention is mainly realized through the following processes.
Step 1, initializing parameters, and setting an evolution guidance population scale Np1, a knowledge driving population scale Np2 and a total running time t.
And step 2, initializing a population, and randomly generating an initial population, wherein the initial population comprises an evolutionary guided population and a knowledge driven population. Specifically, the population initialization is performed by initializing individuals in a loop, including iterating the evolutionary lead population through the loop from 0 to Np1, iterating the knowledge-driven population through the loop from 0 to Np2, creating one individual per iteration, each individual being composed of two vectors, a process ordering vector and a machine selection vector, respectively, the process ordering vector and the machine selection vector of the individual being illustrated in fig. 2, Oi,j representing a j-th process of the workpiece i, a numerical sequence on the process ordering vector representing a process sequence of the processes, e.g., a first number 1 representing a first process O1,1 of the workpiece 1, a second number 2 representing a first process O2,1 of the workpiece 2, a third number 3 representing a first process O3,1 of the workpiece 3, a fourth number 1 representing a second process O1,2 of the workpiece 1, a number on the machine selection vector representing a machine selected to process each of the workpieces, e.g., a first process O1,1 of the workpiece 1 is processed on the machine 2, a second number 4 representing a first process O858 of the workpiece 1, a number 4 representing a second process O858 3 of the workpiece 2 is processed on the machine 533, and a fourth number 4 representing a number O of the machine 423 is processed on the fourth number 2. The method comprises the steps of initializing a process sequence vector, wherein the length of the process sequence vector is the total number of processes, the processes in the process sequence vector are randomly generated within the range of [0, N-1], N is the total number of workpieces, the number of times of each workpiece appearing in the process sequence vector is consistent with the number of processes contained in the workpiece, initializing a machine selection vector, the length of the machine selection vector is the total number of the processes, the machines in the machine selection vector are randomly generated within the range of [0, M-1], M is the number of headquarters, if the processing time of the processes on the selected machines is 0, the machines in the machine selection vector are continuously randomly generated within the range of [0, M-1], until the processing time of the processes on the selected machines is not 0, after the initialization of individuals is completed, adding the generated individuals of Np1 into an evolutionary guidance population, and adding the generated individuals of Np2 into a knowledge driving population.
And 3, carrying out population evolution, namely, carrying out evolution on the evolution guide population by using an individual competition strategy, self-evolution and co-evolution, and carrying out evolution on the knowledge driven population by using an individual pairing strategy and DQN evolution. Specifically, the individual competition strategy is to classify individuals in the evolution guide population according to the maximum finishing time, divide the evolution guide population into a winner population and a loser population, the scale of the winner population and the loser population is Np/2, order the individuals in the evolution guide population from small to large according to the maximum finishing time, the first Np1/2 number of individuals are allocated to the winner population, the later Np1/2 number of individuals are allocated to the loser population, each individual in the winner population randomly uses one of an exchange operator, an inversion operator and a reassignment operator to perform self-evolution, wherein the exchange operator and the inversion operator are applied to process order vectors, the reassignment operator is applied to machine selection vectors, the winner population and the loser population perform collaborative evolution by using a crossover operator, the crossover operator is an operation mode of collaborative evolution of the winner population and the loser population, the crossover operator comprises a priority process crossover operator and a uniform crossover operator, each individual is randomly selected from the winner population and the loser population, each individual selected by using the crossover operator, the crossover operator and the crossover operator is uniformly selected by the crossover operator, and the machine selection vector is shown in the cross-order diagram 3, and the whole evolution guide vector is completed. Specifically, the operation steps of the exchange operator, the inversion operator, the reassignment operator, the priority procedure crossing operator and the uniform crossing operator are as follows:
The operation process of the exchange operator is that two different positions rand1 and rand2 are randomly selected from the individual process sequence vectors, and the processes on the selected positions rand1 and rand2 are exchanged;
The operation process of the reversing operator is that two different positions rand1 and rand2 are randomly selected from the individual process sequence vectors, the position rand1 is at least 3 process intervals before the position rand2, the process sequence between the position rand1 and the position rand2 in the process sequence vectors is reversed, the midpoint position (rand1+rand2)/2 of a reversing interval is found, and the processes with the midpoint position of the reversing interval as symmetry are sequentially exchanged;
the operation process of the reassignment operator is that a position is randomly selected in the machine selection vector, and a machine is randomly selected from a selectable machine set of the procedure corresponding to the selected position to replace the original machine;
The operation process of the priority procedure crossing operator is that procedure ordering vectors of an individual pop1 and an individual pop2 are obtained, wherein the procedure ordering vectors are expressed as procedure sequences, a number num between [1, n-1] is randomly generated, n is expressed as the total number of workpieces, a num-sized workpiece set I0 is generated, num different workpieces are randomly selected from all the workpieces to be filled into the workpiece set I0, each position of the procedure sequences of the pop1 and the pop2 is traversed, and if a procedure belonging to the workpiece set I0 is found, corresponding procedures in the pop1 and the pop2 are sequentially exchanged;
The operation process of the uniform crossover operator is that machine selection vectors of an individual pop1 and an individual pop2 are obtained, wherein the machine selection vectors are expressed as machine sequences, a digit set B with the size of N is generated, N represents the total procedure number, each position in the digit set B is randomly filled with 0 or 1,0 and 1 are marks for determining whether machines at corresponding positions of the machine sequences in the pop1 and the pop2 are exchanged, wherein 0 represents exchange, 1 represents no exchange, N times of iteration are carried out, each position of the pop1 and the pop2 machine sequences is sequentially traversed according to the sequence from the first position to the last position, numbers at corresponding positions in the digit set B are synchronously traversed, and if the numbers at the current position of the digit set B are 0, the machines at the current traversing positions on the machine sequences in the pop1 and the pop2 are exchanged;
The method comprises the steps of generating all paired individual pairs from a knowledge-driven population, combining all individual pairs together to form the paired population, applying DQN evolution to the paired population, selecting a search operator for minimizing the maximum finishing time according to the combined information of a process sorting vector and a machine selection vector of the individual pairs in the current paired population, wherein the search operator is an operation mode of the DQN evolution, and comprises an exchange operator, an inversion operator, a reassignment operator, an operation-based crossover operator, a two-point crossover operator and a multi-point crossover operator, wherein the exchange operator, the inversion operator and the operation-based crossover operator are applied to the process sorting vector, the reassignment operator, the two-point crossover operator and the multi-point crossover operator are applied to the machine selection vector, and the evolution process diagram of the knowledge-driven population is shown in figure 4. Specifically, the operation steps of the operation-based crossover operator, the two-point crossover operator and the multi-point crossover operator are as follows:
The operation process of the crossover operator based on the operation is that the process sequencing vectors of the individual pops1 and the individual pops2 are obtained, wherein the process sequencing vectors are expressed as process sequences, a list C1 and a list C2 are initialized, a list C1 is used for storing the process sequences of the crossed pops1, a list C2 is used for storing the process sequences of the crossed pops2, all workpieces are randomly divided into two different sets and respectively marked as a workpiece set I1 and a workpiece set I2, each position of the process sequences of the pops2 and the pops2 is traversed, if the current process of the pops2 belongs to the I2, the process is copied to the corresponding position of the list C2, if the current process of the pops2 belongs to the I2, the process sequences of the pops2 are sequentially copied to the corresponding position of the list C2 according to the sequence in the order of the pops2, and for the processes of the pops2 which do not belong to the I2 are sequentially copied to the list2, the process sequences of the non-occupied position of the pops2 are sequentially copied to the list2 according to the sequence of the non-processing sequences of the pops2;
The two-point crossover operator is operated by obtaining machine selection vectors of individual pop1 and pop2, wherein the machine selection vectors are represented as machine sequences, initializing list C1 and list C2,C1 for storing machine sequences of post-crossover pop1, C2 for storing machine sequences of post-crossover pop2, randomly generating position rand1 and position rand2 on the machine sequences, position rand1 being at least 1 machine interval before position rand2, copying machines on machine sequence interval [ rand1,rand2 ] in pop1 to corresponding positions in list C1,rand2, copying machines on machine sequence interval [ rand1,rand2 ] in pop1,rand2 to corresponding positions in list C1,rand2, copying machines on machine sequence intervals [0, rand1,rand2 ] and [ rand1,rand2, N-1] to corresponding positions in list C1,rand2, copying machines on machine sequence intervals [ rand1,rand2 ] and [ rand1,rand2, assigning numbers to the total number of machines in list C1,rand2, and assigning numbers to the post-crossover machines in list C1,rand2;
The operation of the multipoint crossover operator is to obtain machine selection vectors for individual pops1 and2, where the machine selection vectors are expressed as a sequence of machines, the number num between random generation [0, N-1], N is the total number of processes, pops1 and pop2 are exchanged for machines in num times, one machine location is randomly selected at a time, and machines in selected positions of the sequence of machines in pops1 and pop2 are exchanged.
And 4, updating the population, namely combining the evolutionary guided population and the knowledge driven population into a population, updating the evolutionary guided population and the knowledge driven population by using the combined population, and taking the updated population as a result after EA-DQN. The method comprises the steps of combining an evolutionary guided population and a knowledge driven population into a population, sorting individuals in the combined population from small to large according to maximum finishing time, removing all individuals in the evolutionary guided population and the knowledge driven population, sequentially adding the first Np1 individuals in the combined population into the evolutionary guided population, and sequentially adding the first Np2 individuals in the combined population into the knowledge driven population.
And 5, CP auxiliary optimization, if the optimization condition is met, constructing a CP model, taking an individual with the largest completion time after population updating as an initial solution in the CP model, further optimizing by utilizing the global searching capability of the CP model, taking the CP auxiliary optimization as the result of EA-DQN-CP, and if the optimization condition is not met, returning to the step 3. The connection mechanism diagram of the CP model and EA-DQN is shown in FIG. 5. Wherein, the optimization condition is that the running time after population updating is equal to half of the running total time t, the CP model comprises the following constraint set,
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
The variables of the CP model comprise, I representing workpiece indexes; J represents the process index; A process set representing a workpiece i, L representing an index of a loading or unloading task, L representing a set of loading or unloading tasks, K representing a machine index, K representing a set of all machines, R representing a robot index, R representing a set of all robots, N representing a total number of workpieces, N representing a total number of processes, Oi,j representing a jth process of the workpiece i; a set of machines representing a processable process Oi,j; As a continuous decision variable for maximum finishing time,Is the first of the work pieces iInterval variables of task unloading of the individual procedures; As the interval variable of the process Oi,j,An optional process variable on machine k for process step Oi,j; The interval variable for loading or unloading a task in the process Oi,j is represented by a loading task when l=1, an unloading task when l=2,Optional interval variables for the loading or unloading tasks of process Oi,j on machine k; As an interval variable for the off-load task of process Oi,j,An interval variable for the loading task of process Oi,j+1; Interval variables for loading or unloading tasks integrating process Oi,j, and optional interval variables for processing on machine k; Decision variables for machine sequences, including assigned optional interval variables;Decision variables for robot sequences including assigned selectable interval variables;Decision variables for machine sequences, including assigned optional interval variablesAnd;An interval variable for the loading task of process Oi,j; Interval variable for unloading task of process Oi,j;
the constraint set (1) represents the goal of minimizing the maximum finishing timeFunction ofReturn interval variableEnd time of (2);
the constraint set (2) indicates that the process Oi,j can be performed on only one machine meeting the conditionsUpper working, functionRepresenting the variable in each intervalCan only select one optional interval variable;
The constraint set (3) indicates that the loading or unloading task/of the process Oi,j can be performed on only one machine which meets the conditionsUpper working, functionRepresenting the variable in each intervalCan only select one optional interval variable;
The constraint set (4) indicates that, for each step of the workpiece i, the loading task of step Oi,j+1 can be started only after the unloading task of step Oi,j preceding step Oi,j+1 is completed, a functionRepresenting variables between loading tasksVariable only between offload tasksStarting after finishing;
the constraint set (5) represents the constraint setAndThe two selectable interval variables form one selectable interval variable in time sequenceFunction ofThe function represents an optional inter-zone variableInvolving sets {,All of the current intervals in the },Is set {,Minimum start time of optional inter-zone variable in }, whileThe end time of (1) is set {,Maximum end time of optional inter-zone variable in };
the constraint set (6) represents that one process can only be processed on one machine, the functionOptional interval variable indicating the presence of process Oi, jIs the number of (3);
the constraint set (7) represents that the machine k can only process one procedure at the same time, and the functionRepresenting all the available selectable inter-zone variablesNon-overlapping;
the constraint set (8) indicates that the robot r can only execute one loading or unloading task at the same time, the functionRepresenting all the available selectable inter-zone variablesNon-overlapping:
The constraint set (9) indicates that the processing steps on machine k must be performed in sequence, a functionAll existing optional inter-zone variablesAndAre not overlapped with each other;
The constraint set (10) indicates that for each process of the workpiece i, the processing start time of the process Oi,j cannot be set to a function before the loading task of the process Oi,j is completedRepresenting interval variablesThe start time of (a) is not earlier than the interval variableEnd time of (2);
The constraint set (11) indicates that for each process of the workpiece i, the off-load task start time of process Oi,j cannot be before the processing end time of process Oi,j, a functionRepresenting interval variablesNot less than the interval variableEnd time of (2).
And 6, checking a termination condition, and outputting a final solution if the termination condition is met. The termination condition is that the running time after the CP auxiliary optimization is equal to the running total time t.
The invention will be further described by way of a specific example.
The present invention runs on a computer equipped with an Intel CoreTM i7-12700 processor and an NVIDIA T600 GPU. Encoded in the PyCharm 2024.1.1 environment using Python, CP and CPLEX solvers are provided by IBM CPLEX Studio IDE 12.7.1. The total run time t is set to 2N seconds (N is the total number of steps in the corresponding instance), and all comparison algorithms are performed 10 times on each instance.
The invention is based on the commonly used reference examples MFJS-MFJS and MK01-MK10 in FJSP, and the examples after robot restraint are named RMFJS-RMFJS and RMK01-RMK10. Each example contains two robots, each robot responsible for half of the machines, with a loading and unloading task time set to 5s. To verify the effectiveness of the present invention in a mass production environment, the number of workpieces in examples RMFJS-RMFJS 10 and RMK01-RMK10 was doubled, creating new examples RLMFJS-RLMFJS 10 and RLMK01-RLMK10.
First, the validity of the CP model is verified, and the comparison result of the existing mixed integer linear programming model (MILP model) and constraint programming model (CP model) is shown in table 1:
Table 1 Mixed integer Linear programming model and constraint programming model comparison results
;
In table 1, the numbers of binary decision variables, continuous decision variables, and constraints are denoted by "NB", "NC", and "NCT", respectively. In addition, "NV" represents the number of section decision variables in the CP model. "Gap" represents the optimal Gap, and a value of 0 indicates that the solution with the smallest maximum completion time is found. "Cmax" represents the solution found within the Time limit and "Time" represents the CPU Time. Specifically, if the solution with the smallest maximum completion Time is obtained, the "Time" does not exceed the Time limit, otherwise, is equal to the Time limit.
According to table 1, it is shown that as the scale of the examples increases, the values of NB, NC and NTC in the MILP model, and the values of NV and NCT in the CP model, all increase substantially. The MILP model found the minimum maximum time-to-finish solution for RMFJS-RMFJS 06, the feasible solutions for RMFJS 07-RMFJS 10 and RLMFJS01-RLMFJS 05. Because of the relatively large scale of other examples, the MILP model cannot find a viable solution within a defined time. The CP model also found the solution with the minimum maximum finishing time of RMFJS-06, which was superior in speed to the MILP model. For the rest of the examples, the CP model obtains a solution that is smaller than the maximum completion time of the MILP model. In summary, the CP model is superior to the MILP model.
In order to prove the effectiveness of the CP auxiliary optimization method, the evolutionary algorithm (EA-DQN-CP) taking the depth Q network into consideration assisted by the constraint planning model and the evolutionary algorithm (EA-DQN) assisted by the depth Q network are compared, and the comparison result is shown in the table 2:
TABLE 2 comparison of EA-DQN with EA-DQN-CP
;
For the EA-DQN-CP of the present invention, the optimal configuration of the eight important parameters is determined experimentally. These parameters include evolutionary lead population size Np1, knowledge driven population size Np2, discount factor γ, learning rate lr, exploration rate ε, target Q network update frequency Q, empirical playback buffer size D, and batch size BS. The present invention was performed 10 times on the RMK10 example for each parameter configuration, and it was determined from the experimental results that the optimal parameter configuration was Np1=500,Np2 =10, γ=0.9, lr=0.1, ε=0.95, q=15, d=512, and bs=32.
According to Table 2, it is shown that "Best" represents the minimum value of the maximum finishing time for 10 times of repeated execution of each instance, "AVG" represents the average value of the maximum finishing time for 10 times of repeated execution of each instance, "Mean" represents the average value of each column, and among 40 instances, EA-DQN-CP is better than EA-DQN for Best and AVG indicators, indicating that there is a significant difference between EA-DQN and EA-DQN-CP. In summary, the CP-assisted optimization method enhances the search capability of EA-DQN. By combining the EA-DQN and CP models, the EA-DQN-CP takes advantage of the EA-DQN and CP models to achieve superior performance.
Comparing the CP model, EA-DQN and EA-DQN-CP method provided by the invention with the existing literature algorithm IGA (improved genetic algorithm) and QABC (artificial bee colony algorithm based on Q learning), and the comparison results are shown in Table 3:
table 3 IGA, QABC, CP, EA-DQN, EA-DQN-CP comparison results
;
For QABC, the population size, iteration limit, learning rate, and discount factor were set to 80,20,0.8 and 0.1, respectively. For IGA, the population size was 300, the crossover probability was 0.8, the mutation probability was 0.1, and the diversity check algebra was 300. In table 3, "LB" represents the result of the minimum maximum finishing time in the algorithm, and "ALB" represents the result of the minimum maximum finishing time average in the algorithm. As shown in Table 3, among the 40 examples, EA-DQN gave 1 minimum in Best. CP gets 21 minima in Best and 22 minima in AVG. EA-DQN-CP achieves 36 minima in Best and 35 minima in AVG. Therefore, the CP model, EA-DQN and EA-DQN-CP methods proposed by the invention are superior to the existing literature algorithms QABC and IGA for Best and AVG indexes.
In summary, the CP model, EA-DQN, and EA-DQN-CP are efficient methods for solving FJSP-RC. The CP model explores the complete solution space through the advanced searching technology, the EA-DQN realizes learning and evolution by utilizing the advantages of EA and DQN algorithms, and the EA-DQN-CP comprehensively utilizes the advantages of the CP model, EA and DQN algorithms, thereby generating excellent performance.

Claims (8)

Translated fromChinese
1.一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,包括以下步骤,1. A flexible job shop scheduling optimization method with robot constraints, characterized by comprising the following steps:步骤1,初始化参数,设置进化引导种群规模Np1、知识驱动种群规模Np2和运行总时间tStep 1, initialize parameters, set the evolutionary guided population sizeNp1 , the knowledgedriven population sizeNp2 and the total running timet;步骤2,种群初始化,随机生成初始种群,包括进化引导种群和知识驱动种群;Step 2: Population initialization: randomly generate the initial population, including the evolutionary guided population and the knowledge driven population;步骤3,种群进化,使用个体竞争策略、自我进化和协同进化对进化引导种群进行进化,使用个体配对策略和DQN进化对知识驱动种群进行进化;Step 3: Population evolution: using individual competition strategy, self-evolution and co-evolution to evolve the evolution-guided population, and using individual pairing strategy and DQN evolution to evolve the knowledge-driven population;步骤4,种群更新,将进化后的进化引导种群和知识驱动种群组合成一个种群,利用组合后的种群对进化引导种群和知识驱动种群进行更新;Step 4, population update, combining the evolved evolutionary guided population and knowledge driven population into one population, and using the combined population to update the evolutionary guided population and knowledge driven population;步骤5,CP辅助优化,如果满足优化条件,构造一个CP模型,将种群更新后最大完工时间最小的个体作为CP模型中的初始解,利用CP模型的全局搜索能力进一步优化,若不满足优化条件,返回步骤3,其中,优化条件为经过种群更新后的运行时间等于运行总时间t的一半;Step 5, CP-assisted optimization. If the optimization condition is met, a CP model is constructed. The individual with the smallest maximum completion time after the population update is used as the initial solution in the CP model. The global search capability of the CP model is used for further optimization. If the optimization condition is not met, return to step 3, where the optimization condition is that the running time after the population update is equal to half of the total running timet .步骤6,终止条件检查,如果满足终止条件,输出最终解,其中,终止条件为经过CP辅助优化后的运行时间等于运行总时间tStep 6: Check the termination condition. If the termination condition is met, output the final solution. The termination condition is that the running time after CP-assisted optimization is equal to the total running timet .2.根据权利要求1所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,在步骤2中,种群初始化的实现过程为循环初始化个体,包括进化引导种群通过循环从0至Np1进行迭代,以及知识驱动种群通过循环从0至Np2进行迭代,每次迭代创建一个个体;个体由两个向量构成,分别为工序排序向量和机器选择向量;工序排序向量初始化,工序排序向量长度为总工序数量,工序排序向量中的工序在[0,n-1]范围内随机生成,n是总工件数量,每个工件在工序排序向量中出现的次数与该工件包含的工序数量一致;机器选择向量初始化,机器选择向量长度为总工序数量,机器选择向量中的机器在[0,M-1]范围内随机生成,M是总机器数量,若工序在所选机器上的加工时间为0,则机器选择向量中的机器在[0,M-1]范围内继续随机生成,直到工序在所选机器上的加工时间不为0;完成个体初始化后,将生成的Np1数量的个体添加到进化引导种群中,将生成的Np2数量的个体添加到知识驱动种群中。2. A flexible job shop scheduling optimization method with robot constraints according to claim 1, characterized in that, in step 2, the implementation process of population initialization is to cyclically initialize individuals, including the evolutionary guided population iterating from 0 toNp1 through a cycle, and the knowledge driven population iterating from 0 toNp2 through a cycle, and each iteration creates an individual; the individual is composed of two vectors, namely the process sorting vector and the machine selection vector; the process sorting vector is initialized, the length of the process sorting vector is the total number of processes, and the processes in the process sorting vector are randomly generated in the range of [0,n -1],n is the total number of workpieces, and the number of times each workpiece appears in the process sorting vector is consistent with the number of processes contained in the workpiece; the machine selection vector is initialized, the length of the machine selection vector is the total number of processes, and the machines in the machine selection vector are randomly generated in the range of [0,M -1],M is the total number of machines, if the processing time of the process on the selected machine is 0, then the machines in the machine selection vector continue to be randomly generated in the range of [0,M -1] until the processing time of the process on the selected machine is not 0; after completing the individual initialization, the generatedNp1 individuals are added to the evolutionary guided population, and the generatedN p1 individuals are added to the evolutionary guided population.p2 individuals are added to the knowledge-driven population.3.根据权利要求2所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,3. The method for optimizing flexible job shop scheduling with robot constraints according to claim 2 is characterized in that:个体竞争策略为,根据最大完工时间对进化引导种群中的个体进行分类,将进化引导种群划分为赢家种群和输家种群,赢家种群和输家种群的规模为Np/2,将进化引导种群中的个体按照最大完工时间从小到大进行排序,前Np1/2数量的个体分配到赢家种群,后Np1/2数量的个体分配到输家种群;赢家种群中的每个个体随机使用交换算子、反转算子和重新分配算子中的一个进行自我进化,其中,交换算子和反转算子应用于工序排序向量,重新分配算子应用于机器选择向量;赢家种群和输家种群通过使用交叉算子进行协同进化,交叉算子包括优先工序交叉算子和均匀交叉算子,从赢家种群和输家种群中各随机选择一个个体,所选择的两个个体的工序排序向量使用优先工序交叉算子,机器选择向量使用均匀交叉算子,每个个体的工序排序向量和机器选择向量各进行一次交叉操作,直到所有个体都完成交叉过程。The individual competition strategy is to classify the individuals in the evolutionary guided population according to the maximum completion time, and divide the evolutionary guided population into a winner population and a loser population. The size of the winner population and the loser population isNp /2. The individuals in the evolutionary guided population are sorted from small to large according to the maximum completion time. The firstNp1 /2 individuals are assigned to the winner population, andthe lastNp1 /2 individuals are assigned to the loser population. /2 individuals are assigned to the loser population; each individual in the winner population randomly uses one of the exchange operator, reversal operator and reallocation operator to self-evolve, where the exchange operator and reversal operator are applied to the process sorting vector, and the reallocation operator is applied to the machine selection vector; the winner population and the loser population co-evolve by using the crossover operator, which includes the priority process crossover operator and the uniform crossover operator. An individual is randomly selected from the winner population and the loser population respectively, and the process sorting vectors of the two selected individuals use the priority process crossover operator, and the machine selection vector uses the uniform crossover operator. The process sorting vector and machine selection vector of each individual are crossovered once until all individuals have completed the crossover process.4.根据权利要求3所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,交换算子、反转算子、重新分配算子、优先工序交叉算子和均匀交叉算子的操作步骤如下,4. According to the method for optimizing flexible job shop scheduling with robot constraints in claim 3, the operation steps of the exchange operator, the inversion operator, the reallocation operator, the priority process crossover operator and the uniform crossover operator are as follows:交换算子的操作过程为,从个体的工序排序向量中随机选择两个不同的位置rand1和位置rand2,交换所选择位置rand1和位置rand2上的工序;The operation process of the exchange operator is to randomly select two different positionsrand1 andrand2 from the individual process sorting vector, and exchange the processes at the selected positionsrand1 andrand2 ;反转算子的操作过程为,从个体的工序排序向量中随机选择两个不同的位置rand1和位置rand2,位置rand1在位置rand2之前距离至少为3个工序间隔的位置,对工序排序向量中位置rand1和位置rand2之间的工序序列进行反转,找到反转区间的中点位置(rand1+ rand2)/2,逐次交换以反转区间中点位置为对称的工序;The operation process of the reversal operator is to randomly select two different positionsrand1 andrand2 from the individual process sorting vector, where positionrand1 is at least 3 process intervals before positionrand2 , reverse the process sequence between positionrand1 and positionrand2 in the process sorting vector, find the midpoint position of the reversal interval (rand1 +rand2 )/2, and successively exchange the processes that are symmetrical with the midpoint position of the reversal interval;重新分配算子的操作过程为,在机器选择向量中随机选择一个位置,从所选位置对应工序的可选择的机器集合中重新随机选择一台机器来替换原来的机器;The operation process of the reallocation operator is to randomly select a position in the machine selection vector, and randomly select a machine from the set of selectable machines corresponding to the process at the selected position to replace the original machine;优先工序交叉算子的操作过程为,获取个体pop1和个体pop2的工序排序向量,其中工序排序向量表示为工序序列,随机生成[1,n-1]之间的数num,n表示总工件数量,生成num大小的工件集I0,并从所有工件中随机选择num个不同的工件填充到工件集I0中,遍历pop1pop2工序序列的每一个位置,若都找到属于工件集I0的工序,则依次将pop1pop2中的对应工序进行交换;The operation process of the priority process crossover operator is to obtain the process sorting vectors of individualpop1 and individualpop2 , where the process sorting vector is represented as a process sequence, randomly generate a number num between [1,n -1], n represents the total number of workpieces, generate a workpiece setI0 of sizenum , and randomly selectnum different workpieces from all workpieces to fill in the workpiece setI0 , traverse each position of the process sequence ofpop1 andpop2 , if the process belonging to the workpiece setI0 is found, then the corresponding processes inpop1 andpop2 are exchanged in turn;均匀交叉算子的操作过程为,获取个体pop1和个体pop2的机器选择向量,其中机器选择向量表示为机器序列,生成一个大小为N的数字集BN表示总工序数量,数字集B中每个位置随机填充0或1,0和1是用于决定pop1pop2中的机器序列对应位置的机器是否交换的标志,其中0代表交换,1代表不交换,进行N次迭代,按照从首位置到末位置的顺序,依次遍历pop1pop2机器序列的每一个位置,并同步遍历数字集B中对应位置的数字,若数字集B当前位置的数字为0,则将pop1pop2中的机器序列上处于当前遍历位置的机器进行交换。The operation process of the uniform crossover operator is to obtain the machine selection vectors of individualpop1 and individualpop2 , where the machine selection vector is represented as a machine sequence, generate a number setB of sizeN ,N represents the total number of processes, and each position in the number setB is randomly filled with 0 or 1. 0 and 1 are signs used to determine whether the machines at the corresponding positions in the machine sequences inpop1 andpop2 are exchanged, where 0 represents exchange and 1 represents no exchange.N iterations are performed, and each position ofthe pop1 andpop2 machine sequences is traversed in order from the first position to the last position, and the numbers at the corresponding positions in the number setB are traversed synchronously. If the number at the current position of the number setB is 0, the machines at the current traversal position on the machine sequences inpop1 andpop2 are exchanged.5.根据权利要求4所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,个体配对策略为,从知识驱动种群中生成所有相互配对的个体对,相互配对的个体对由两个不同的个体组成,将所有的个体对组合在一起,形成配对种群;对配对种群应用DQN进化,DQN根据当前配对种群中个体对的工序排序向量和机器选择向量组合信息来选择使最大完工时间最小化的搜索算子,搜索算子包括交换算子、反转算子、重新分配算子、基于作业的交叉算子、两点交叉算子和多点交叉算子,其中,交换算子、反转算子和基于作业的交叉算子应用于工序排序向量,重新分配算子、两点交叉算子和多点交叉算子应用于机器选择向量。5. According to a flexible job shop scheduling optimization method with robot constraints as described in claim 4, it is characterized in that the individual pairing strategy is to generate all paired individual pairs from the knowledge-driven population, the paired individual pairs are composed of two different individuals, and all individual pairs are combined together to form a paired population; DQN evolution is applied to the paired population, and DQN selects the search operator that minimizes the maximum completion time based on the process sorting vector and machine selection vector combination information of the individual pairs in the current paired population, and the search operators include exchange operators, inversion operators, reallocation operators, job-based crossover operators, two-point crossover operators and multi-point crossover operators, wherein the exchange operator, inversion operator and job-based crossover operator are applied to the process sorting vector, and the reallocation operator, two-point crossover operator and multi-point crossover operator are applied to the machine selection vector.6.根据权利要求5所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,基于作业的交叉算子、两点交叉算子和多点交叉算子的操作步骤如下,6. A flexible job shop scheduling optimization method with robot constraints according to claim 5, characterized in that the operation steps of the job-based crossover operator, two-point crossover operator and multi-point crossover operator are as follows:基于作业的交叉算子的操作过程为,获取个体pop1和个体pop2的工序排序向量,其中工序排序向量表示为工序序列,初始化列表C1和列表C2,列表C1用于存储交叉后的pop1的工序序列,列表C2用于存储交叉后的pop2的工序序列,随机地把所有工件划分到两个不同的集合中,分别记为工件集I1和工件集I2,遍历pop1pop2工序序列的每一个位置,若pop1的当前工序属于I1,就将该工序复制到列表C1的对应位置,若pop2的当前工序属于I2,就将该工序复制到列表C2的对应位置,对于pop2中不属于I1的工序,按照在pop2中的顺序依次复制到列表C1中未被占用的位置,对于pop1中不属于I2的工序,按照在pop1中的顺序依次复制到列表C2中未被占用的位置,将列表C1中交叉后得到的工序序列赋值给pop1,将列表C2中交叉后得到的工序序列赋值给pop2The operation process of the job-based crossover operator is to obtain the process sorting vectors of individualpop1 and individualpop2 , where the process sorting vector is represented as a process sequence, initialize listC1 and listC2 , listC1 is used to store the process sequence ofpop1 after the crossover, and listC2 is used to store the process sequence ofpop2 after the crossover, randomly divide all workpieces into two different sets, respectively recorded as workpiece setI1 and workpiece setI2 , traverse each position of the process sequence ofpop1 andpop2 , if the current process ofpop1 belongs toI1 , copy the process to the corresponding position of listC1 , if the current process ofpop2 belongs toI2 , copy the process to the corresponding position of listC2 , for the processes inpop2 that do not belong toI1 , copy them to the unoccupied positions in listC1 in the order inpop2 , for the processes inpop1 that do not belong toI2 , copy them to the unoccupied positions in listC2 in the order inpop1 , and then copy the processes in listC Assign the process sequence obtained after crossing in1 topop1 , and assign the process sequence obtained after crossing in listC2 topop2 ;两点交叉算子的操作过程为,获取个体pop1和个体pop2的机器选择向量,其中机器选择向量表示为机器序列,初始化列表C1和列表C2C1用于存储交叉后的pop1的机器序列,C2用于存储交叉后的pop2的机器序列,随机生成机器序列上的位置rand1和位置rand2,位置rand1在位置rand2之前距离至少为1个机器间隔的位置,将pop1中机器序列区间[rand1rand2]上的机器复制到列表C1中的对应位置,将pop2中机器序列区间[rand1rand2]上的机器复制到列表C2中的对应位置,将pop1中机器序列区间[0,rand1]和[rand2N-1]上的机器复制到列表C2中的对应位置,将pop2中机器序列区间[0,rand1]和[rand2N-1]上的机器复制到列表C1中的对应位置,N表示总工序数量,将列表C1中交叉后得到的机器序列赋值给pop1,将列表C2中交叉后得到的机器序列赋值给pop2;多点交叉算子的操作过程为,获取个体pop1和个体pop2的机器选择向量,其中机器选择向量表示为机器序列,随机生成[0,N-1]之间的数numN表示总工序数量,pop1pop2进行num次的机器交换,每次随机选择一个机器的位置,将pop1pop2中机器序列所选位置上的机器进行交换。The operation process of the two-point crossover operator is to obtain the machine selection vectors of individualpop1 and individualpop2 , where the machine selection vector is represented as a machine sequence, initialize listC1 and listC2 ,C1 is used to store the machine sequence ofpop1 after the crossover, andC2 is used to store the machine sequence ofpop2 after the crossover, randomly generate positionsrand1 andrand2 on the machine sequence, and positionrand1 is at least 1 machine interval away from positionrand2. Copy the machines on the machine sequence interval [rand1 ,rand2 ] inpop1 to the corresponding positions in listC1 , copy the machines on the machine sequence interval [rand1 ,rand2 ] inpop2 to the corresponding positions in listC2 , copy the machines on the machine sequence interval [0,rand1 ] and [rand2 ,N -1] inpop1 to the corresponding positions in listC2 , and copy the machines on the machine sequence interval [0,rand1 ] and [rand2 ,N -1] inpop2 to the corresponding positions in list C 2. -1] to the corresponding position in listC1 ,N represents the total number of processes, the machine sequence obtained after crossover in listC1 is assigned topop1 , and the machine sequence obtained after crossover in listC2 is assigned topop2 ; the operation process of the multi-point crossover operator is to obtain the machine selection vectors of individualspop1 andpop2 , where the machine selection vector is represented as a machine sequence, randomly generate a numbernum between [0,N -1],N represents the total number of processes,pop1 andpop2 perform machine exchangenum times, randomly select a machine position each time, and exchange the machine at the selected position in the machine sequence inpop1pop2 .7.根据权利要求6所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,种群更新的过程为,将进化后的进化引导种群和知识驱动种群组合成一个种群,对组合后的种群中的个体按照最大完工时间从小到大进行排序;清除进化引导种群和知识驱动种群中的所有个体;将组合后的种群中前Np1数量的个体依次添加到进化引导种群中,将组合后的种群中前Np2数量的个体依次添加到知识驱动种群中。7. According to claim 6, a flexible job shop scheduling optimization method with robot constraints is characterized in that the process of population updating is to synthesize the evolved evolution-guided population and the knowledge-driven population into one population, sort the individuals in the combined population from small to large according to the maximum completion time; clear all individuals in the evolution-guided population and the knowledge-driven population; add the firstNp1 individuals in the combined population to the evolution-guided population in sequence, and add the firstNp2 individuals in the combined population to the knowledge-driven population in sequence.8.根据权利要求7所述的一种带有机器人约束的柔性作业车间调度优化方法,其特征在于,CP模型包含以下约束集,8. A flexible job shop scheduling optimization method with robot constraints according to claim 7, characterized in that the CP model contains the following constraint set:(1) (1)(2) (2)(3) (3)(4) (4)(5) (5)(6) (6)(7) (7)(8) (8)(9) (9)(10) (10) (11) (11)其中CP模型的变量包括,i表示工件索引;I表示所有工件的集合;表示工件i的工序数量;j表示工序索引;表示工件i的工序集;l表示装载或卸载任务的索引;L表示装载和卸载任务的集合;k表示机器索引;K表示所有机器的集合;r表示机器人索引;R表示所有机器人的集合;n表示总工件数量;N表示总工序数量;Oi,j表示工件i的第j个工序;表示可加工工序Oi,j的机器集合;为最大完工时间的连续决策变量,为工件i的第个工序的卸载任务的区间变量;为工序Oi,j的区间变量,为工序Oi,j在机器k上加工的可选区间变量;为工序Oi,j的装载或卸载任务的区间变量,当l=1时表示装载任务,当l=2时表示卸载任务,为工序Oi,j在机器k上加工的装载或卸载任务的可选区间变量;为工序Oi,j的卸载任务的区间变量,The variables of the CP model include:i represents the workpiece index;I represents the set of all workpieces; represents the number of processes of workpiecei ;j represents the process index; represents the set of processes for workpiecei ;l represents the index of a loading or unloading task;L represents the set of loading and unloading tasks;k represents the machine index;K represents the set of all machines;r represents the robot index;R represents the set of all robots;n represents the total number of workpieces;N represents the total number of processes;Oi,j represents thejth process of workpiecei ; represents the set of machines that can process operationOi,j ; is the continuous decision variable for the maximum completion time, is thefirst The interval variable of the unloading task of each process; is the interval variable of processOi,j , is an optional interval variable for processOi,j processed on machinek ; is the interval variable of the loading or unloading task of processOi,j . Whenl = 1, it indicates the loading task, and whenl = 2, it indicates the unloading task. is an optional interval variable for the loading or unloading task of processOi,j on machinek ; is the interval variable of the unloading task of processOi,j ,为工序Oi,j+1的装载任务的区间变量;为整合了工序Oi,j的装载或卸载任务的区间变量以及在机器k上加工的可选区间变量;为机器序列决策变量,包括分配的可选区间变量为机器人序列决策变量,包括分配的可选区间变量为机器序列决策变量,包括分配的可选区间变量为工序Oi,j的装载任务的区间变量;为工序Oi,j的卸载任务的区间变量; is the interval variable of the loading task of processOi,j+1 ; is an interval variable that integrates the loading or unloading task of operationOi,j and the optional interval variable for processing on machinek ; Decision variables for machine sequences, including optional interval variables for assignment ; Decision variables for the robot sequence, including optional interval variables for assignment ; Decision variables for machine sequences, including optional interval variables for assignment and ; is the interval variable of the loading task of processOi,j ; is the interval variable of the unloading task of processOi,j ;约束集(1)表示目标是最小化最大完工时间,函数返回区间变量的结束时间;Constraint set (1) indicates that the goal is to minimize the maximum completion time ,function Returns an interval variable End time of约束集(2)表示工序Oi,j只能在一个符合条件的机器上加工,函数表示在每个区间变量中只能选择一个可选区间变量Constraint set (2) indicates that processOi,j can only be executed on a machine that meets the conditions. Processing, function Indicates that in each interval variable Only one optional interval variable can be selected ;约束集(3)表示工序Oi,j的装载或卸载任务l只能在一个符合条件的机器上加工,函数表示在每个区间变量中只能选择一个可选区间变量Constraint set (3) indicates that the loading or unloading taskl of processOi,j can only be performed on a machine that meets the conditions. Processing, function Indicates that in each interval variable Only one optional interval variable can be selected ;约束集(4)表示对于工件i的每一个工序,只有在工序Oi,j+1的前一个工序Oi,j的卸载任务完成后,工序Oi,j+1的装载任务才能开始,函数表示在装载任务区间变量只能在卸载任务区间变量完成后开始;Constraint set (4) indicates that for each process of workpiecei , the loading task of processOi,j+1 can only start after the unloading task of the previous processOi,j+1 is completed. Function Indicates the variable in the loading task interval Can only be used in uninstall task interval variables Start after completion;约束集 (5) 表示将两个可选区间变量按时间顺序形成一个可选区间变量,函数函数表示可选区间变量涉及集合{,}中所有当前区间,的开始时间是集合{,}中可选区间变量的最小开始时间,而的结束时间是集合中可选区间变量的最大结束时间;Constraint set (5) means and Two optional interval variables form an optional interval variable in time order ,function Function represents optional interval variable Involving collections { , } in all current intervals, The start time is the set { , }, and The end time is the set The maximum end time of the optional interval variable in;约束集(6)表示一个工序只能在一台机器上加工,函数表示工序Oi, j存在的可选区间变量的数量;Constraint set (6) indicates that a process can only be processed on one machine. Function Optional interval variable indicating the existence of processOi, j the number of约束集(7)表示同一时间机器k只能加工一个工序,函数表示所有存在的可选区间变量不重叠;Constraint set (7) indicates that machinek can only process one process at a time, and function Represents all optional interval variables that exist No overlap;约束集(8)表示同一时间机器人r只能执行一个装载或卸载任务,函数表示所有存在的可选区间变量不重叠;Constraint set (8) indicates that robotr can only perform one loading or unloading task at a time, function Represents all optional interval variables that exist No overlap;约束集(9)表示在机器k上加工的工序必须按照顺序进行,函数所有存在的可选区间变量彼此之间不重叠;Constraint set (9) indicates that the processes on machinek must be performed in sequence. Function All optional interval variables exist and do not overlap with each other;约束集(10)表示对于工件i的每一个工序,工序Oi,j的加工开始时间不能在工序Oi,j的装载任务结束之前,函数表示区间变量的开始时间不早于区间变量的结束时间;Constraint set (10) indicates that for each process of workpiecei , the processing start time of processOi,j cannot be before the loading task of processOi,j is completed. Function Represents interval variables The start time is no earlier than the interval variable End time of约束集(11)表示对于工件i的每一个工序,工序Oi,j的卸载任务开始时间不能在工序Oi,j的加工结束时间之前,函数表示区间变量的开始时间不小于区间变量的结束时间。Constraint set (11) indicates that for each process of workpiecei , the unloading task start time of processOi,j cannot be before the processing end time of processOi,j . Function Represents interval variables The start time is not less than the interval variable The end time of .
CN202510485593.3A2025-04-172025-04-17Scheduling optimization method for flexible job shop with robot constraintActiveCN120010425B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202510485593.3ACN120010425B (en)2025-04-172025-04-17Scheduling optimization method for flexible job shop with robot constraint

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202510485593.3ACN120010425B (en)2025-04-172025-04-17Scheduling optimization method for flexible job shop with robot constraint

Publications (2)

Publication NumberPublication Date
CN120010425Atrue CN120010425A (en)2025-05-16
CN120010425B CN120010425B (en)2025-07-22

Family

ID=95664333

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202510485593.3AActiveCN120010425B (en)2025-04-172025-04-17Scheduling optimization method for flexible job shop with robot constraint

Country Status (1)

CountryLink
CN (1)CN120010425B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110598863A (en)*2019-09-052019-12-20南宁师范大学Multi-target differential evolution method for co-evolution
CN111626496A (en)*2020-05-252020-09-04北京化工大学Hybrid optimization method for flexible assembly job shop scheduling
CN115439019A (en)*2022-10-252022-12-06埃克斯工业有限公司 Multi-objective production scheduling method, equipment and storage medium based on constraint programming
US20240177251A1 (en)*2022-11-232024-05-30Henan University Of Science And TechnologyProduction task scheduling method, system and device for flexible assembly job shop
CN118691001A (en)*2024-05-152024-09-24云南师范大学 Workshop scheduling method and system based on two-layer collaborative multi-objective optimization evolution
CN119228072A (en)*2024-11-282024-12-31聊城大学 Optimization method for flexible job shop scheduling problem considering adjustment time
CN119270785A (en)*2024-09-292025-01-07沈阳工业大学 An energy-saving batch flow scheduling optimization method for flexible job shops considering machine tool deterioration and preventive maintenance

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110598863A (en)*2019-09-052019-12-20南宁师范大学Multi-target differential evolution method for co-evolution
CN111626496A (en)*2020-05-252020-09-04北京化工大学Hybrid optimization method for flexible assembly job shop scheduling
CN115439019A (en)*2022-10-252022-12-06埃克斯工业有限公司 Multi-objective production scheduling method, equipment and storage medium based on constraint programming
US20240177251A1 (en)*2022-11-232024-05-30Henan University Of Science And TechnologyProduction task scheduling method, system and device for flexible assembly job shop
CN118691001A (en)*2024-05-152024-09-24云南师范大学 Workshop scheduling method and system based on two-layer collaborative multi-objective optimization evolution
CN119270785A (en)*2024-09-292025-01-07沈阳工业大学 An energy-saving batch flow scheduling optimization method for flexible job shops considering machine tool deterioration and preventive maintenance
CN119228072A (en)*2024-11-282024-12-31聊城大学 Optimization method for flexible job shop scheduling problem considering adjustment time

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
欧阳森山;黄利福;: "基于多群体协同进化混合算法的FJSP研究", 组合机床与自动化加工技术, no. 01, 20 January 2017 (2017-01-20)*

Also Published As

Publication numberPublication date
CN120010425B (en)2025-07-22

Similar Documents

PublicationPublication DateTitle
CN109034633B (en)Flexible job shop scheduling method for solving problem with moving time by improved genetic algorithm
CN103530702B (en)A kind of extensive job-shop scheduling method decomposed based on bottleneck device
CN107590603A (en)Based on the dispatching method and system for improving change neighborhood search and differential evolution algorithm
CN112766659B (en)Distributed hybrid flow shop scheduling method, medium and system
CN112381343B (en)Flexible job shop scheduling method based on genetic-backbone particle swarm hybrid algorithm
CN115826530B (en)Job shop batch scheduling method based on D3QN and genetic algorithm
CN108805403A (en)A kind of job-shop scheduling method based on improved adaptive GA-IAGA
CN117057551B (en) Solution and device for multi-process job scheduling problem considering collaborative robots
Mahmudy et al.Optimization of part type selection and loading problem with alternative production plans in flexible manufacturing system using hybrid genetic algorithms-part 1: Modelling and representation
CN115981262B (en) Hydraulic cylinder parts workshop production scheduling method based on IMOEA
CN115249113A (en)Distributed zero-waiting flow shop scheduling method and system with preparation time
CN114022028A (en) An integrated optimization method for automatic hybrid pipeline scheduling layout
CN115700647A (en)Workshop flexible operation scheduling method based on tabu search genetic algorithm
CN115609593A (en) A multi-type robot man-machine collaborative assembly scheduling method and device
Mak et al.Production scheduling and cell formation for virtual cellular manufacturing systems
CN117745026A (en)Workshop scheduling method for improving genetic algorithm to meet single-task completion time constraint
CN115081755B (en) Production and Maintenance Cooperative Scheduling Method and System Based on Variable Neighborhood Search Algorithm
CN112632777A (en)II-type bilateral assembly line balancing method and system for household appliance product assembly line
CN115935616A (en)Multi-objective optimization method for scheduling of sequence-dependent flow shop groups of consistent batches
CN120010425B (en)Scheduling optimization method for flexible job shop with robot constraint
CN114819558A (en)Dual-target scheduling optimization method for distributed mixed flow shop
CN119228072A (en) Optimization method for flexible job shop scheduling problem considering adjustment time
CN118917620A (en)Cross-unit fuzzy scheduling method based on ant lion optimization algorithm
CN118586660A (en) A dynamic scheduling method for heterogeneous parallel machine workshops used in traditional Chinese medicine granulation
CN116224946B (en)Optimized scheduling method and system for production and logistics integration of mechanical part processing workshop

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp