A human-machine collaborative manufacturing decision-making method and device considering heterogeneous operating resources

By solving the problem of strategy and optimizing it with simulated annealing algorithm, the inefficiency and resource waste problems in human-machine collaborative manufacturing decisions for heterogeneous operating resources are solved, and efficient resource allocation and task scheduling are achieved.

CN117973739BActive Publication Date: 2025-02-14TIANJIN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311702400.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-12
Publication Date
2025-02-14
Estimated Expiration
2043-12-12

AI Technical Summary

Technical Problem

The prior art is difficult to effectively consider human-machine collaborative manufacturing decisions for heterogeneous operating resources, resulting in inefficient production efficiency and waste of resources.

Method used

By establishing a hybrid integer programming model, the decision-making problem is broken down into four sub-problems: task allocation, worker allocation, robot allocation and in-station resource scheduling, and iterative optimization is used to use the improved simulated annealing algorithm framework to obtain the optimal solution.

Benefits of technology

Efficient resource allocation and task scheduling are achieved, production efficiency is improved, resource waste is reduced, and high-quality decision-making results are obtained.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117973739B_ABST
    Figure CN117973739B_ABST
Patent Text Reader

Abstract

The present invention provides a human-machine collaborative manufacturing decision-making method and device considering heterogeneous operation resources, including: establishing and analyzing a mixed integer programming model for the human-machine collaborative manufacturing decision-making problem considering heterogeneous operation resources, decomposing the decision-making problem into four sub-problems: a task allocation sub-problem, a worker allocation sub-problem, a robot allocation sub-problem, and a workstation resource scheduling sub-problem; randomly creating a task operation sequence list, a worker allocation list, and a robot allocation list, performing task allocation, generating an initial task allocation list and a task operation mode list, respectively as initial solutions to the task allocation sub-problem and the workstation resource scheduling sub-problem, and using the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation sub-problem and the robot allocation sub-problem; based on an improved simulated annealing algorithm framework, iteratively optimizing the initial solutions of the four sub-problems to obtain the optimal solution. The present invention can achieve efficient problem solving.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of management science and technology, and in particular to a human-machine collaborative manufacturing decision-making method and device considering heterogeneous operating resources. Background Art

[0002] The huge productivity brought by automation and intelligence has made it one of the important directions of manufacturing development. Collaborative robots are lightweight, highly flexible and highly safe robots developed for the purpose of collaboration with humans. They can share space and time with workers and collaborate to complete the production and manufacturing of assembly lines without physical separation. The efficient human-robot collaboration model fully combines the advantages of humans and robots, with both the flexibility of humans and the advantages of high precision of robots. In order to achieve efficient production under the new model, it is necessary to schedule and optimize the new assembly system combined with collaborative robots. In addition, assembly resources, such as workers and collaborative robots, are heterogeneous, and the collaboration effect between each person and the collaborative robot is different. Therefore, considering the heterogeneity of assembly resources brings greater challenges to the already complex human-robot collaborative manufacturing decision-making problem. How to make human-robot collaborative manufacturing decisions considering heterogeneous operating resources is an urgent problem to be solved. Summary of the invention

[0003] The present invention provides a human-machine collaborative manufacturing decision-making method and device considering heterogeneous operating resources to solve the problems existing in the prior art. The technical solution provided by the present invention is as follows:

[0004] On the one hand, a human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources is provided, the method comprising:

[0005] S1. Establish and analyze a mixed integer programming model for the decision-making problem of human-machine collaborative manufacturing considering heterogeneous operating resources, and decompose the decision-making problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem, and intra-station resource scheduling sub-problem;

[0006] S2. Randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, generate an initial task allocation list and a task operation mode list, which are used as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively, and use the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation subproblem and the robot allocation subproblem;

[0007] S3. Based on the improved simulated annealing algorithm framework, the initial solutions of the four sub-problems are iteratively optimized to obtain the optimal solution.

[0008] Optionally, the mixed integer programming model is as follows:

[0009] index:

[0010] i, j: task index, i, j ∈ {1, ..., nt}

[0011] k: station index, k∈{1,…,ns}

[0012] w: worker index, w∈{1,…,nw}

[0013] r: robot type index, r∈{1,…,nr}

[0014] p: operation mode index, p∈{1, 2, …, nw, nw+1, …, nw, +nr, …, nw+nr+nw·nr}

[0015] parameter:

[0016] I: Task set I = {i, j = 1, ..., nt}

[0017] K: Workstation set K = {k = 1, ..., ns}

[0018] W: Worker set W = {w = 1, ..., nw} and |K| = |W|

[0019] R: Robot type set R = {r = 1, ..., ur}

[0020] P: Operation mode set P = {1, 2, ..., nw, nw+1, ..., nw+nr, ..., nw+nr+nw·nr}, where p = w when a task is performed by a worker w∈W; p = nw+r when a task is performed by a robot r∈R; p = nw+nr+w·r when a task is performed by a worker w∈W and a robot r∈R in human-machine collaboration. H , P R , P C Represents a collection of workers, robots, and human-robot collaborative operations

[0021] E: direct precedence relationship set (i, j)

[0022] t ip : The operation time of task i∈I using operation mode p∈P

[0023] UB: Upper bound of beat time

[0024] LB: Takt time lower bound

[0025] q: Maximum number of robots to assign

[0026] variable:

[0027] x ipk: Binary variable, if task i∈I is assigned to workstation k∈K and operation mode p∈P is used, then the value is 1;

[0028] u wk : Binary variable, if worker w∈W is assigned to workstation k∈K, the value is 1;

[0029] z i : continuous variable, used to encode the station number assigned to task i∈I;

[0030] s i : continuous variable, used to encode the start time of task i∈I;

[0031] o rk : Binary variable, if the collaborative robot r∈R is assigned to the workstation k∈K, the value is 1;

[0032] CT: non-negative variable encoding the beat time;

[0033] y ij : Binary variable, if task i∈I starts before task j∈I (s i ≤s j ), the value is 1;

[0034] Model:

[0035] min CT (1)

[0036]

[0037]

[0038]

[0039]

[0040]

[0041]

[0042]

[0043]

[0044]

[0045]

[0046]

[0047]

[0048]

[0049]

[0050]

[0051]

[0052]

[0053]

[0054]

[0055] Among them, the objective function (1) is to minimize the cycle time; the constraint (2) defines the calculation method of the cycle time; constraint (3) ensures that each task can only be assigned to one workstation and completed by one operation mode; constraints (4) and (5) ensure that one worker is assigned to each workstation and each worker can only be assigned to one workstation; constraint (6) ensures that at most one robot is assigned to one workstation; constraint (7) limits the maximum number of robots that can be used; constraints (8) and (9) limit the assembly resources required for each operation mode; constraint (10) determines the number of robots that can be assigned to each task. given workstation numbers; constraint (11) ensures the priority relationship between tasks; constraints (12)-(14) consider handling resource occupation conflicts. When two tasks require overlapping resources, the subsequent task can only be operated after the former is completed: in constraint (12), worker resources and robot resources are used simultaneously in collaborative operations; constraints (13) and (14) correspond to the scenarios where worker resources and robot resources are occupied, respectively; constraint (15) represents the order of tasks in the same workstation; constraints (16)-(20) define the domain of the variable.

[0056] Optionally, in S2, a task operation sequence list, a worker allocation list, and a robot allocation list are randomly created to perform task allocation and generate an initial task allocation list, which specifically includes:

[0057] S21, creating an empty list of task operation order, finding tasks without predecessor tasks or all predecessor tasks have been assigned according to the priority relationship between tasks, generating a current list of selected tasks, randomly selecting tasks from the list and adding them to the task operation order list until all tasks are assigned, wherein the predecessor task refers to the task that needs to be completed before a task is operated;

[0058] S22. Randomly create a worker allocation list and a robot allocation list, using cst to represent the workstation to which the task is currently assigned, cwk to represent the worker at the current workstation, and crb to represent the robot allocation status at the current workstation;

[0059] S23, setting the current workload of each workstation, and taking the lower bound of the takt time as the initial current workload;

[0060] S24, pre-assign tasks to the workstations according to the task operation sequence in the task operation sequence list, and according to the randomly created worker assignment list, add up the time taken by the workers in the workstations to complete each task as the task operation time in the workstation, represented by ST, and compare ST with the load. If ST≤load, it means that there is still free time in the workstation and tasks can continue to be assigned, and the task is successfully assigned; otherwise, under the current workload, the workstation cannot be assigned this task, and the task assignment is canceled, a new workstation is opened, and the aforementioned assignment process is repeated;

[0061] S25. When the last workstation is opened, the current workload is insufficient to accommodate all tasks or there are tasks that cannot be assigned. The maximum running time of the unassigned tasks is calculated, and the maximum value is taken by comparing all feasible worker operation times of all unassigned tasks. The current workload is added with the maximum value as the updated current workload.

[0062] S26. Allocate the remaining tasks starting from the first workstation, repeat S24 and S25 until all tasks are allocated, and generate an initial task allocation list.

[0063] Optionally, the calculation method of the lower bound of the takt time in S23 is:

[0064] Step 1. Assume that all tasks are completed by workers at the beginning. Calculate the minimum total time for workers to complete all tasks alone, as the initial value of the time LH for workers to complete all tasks alone: ​​For all tasks, select the minimum value of the worker's operation time, and sum all tasks, LH = Σ i∈I min w∈W {t iw}, where t iw represents the time required for task i to be performed by worker w;

[0065] Step 2: Calculate the labor conversion rate θ of each robot r∈R relative to the fastest worker ir =t ir / t ih , where t ih represents the operation time of task i performed by the fastest worker, t ih =min w∈W {t iw}, t ir represents the operation time of robot r for task i; calculates the labor conversion rate θ of different human-robot collaboration combinations relative to the fastest worker ic=t ic / (t ih -t ic ), where t ic represents the operation time of task i of human-machine collaborative combination c;

[0066] Step 3. Calculate the labor conversion rate θ of task i i =min{θ ir ,θ ic}, and all tasks are assigned according to θ i The values ​​are arranged from small to large;

[0067] Step 4. Because it is assumed that all tasks are completed by workers at the beginning, the initial value of the time LR that the robot needs to complete all tasks alone is set to 0;

[0068] Step 5: Traverse the task sequence obtained in Step 3, and transfer the traversed tasks from the workers to the robots. At the beginning of the traversal, the average time LH / ns for the workers to complete all tasks alone is greater than the average time LR / q for the robots to complete all tasks alone, that is, Use the following formulas (1) and (2) to iteratively update the values ​​of LH and LR until Or all tasks that can be operated by robots or human-machine collaboration are completed, and the iteration update ends, but the iteration process may not be exactly instead Take The first task is to modify formula (1) to formula (3). After using formula (3), we can make

[0069]

[0070]

[0071]

[0072] Step 6, the lower bound of the beat time LB = max{LH / ns, max i∈I {min{t ih , t ir , t ic}}}.

[0073] Optionally, the method further includes generating an initial task operation mode list according to the generated initial task allocation list, specifically including:

[0074] Intercept the task allocation status in the current workstation from the initial task allocation list;

[0075] According to the task sequence of the current workstation, calculate the completion time of each task by different operation modes, select the operation mode with the earliest completion time, generate the initial task operation mode list of the current workstation, and calculate the workstation time of the current workstation as the upper bound of the resource scheduling plan in the current workstation. Use the calculation method of the lower bound of the takt time to calculate the lower bound of the resource scheduling plan in the current workstation. Only the tasks of the current workstation are considered, and the termination condition is modified to LR = LH or all tasks are assigned;

[0076] According to the upper and lower bounds of the resource scheduling plan in the current workstation, a branching strategy with pruning is used to modify the resource scheduling plan in the current workstation, and a modified initial task allocation list and task operation mode list of the current workstation are obtained;

[0077] The initial task assignment list and task operation method list of all workstations are revised to form a complete initial task assignment list and task operation method list.

[0078] Optionally, the process of calculating the completion time of each task by different operation modes according to the task sequence of the current workstation, selecting the operation mode with the earliest completion time, generating a task operation mode list of the current workstation, and calculating the workstation time of the current workstation specifically includes:

[0079] Determine the worker at the current workstation based on the randomly created worker allocation list, and check whether there is a robot at the current workstation based on the randomly created robot list: If there is no robot at the current workstation, the operation mode of the current task is worker operation, and the workstation time of the current workstation is the sum of the time of the worker operating each task at the current workstation; If there is a robot at the current workstation, there are three possible operation modes for the current task: worker operation, robot operation, and human-machine collaborative operation. Calculate the completion time of the current task under these three operation modes respectively:

[0080] When the worker is operating, the maximum value of the worker's available time and the minimum start time is taken as the start operation time of the current task, and the completion time of the current task is calculated by adding the worker's known operation time of the task. The worker's available time is the idle start time when the worker completes other tasks, and the minimum start time is the final completion time of the previous task.

[0081] When the robot is operating, the maximum value of the robot's available time and the minimum start time is taken as the start operation time of the current task, plus the robot's operation time of the known task, which is the completion time of the current task. The robot worker's available time is the idle start time of the robot to complete other tasks, and the minimum start time is the final completion time of the previous task;

[0082] When humans and robots are working together, the maximum value of the available time of workers, the available time of robots and the minimum start time is taken as the start time of the current task, and the completion time of the current task is added with the known human-machine collaborative operation time of the task.

[0083] Then, the minimum completion time of the three operation modes is selected, and the corresponding operation mode is used as the operation mode of the current task, that is, the operation mode with the earliest completion time is selected. At the same time, the completion time of the current task is also obtained. The maximum completion time of each task at the current workstation is used as the workstation time of the current workstation;

[0084] According to the operation modes of all tasks at the current workstation, an initial task operation mode list of the current workstation is generated.

[0085] Optionally, the resource scheduling scheme in the current workstation is modified according to the upper and lower bounds of the resource scheduling scheme in the current workstation by using a branching strategy with pruning to obtain a modified initial task allocation list and task operation mode list of the current workstation, specifically including:

[0086] Step 1: Construct a task-oriented branching strategy, which is represented by a decision tree. Each branch of the decision tree represents a task allocation and operation mode, and each node represents the allocated task and the operation mode of the task.

[0087] Step 2. Because the number of tasks in a single station is limited, a cyclic best-first search strategy is used for fast pruning. The cyclic best-first search strategy starts from the root node and preferentially searches for the next layer of nodes where the best sub-problem of the root node is located until the deepest level is reached. Then, the strategy loops back to the root node and searches for the next layer of nodes where the sub-optimal best sub-problem is located. The best sub-problem is measured by calculating the lower bound of the node cycle time. The smaller the lower bound, the better.

[0088] Step 3: For the current branch scheduling scheme obtained through search, perform quick pruning according to the following priority rules:

[0089] (i) Fix the existing scheduling part. For the remaining tasks, use the takt time lower bound calculation method to calculate the lower bound of the current branch scheduling plan. If the lower bound of the current branch scheduling plan is worse than the upper bound of the resource scheduling plan in the current workstation, cut off this branch and return to the parent node;

[0090] (ii) If there is no robot that can participate in the subsequent tasks, cut off this branch and return to the parent node;

[0091] (iii) If there is an idle time for workers or robots to process tasks that are not assigned to them, the branch is cut off and the process returns to the parent node.

[0092] (iv) If the parallelizable tasks are not parallelized or the human-machine collaborative tasks are not collaborative, the branch is pruned and returned to the parent node after pruning;

[0093] Step 4: If the complete scheduling solution generated by the search is better than the upper bound of the resource scheduling solution in the current workstation, update the upper bound of the resource scheduling solution in the current workstation;

[0094] Step 5: Repeat Step 1 to Step 4 until there is no unsearched solution space, output the revised resource scheduling plan for the current workstation, and obtain the revised initial task allocation list and task operation mode list of the current workstation.

[0095] Optionally, the S3 specifically includes:

[0096] S31, determine the initial temperature T i , termination temperature T e , cooling rate rate, maximum number of iterations iters, the specific parameters are input according to the effect requirements;

[0097] S32, taking the initial solutions of the four sub-problems as the current solution x, the local optimal solution and the global optimal solution;

[0098] S33, calculating the takt time of the current solution x as the objective function f(x), the calculation process is to calculate the station time of all stations according to the station operation time calculation method, where the maximum value is the takt time;

[0099] S34, using an adaptive neighborhood transformation mechanism to generate a new solution y using a variety of neighborhood operators, and calculating the objective function value f(y);

[0100] S35. Compare the values ​​of f(x) and f(y). If f(y) < f(x), accept the new solution. Otherwise, use the Metropolis criterion to determine whether to accept the new solution. The probability of accepting a new solution is , where k is the adjustment parameter;

[0101] S36. For each new solution y, if the objective function value f(y) of the new solution is less than the objective function value of the global optimal solution, the global optimal solution is updated with the new solution y; if the objective function value f(y) of the new solution is less than the objective function value of the local optimal solution, the local optimal solution is updated with the new solution y;

[0102] S37, repeat S34-S36 at the same temperature until the number of iterations reaches the maximum number of iterations iters, and update the current temperature T = T rate;

[0103] S38. If the current solution has not been updated for more than m cooling times, start the restart mechanism, re-operate the initial solution generation process, generate a new initial solution, and use the new initial solution to update the local optimal solution, where m is set according to the algorithm requirements, and start the re-heating mechanism to adjust the algorithm search performance;

[0104] S39, repeat S37-S38 until the current temperature reaches the end temperature T e , the algorithm terminates.

[0105] Optionally, the adaptive neighborhood transformation mechanism:

[0106] Set weights ω for different operators o∈O o , initialized to 1, records the number of times each operator is used iters i , the operator is scored based on its performance, 9 points for updating the global optimal solution, 4 points for updating the local optimal solution, 3 points for updating the current solution, and 1 point for not updating; in addition, an operator efficiency measurement mechanism is added, subtracting the operator running time tm from the above scores o , will tm o Multiply by an adjustment coefficient ε, ε is assigned according to demand, and finally the score of each operator is obtained o , update the weight once every n perturbation solutions are generated, n is set according to the algorithm effect requirements, and iteratively updates Where v is set according to the algorithm effect requirements;

[0107] The reheating mechanism:

[0108] In the simulated annealing algorithm framework, the temperature decreases in the later stage of the algorithm, the probability of accepting inferior solutions decreases, and the global search ability of the algorithm decreases. Increasing the temperature T will increase the algorithm solution time. The following formula is used to adjust the k value in the above Metropolis criterion to adjust the algorithm framework;

[0109]

[0110] Among them, τ is the parameter for adjusting the search range, and θ is the parameter for adjusting the probability of the algorithm accepting an inferior solution;

[0111] The neighborhood operators include enhanced operators and general operators. For the task allocation list, four enhanced operators are designed:

[0112] Maximum time exchange operator: randomly select a task in the workstation with the longest workstation time and randomly exchange positions with other tasks, ensuring the priority relationship between tasks in the process;

[0113] Maximum time insertion operator: randomly selects a task from the workstation with the longest workstation time and randomly inserts it into other workstations, ensuring the priority relationship between tasks in the process;

[0114] Minimum time exchange operator: randomly select a task in the workstation with the shortest workstation time and randomly exchange it with tasks in other workstations, ensuring the priority relationship between tasks in the process;

[0115] Minimum time insertion operator: randomly insert a task into the workstation with the minimum workstation time, and ensure the priority relationship between tasks in the process;

[0116] For worker allocation lists, two reinforcement operators are designed:

[0117] Maximum time worker exchange operator: randomly exchange the worker assigned to the workstation with the maximum workstation time with the workers at other workstations;

[0118] Worker list destruction operator: randomly generates a new worker assignment list;

[0119] Assign lists to robots and design two reinforcement operators:

[0120] Maximum time installation operator: If there is no robot configured in the station with the maximum station time, a robot in another station is randomly selected and installed in this station;

[0121] Robot list destruction operator: randomly generates a new robot allocation list;

[0122] For each type of list, there are two general operators: the random exchange operator and the random insertion operator.

[0123] On the other hand, a human-machine collaborative manufacturing decision-making device considering heterogeneous operation resources is provided, the device comprising:

[0124] The decomposition module is used to establish and analyze the mixed integer programming model for the human-machine collaborative manufacturing decision problem considering heterogeneous operating resources, and decompose the decision problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem and intra-station resource scheduling sub-problem;

[0125] An initial solution generation module is used to randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, and generate an initial task allocation list and a task operation mode list as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively. The randomly created worker allocation list and robot allocation list are used as initial solutions to the worker allocation subproblem and the robot allocation subproblem;

[0126] The iterative optimization module is used to iteratively optimize the initial solutions of the four sub-problems based on the improved simulated annealing algorithm framework to obtain the optimal solution.

[0127] On the other hand, an electronic device is provided, comprising a processor and a memory, wherein the memory stores instructions, and the instructions are loaded and operated by the processor to implement the above-mentioned human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources.

[0128] On the other hand, a computer-readable storage medium is provided, in which instructions are stored, and the instructions are loaded and operated by a processor to implement the above-mentioned human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources.

[0129] Compared with the prior art, the above technical solution has at least the following beneficial effects:

[0130] The present invention makes reasonable decisions on task allocation, worker allocation, robot allocation and task operation mode selection, thereby solving the human-machine collaborative manufacturing decision-making problem considering heterogeneous operating resources. It not only accelerates the solution speed of the algorithm, but also can obtain high-quality solutions, which helps to fill the gaps in the current field. BRIEF DESCRIPTION OF THE DRAWINGS

[0131] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0132] Figure 1 A flow chart of a human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources provided by an embodiment of the present invention;

[0133] Figure 2 This is a schematic diagram of a traditional manual assembly line;

[0134] Figure 3 A schematic diagram of a human-machine collaborative assembly line provided by an embodiment of the present invention;

[0135] Figure 4 A schematic diagram of a decision tree provided by an embodiment of the present invention;

[0136] Figure 5 A block diagram of a human-machine collaborative manufacturing decision-making device considering heterogeneous operating resources provided by an embodiment of the present invention;

[0137] Figure 6 It is a structural schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0138] In order to make the purpose, technical solution and advantages of the embodiment of the present invention clearer, the technical solution of the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings of the embodiment of the present invention. Obviously, the described embodiment is a part of the embodiment of the present invention, not all of the embodiments. Based on the described embodiment of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0139] like Figure 1 As shown, an embodiment of the present invention provides a human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources, the method comprising:

[0140] S1. Establish and analyze a mixed integer programming model for the decision-making problem of human-machine collaborative manufacturing considering heterogeneous operating resources, and decompose the decision-making problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem, and intra-station resource scheduling sub-problem;

[0141] S2. Randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, generate an initial task allocation list and a task operation mode list, which are used as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively, and use the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation subproblem and the robot allocation subproblem;

[0142] S3. Based on the improved simulated annealing algorithm framework, the initial solutions of the four sub-problems are iteratively optimized to obtain the optimal solution.

[0143] like Figure 2 As shown in the figure, in the traditional assembly line, the assembly line consists of k workstations K = {1, 2, ..., k}, which are connected by material transportation equipment, and the workpieces flow through each workstation in turn to carry out assembly activities. The assembly process of the workpiece consists of many subdivided assembly tasks I = {1, 2, ..., n}, and there is a priority relationship E = {(i, j) | i∈I, j∈I, i≠j} between some tasks, which means that only after completing task i can task j be started. In order to ensure the smooth operation of the assembly line, workers need to complete one or more tasks within a cycle time CT (the maximum value of the station time of each station). The focus of the study of the balance problem of the manual assembly line is how to allocate each task to each station under the condition of satisfying the priority relationship to achieve optimization goals such as minimizing the cycle time.

[0144] In the human-machine collaborative assembly line, Figure 3As shown in the figure, robots are introduced as an additional assembly resource into the corresponding workstations of the assembly line to carry out various modes of collaborative assembly with workers. Specifically, robots can complete assembly tasks independently, but due to safety and interactivity considerations, the efficiency of robots is lower than that of workers, that is, robots take longer to complete the same task than workers. Robots can also collaborate with workers on the same task, and the collaborative assembly time is less than the time required for workers to assemble alone. Therefore, for the problem of human-machine collaborative assembly lines, it is necessary to solve not only the task allocation problem, but also the robot allocation problem and the resource scheduling problem within the workstation, that is, the problem of selecting the operation mode of the task (manual, robot, human-machine collaboration), which increases the complexity of the problem.

[0145] Moreover, in the real world, assembly resources are different, and the technical level of each worker is different, which makes a certain worker unable to perform certain tasks, and different workers take different times to handle different tasks. Therefore, in manual assembly lines, it is also necessary to consider how to arrange workers so that the entire production process is efficient and smooth. In human-machine collaborative assembly lines, this problem becomes more complicated. Robots have different functions and advantages. Different workers have different operating capabilities for different tasks, and different workers have different abilities to collaborate with robots to perform tasks. Specifically, the set of tasks that each worker can perform is different, and the time for each worker to perform tasks is different. Similarly, the set of tasks that robots can perform and the set of tasks and time that human-machine collaboration can perform are different. Therefore, an embodiment of the present invention provides a human-machine collaborative manufacturing decision-making method that considers heterogeneous operating resources, and the method includes:

[0146] S1. Establish and analyze a mixed integer programming model for the decision-making problem of human-machine collaborative manufacturing considering heterogeneous operating resources, and decompose the decision-making problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem, and intra-station resource scheduling sub-problem;

[0147] The embodiment of the present invention abstracts the problem into a mathematical model and establishes a mixed integer programming model in combination with mixed integer programming technology. The mixed integer programming model is as follows:

[0148] index:

[0149] i, j: task index, i, j ∈ {1, ..., nt}

[0150] k: station index, k∈{1,…,ns}

[0151] w: worker index, w∈{1,…,nw}

[0152] r: robot type index, r∈{1,…,nr}

[0153] p: operation mode index, p∈{1, 2, …, nw, nw+1, …, nw+nr, …, nw+nr+nw·nr}

[0154] parameter:

[0155] I: Task set I = {i, j = 1, ..., nt}

[0156] K: Workstation set K = {k = 1, ..., ns}

[0157] W: Worker set W = {w = 1, ..., nw} and |K| = |W|

[0158] R: Robot type set R = {r = 1, ..., nr}

[0159] P: Operation mode set P = {1, 2, ..., nw, nw+1, ..., nw+nr, ..., nw+nr+nw·nr}, where p = w when a task is performed by a worker w∈W; p = nw+r when a task is performed by a robot r∈R; p = nw+nr+w·r when a task is performed by a worker w∈W and a robot r∈R in human-machine collaboration. H ,P R , P C Represents a collection of workers, robots, and human-robot collaborative operations

[0160] E: direct precedence relationship set (i, j)

[0161] t ip : The operation time of task i∈I using operation mode p∈P

[0162] UB: Upper bound of beat time

[0163] LB: Takt time lower bound

[0164] q: Maximum number of robots to assign

[0165] variable:

[0166] x ikp : Binary variable, if task i∈I is assigned to workstation k∈K and operation mode p∈P is used, then the value is 1;

[0167] u wk : Binary variable, if worker w∈W is assigned to workstation k∈K, the value is 1;

[0168] z i : continuous variable, used to encode the station number assigned to task i∈I;

[0169] s i : continuous variable, used to encode the start time of task i∈I;

[0170] o rk : Binary variable, if the collaborative robot r∈R is assigned to the workstation k∈K, the value is 1;

[0171] CT: non-negative variable encoding the beat time;

[0172] y ij : Binary variable, if task i∈I starts before task j∈I (s i ≤s j ), the value is 1;

[0173] Model:

[0174] minCT (1)

[0175]

[0176]

[0177]

[0178]

[0179]

[0180]

[0181]

[0182]

[0183]

[0184]

[0185]

[0186]

[0187]

[0188]

[0189]

[0190]

[0191]

[0192]

[0193]

[0194] Among them, the objective function (1) is to minimize the cycle time; the constraint (2) defines the calculation method of the cycle time; constraint (3) ensures that each task can only be assigned to one workstation and completed by one operation mode; constraints (4) and (5) ensure that one worker is assigned to each workstation and each worker can only be assigned to one workstation; constraint (6) ensures that at most one robot is assigned to one workstation; constraint (7) limits the maximum number of robots that can be used; constraints (8) and (9) limit the assembly resources required for each operation mode; constraint (10) determines the number of robots that can be assigned to each task. given workstation numbers; constraint (11) ensures the priority relationship between tasks; constraints (12)-(14) consider handling resource occupation conflicts. When two tasks require overlapping resources, the subsequent task can only be operated after the former is completed: in constraint (12), worker resources and robot resources are used simultaneously in collaborative operations; constraints (13) and (14) correspond to the scenarios where worker resources and robot resources are occupied, respectively; constraint (15) represents the order of tasks in the same workstation; constraints (16)-(20) define the domain of the variable.

[0195] After analyzing the mixed integer programming model, the embodiment of the present invention finds that for small-scale examples, a commercial solver can be used to directly solve the problem, but for medium and large-scale examples, directly solving the mixed integer programming model will be very slow, and it will even be difficult to obtain a solution result. Therefore, for medium and large-scale examples, the embodiment of the present invention decomposes the decision problem into four sub-problems: a task allocation sub-problem, a worker allocation sub-problem, a robot allocation sub-problem, and a resource scheduling sub-problem within a workstation, and respectively obtains initial solutions to the four sub-problems, and then based on the improved simulated annealing algorithm framework, iteratively optimizes the initial solutions of the four sub-problems to obtain the optimal solution.

[0196] S2. Randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, generate an initial task allocation list and a task operation mode list, which are used as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively, and use the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation subproblem and the robot allocation subproblem;

[0197] An efficient encoding and decoding process is very important. The composition of the initial solution of the embodiment of the present invention is divided into four parts: (i) task allocation list, (ii) worker allocation list, (iii) robot allocation list, and (iv) task operation mode list.

[0198] The encoding method is as follows: the task allocation list adopts a double-layer list structure. The outer list represents each workstation in turn, and the inner list represents the tasks in each workstation and their order. The worker allocation list represents the workers assigned to each workstation. The robot allocation list represents the robot allocation status of each workstation. The task operation method list represents the way each task is operated.

[0199] Based on the above encoding method, the embodiment of the present invention generates an initial solution and decodes to obtain the beat time of the initial solution.

[0200] Optionally, in S2, a task operation sequence list, a worker allocation list, and a robot allocation list are randomly created to perform task allocation and generate an initial task allocation list, which specifically includes:

[0201] S21, creating an empty list of task operation order, finding tasks without predecessor tasks or all predecessor tasks have been assigned according to the priority relationship between tasks, generating a current list of selected tasks, randomly selecting tasks from the list and adding them to the task operation order list until all tasks are assigned, wherein the predecessor task refers to the task that needs to be completed before a task is operated;

[0202] Specifically, before adding a task to the task operation sequence list each time, traverse the remaining tasks and select tasks without predecessors. For example, Task 1 is generally used as the starting point of the entire task sequence and has no predecessor. Task 1 is used as the task to be selected, or select tasks whose predecessors have been fully assigned. For example, the predecessor of Task 4 is Task 2. Assuming that Task 2 has been added to the task operation sequence list, it means that all predecessors of Task 4 have been assigned and Task 2 is used as the task to be selected.

[0203] S22. Randomly create a worker allocation list and a robot allocation list, using cst to represent the workstation to which the task is currently assigned, cek to represent the worker at the current workstation, and crb to represent the robot allocation status at the current workstation;

[0204] S23, setting the current workload of each workstation, and taking the lower bound of the takt time as the initial current workload;

[0205] S24, pre-assign tasks to the workstations according to the task operation sequence in the task operation sequence list, and according to the randomly created worker assignment list, add up the time taken by the workers in the workstations to complete each task as the task operation time in the workstation, represented by ST, and compare ST with the load. If ST≤load, it means that there is still free time in the workstation and tasks can continue to be assigned, and the task is successfully assigned; otherwise, under the current workload, the workstation cannot be assigned this task, and the task assignment is canceled, a new workstation is opened, and the aforementioned assignment process is repeated;

[0206] S25. When the last workstation is opened, the current workload is insufficient to accommodate all tasks or there are tasks that cannot be assigned. The maximum running time of the unassigned tasks is calculated, and the maximum value is taken by comparing all feasible worker operation times of all unassigned tasks. The current workload is added with the maximum value as the updated current workload.

[0207] S26. Allocate the remaining tasks starting from the first workstation, repeat S24 and S25 until all tasks are allocated, and generate an initial task allocation list.

[0208] Optionally, the calculation method of the lower bound of the beat time in S23 (referring to the minimum value of the beat time under the most ideal state, and in reality, the actual beat time is greater than or equal to this value) is:

[0209] Step 1. Assume that all tasks are completed by workers at the beginning. Calculate the minimum total time for workers to complete all tasks alone, as the initial value of the time LH for workers to complete all tasks alone: ​​For all tasks, select the minimum value of the worker's operation time, and sum all tasks, LH = ∑ i∈I min w∈W {t iw}, where t iw represents the time required for task i to be performed by worker w;

[0210] Step 2: Calculate the labor conversion rate θ of each robot r∈R relative to the fastest worker ir =t ir / t ih , where t ih represents the operation time of task i performed by the fastest worker, t ih =min w∈W {t iw}, t ir represents the operation time of robot r for task i; calculates the labor conversion rate θ of different human-robot collaboration combinations relative to the fastest worker ic =t ic / (t ih -t ic ), where t ic represents the operation time of task i of human-machine collaborative combination c;

[0211] Step 3. Calculate the labor conversion rate θ of task i i =min{θ ir ,θ ic}, and all tasks are assigned according to θ i The values ​​are arranged from small to large;

[0212] Step 4. Because it is assumed that all tasks are completed by workers at the beginning, the initial value of the time LR that the robot needs to complete all tasks alone is set to 0;

[0213] Step 5: Traverse the task sequence obtained in Step 3, and transfer the traversed tasks from the workers to the robots. At the beginning of the traversal, the average time LH / ns for the workers to complete all tasks alone is greater than the average time LR / q for the robots to complete all tasks alone, that is, Use the following formulas (1) and (2) to iteratively update the values ​​of LH and LR until Or all tasks that can be operated by robots or human-machine collaboration are completed, and the iteration update ends, but the iteration process may not be exactly instead Take The first task is to modify formula (1) to formula (3). After using formula (3), we can make

[0214]

[0215]

[0216]

[0217] Step 6, the lower bound of the beat time LB = max{LH / ns, max i∈I {min{t ih , t ir , t ic}}}.

[0218] Optionally, the method further includes generating an initial task operation mode list according to the generated initial task allocation list, specifically including:

[0219] Intercept the task allocation status in the current workstation from the initial task allocation list;

[0220] According to the task sequence of the current workstation, calculate the completion time of each task by different operation modes, select the operation mode with the earliest completion time, generate the initial task operation mode list of the current workstation, and calculate the workstation time of the current workstation as the upper bound of the resource scheduling plan in the current workstation. Use the calculation method of the lower bound of the takt time to calculate the lower bound of the resource scheduling plan in the current workstation. Only the tasks of the current workstation are considered, and the termination condition is modified to LR = LH or all tasks are assigned;

[0221] According to the upper and lower bounds of the resource scheduling plan in the current workstation, a branching strategy with pruning is used to modify the resource scheduling plan in the current workstation, and a modified initial task allocation list and task operation mode list of the current workstation are obtained;

[0222] The initial task assignment list and task operation method list of all workstations are revised to form a complete initial task assignment list and task operation method list.

[0223] After the introduction of robots, the workstations on the assembly line are divided into two categories. One category does not have robots, and the only assembly resources in the workstation are workers. The second category is that there are robots. In this type of workstation, there are two types of assembly resources, humans and robots, which gives rise to the problem of resource scheduling within the workstation. The resource scheduling problem is that when the manual operation mode is adopted, the worker resources are occupied, that is, the worker can only handle one task at the same time. Similarly, the robot operation mode occupies robot resources. In the human-machine collaborative mode, humans and robots perform the same task together, that is, this mode occupies two assembly resources at the same time. Different from the workstations without robots, humans and robots in this type of workstation can perform different tasks at the same time, that is, the working time of the two overlaps, so the workstation time cannot be calculated using the sum of all task times. The embodiment of the present invention provides a solution to the problem of resource scheduling within the workstation below, that is, a solution to the problem of selecting the task operation mode.

[0224] Optionally, the process of calculating the completion time of each task by different operation modes according to the task sequence of the current workstation, selecting the operation mode with the earliest completion time, generating a task operation mode list of the current workstation, and calculating the workstation time of the current workstation specifically includes:

[0225] Determine the worker at the current workstation based on the randomly created worker allocation list, and check whether there is a robot at the current workstation based on the randomly created robot list: If there is no robot at the current workstation, the operation mode of the current task is worker operation, and the workstation time of the current workstation is the sum of the time of the worker operating each task at the current workstation; If there is a robot at the current workstation, there are three possible operation modes for the current task: worker operation, robot operation, and human-machine collaborative operation. Calculate the completion time of the current task under these three operation modes respectively:

[0226] When the worker is operating, the maximum value of the worker's available time and the minimum start time is taken as the start operation time of the current task, and the completion time of the current task is calculated by adding the worker's known operation time of the task. The worker's available time is the idle start time when the worker completes other tasks, and the minimum start time is the final completion time of the previous task.

[0227] When the robot is operating, the maximum value of the robot's available time and the minimum start time is taken as the start operation time of the current task, plus the robot's operation time of the known task, which is the completion time of the current task. The robot worker's available time is the idle start time of the robot to complete other tasks, and the minimum start time is the final completion time of the previous task;

[0228] When humans and robots are working together, the maximum value of the available time of workers, the available time of robots and the minimum start time is taken as the start time of the current task, and the completion time of the current task is added with the known human-machine collaborative operation time of the task.

[0229] Then, the minimum completion time of the three operation modes is selected, and the corresponding operation mode is used as the operation mode of the current task, that is, the operation mode with the earliest completion time is selected. At the same time, the completion time of the current task is also obtained. The maximum completion time of each task at the current workstation is used as the workstation time of the current workstation;

[0230] According to the operation modes of all tasks at the current workstation, an initial task operation mode list of the current workstation is generated.

[0231] Optionally, the resource scheduling scheme in the current workstation is modified according to the upper and lower bounds of the resource scheduling scheme in the current workstation by using a branching strategy with pruning to obtain a modified initial task allocation list and task operation mode list of the current workstation, specifically including:

[0232] Step 1: Construct a task-oriented branching strategy, such as Figure 4 As shown, the branch strategy is represented by a decision tree, each branch of the decision tree represents a task assignment and operation mode, and each node represents the assigned task and the operation mode of this task (for example, node 1 (1H) represents the assigned task 1, and the operation mode of this task is manual operation H, node 2 (2H) represents the assigned task 2, and the operation mode of this task is manual operation H, node 3 (2R) represents the assigned task 2, and the operation mode of this task is robot operation R, ... node 5 (3H) represents the assigned task 3, and the operation mode of this task is manual operation H);

[0233] Step 2. Because the number of tasks in a single station is limited, a cyclic best-first search strategy is used for fast pruning. The cyclic best-first search strategy starts from the root node and preferentially searches for the next layer of nodes where the best sub-problem of the root node is located until the deepest level is reached. Then, the strategy loops back to the root node and searches for the next layer of nodes where the sub-optimal best sub-problem is located. The best sub-problem is measured by calculating the lower bound of the node cycle time. The smaller the lower bound, the better.

[0234] Step 3: For the current branch scheduling scheme obtained through search, perform quick pruning according to the following priority rules:

[0235] (i) Fix the existing scheduling part. For the remaining tasks, use the takt time lower bound calculation method to calculate the lower bound of the current branch scheduling plan. If the lower bound of the current branch scheduling plan is worse than the upper bound of the resource scheduling plan in the current workstation, cut off this branch and return to the parent node;

[0236] (ii) If there is no robot that can participate in the subsequent tasks, cut off this branch and return to the parent node;

[0237] (iii) If there is an idle time for workers or robots to process tasks that are not assigned to them, the branch is cut off and the process returns to the parent node.

[0238] (iv) If the parallelizable tasks are not parallelized or the human-machine collaborative tasks are not collaborative, the branch is pruned and returned to the parent node after pruning;

[0239] Step 4: If the complete scheduling solution generated by the search is better than the upper bound of the resource scheduling solution in the current workstation, update the upper bound of the resource scheduling solution in the current workstation;

[0240] Step 5: Repeat Step 1 to Step 4 until there is no unsearched solution space, output the revised resource scheduling plan for the current workstation, and obtain the revised initial task allocation list and task operation mode list of the current workstation.

[0241] S3. Based on the improved simulated annealing algorithm framework, the initial solutions of the four sub-problems are iteratively optimized to obtain the optimal solution.

[0242] Optionally, the S3 specifically includes:

[0243] S31, determine the initial temperature T i , termination temperature T e , cooling rate rate, maximum number of iterations iters, the specific parameters are input according to the effect requirements;

[0244] S32, taking the initial solutions of the four sub-problems as the current solution x, the local optimal solution and the global optimal solution;

[0245] S33, calculating the takt time of the current solution x as the objective function f(x), the calculation process is to calculate the station time of all stations according to the station operation time calculation method, where the maximum value is the takt time;

[0246] S34, using an adaptive neighborhood transformation mechanism to generate a new solution y using a variety of neighborhood operators, and calculating the objective function value f(y);

[0247] S35. Compare the values of f(x) and f(y). If f(y) < f(x), accept the new solution; otherwise, determine whether to accept the new solution according to the Metropolis criterion, and accept the new solution with a probability of , where k is a tuning parameter;

[0248] S36. For each new solution y, if the objective function value f(y) of the new solution is less than the objective function value of the global optimal solution, update the global optimal solution with the new solution y; if the objective function value f(y) of the new solution is less than the objective function value of the local optimal solution, update the local optimal solution with the new solution y;

[0249] S37. Repeat S34 - S36 at the same temperature until the number of iterations reaches the maximum number of iterations iters, and update the current temperature T = T · rate;

[0250] S38. If the current solution has not been updated after m temperature decreases, start the restart mechanism, re - operate the initial solution generation process, generate a new initial solution, update the local optimal solution with the new initial solution, where m is set according to the algorithm requirements, and start the re - warming mechanism to adjust the algorithm search performance;

[0251] S39. Repeat S37 - S38 until the current temperature reaches the termination temperature T e , and the algorithm terminates.

[0252] Optionally, the adaptive neighborhood transformation mechanism:

[0253] Set weights ω for different operators o ∈ O o , initialized to 1, record the number of times each operator is used iters i , assign scores to operators based on their performance. Add 9 points when updating the global optimal solution, add 4 points when updating the local optimal solution, add 3 points when updating the current solution, and add 1 point when there is no update; in addition, add an operator efficiency measurement mechanism, subtract the operator running time tm o from the above scores, o multiply tm o by a tuning coefficient ε, where ε is assigned according to requirements, and finally obtain the score score of each operator. Update the weights once every n perturbed solutions are generated, where n is set according to the algorithm effect requirements, and iterate to update where ρ is set according to the algorithm effect requirements;

[0254] The re - warming mechanism:

[0255] In the simulated annealing algorithm framework, in the later stage of the algorithm, the temperature decreases, the probability of accepting inferior solutions decreases, and the global search ability of the algorithm declines. Raise the temperature T. However, this will increase the algorithm solving time. Use the following formula to adjust the k value in the above Metropolis criterion to achieve the adjustment of the algorithm framework;

[0256]

[0257] Among them, τ is the parameter for adjusting the search range, and θ is the parameter for adjusting the probability of the algorithm accepting an inferior solution;

[0258] The neighborhood operators include enhanced operators and general operators. For the task allocation list, four enhanced operators are designed:

[0259] Maximum time exchange operator: randomly select a task in the workstation with the longest workstation time and randomly exchange positions with other tasks, ensuring the priority relationship between tasks in the process;

[0260] Maximum time insertion operator: randomly selects a task from the workstation with the longest workstation time and randomly inserts it into other workstations, ensuring the priority relationship between tasks in the process;

[0261] Minimum time exchange operator: randomly select a task in the workstation with the shortest workstation time and randomly exchange it with tasks in other workstations, ensuring the priority relationship between tasks in the process;

[0262] Minimum time insertion operator: randomly insert a task into the workstation with the minimum workstation time, and ensure the priority relationship between tasks in the process;

[0263] For worker allocation lists, two reinforcement operators are designed:

[0264] Maximum time worker exchange operator: randomly exchange the worker assigned to the workstation with the maximum workstation time with the workers at other workstations;

[0265] Worker list destruction operator: randomly generates a new worker assignment list;

[0266] Assign lists to robots and design two reinforcement operators:

[0267] Maximum time installation operator: If there is no robot configured in the station with the maximum station time, a robot in another station is randomly selected and installed in this station;

[0268] Robot list destruction operator: randomly generates a new robot allocation list;

[0269] For each type of list, there are two general operators: the random exchange operator and the random insertion operator.

[0270] like Figure 5 As shown, an embodiment of the present invention further provides a human-machine collaborative manufacturing decision-making device considering heterogeneous operation resources, the device comprising:

[0271] A decomposition module 510 is used to establish and analyze a mixed integer programming model for a human-machine collaborative manufacturing decision problem considering heterogeneous operating resources, and decompose the decision problem into four sub-problems: a task allocation sub-problem, a worker allocation sub-problem, a robot allocation sub-problem, and a workstation resource scheduling sub-problem;

[0272] An initial solution generation module 520 is used to randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, generate an initial task allocation list and a task operation mode list, which are used as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively, and use the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation subproblem and the robot allocation subproblem;

[0273] The iterative optimization module 530 is used to iteratively optimize the initial solutions of the four sub-problems based on the improved simulated annealing algorithm framework to obtain the optimal solution.

[0274] An embodiment of the present invention provides a human-machine collaborative manufacturing decision-making device that considers heterogeneous operating resources, and its functional structure corresponds to a human-machine collaborative manufacturing decision-making method that considers heterogeneous operating resources provided by an embodiment of the present invention, which will not be repeated here.

[0275] Figure 6 It is a structural diagram of an electronic device 600 provided in an embodiment of the present invention. The electronic device 600 may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 601 and one or more memories 602, wherein the memories 602 store instructions, and the instructions are loaded and operated by the processor 601 to implement the steps of the above-mentioned human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources.

[0276] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including instructions, which can be operated by a processor in a terminal to complete the above-mentioned human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources. For example, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0277] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0278] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A human-machine collaborative manufacturing decision-making method considering heterogeneous operating resources, characterized in that: The method comprises: S1. Establish and analyze a mixed integer programming model for the decision-making problem of human-machine collaborative manufacturing considering heterogeneous operating resources, and decompose the decision-making problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem, and intra-station resource scheduling sub-problem; S2. Randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, generate an initial task allocation list and a task operation mode list, which are used as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively, and use the randomly created worker allocation list and robot allocation list as initial solutions to the worker allocation subproblem and the robot allocation subproblem; S3. Based on the improved simulated annealing algorithm framework, the initial solutions of the four sub-problems are iteratively optimized to obtain the optimal solution; The mixed integer programming model is as follows: index: i, j: task index, i, j ∈ {1, ..., nt} k: workstation index, k∈{1,…,ns} w: worker index, w∈{1,…,nw} r: robot type index, r∈{1,…,nr} p: operation mode index, p∈{1, 2, …, nw, nw+1, …, nw+nr, …, nw+nr+nw·nr} parameter: I: Task set I = {i, j = 1, ..., nt} K: Workstation set K = {k = 1, ..., ns} W: Worker set W = {w = 1, ..., nw} and |K| = |W| R: Robot type set R = {r = 1, ..., nr} P: Operation mode set P = {1, 2, ..., nw, nw+1, ..., nw+nr, ..., nw+nr+nw·nr}, where p = w when a task is performed by a worker w∈W; p = nw+r when a task is performed by a robot r∈R; p = nw+nr+w·r when a task is performed by a worker w∈W and a robot r∈R in a collaborative operation. H , P R , P C Represents a collection of workers, robots, and human-robot collaborative operations E: direct precedence relationship set (i, j) t ip : The operation time of task i∈I using operation mode p∈P UB: Upper bound of beat time LB: Takt time lower bound q: Maximum number of robots to assign variable: x ikp : Binary variable, if task i∈I is assigned to workstation k∈K and operation mode p∈P is used, then the value is 1; u wk : Binary variable, if worker w∈W is assigned to workstation k∈K, the value is 1; z i : continuous variable, used to encode the station number assigned to task i∈I; s i : continuous variable, used to encode the start time of task i∈I; o rk : Binary variable, if the collaborative robot r∈R is assigned to the workstation k∈K, the value is 1; CT: non-negative variable encoding the beat time; y ij : Binary variable, if task i∈I starts before task j∈I (s i ≤s j ), the value is 1; Model: Among them, the objective function (1) is to minimize the cycle time; the constraint (2) defines the calculation method of the cycle time; constraint (3) ensures that each task can only be assigned to one workstation and completed by one operation mode; constraints (4) and (5) ensure that one worker is assigned to each workstation and each worker can only be assigned to one workstation; constraint (6) ensures that at most one robot is assigned to one workstation; constraint (7) limits the maximum number of robots that can be used; constraints (8) and (9) limit the assembly resources required for each operation mode; constraint (10) determines the number of robots that can be assigned to each task. given workstation number; constraint (11) ensures the priority relationship between tasks; constraints (12)-(14) consider handling resource occupation conflicts. When two tasks require overlapping resources, the subsequent task can only be operated after the previous one is completed: in constraint (12), worker resources and robot resources are used simultaneously in collaborative operations; constraints (13) and (14) correspond to the scenarios where worker resources and robot resources are occupied respectively; constraint (15) indicates the order of tasks in the same workstation; constraints (16)-(20) define the domain of variables; In S2, a task operation sequence list, a worker allocation list, and a robot allocation list are randomly created to perform task allocation and generate an initial task allocation list, which specifically includes: S21, creating an empty list of task operation order, finding tasks without predecessor tasks or all predecessor tasks have been assigned according to the priority relationship between tasks, generating a current list of selected tasks, randomly selecting tasks from the list and adding them to the task operation order list until all tasks are assigned, wherein the predecessor task refers to the task that needs to be completed before a task is operated; S22. Randomly create a worker allocation list and a robot allocation list, using cst to represent the workstation to which the task is currently assigned, cwk to represent the worker at the current workstation, and crb to represent the robot allocation status at the current workstation; S23, setting the current workload of each workstation, and taking the lower bound of the takt time as the initial current workload; S24, pre-assign tasks to the workstations according to the task operation sequence in the task operation sequence list, and according to the randomly created worker assignment list, add up the time taken by the workers in the workstations to complete each task as the task operation time in the workstation, represented by ST, and compare ST with the load. If ST≤load, it means that there is still free time in the workstation and tasks can continue to be assigned, and the task is successfully assigned; otherwise, under the current workload, the workstation cannot be assigned this task, and the task assignment is canceled, a new workstation is opened, and the aforementioned assignment process is repeated; S25. When the last workstation is opened, the current workload is insufficient to accommodate all tasks or there are tasks that cannot be assigned. The maximum running time of the unassigned tasks is calculated, and the maximum value is taken by comparing all feasible worker operation times of all unassigned tasks. The current workload is added with the maximum value as the updated current workload. S26, starting from the first workstation, assign the remaining tasks, repeating S24 and S25 until all tasks are assigned, and generating an initial task assignment list; The calculation method of the lower limit of the beat time in S23 is: Step 1. Assume that all tasks are completed by workers at the beginning. Calculate the minimum total time for workers to complete all tasks alone, as the initial value of the time LH for workers to complete all tasks alone: ​​For all tasks, select the minimum value of the worker's operation time, and sum all tasks, LH = ∑ i∈I min w∈W {t iw }, where t iw represents the time required for task i to be performed by worker w; Step 2. Calculate the labor conversion rate θ of each robot r∈R relative to the fastest worker ir =t ir / t ih , where t ih represents the operation time of task i performed by the fastest worker, t ih =min w∈W {t iw }, t ir represents the operation time of robot r for task i; calculates the labor conversion rate θ of different human-robot collaboration combinations relative to the fastest worker ic =t ic / (t ih -t ic ), where t ic represents the operation time of task i of human-machine collaborative combination c; Step 3. Calculate the labor conversion rate θ of task i i =min{θ ir ,θ ic }, and all tasks are assigned according to θ i The values ​​are arranged from small to large; Step 4. Because it is assumed that all tasks are completed by workers at the beginning, the initial value of the time LR that the robot needs to complete all tasks alone is set to 0; Step 5: Traverse the task sequence obtained in Step 3, and transfer the traversed tasks from the workers to the robots. At the beginning of the traversal, the average time LH / ns for the workers to complete all tasks alone is greater than the average time LR / q for the robots to complete all tasks alone, that is, Use the following formulas (1) and (2) to iteratively update the values ​​of LH and LR until Or all tasks that can be operated by robots or human-machine collaboration are completed, and the iteration update ends, but the iteration process may not be exactly instead Take The first task is to modify formula (1) to formula (3). After using formula (3), we can make Step 6, the lower bound of the beat time LB = max{LH / ns, max i∈I {min{t ih , t ir , t ic }}}; The method further includes generating an initial task operation mode list according to the generated initial task allocation list, specifically including: Intercept the task allocation status in the current workstation from the initial task allocation list; According to the task sequence of the current workstation, calculate the completion time of each task by different operation modes, select the operation mode with the earliest completion time, generate the initial task operation mode list of the current workstation, and calculate the workstation time of the current workstation as the upper bound of the resource scheduling plan in the current workstation. Use the calculation method of the lower bound of the takt time to calculate the lower bound of the resource scheduling plan in the current workstation. Only the tasks of the current workstation are considered, and the termination condition is modified to LR = LH or all tasks are assigned; According to the upper and lower bounds of the resource scheduling plan in the current workstation, a branching strategy with pruning is used to modify the resource scheduling plan in the current workstation, and a modified initial task allocation list and task operation mode list of the current workstation are obtained; Modify the initial task assignment list and task operation method list of all workstations to form a complete initial task assignment list and task operation method list; The S3 specifically includes: S31, determine the initial temperature T i , termination temperature T e , cooling rate rate, maximum number of iterations iters, the specific parameters are input according to the effect requirements; S32, taking the initial solutions of the four sub-problems as the current solution x, the local optimal solution and the global optimal solution; S33, calculating the takt time of the current solution x as the objective function f(x), the calculation process is to calculate the station time of all stations according to the station operation time calculation method, where the maximum value is the takt time; S34, using an adaptive neighborhood transformation mechanism to generate a new solution y using a variety of neighborhood operators, and calculating the objective function value f(y); S35. Compare the values ​​of f(x) and f(y). If f(y) < f(x), accept the new solution. Otherwise, use the Metropolis criterion to determine whether to accept the new solution. The probability of accepting a new solution is , where k is the adjustment parameter; S36. For each new solution y, if the objective function value f(y) of the new solution is less than the objective function value of the global optimal solution, the global optimal solution is updated with the new solution y; if the objective function value f(y) of the new solution is less than the objective function value of the local optimal solution, the local optimal solution is updated with the new solution y; S37, repeat S34-S36 at the same temperature until the number of iterations reaches the maximum number of iterations iters, and update the current temperature T = T rate; S38. If the current solution has not been updated for more than m cooling times, start the restart mechanism, re-operate the initial solution generation process, generate a new initial solution, and use the new initial solution to update the local optimal solution, where m is set according to the algorithm requirements, and start the re-heating mechanism to adjust the algorithm search performance; S39, repeat S37-S38 until the current temperature reaches the end temperature T e , the algorithm terminates.

2. The method according to claim 1, characterized in that: The method of calculating the completion time of each task by different operation modes according to the task sequence of the current workstation, selecting the operation mode with the earliest completion time, generating an initial task operation mode list of the current workstation, and calculating the workstation time of the current workstation specifically includes: Determine the worker at the current workstation based on the randomly created worker allocation list, and check whether there is a robot at the current workstation based on the randomly created robot list: If there is no robot at the current workstation, the operation mode of the current task is worker operation, and the workstation time of the current workstation is the sum of the time of the worker operating each task at the current workstation; If there is a robot at the current workstation, there are three possible operation modes for the current task: worker operation, robot operation, and human-machine collaborative operation. Calculate the completion time of the current task under these three operation modes respectively: When the worker is operating, the maximum value of the worker's available time and the minimum start time is taken as the start operation time of the current task, and the completion time of the current task is calculated by adding the worker's known operation time of the task. The worker's available time is the idle start time when the worker completes other tasks, and the minimum start time is the final completion time of the previous task. When the robot is operating, the maximum value of the robot's available time and the minimum start time is taken as the start operation time of the current task, and the robot operation time of the known task is added to get the completion time of the current task. The robot's available time is the idle start time of the robot to complete other tasks, and the minimum start time is the final completion time of the previous task. When humans and robots are working together, the maximum value of the available time of workers, the available time of robots and the minimum start time is taken as the start time of the current task, and the completion time of the current task is added with the known human-machine collaborative operation time of the task. Then, the minimum completion time of the three operation modes is selected, and the corresponding operation mode is used as the operation mode of the current task, that is, the operation mode with the earliest completion time is selected. At the same time, the completion time of the current task is also obtained. The maximum completion time of each task at the current workstation is used as the workstation time of the current workstation; According to the operation modes of all tasks at the current workstation, an initial task operation mode list of the current workstation is generated.

3. The method according to claim 1, characterized in that The method uses a branching strategy with pruning to modify the resource scheduling scheme in the current workstation according to the upper and lower bounds of the resource scheduling scheme in the current workstation, and obtains a modified initial task allocation list and task operation mode list of the current workstation, specifically including: Step 1: Construct a task-oriented branching strategy, which is represented by a decision tree. Each branch of the decision tree represents a task allocation and operation mode, and each node represents the allocated task and the operation mode of the task. Step 2. Because the number of tasks in a single station is limited, a cyclic best priority search strategy is used for fast pruning. The cyclic best priority search strategy starts from the root node and preferentially searches for the next layer of nodes where the best sub-problem of the root node is located until the deepest level is reached. Then, the search returns to the root node and searches for the next layer of nodes where the sub-optimal best sub-problem is located. The best sub-problem is measured by calculating the lower bound of the node cycle time. The smaller the lower bound, the better. Step 3: For the current branch scheduling scheme obtained through search, perform quick pruning according to the following priority rules: (i) Fix the existing scheduling part. For the remaining tasks, use the takt time lower bound calculation method to calculate the lower bound of the current branch scheduling plan. If the lower bound of the current branch scheduling plan is worse than the upper bound of the resource scheduling plan in the current workstation, cut off this branch and return to the parent node; (ii) If there is no robot that can participate in the subsequent tasks, cut off this branch and return to the parent node; (iii) If there is an idle time for workers or robots to process tasks that are not assigned to them, the branch is cut off and the process returns to the parent node. (iv) If the parallelizable tasks are not parallelized or the human-machine collaborative tasks are not collaborative, the branch is pruned and returned to the parent node after pruning; Step 4: If the complete scheduling solution generated by the search is better than the upper bound of the resource scheduling solution in the current workstation, update the upper bound of the resource scheduling solution in the current workstation; Step 5: Repeat Step 1 to Step 4 until there is no unsearched solution space, output the revised resource scheduling plan for the current workstation, and obtain the revised initial task allocation list and task operation mode list of the current workstation.

4. The method according to claim 1, characterized in that The adaptive neighborhood transformation mechanism: Set weights ω for different operators o∈O o , initialized to 1, records the number of times each operator is used iters i , the operator is scored based on its performance, 9 points for updating the global optimal solution, 4 points for updating the local optimal solution, 3 points for updating the current solution, and 1 point for not updating; in addition, an operator efficiency measurement mechanism is added, subtracting the operator running time tm from the above scores o , will tm o Multiply by an adjustment coefficient ε, ε is assigned according to demand, and finally the score of each operator is obtained o , update the weight once every n perturbation solutions are generated, n is set according to the algorithm effect requirements, and iteratively updates Where ρ is set according to the algorithm effect requirements; The reheating mechanism: In the simulated annealing algorithm framework, the temperature decreases in the later stage of the algorithm, the probability of accepting inferior solutions decreases, and the global search ability of the algorithm decreases. Increasing the temperature T will increase the algorithm solution time. The following formula is used to adjust the k value in the above Metropolis criterion to adjust the algorithm framework; Among them, τ is the parameter for adjusting the search range, and θ is the parameter for adjusting the probability of the algorithm accepting an inferior solution; The neighborhood operators include enhanced operators and general operators. For the task allocation list, four enhanced operators are designed: Maximum time exchange operator: randomly select a task in the workstation with the longest workstation time and randomly exchange positions with other tasks, ensuring the priority relationship between tasks in the process; Maximum time insertion operator: randomly selects a task from the workstation with the longest workstation time and randomly inserts it into other workstations, ensuring the priority relationship between tasks in the process; Minimum time exchange operator: randomly select a task in the workstation with the shortest workstation time and randomly exchange it with tasks in other workstations, ensuring the priority relationship between tasks in the process; Minimum time insertion operator: randomly insert a task into the workstation with the minimum workstation time, and ensure the priority relationship between tasks in the process; For worker allocation lists, two reinforcement operators are designed: Maximum time worker exchange operator: randomly exchange the worker assigned to the station with the maximum station time with the workers at other stations; Worker list destruction operator: randomly generates a new worker assignment list; Assign lists to robots and design two reinforcement operators: Maximum time installation operator: If there is no robot configured in the station with the maximum station time, a robot in another station is randomly selected and installed in this station; Robot list destruction operator: randomly generates a new robot allocation list; For each type of list, there are two general operators: the random swap operator and the random insertion operator.

5. A human-machine collaborative manufacturing decision-making device considering heterogeneous operating resources, characterized in that: The device comprises: The decomposition module is used to establish and analyze the mixed integer programming model for the human-machine collaborative manufacturing decision problem considering heterogeneous operating resources, and decompose the decision problem into four sub-problems: task allocation sub-problem, worker allocation sub-problem, robot allocation sub-problem and intra-station resource scheduling sub-problem; An initial solution generation module is used to randomly create a task operation sequence list, a worker allocation list, and a robot allocation list, perform task allocation, and generate an initial task allocation list and a task operation mode list as initial solutions to the task allocation subproblem and the intra-station resource scheduling subproblem, respectively. The randomly created worker allocation list and robot allocation list are used as initial solutions to the worker allocation subproblem and the robot allocation subproblem; Iterative optimization module, which is used to iteratively optimize the initial solutions of the four sub-problems based on the improved simulated annealing algorithm framework to obtain the optimal solution; The mixed integer programming model is as follows: index: i, j: task index, i, j ∈ {1, ..., nt} k: workstation index, k∈{1,…,ns} w: worker index, w∈{1,…,nw} r: robot type index, r∈{1,…,nr} p: operation mode index, p∈{1, 2, …, nw, nw+1, …, nw+nr, …, nw+nr+nw·nr} parameter: I: Task set I = {i, j = 1, ..., nt} K: Workstation set K = {k = 1, ..., ns} W: Worker set W = {w = 1, ..., nw} and |K| = |W| R: Robot type set R = {r = 1, ..., nr} P: Operation mode set P = {1, 2, ..., nw, nw+1, ..., nw+nr, ..., nw+nr+nw·nr}, where p = w when a task is performed by a worker w∈W; p = nw+r when a task is performed by a robot r∈R; p = nw+nr+w·r when a task is performed by a worker w∈W and a robot r∈R in a collaborative operation. H , P R , P C Represents a collection of workers, robots, and human-robot collaborative operations E: direct precedence relationship set (i, j) t ip : The operation time of task i∈I using operation mode p∈P UB: Upper bound of beat time LB: Takt time lower bound q: Maximum number of robots to assign variable: x ikp : Binary variable, if task i∈I is assigned to workstation k∈K and operation mode p∈P is used, then the value is 1; u wk : Binary variable, if worker w∈W is assigned to workstation k∈K, the value is 1; z i : continuous variable, used to encode the station number assigned to task i∈I; s i : continuous variable, used to encode the start time of task i∈I; o rk : Binary variable, if the collaborative robot r∈R is assigned to the workstation k∈K, the value is 1; CT: non-negative variable encoding the beat time; y ij : Binary variable, if task i∈I starts before task j∈I (s i ≤s j ), the value is 1; Model: Among them, the objective function (1) is to minimize the cycle time; the constraint (2) defines the calculation method of the cycle time; constraint (3) ensures that each task can only be assigned to one workstation and completed by one operation mode; constraints (4) and (5) ensure that one worker is assigned to each workstation and each worker can only be assigned to one workstation; constraint (6) ensures that at most one robot is assigned to one workstation; constraint (7) limits the maximum number of robots that can be used; constraints (8) and (9) limit the assembly resources required for each operation mode; constraint (10) determines the number of robots that can be assigned to each task. given workstation number; constraint (11) ensures the priority relationship between tasks; constraints (12)-(14) consider handling resource occupation conflicts. When two tasks require overlapping resources, the subsequent task can only be operated after the previous one is completed: in constraint (12), worker resources and robot resources are used simultaneously in collaborative operations; constraints (13) and (14) correspond to the scenarios where worker resources and robot resources are occupied respectively; constraint (15) indicates the order of tasks in the same workstation; constraints (16)-(20) define the domain of variables; The initial solution generation module is specifically used for: S21, creating an empty list of task operation order, finding tasks without predecessor tasks or all predecessor tasks have been assigned according to the priority relationship between tasks, generating a current list of selected tasks, randomly selecting tasks from the list and adding them to the task operation order list until all tasks are assigned, wherein the predecessor task refers to the task that needs to be completed before a task is operated; S22. Randomly create a worker allocation list and a robot allocation list, using cst to represent the workstation to which the task is currently assigned, cwk to represent the worker at the current workstation, and crb to represent the robot allocation status at the current workstation; S23, setting the current workload of each workstation, and taking the lower bound of the takt time as the initial current workload; S24, pre-assign tasks to the workstations according to the task operation sequence in the task operation sequence list, and according to the randomly created worker assignment list, add up the time taken by the workers in the workstations to complete each task as the task operation time in the workstation, represented by ST, and compare ST with the load. If ST≤load, it means that there is still free time in the workstation and tasks can continue to be assigned, and the task is successfully assigned; otherwise, under the current workload, the workstation cannot be assigned this task, and the task assignment is canceled, a new workstation is opened, and the aforementioned assignment process is repeated; S25. When the last workstation is opened, the current workload is insufficient to accommodate all tasks or there are tasks that cannot be assigned. The maximum running time of the unassigned tasks is calculated, and the maximum value is taken by comparing all feasible worker operation times of all unassigned tasks. The current workload is added with the maximum value as the updated current workload. S26, starting from the first workstation, assign the remaining tasks, repeating S24 and S25 until all tasks are assigned, and generating an initial task assignment list; The calculation method of the lower limit of the beat time in S23 is: Step 1. Assume that all tasks are completed by workers at the beginning. Calculate the minimum total time for workers to complete all tasks alone, as the initial value of the time LH for workers to complete all tasks alone: ​​For all tasks, select the minimum value of the worker's operation time, and sum all tasks, LH = ∑ i∈I min w∈W {t iw }, where t iw represents the time required for task i to be performed by worker w; Step 2. Calculate the labor conversion rate θ of each robot r∈R relative to the fastest worker ir =t ir / t ih , where t ih represents the operation time of task i performed by the fastest worker, t ih =min w∈W {t iw }, t ir represents the operation time of robot r for task i; calculates the labor conversion rate θ of different human-robot collaboration combinations relative to the fastest worker ic =t ic / (t ih -t ic ), where t ic represents the operation time of task i of human-machine collaborative combination c; Step 3. Calculate the labor conversion rate θ of task i i =min{θ ir ,θ ic }, and all tasks are assigned according to θ i The values ​​are arranged from small to large; Step 4. Because it is assumed that all tasks are completed by workers at the beginning, the initial value of the time LR that the robot needs to complete all tasks alone is set to 0; Step 5: Traverse the task sequence obtained in Step 3, and transfer the traversed tasks from the workers to the robots. At the beginning of the traversal, the average time LH / ns for the workers to complete all tasks alone is greater than the average time LR / q for the robots to complete all tasks alone, that is, Use the following formulas (1) and (2) to iteratively update the values ​​of LH and LR until Or all tasks that can be operated by robots or human-machine collaboration are completed, and the iteration update ends, but the iteration process may not be exactly instead Take The first task is to modify formula (1) to formula (3). After using formula (3), we can make Step 6, the lower bound of the beat time LB = max{LH / ns, max i∈I {min{t ih , t ir , t ic }}}; The initial solution generation module is further used to generate an initial task operation mode list according to the generated initial task allocation list, specifically including: Intercept the task allocation status in the current workstation from the initial task allocation list; According to the task sequence of the current workstation, calculate the completion time of each task by different operation modes, select the operation mode with the earliest completion time, generate the initial task operation mode list of the current workstation, and calculate the workstation time of the current workstation as the upper bound of the resource scheduling plan in the current workstation. Use the calculation method of the lower bound of the takt time to calculate the lower bound of the resource scheduling plan in the current workstation. Only the tasks of the current workstation are considered, and the termination condition is modified to LR = LH or all tasks are assigned; According to the upper and lower bounds of the resource scheduling plan in the current workstation, a branching strategy with pruning is used to modify the resource scheduling plan in the current workstation, and a modified initial task allocation list and task operation mode list of the current workstation are obtained; Modify the initial task assignment list and task operation method list of all workstations to form a complete initial task assignment list and task operation method list; The iterative optimization module is specifically used for: S31, determine the initial temperature T i , termination temperature T e , cooling rate rate, maximum number of iterations iters, the specific parameters are input according to the effect requirements; S32, taking the initial solutions of the four sub-problems as the current solution x, the local optimal solution and the global optimal solution; S33, calculating the takt time of the current solution x as the objective function f(x), the calculation process is to calculate the station time of all stations according to the station operation time calculation method, where the maximum value is the takt time; S34, using an adaptive neighborhood transformation mechanism to generate a new solution y using a variety of neighborhood operators, and calculating the objective function value f(y); S35. Compare the values ​​of f(x) and f(y). If f(y) < f(x), accept the new solution. Otherwise, use the Metropolis criterion to determine whether to accept the new solution. The probability of accepting a new solution is , where k is the adjustment parameter; S36. For each new solution y, if the objective function value f(y) of the new solution is less than the objective function value of the global optimal solution, the global optimal solution is updated with the new solution y; if the objective function value f(y) of the new solution is less than the objective function value of the local optimal solution, the local optimal solution is updated with the new solution y; S37, repeat S34-S36 at the same temperature until the number of iterations reaches the maximum number of iterations iters, and update the current temperature T = T rate; S38. If the current solution has not been updated for more than m cooling times, start the restart mechanism, re-operate the initial solution generation process, generate a new initial solution, and use the new initial solution to update the local optimal solution, where m is set according to the algorithm requirements, and start the re-heating mechanism to adjust the algorithm search performance; S39, repeat S37-S38 until the current temperature reaches the end temperature T e , the algorithm terminates.

Citation Information

Patent Citations

  • Combined distribution method and system for multiple unmanned aerial vehicle stations

    CN115577886A

  • Cooperative attack task allocation method for heterogeneous unmanned aerial vehicle group

    CN115829230A