Process scheduling method and apparatus, device and storage medium

By introducing process scheduling methods in production scheduling and optimizing the objective function using group intelligence optimization algorithm, the problem of low utilization efficiency of production scheduling resources in the existing technology is solved, and efficient process scheduling and resource utilization are achieved.

WO2025102337A1PCT designated stage expired Publication Date: 2025-05-22SHENZHEN INST OF ADVANCED TECH

Patent Information

Application Number
PCT/CN2023/132238
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-17
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

The existing fixed production scheduling process is difficult to meet the current production scheduling needs, and it is impossible to make full use of scheduling resources such as instruments and equipment, especially in the dynamic changes and emergencies of the process flow.

Method used

A process scheduling method is proposed. By receiving process scheduling requests, the instructions in execution are determined, the instructions to be executed and the scheduling resource information are set up, and the objective functions and constraints are used to optimize the objective functions under the constraints, and the optimal solution is obtained to determine the instruction execution strategy.

Benefits of technology

It realizes efficient process scheduling under the dual constraints of process flow and equipment resources, makes full use of scheduling resources, improves production scheduling efficiency, and adapts to dynamic changes in process flow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023132238_22052025_PF_FP_ABST
    Figure CN2023132238_22052025_PF_FP_ABST
Patent Text Reader

Abstract

A process scheduling method and apparatus, a device and a storage medium, relating to the technical field of production scheduling. The method comprises: receiving a process scheduling request (S201); in response to the process scheduling request, determining an instruction being executed, an instruction to be executed, and scheduling resource information (S202); establishing an objective function and a constraint condition on the basis of the instruction being executed, the instruction to be executed, the scheduling resource information and corresponding actual scheduling information (S203); optimizing the objective function under the constraint condition by means of a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function (S204); and using the optimal solution to determine an instruction execution policy, so as to perform process scheduling (S205). According to the process scheduling method, scheduling resources such as instruments and devices can be fully utilized, and the continuously growing demand for production scheduling is met.
Need to check novelty before this filing date? Find Prior Art

Description

Process scheduling method, device, equipment and storage medium Technical Field

[0001] This specification relates to the technical field of production scheduling, and in particular to a process scheduling method, device, equipment and storage medium. Background Art

[0002] The job-shop scheduling problem (JSSP) is a complex combinatorial optimization problem used to guide job-shop production. Job-shop production scheduling is often limited by the dual constraints of process flow and equipment resources. The sudden situations that may occur at any time in the process flow and the dynamic changes in the process flow also have a significant impact on job-shop production scheduling. The existing fixed production scheduling process no longer meets the current production scheduling needs and it is difficult to fully utilize resources such as instruments and equipment.

[0003] Summary of the Invention

[0004] Given that the current fixed production scheduling process no longer meets the current production scheduling needs and it is difficult to fully utilize scheduling resources such as instruments and equipment, this solution is proposed to overcome the above problems or at least partially solve the above problems.

[0005] On the one hand, some embodiments of this specification aim to provide a process scheduling method, the method comprising:

[0006] Receive process scheduling requests;

[0007] In response to the process scheduling request, determining the instructions being executed, the instructions to be executed, and the scheduling resource information;

[0008] Establishing an objective function and constraint conditions based on the instructions being executed, the instructions to be executed, the scheduling resource information and the corresponding actual scheduling information;

[0009] Optimizing the objective function under the constraints using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function;

[0010] The optimal solution is used to determine the instruction execution strategy for process scheduling.

[0011] Furthermore, an objective function and constraint conditions are established based on the executing instructions, the instructions to be executed, the scheduling resource information, and the corresponding actual scheduling information, including:

[0012] Establishing a directed acyclic graph according to the instructions being executed and the instructions to be executed;

[0013] Traversing the nodes in the directed acyclic graph to obtain a node list that satisfies the priority relationship and dependency relationship between the nodes;

[0014] Obtaining the constraint conditions based on the priority relationship and dependency relationship between the nodes in the directed acyclic graph, as well as the shortest time and minimum scheduling resources required to complete each node;

[0015] The objective function is established according to the constraint conditions and actual scheduling information of the node list.

[0016] Furthermore, a directed acyclic graph is established based on the instructions being executed and the instructions to be executed, including:

[0017] Taking the instruction being executed as a starting point of a directed acyclic graph, and determining a starting point dependency relationship between the starting point and the instruction to be executed;

[0018] Determining intermediate priority relationships and intermediate dependency relationships among the instructions to be executed;

[0019] The directed acyclic graph is established according to the starting point dependency relationship, the intermediate priority relationship and the intermediate dependency relationship.

[0020] Furthermore, establishing a directed acyclic graph based on the instructions being executed and the instructions to be executed further includes:

[0021] Determining instructions to be executed at the same level that do not have a priority relationship or a dependency relationship according to the intermediate priority relationship and the intermediate dependency relationship;

[0022] Multiple corresponding directed acyclic graphs are established using instructions to be executed at the same level that occupy the same scheduling resources.

[0023] Furthermore, the objective function is established according to the constraint conditions and the actual scheduling information of the node list, including:

[0024] Obtaining actual scheduling information of the node list and preset waiting times of parent and child nodes; wherein the actual scheduling information includes actual waiting times of parent and child nodes, actual time consumption of each node, actual scheduling resource consumption of each node, total time consumption of traversing the list, and transportation routes of scheduling resources;

[0025] Determine a waiting deviation based on the actual waiting time of the parent and child nodes and the preset waiting time of the parent and child nodes;

[0026] Determine the node time consumption deviation according to the actual time consumption of each node and the constraint condition;

[0027] Determine the scheduling resource consumption deviation according to the actual scheduling resource consumption of each node and the constraint condition;

[0028] The waiting deviation, scheduling resource consumption deviation, node time deviation, total time consumed in traversing the list and the transportation route are nonlinearly weighted to obtain an objective function.

[0029] Furthermore, after establishing corresponding multiple directed acyclic graphs using the instructions to be executed at the same level that occupy the same scheduling resources, the method further includes:

[0030] The nodes in the multiple directed acyclic graphs are traversed to obtain multiple node lists that satisfy the priority relationship and dependency relationship between the nodes.

[0031] Furthermore, the objective function is optimized under the constraints by a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function, including:

[0032] Mapping the multiple node lists to generate corresponding search domains;

[0033] Initializing the population in the search domain using an improved chaotic map;

[0034] Update the positions of all individuals in the population based on their behavioral attributes;

[0035] Determine whether the updated position of each individual exceeds the preset area;

[0036] If it exceeds the preset area, the individual position is updated using the position update algorithm corresponding to the behavior attribute;

[0037] If it does not exceed the preset area, the position of the individuals in the population is disturbed;

[0038] According to the fitness of the individual before and after the disturbance, determining whether to update the position of the individual using the position update algorithm corresponding to the attribute information; the fitness of the individual is determined according to the position of the individual and the objective function;

[0039] Repeat the above steps of updating individual positions until the number of iterations reaches the first threshold and the first optimal solution is obtained.

[0040] Furthermore, optimizing the objective function under the constraints by a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function further includes:

[0041] Initialize simulated annealing parameters;

[0042] In the neighborhood of the first optimal solution, a temporary solution is randomly selected using an improved chaotic mapping;

[0043] Using the Monte Carlo criterion, a target solution is determined according to the fitness of the first optimal solution and the temporary solution;

[0044] Determine whether the target solution meets the preset conditions under the current simulated annealing parameters;

[0045] If the preset conditions are not met, the process of randomly selecting a temporary solution is repeated to update the target solution until the target solution meets the preset conditions;

[0046] If the preset conditions are met, the simulated annealing parameters are cooled, and the above steps of randomly selecting a temporary solution are repeated until the number of iterations reaches a second threshold, and a second optimal solution is obtained.

[0047] Furthermore, the improved chaotic map is obtained by introducing a random variable constructed based on the number of chaotic sequence particles into the Tent chaotic map.

[0048] Furthermore, the positions of individuals in the population are disturbed, including:

[0049] Get the current number of iterations and the maximum number of iterations when perturbing individual positions;

[0050] Determine the dynamic selection probability according to the current number of iterations and the maximum number of iterations using a preset dynamic selection probability parameter;

[0051] Establishing a perturbation strategy based on the dynamic selection probability, taking the current iteration number as a degree of freedom;

[0052] The perturbation strategy is used to perturb the positions of individuals in the population.

[0053] On the other hand, some embodiments of this specification further provide a process scheduling device, the device comprising:

[0054] Receiving module, used for receiving process scheduling requests;

[0055] a determination module, configured to determine, in response to the process scheduling request, instructions being executed, instructions to be executed, and scheduling resource information;

[0056] An establishment module, configured to establish an objective function and constraint conditions according to the instructions being executed, the instructions to be executed, the scheduling resource information, and the corresponding actual scheduling information;

[0057] An optimization module, configured to optimize the objective function under the constraints using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function;

[0058] The scheduling module is used to determine the instruction execution strategy using the optimal solution to perform process scheduling.

[0059] On the other hand, some embodiments of this specification further provide a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the computer program executes instructions of the above method when executed by the processor.

[0060] On the other hand, some embodiments of this specification further provide a computer storage medium having a computer program stored thereon, wherein the computer program executes the instructions of the above method when executed by a processor of a computer device.

[0061] Some embodiments of this specification provide one or more technical solutions that have at least the following technical effects:

[0062] The embodiments of the present specification automatically receive process scheduling requests to determine the instructions being executed, instructions to be executed, and scheduling resource information, and establish constraints based on the intrinsic connections between the instructions being executed, instructions to be executed, and scheduling resource information, and obtain actual scheduling information. After establishing an objective function under the constraints based on the actual scheduling information, the objective function is optimized using a swarm intelligence optimization algorithm, and the optimal solution of the objective function obtained by optimization is used to determine the instruction execution strategy to guide process scheduling, thereby making full use of scheduling resource information and improving process scheduling efficiency.

[0063] The above description is only an overview of the technical solutions of some embodiments of this specification. In order to more clearly understand the technical means of some embodiments of this specification, they can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of some embodiments of this specification more obvious and easy to understand, the specific implementation methods of some embodiments of this specification are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] In order to more clearly illustrate some embodiments of this specification or technical solutions in the prior art, the following briefly introduces the drawings required for the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments described in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without inventive work. In the drawings:

[0065] FIG1 shows a schematic diagram of an implementation system of a process scheduling method in some embodiments of this specification;

[0066] FIG2 shows a flow chart of a process scheduling method in some embodiments of this specification;

[0067] FIG3 a is a schematic diagram of the steps of establishing an objective function and constraint conditions in some embodiments of this specification;

[0068] FIG3 b is a first flow chart of establishing a directed acyclic graph in some embodiments of this specification;

[0069] FIG3 c is a second flow chart of establishing a directed acyclic graph in some embodiments of this specification;

[0070] FIG3 d is a third flow chart of establishing a directed acyclic graph in some embodiments of this specification;

[0071] FIG4 is a schematic diagram of the first step of establishing a directed acyclic graph in some embodiments of this specification;

[0072] FIG5 is a schematic diagram of the second step of establishing a directed acyclic graph in some embodiments of this specification;

[0073] FIG6 is a schematic diagram of the steps of determining the objective function in some embodiments of this specification;

[0074] FIG7 is a schematic diagram of the first step of the optimal solution of the objective function in some embodiments of this specification;

[0075] FIG8 is a schematic diagram of the second step of the optimal solution of the objective function in some embodiments of this specification;

[0076] FIG9 is a schematic diagram of the steps of disturbing the positions of individuals in a population in some embodiments of this specification;

[0077] FIG10 is a schematic diagram of the structure of a process scheduling device according to some embodiments of this specification;

[0078] FIG11 is a schematic diagram of the computer device structure provided in some embodiments of this specification.

[0079] [Explanation of the accompanying drawings] 101, terminal; 102, server; 1001, receiving module; 1002, determination module; 1003, establishment module; 1004, optimization module; 1005, scheduling module; 1102, computer device; 1104, processor; 1106, memory; 1108, driving mechanism; 1110, input / output interface; 1112, input device; 1114, output device; 1116, presentation device; 1118, graphical user interface; 1120, network interface; 1122, communication link; 1124, communication bus. DETAILED DESCRIPTION

[0080] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings of some embodiments of this specification. Obviously, the embodiments described are only some of the embodiments of this specification, not all of them. All other embodiments obtained by those skilled in the art based on some of the embodiments in this specification without creative work should fall within the scope of protection of this specification.

[0081] It should be noted that the terms "first", "second", etc. in the specification and claims of this document and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of this document described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment. It should be noted that the acquisition, storage, use, processing, etc. of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.

[0082] As shown in FIG1 , a schematic diagram of an implementation system of a process scheduling method according to an embodiment of the present invention may include: a terminal 101 and a server 102. The terminal 101 and the server 102 communicate with each other through a network. The network may include a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof, and is connected to a website, a user device (such as a computing device), and a back-end system. A staff member may send a process scheduling request to the server 102 through the terminal 101. After receiving the process scheduling request, the server 102 calls the executing instructions, pending instructions, and scheduling resource information in the database for calculation and processing to obtain a process scheduling result, and sends the process scheduling result to the terminal 101 so that the staff member can process the business according to the process scheduling result.

[0083] In the embodiments of this specification, the server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN, Content Delivery Network), and big data and artificial intelligence platforms.

[0084] In an optional embodiment, the terminal 101 may include, but is not limited to, electronic devices such as self-service terminals, desktop computers, tablet computers, laptop computers, and smart wearable devices. Optionally, the operating system running on the electronic device may include, but is not limited to, Android, iOS, Linux, and Windows. Of course, the terminal 101 is not limited to the aforementioned electronic devices having a certain physical form; it may also be software running on the aforementioned electronic devices.

[0085] In addition, it should be noted that what is shown in FIG. 1 is only an application environment provided by the present disclosure. In actual applications, multiple terminals 101 may be included, and this specification does not impose any limitation thereto.

[0086] Figure 2 is a flow chart of a process scheduling method provided by an embodiment of the present invention. This specification provides the method operation steps as described in the embodiment or flow chart, but may include more or fewer operation steps based on conventional or non-creative labor. The order of steps listed in the embodiment is only one way of executing the order of many steps and does not represent the only execution order. When the actual system or device product is executed, it can be executed in sequence or in parallel according to the method shown in the embodiment or the accompanying drawings. Specifically, as shown in Figure 2, applied to the above-mentioned server side, the method may include:

[0087] S201: receiving a process scheduling request;

[0088] S202: In response to the process scheduling request, determining the instructions being executed, the instructions to be executed, and the scheduling resource information;

[0089] S203: Establishing an objective function and constraint conditions based on the executing instruction, the to-be-executed instruction, the scheduling resource information, and the corresponding actual scheduling information;

[0090] S204: Optimizing the objective function under the constraint conditions using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function;

[0091] S205: Determine an instruction execution strategy using the optimal solution to perform process scheduling.

[0092] The embodiments of the present specification automatically receive process scheduling requests to determine the instructions being executed, instructions to be executed, and scheduling resource information, and establish constraints based on the intrinsic connections between the instructions being executed, instructions to be executed, and scheduling resource information, and obtain actual scheduling information. After establishing an objective function under the constraints based on the actual scheduling information, the objective function is optimized using a swarm intelligence optimization algorithm, and the optimal solution of the objective function obtained by optimization is used to determine the instruction execution strategy to guide process scheduling, thereby making full use of scheduling resource information and improving process scheduling efficiency.

[0093] It can be understood that in some embodiments, during the production work in the operation workshop, the embodiments of this specification can automatically receive process scheduling requests at any time based on the needs of the production business scenario. The instructions being executed are the instructions being executed when the process scheduling request is initiated after the production business is started. Specifically, the purpose of determining the instructions being executed is to determine the first instruction in the production line at the current moment. If the production business has not been started when the process scheduling request is initiated, there is no instruction being executed in the embodiments of this specification. The first instruction executed can be a preset first instruction. If the production business has been started when the process scheduling request is initiated, the instruction currently being executed is the first instruction corresponding to the process scheduling request. When the directed acyclic graph corresponding to the process scheduling request is subsequently established, the first instruction is always the issuing end of the directed arrow, and, It is not always the pointing end of a directed arrow. Furthermore, the instruction to be executed is an instruction that has not been executed after the first instruction and needs to be executed. Different production lines may have the same first instruction and different instructions to be executed, or different first instructions and the same instructions to be executed. This article does not limit this. For each instruction in each production line (including instructions being executed and instructions to be executed), each instruction requires corresponding scheduling resources to complete the production task. Specifically, the scheduling resource information may at least include consumables information and production equipment information. The consumables information may at least include consumables quantity information and consumables type information. The production equipment information may at least include production equipment quantity information, production equipment type information, and production equipment location information. In some typical embodiments, the production equipment carries corresponding consumables, and different types of production equipment carry different types and / or quantities of consumables. The production equipment (such as a handling robot) is movable in the production workshop, thereby providing the required consumables for executing each instruction in the production line, and the amount of consumables carried by the production equipment meets the amount of consumables required to execute each instruction.

[0094] Furthermore, in some embodiments, after determining the instructions being executed, the instructions to be executed, and the scheduling resource information, the constraints can be determined based on the internal connections between the instructions, the scheduling resources required to execute the instructions, etc. The constraints characterize the operable range of executing each instruction under the current production line. The objective function is used to judge the scores of all solutions based on the actual scheduling information obtained in real time. Each solution represents a scheduling arrangement strategy. The solution obtained by optimizing the objective function under the constraints is an effective solution that meets the requirements of the actual process flow. Specifically, in order to ensure the accuracy of the optimal solution of the objective function and improve the effectiveness of the instruction execution strategy, the swarm intelligence optimization algorithm can also be used to search for the best solution in the search space to determine the optimal solution. The optimal solution of the objective function is determined to further improve the efficiency of process scheduling and solve the topological sorting problem under the dual constraints of process flow and equipment resources. In some embodiments, the instructions being executed, the instructions to be executed, the scheduling resource information, and the search space of the swarm intelligence optimization algorithm in the production line can be dynamically adjusted, and the corresponding optimal solution adapts to the dynamic changes in the process execution (for example, a new process flow is generated, and some steps of the process flow encounter abnormal stagnation). In some embodiments, the constraints support limiting the waiting interval time between adjacent instructions in the process flow, and support the dynamic adjustment process of following up the waiting interval time between adjacent instructions in the process flow, so that each process can be completed fully and effectively.

[0095] 3a, in some embodiments, establishing an objective function and constraints based on the executing instructions, pending instructions, scheduling resource information, and corresponding actual scheduling information may include:

[0096] S301: Establishing a directed acyclic graph according to the instructions being executed and the instructions to be executed;

[0097] S302: Traverse the nodes in the directed acyclic graph to obtain a node list that satisfies the priority relationship and dependency relationship between the nodes;

[0098] S303: Obtain the constraint condition based on the priority relationship and dependency relationship between the nodes in the directed acyclic graph, as well as the shortest time and minimum scheduling resources required to complete each node;

[0099] S304: Establishing the objective function according to the constraint conditions and the actual scheduling information of the node list.

[0100] It can be understood that, in some embodiments, for ease of understanding, the process flow problem can be described as: a set of n instructions to be executed I = {I1, I2...I i …I n}(i∈[1,n]), I i The set J of the i-th instruction to be executed and the y instructions being executed is {J1, J2…Jj …J y}(j∈[1,y]), J j Represents the jth instruction being executed, the set of m available consumables R = {R1, R2…R r …R m}(r∈[1,m]), R r The set of r-th available consumables and f-number of available production equipment location resource groups G = {G1, G2...G k ...G f}(k∈[1,f]), each element of the resource group set G is a set of several available scheduling resources. Specifically, G k represents the kth available production equipment location resource group, which may include multiple production equipment with consumables such as handling robots and their location information, and the remaining execution time set T corresponding to n pending instructions or y executing instructions = {T1, T2…T v …T z}(v∈[1,z]), when z is n, it corresponds to n instructions to be executed, and when z is y, it corresponds to y instructions being executed. Furthermore, the process flow is a set of instructions, and a directed acyclic graph can be established based on the instructions being executed and the instructions to be executed.

[0101] Referring to Figure 3b, in some embodiments, taking the instruction being executed (or the first instruction) as A and the instructions to be executed as B and C as an example, A, B, and C are used as nodes of a directed acyclic graph. The directed acyclic graph can be described by a tuple (V, E), where V is a set of nodes, E is a set of directed edges, each directed edge connects two nodes, one of which is the starting point and the other is the end point, V = {A, B, C}, E = {(A, B), (A, C)}, the node contains the unique identifier id of the node, the execution time T_id, the scheduling resources R_id∈R and G_id∈G required by different nodes are different, the running status S of each node (S is one of the three states of not running, running, and completed), the waiting time (seconds) wait_T is limited, and the directed edge contains the predecessor instruction (i.e., the predecessor node) id and the successor instruction (i.e., the successor node) id.

[0102] Further, referring to FIG3b , in some embodiments, there are execution priority relationships and dependency relationships between the nodes in the directed acyclic graph. Priority refers to the importance and urgency of the task, and tasks with higher priorities should be scheduled first. The dependency relationship refers to the front-end relationship between tasks, that is, some tasks must be started after other tasks are completed. For example, there is a dependency relationship between A and B. In Figure 3b, A points to B, which means that A is executed before B. When there is no dependency relationship between the two nodes, the priority relationship between the two nodes is considered. Furthermore, when there is no priority relationship and dependency relationship between two instructions, the same scheduling resources may be occupied by the two instructions at the same time. Suppose instruction A occupies scheduling resources R_1 and R_2, instruction B occupies scheduling resources R_3 and R_4, and instruction C occupies scheduling resources R_4 and R_5. When instruction B and instruction C both occupy scheduling resource R_4, refer to Figure 3c and Figure 3d, by adjusting the order of elements in the queue and changing the edges of the directed acyclic graph, it can be indicated whether the scheduling resource R_4 is occupied by B first or by C first, thereby obtaining multiple directed acyclic graphs corresponding to different feasible process scheduling methods, and each directed acyclic graph corresponds to a different node list representing different instruction execution strategies.

[0103] Furthermore, in some embodiments, in terms of the internal connections between nodes, the constraints include the priority relationships and dependency relationships between nodes. In terms of node scheduling resource requirements, the constraints include the shortest time and minimum scheduling resources required to complete each node. In some embodiments, the ID of the first instruction can also be used as one of the constraints.

[0104] 4 , in some embodiments, establishing a directed acyclic graph based on the instructions being executed and the instructions to be executed may include:

[0105] S401: Taking the instruction being executed as the starting point of a directed acyclic graph, and determining a starting point dependency relationship between the starting point and the instruction to be executed;

[0106] S402: Determine the intermediate priority relationship and intermediate dependency relationship between the instructions to be executed;

[0107] S403: Establish the directed acyclic graph according to the starting point dependency relationship, the intermediate priority relationship and the intermediate dependency relationship.

[0108] It can be understood that in some embodiments, when determining a directed acyclic graph, when the number of nodes is large, the starting point node is not directly connected to the end point node. After determining the starting point, according to the intermediate priority relationship and intermediate dependency relationship of the intermediate nodes that are not the starting point, the directed acyclic graph can be accurately and quickly established by connecting from the starting point to the terminal one by one.

[0109] 5 , in some embodiments, establishing a directed acyclic graph based on the instructions being executed and the instructions to be executed may further include:

[0110] S501: Determine instructions to be executed at the same level that do not have a priority relationship or a dependency relationship according to the intermediate priority relationship and the intermediate dependency relationship;

[0111] S502: Create corresponding multiple directed acyclic graphs using instructions to be executed at the same level that occupy the same scheduling resources.

[0112] It can be understood that, in some embodiments, instructions to be executed at the same level represent instructions that have not been executed yet and have no priority relationship or dependency relationship with each other, and instructions to be executed at the same level have the possibility of being executed at the same time. Furthermore, among the instructions to be executed at the same level, instructions that have the possibility of scheduling the same scheduling resources at the same time can be screened out, that is, instructions to be executed at the same level that request to occupy the same scheduling resources at the same time. It can be understood that in the job shop, the same scheduling resources are exclusive and may be occupied by two or more instruction requests at the same time. Accordingly, in the process of constructing a directed acyclic graph, it is necessary to judge the execution order between instructions to be executed at the same level that occupy the same scheduling resources based on the exclusivity of the same scheduling resources, thereby obtaining multiple feasible construction methods of the directed acyclic graph.

[0113] It should be noted that, in some embodiments, instructions to be executed at the same level may not only exist in the same directed acyclic graph, corresponding to one production line, but may also exist in multiple directed acyclic graphs, corresponding to multiple production lines. For example, in a directed acyclic graph DAG-A, multiple nodes A1, A2, and A3 all request to occupy the same scheduling resources at the same time, and nodes A1, A2, and A3 are instructions to be executed at the same level; in multiple directed acyclic graphs DAG-B, DAG-C, and DAG-D, multiple nodes B1∈DAG-B, B2∈DAG-B, C1∈DAG-C, C2∈DAG-C, D1∈DAG-D, and D2∈DAG-D all request to occupy the same scheduling resources at the same time. For different scheduling resources, although instructions B1∈DAG-B, B2∈DAG-B, C1∈DAG-C, C2∈DAG-C, D1∈DAG-D, and D2∈DAG-D correspond to different directed acyclic graphs, they are still instructions to be executed at the same level. When making scheduling decisions, according to the intermediate priority relationship and intermediate dependency relationship of each directed acyclic graph, it can be determined that there is no restriction on the processing order between instructions B1∈DAG-B, B2∈DAG-B, C1∈DAG-C, C2∈DAG-C, D1∈DAG-D, and D2∈DAG-D. Based on the obtained instructions to be executed at the same level, a feasible directed acyclic graph for each production line can be quickly established and improved.

[0114] Furthermore, when obtaining instructions to be executed at the same level, this document does not limit the method for obtaining instructions to be executed at the same level. In some typical embodiments, when running one or more production lines, the first alternative instruction that does not have a priority relationship and a dependency relationship can be first determined based on the intermediate priority relationship and the intermediate dependency relationship, and then it is determined whether the first alternative instruction needs to occupy the same scheduling resources to obtain the first alternative instruction that occupies the same scheduling resources. Furthermore, in some embodiments, it is also possible to determine the execution time intervals of each node corresponding to the first alternative instruction that occupies the same scheduling resources based on the time axis comparison according to the historical process scheduling data of the operation workshop, so as to obtain the final target instructions to be executed at the same level, thereby establishing multiple feasible directed acyclic graphs and corresponding multiple node lists. It should be noted that in some embodiments, the final target instructions to be executed at the same level can also be determined by first determining whether the execution time intervals of each node overlap, and then determining whether each node occupies the same scheduling resources or other methods, and this document does not limit this.

[0115] 6 , in some embodiments, establishing the objective function based on the constraint conditions and the actual scheduling information of the node list may include:

[0116] S601: Obtaining actual scheduling information of the node list and preset waiting times of parent and child nodes; wherein the actual scheduling information includes actual waiting times of parent and child nodes, actual time consumption of each node, actual scheduling resource consumption of each node, total time consumption of traversing the list, and transportation routes of scheduling resources;

[0117] S602: Determine a waiting deviation based on the actual waiting time of the parent and child nodes and the preset waiting time of the parent and child nodes;

[0118] S603: Determine the node time consumption deviation according to the actual time consumption of each node and the constraint condition;

[0119] S604: Determine a scheduling resource consumption deviation according to the actual scheduling resource consumption of each node and the constraint condition;

[0120] S605: Perform nonlinear weighting on the waiting deviation, scheduling resource consumption deviation, node time deviation, total time consumed in traversing the list, and transportation route to obtain an objective function.

[0121] It can be understood that in some embodiments, the actual scheduling information is all historically real scheduling information, the establishment of the objective function is based on the fitness algorithm, the preset waiting time of the parent and child nodes refers to the maximum waiting interval time after the parent node ends and before the child node corresponding to the parent node is executed, the preset waiting time of the parent and child nodes can be used to control the time consumption and overall time consumption of each instruction of the production line, and can also ensure that each execution is fully and completely executed, the transportation route of the scheduling resources refers to the action path of the movable production equipment when traversing each node when executing the current node list, generally speaking, the production equipment moves at a constant speed, so the corresponding transportation time can be quickly obtained according to the transportation route, the constraints include the shortest time and the minimum scheduling resources required for each node, the node time deviation can be determined according to the actual time consumption of each node and the shortest time required for each node, and the scheduling resource consumption can be determined according to the actual scheduling resource consumption of each node and the minimum scheduling resource required for each node. Given the scheduling resource consumption deviation, it should be noted that the shortest time and the minimum scheduling resources required for each node are both expected values, which are data under an ideal state. The waiting deviation, scheduling resource consumption deviation, node time deviation, total time spent on traversing the list, and transportation route (transportation route can also be transportation time) are data quantities that are mutually correlated and are suitable for the Copula algorithm to obtain nonlinear weights, thereby using nonlinear weights to represent the importance of the impact of different types of data in each node on the output value of the objective function. According to the nonlinear weights, the waiting deviation, scheduling resource consumption deviation, node time deviation, total time spent on traversing the list, and transportation route (transportation route can also be transportation time) are nonlinearly weighted to establish the objective function, ensuring that the objective function can balance the total time spent on traversing the node list, the waiting deviation when traversing each node, the time deviation, etc., so that the optimal solution of the objective function can ensure that the process scheduling is carried out smoothly and efficiently. It should be noted that in some embodiments, the calculation of the objective function and fitness can be performed in a single thread or in parallel in multiple threads, which is not limited in this article.

[0122] 7 , in some embodiments, optimizing the objective function under the constraints using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function may include:

[0123] S701: Map the multiple node lists to generate corresponding search domains;

[0124] S702: Initializing a population in the search domain using an improved chaotic map;

[0125] S703: Update the positions of all individuals in the population based on the individual's behavioral attributes;

[0126] S704: Determine whether the updated position of each individual exceeds the preset area;

[0127] S705: If the preset area is exceeded, the individual position is updated using the position update algorithm corresponding to the behavior attribute;

[0128] S706: If the preset area is not exceeded, the position of the individual in the population is disturbed;

[0129] S707: Determine whether to update the position of the individual using the position update algorithm corresponding to the attribute information based on the fitness of the individual before and after the disturbance; wherein the fitness of the individual is determined based on the position of the individual and the objective function;

[0130] S708: Repeat the above steps of updating individual positions until the number of iterations reaches a first threshold, and a first optimal solution is obtained.

[0131] It can be understood that, in some embodiments, when the swarm intelligence optimization algorithm is used to optimize the objective function, the multiple feasible node lists are first numbered and mapped into a search domain (i.e., search space), and the improved chaotic mapping is used to initialize the individual positions in the population within the search domain to reduce the possibility of falling into local optimality caused by conventional random mapping. Then, according to the objective function, the fitness of the result of the initialized population is calculated (i.e., the output value of the objective function), and the node list information corresponding to the individual position of the current individual is input into the objective function to obtain the fitness of the current individual. The fitness represents the accuracy of the current individual position and the superiority of the corresponding solution. The individual position is then updated according to the preset behavioral attributes of each individual in the population, and it is determined whether the position of each individual after the update exceeds the preset area. The preset area refers to an area that is smaller than the search domain and more suitable for individual survival. Individuals with different behavioral attributes correspond to The preset area is different. If the individual exceeds the preset area after updating the position, it is necessary to use the position update algorithm corresponding to the behavioral attribute of the individual to update the individual position. If it does not exceed the preset area, it means that the current individual is in the preset area suitable for survival, but may not be in the best survival position. In this case, the position of the individual in the population can be disturbed, and the individual fitness before and after the disturbance can be calculated. If the individual fitness after the disturbance is not as good as the individual fitness before the disturbance, the position update algorithm is continued to be used to update the individual position, thereby avoiding the situation where only the individual position is updated to update the individual, further improving the global ergodicity of the individual, and avoiding falling into the local optimum. After that, the individual position is updated repeatedly until the number of iterations reaches the first threshold and the first optimal solution is obtained. The first optimal solution is obtained on the basis of improving the global traversal ability of the swarm intelligence algorithm and can be used as the optimal solution of the objective function.

[0132] Furthermore, in some embodiments, the behavioral attributes of an individual may be one or more of hang-out, reproduce, and comida, or other behavioral attributes, which are not limited herein.

[0133] For the hang-out attribute, the position update algorithm can be constructed using the following formula: i (t+1)=x i (t)+a×b×x i (t-1)+c×Δx Δx=|x i (t)-X w |

[0134] Among them, x i (t+1) is the position of the i+1th individual at the tth iteration, x i (t) is the position of the i-th individual at the t-th iteration, x i (t-1) is the position of the i-th individual at the t-1th iteration, b∈(0,0.2), b is the deflection coefficient, c∈(0,1), c is the natural coefficient, Δx is the degree of change in light intensity, where X w is the position with the worst fitness in the current population;

[0135] For the reproduct attribute, the position update algorithm can be constructed using the following formula: Lb′=max(X′×(1-R),Lb) Ub′=min(X′×(1+R),Ub) y i (t+1)=X′+y1×(y i (t)-Lb′)+y2×(y i (t)-Ub′)

[0136] Among them, Lb′ and Ub′ are the lower and upper limits of the individual reproduction area, Lb and Ub are the lower and upper limits of the search space, X′ is the optimal position in the current population, R is the inertia weight, and T max is the maximum number of iterations that changes during algorithm iteration, y i (t) is the position of the i-th reproduction product at the t-th iteration, y1 and y2 are one-dimensional independent random vectors whose dimensions match the position vector;

[0137] For the comida attribute, the location update algorithm can be constructed using the following formula: Lb″=max(X″×(1-R),Lb) Ub″=min(X″×(1+R),Ub) x i (t+1)=x i (t)+d×(x i (t)-Lb″)+f×(x i (t)-Ub″)

[0138] Among them, X″ is the global optimal position, Lb″ and Ub″ are the lower and upper limits of the optimal foraging area, respectively, and x i(t+1) is the position of the i+1th individual at the tth iteration, x i (t) is the position of the i-th individual at the t-th iteration, x i (t-1) is the position of the i-th individual at the t-1-th iteration, d is a normally distributed random number, and f is a random vector belonging to (0, 1).

[0139] 8 , in some embodiments, optimizing the objective function under the constraints using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function may further include:

[0140] S801: Initialize simulated annealing parameters;

[0141] S802: Randomly select a temporary solution in the neighborhood of the first optimal solution using an improved chaotic mapping;

[0142] S803: Determine a target solution based on the fitness of the first optimal solution and the temporary solution using the Monte Carlo criterion;

[0143] S804: Determine whether the target solution meets the preset conditions under the current simulated annealing parameters;

[0144] S805: If the preset conditions are not met, repeat the above process of randomly selecting a temporary solution to update the target solution until the target solution meets the preset conditions;

[0145] S806: If the preset conditions are met, the simulated annealing parameters are cooled, and the above steps of randomly selecting a temporary solution are repeated until the number of iterations reaches a second threshold, and a second optimal solution is obtained.

[0146] It can be understood that in some embodiments, the simulated annealing parameters are used to further optimize within the neighborhood of the first optimal solution. Specifically, first, at the initial temperature of the simulated annealing parameters, a temporary solution is randomly selected within the neighborhood of the first optimal solution using an improved chaotic map. Then, the Monte Carlo criterion is used to compare the fitness of the first optimal solution and the temporary solution to determine the target solution. The Monte Carlo criterion is used to determine the probability of receiving the temporary solution and is constructed using the following formula:

[0147] Where p is the probability of receiving a temporary solution, E t+1 is the fitness of the new solution, E t is the fitness of the current solution, α is the cooling coefficient, T t is the current temperature.

[0148] Specifically, in some embodiments, the simulated annealing parameters include an initial temperature, a cooling coefficient, and a final temperature. If the fitness of the current temporary solution is better than the first optimal solution, the temporary solution is currently used as the target solution. Otherwise, whether the probability obtained according to the Monte Carlo criterion exceeds the preset probability, if it exceeds, the current temporary solution is accepted as the target solution. After obtaining the target solution, it is determined whether the fitness corresponding to the current target solution meets the preset conditions (usually a preset value). If the preset conditions are not met, the process of randomly selecting a temporary solution as above is repeated to update the target solution until the target solution meets the preset conditions. After meeting the preset conditions, the initial temperature is cooled using the cooling coefficient, and the steps of randomly selecting a temporary solution as above are repeated until the number of iterations reaches a second threshold and the second optimal solution is obtained. It should be noted that The cooling coefficient is a data that decreases dynamically with the increase of running time and number of iterations. In the early stage of calculating the second optimal solution, the cooling coefficient is large and the temperature drops quickly, avoiding accepting too many poor results and reducing the time required for running. When the running time increases, the cooling coefficient is small and the temperature drops slowly, so as to stabilize the calculation results faster. Furthermore, in some embodiments, when the number of iterations increases to a certain number but still does not reach the second threshold, the result may have reached stability, but there is still some time before the end of the algorithm. Appropriate output conditions can be used to match the output results. The program can be terminated when the output conditions are met, reducing computing power consumption. When the final temperature is greater than the current temperature, the program also terminates the iteration. At this time, the solution with the best fitness in the iterative process is output as the second optimal solution.

[0149] Furthermore, in some embodiments, the improved chaotic map is obtained by introducing a random variable constructed based on the number of chaotic sequence particles into the Tent chaotic map.

[0150] It can be understood that, in some embodiments, the improved chaotic map can be constructed using the following formula:

[0151] Among them, x l+1 is the l+1th mapping result, x l is the lth mapping result, N is the number of particles in the chaotic sequence obtained by mapping, and rand(0,1) is a random number between (0,1). The use of the improved chaotic mapping not only maintains the randomness, ergodicity, and regularity of the chaotic mapping, but also effectively avoids the iteration from falling into the small periodic points and unstable periodic points existing in the chaotic mapping.

[0152] 9 , in some embodiments, perturbing the positions of individuals in a population may include:

[0153] S901: Obtain the current number of iterations and the maximum number of iterations when disturbing individual positions;

[0154] S902: Determine a dynamic selection probability based on the current number of iterations and the maximum number of iterations using a preset dynamic selection probability parameter;

[0155] S903: Using the current number of iterations as a degree of freedom, establishing a perturbation strategy based on the dynamic selection probability;

[0156] S904: Using the perturbation strategy to perturb the positions of individuals in the population.

[0157] It can be understood that in some embodiments, the following formula is used to establish a perturbation strategy based on the dynamic selection probability, with the current number of iterations as the degree of freedom:

[0158] in, is the individual position after interference, x h is the position of the hth individual, t(iter) is the t distribution with the current iteration number iter as the degree of freedom, p is the dynamic selection probability, β is the probability threshold, usually taken as 0.5. The introduction of the t distribution operator t(iter) with the degree of freedom of the current iteration number as a random interference term to perturb the individual position increases the random interference information, which helps the algorithm to escape the trap of local optimality. As the current iteration number iter increases, the t distribution gradually approaches the Gaussian distribution, which helps to enhance the convergence speed of the algorithm. However, although the random interference term x h ×t(iter) can greatly improve the optimization performance of the algorithm, but if it is used indiscriminately for all individuals in each iteration, on the one hand, it will increase the running time of the algorithm, and on the other hand, it will not be conducive to ensuring good local exploration capabilities in the later stages of the iteration. Therefore, in some embodiments, a dynamic selection probability is introduced to adjust the use of the adaptive t-distribution operator. The dynamic selection probability makes it more likely that in the early stages of the algorithm, the t-distribution operator with a degree of freedom equal to the current number of iterations will be used to perturb the individual positions, thereby improving the original algorithm's tendency to converge to the optimal solution in the early stages of the iteration. At the same time, in the later stages of the iteration, the original algorithm's good local development capabilities are fully utilized, and the t-distribution variation with a smaller probability is used as a supplement to improve the convergence speed of the algorithm. Specifically, in some embodiments, the dynamic selection probability can be determined according to the following formula:

[0159] Where Max is the maximum number of iterations, iter is the current number of iterations, ω1 and ω2 are the upper limit of the dynamic selection probability and the range of change of the dynamic selection probability, respectively. In some common embodiments, ω1 = 0.5 and ω2 = 0.1.

[0160] It should be noted that although the operations of the method of the present invention are described in a specific order in the above embodiments and drawings, this does not require or imply that these operations must be performed in this specific order, or that all illustrated operations must be performed to achieve the desired results. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0161] Corresponding to the above-mentioned process scheduling method, some embodiments of this specification further provide a process scheduling device. Referring to FIG10 , in some embodiments, the device may include:

[0162] Receiving module 1001, used to receive a process scheduling request;

[0163] A determination module 1002 is configured to determine, in response to the process scheduling request, information about instructions being executed, instructions to be executed, and scheduling resources;

[0164] Establishing module 1003, for establishing an objective function and constraint conditions according to the executing instruction, the to-be-executed instruction, the scheduling resource information and the corresponding actual scheduling information;

[0165] An optimization module 1004 is configured to optimize the objective function under the constraints using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function;

[0166] The scheduling module 1005 is used to determine the instruction execution strategy using the optimal solution to perform process scheduling.

[0167] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0168] It should be noted that in the embodiments of this specification, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user and fully authorized by all parties.

[0169] The embodiments of this specification also provide a computer device. As shown in Figure 11, in some embodiments of this specification, the computer device 1102 may include one or more processors 1104, such as one or more central processing units (CPUs) or graphics processing units (GPUs), and each processing unit may implement one or more hardware threads. The computer device 1102 may also include any memory 1106, which is used to store any type of information such as code, settings, data, etc. In a specific embodiment, the computer program on the memory 1106 and capable of running on the processor 1104, when the computer program is run by the processor 1104, can execute the instructions of the method described in any of the above embodiments. Non-limitingly, for example, the memory 1106 may include any one or more combinations of the following: any type of RAM, any type of ROM, a flash memory device, a hard disk, an optical disk, etc. More generally, any memory can use any technology to store information. Further, any memory can provide volatile or non-volatile retention of information. Further, any memory can represent a fixed or removable component of the computer device 1102. In one embodiment, when the processor 1104 executes the associated instructions stored in any memory or combination of memories, the computer device 1102 can perform any operation of the associated instructions. The computer device 1102 also includes one or more drive mechanisms 1108 for interacting with any memory, such as a hard disk drive mechanism, an optical disk drive mechanism, etc.

[0170] The computer device 1102 may also include an input / output interface 1110 (I / O) for receiving various inputs (via input devices 1112) and for providing various outputs (via output devices 1114). A specific output mechanism may include a presentation device 1116 and an associated graphical user interface 1118 (GUI). In other embodiments, the input / output interface 1110 (I / O), input devices 1112, and output devices 1114 may not be included, and the computer device 1102 may simply be a computer device in a network. The computer device 1102 may also include one or more network interfaces 1120 for exchanging data with other devices via one or more communication links 1122. One or more communication buses 1124 couple the components described above together.

[0171] The communication link 1122 may be implemented in any manner, for example, via a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1122 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., governed by any protocol or combination of protocols.

[0172] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), computer-readable storage media, and computer program products of some embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processor to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processor produce a device for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0173] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processor to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0174] These computer program instructions can also be loaded onto a computer or other programmable data processor so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0175] In a typical configuration, a computer device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0176] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0177] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computer device. As defined in this specification, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0178] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0179] Embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. Embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processors connected via a communications network. In distributed computing environments, program modules may be located in local and remote computer storage media, including storage devices.

[0180] It should also be understood that in the embodiments of this specification, the term "and / or" is merely a description of the association relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0181] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0182] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiments of this specification. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.

[0183] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A process scheduling method, It is characterized in that The method comprises: Receive process scheduling requests; In response to the process scheduling request, determining the instructions being executed, the instructions to be executed, and the scheduling resource information; Establishing an objective function and constraint conditions according to the instructions being executed, the instructions to be executed, the scheduling resource information and the corresponding actual scheduling information; Optimizing the objective function under the constraints by using a swarm intelligence optimization algorithm to obtain an optimal solution to the objective function; The optimal solution is used to determine the instruction execution strategy for process scheduling.

2. The method according to claim 1, It is characterized in that Establishing an objective function and constraint conditions according to the instructions being executed, the instructions to be executed, the scheduling resource information and the corresponding actual scheduling information, including: Establishing a directed acyclic graph according to the instructions being executed and the instructions to be executed; Traversing the nodes in the directed acyclic graph to obtain a node list that satisfies the priority relationship and dependency relationship between the nodes; Obtaining the constraint condition according to the priority relationship and dependency relationship between the nodes in the directed acyclic graph, and the shortest time and the least scheduling resources required to complete each node; The objective function is established according to the constraint conditions and the actual scheduling information of the node list.

3. The method according to claim 2, It is characterized in that A directed acyclic graph is established according to the instructions being executed and the instructions to be executed, including: Taking the instruction being executed as the starting point of a directed acyclic graph, and determining a starting point dependency relationship between the starting point and the instruction to be executed; Determining the intermediate priority relationship and the intermediate dependency relationship between the instructions to be executed; The directed acyclic graph is established according to the starting point dependency relationship, the intermediate priority relationship and the intermediate dependency relationship.

4. The method according to claim 3, It is characterized in that Establishing a directed acyclic graph according to the instructions being executed and the instructions to be executed further includes: According to the intermediate priority relationship and the intermediate dependency relationship, determining instructions to be executed at the same level that do not have a priority relationship and a dependency relationship; Multiple corresponding directed acyclic graphs are established using the same-level to-be-executed instructions occupying the same scheduling resources.

5. The method according to claim 4, It is characterized in that According to the constraint conditions and the actual scheduling information of the node list, the objective function is established, including: Obtaining the actual scheduling information of the node list and the preset waiting time of the parent and child nodes; wherein the actual scheduling information includes the actual waiting time of the parent and child nodes, the actual time consumed by each node, the actual scheduling resource consumption of each node, the total time consumed to traverse the list, and the transportation route of the scheduling resources; Determine the waiting deviation according to the actual waiting time of the parent and child nodes and the preset waiting time of the parent and child nodes; Determine the node time consumption deviation according to the actual time consumption of each node and the constraint condition; Determine the scheduling resource consumption deviation according to the actual scheduling resource consumption of each node and the constraint condition; The waiting deviation, scheduling resource consumption deviation, node time deviation, total time consumption for traversing the list and the transportation route are nonlinearly weighted to obtain an objective function.

6. The method according to claim 4, It is characterized in that After establishing a plurality of corresponding directed acyclic graphs using the instructions to be executed at the same level occupying the same scheduling resources, the method further includes: The nodes in the multiple directed acyclic graphs are traversed to obtain multiple node lists that satisfy the priority relationship and dependency relationship between the nodes.

7. The method according to claim 6, It is characterized in that Optimizing the objective function under the constraint conditions by a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function includes: Mapping the multiple node lists to generate corresponding search domains; In the search domain, a population is initialized using an improved chaotic map; Update the positions of all individuals in the population based on the individual's behavioral attributes; Determine whether the updated position of each individual exceeds the preset area; If it exceeds the preset area, the individual position is updated using the position update algorithm corresponding to the behavior attribute; If it does not exceed the preset area, the position of the individuals in the population is disturbed; According to the fitness of the individual before and after the disturbance, determining whether to update the individual position using the position update algorithm corresponding to the attribute information; the fitness of the individual is determined according to the individual position and the objective function; Repeat the above steps of updating individual positions until the number of iterations reaches a first threshold, and obtain the first optimal solution.

8. The method according to claim 7, It is characterized in that Optimizing the objective function under the constraint conditions by a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function further includes: Initialize simulated annealing parameters; In the neighborhood of the first optimal solution, a temporary solution is randomly selected by using an improved chaotic mapping; Determine the target solution according to the fitness of the first optimal solution and the temporary solution by using the Monte Carlo criterion; Determine whether the target solution meets the preset conditions under the current simulated annealing parameters; If the preset conditions are not met, repeat the above process of randomly selecting a temporary solution to update the target solution until the target solution meets the preset conditions; If the preset conditions are met, the simulated annealing parameters are cooled, and the above steps of randomly selecting a temporary solution are repeated until the number of iterations reaches a second threshold, and a second optimal solution is obtained.

9. The method according to claim 7 or 8, It is characterized in that The improved chaotic map is obtained by introducing a random variable constructed based on the number of chaotic sequence particles into the Tent chaotic map.

10. The method according to claim 7, It is characterized in that Perturb the positions of individuals in the population, including: Get the current number of iterations and the maximum number of iterations when perturbing individual positions; Determining the dynamic selection probability according to the current number of iterations and the maximum number of iterations using a preset dynamic selection probability parameter; Taking the current iteration number as the degree of freedom, establishing a perturbation strategy based on the dynamic selection probability; The perturbation strategy is used to perturb the positions of individuals in the population.

11. A process scheduling device, It is characterized in that The device comprises: A receiving module, used for receiving a process scheduling request; A determination module, configured to determine, in response to the process scheduling request, instructions being executed, instructions to be executed, and scheduling resource information; An establishment module is used to establish an objective function and constraint conditions according to the instructions being executed, the instructions to be executed, the scheduling resource information and the corresponding actual scheduling information; An optimization module, used to optimize the objective function under the constraint conditions by using a swarm intelligence optimization algorithm to obtain an optimal solution of the objective function; The scheduling module is used to determine the instruction execution strategy using the optimal solution to perform process scheduling.

12. A computer device comprising a memory, a processor, and a computer program stored on the memory, It is characterized in that When the computer program is executed by the processor, the computer program executes the instructions of the method according to any one of claims 1 to 10.

13. A computer storage medium having a computer program stored thereon, It is characterized in that When the computer program is executed by a processor of a computer device, the computer program executes the instructions of the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Cloud computing workflow dynamic scheduling method and device, equipment and storage medium

    CN113434267A

  • Radar resource scheduling strategy and device based on ant colony algorithm, and electronic equipment

    CN114781950A

  • Task scheduling method and device, electronic equipment, storage medium and product

    CN115686792A

  • Artificial intelligence-based task scheduling method and device, equipment and storage medium

    CN115794341A

  • Workflow multi-target scheduling method based on improved whale optimization algorithm

    CN116305747A

Cited By

  • Impeller processing production line resource dynamic scheduling method and system

    CN120373811A

  • Humanoid robot task scheduling method and device in humanoid robot training ground

    CN120598286A

  • Enterprise resource intelligent configuration method and system based on dynamic priority

    CN120724861A

  • Intelligent factory production optimization method and system based on AI scheduling

    CN120725241A

  • Building engineering plan intelligent management method and system

    CN120911667A