Random rework multi-task scheduling method, device, equipment and medium
By constructing a balanced allocation problem through a set of priority rules and the Rollout algorithm, repeated decisions are eliminated, solving the problems in existing technologies where random dynamic programming algorithms cannot solve large-scale problems and where approximate algorithms have poor optimization effects, and achieving efficient and stable multi-task scheduling.
Patent Information
- Application Number
- CN202410119895.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-26
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-01-26
AI Technical Summary
The randomized dynamic programming algorithm in the existing technology can only solve small-scale problems and cannot solve practical engineering problems. The optimization effect of the existing approximate algorithm is poor and the calculation is time-consuming, and the performance is not stable enough in different problem environments.
The random rework multi-task scheduling method is adopted. Through the priority rule set, two-stage heuristic algorithm and Rollout algorithm, the balanced allocation problem is constructed, repeated decisions are eliminated, the optimal decision is selected, and multi-task scheduling is achieved.
It improves the decision-making optimization effect, ensures high efficiency, is applicable to practical problems in large-scale engineering, and improves the optimization effect and stability of the algorithm in different environments.
Smart Images

Figure CN117933655B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of product development, and in particular to a random rework multi-task scheduling method, a corresponding device, an electronic device and a computer readable storage medium. BACKGROUND
[0002] In the process of new product development, the product design scheme often needs to be confirmed by the customer or subjected to technical review, resulting in frequent rework. Similarly, in the process of precision products, especially high-end equipment manufacturing, due to the high precision requirement of products, rework often occurs in some processes. At present, for the multi-task scheduling problem with random rework, enterprises mainly rely on the experience of managers to make decisions, which is difficult to achieve scientific and efficient.
[0003] At present, the methods mainly proposed for this problem are precise algorithm and approximate algorithm, among which the precise algorithm is based on random dynamic programming to solve the optimal strategy, and the approximate algorithm is mainly based on heuristic rules or transforms the original problem into a deterministic problem and then solves it by intelligent algorithm. However, the random dynamic programming algorithm can only solve very small-scale problems and cannot solve engineering problems; and the optimization effect of the existing approximate algorithm is usually poor or the calculation is very time-consuming, and the performance in different problem environments is not stable enough.
[0004] In summary, to solve the problems that the random dynamic programming algorithm in the prior art can only solve very small-scale problems and cannot solve engineering problems, and the optimization effect of the existing approximate algorithm is usually poor or the calculation is very time-consuming, and the performance in different problem environments is not stable enough, the present applicant makes corresponding exploration in view of solving the problem. SUMMARY
[0005] The present application aims to solve the above problems and provide a random rework multi-task scheduling method, a corresponding device, an electronic device and a computer readable storage medium.
[0006] To meet various purposes of the present application, the present application adopts the following technical solutions:
[0007] A random rework multi-task scheduling method is proposed to adapt to one of the purposes of the present application, comprising:
[0008] In response to a random rework multi-task scheduling instruction, a to-be-scheduled task S t and a resource set K are obtained.
[0009] It is detected whether the to-be-scheduled task S t is greater than the resource set K, and when the to-be-scheduled task S t is greater than the resource set K, a priority rule r in a priority rule set R is used to schedule the to-be-scheduled task S tSort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems;
[0010] Input each rule in the priority rule set R into a preset two-stage heuristic algorithm to obtain |R| decisions, and eliminate duplicate decisions in the |R| decisions to determine the alternative action set A x ;
[0011] Based on the preset Rollout algorithm, select the action from the set A x Select the optimal decision to complete multi-task scheduling with random rework.
[0012] Optionally, detect the task to be scheduled S t After the step of whether it is greater than the resource set K, it includes:
[0013] The task to be scheduled S is detected t Less than the resource set K, all the tasks to be scheduled S t Migrate to the collection middle;
[0014] Construct |K|-|S t | a virtual task, wherein the virtual task is a task whose delivery period, construction period, and rework probability parameters are all zero.
[0015] Optionally, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t The steps of sorting and selecting the first |K| tasks according to the priority to form a set S to construct different balanced allocation problems include:
[0016] The equilibrium allocation problem is expressed as an integer programming model, including:
[0017] Define the known quantities, where Indicates a task The value weight of Indicates a task delivery period; Indicates a task The mean of the remaining total duration when processed by resource k∈K is determined using the aggregate estimation method; represents the earliest idle time of resource k∈K; Indicates an extremely large number.
[0018] Optionally, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. tThe steps of sorting and selecting the first |K| tasks according to the priority to form a set S to construct different balanced allocation problems include:
[0019] The equilibrium allocation problem is expressed as an integer programming model, further comprising:
[0020] Define the decision variables, which are:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026] Among them, x ik ∈{0,1} represents the task Whether it is processed by resource k∈K; Indicates a task completion time.
[0027] Optionally, based on a preset Rollout algorithm, select the action from the set of alternative actions A. x The steps of selecting the optimal decision to complete the multi-task scheduling of random rework include:
[0028] make represents the set of basic heuristic algorithms used in the simulation evaluation action of the Rollout algorithm, {ω1, ω2, ...ω m} represents the future execution scenario samples of the remaining tasks;
[0029] In the sample ω l Basic heuristic algorithm From the state x after the decision a Start simulating the remaining task scheduling process to obtain the total weighted delay cost
[0030] Use the optimal decision algorithm to select the action set A x Select the best decision
[0031] Optionally, based on a preset Rollout algorithm, select the action from the set of alternative actions A. x The steps of selecting the optimal decision to complete the multi-task scheduling of random rework include:
[0032] The optimal decision algorithm is:
[0033]
[0034] Optionally, the task to be scheduled includes one or more of the parameters of delivery date, value weight, maximum number of rework times, construction period and rework probability.
[0035] A random rework multi-task scheduling device provided for another purpose of the present application includes:
[0036] The data acquisition module is set to respond to the random rework multi-task scheduling instruction and obtain the scheduled task S t and resource set K;
[0037] The balanced allocation problem building module is configured to detect the task S to be scheduled. t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t Sort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems;
[0038] The alternative action set determination module is configured to input each rule in the priority rule set R into a preset two-stage heuristic algorithm to determine |R| decisions, eliminate duplicate decisions in the |R| decisions to determine the alternative action set A x ;
[0039] The multi-task scheduling module is configured to select the action set A from the set of alternative actions based on a preset Rollout algorithm. x Select the optimal decision to complete multi-task scheduling with random rework.
[0040] An electronic device provided to meet another purpose of the present application includes a central processing unit and a memory, wherein the central processing unit is used to call and run a computer program stored in the memory to execute the steps of the random rework multi-task scheduling method described in the present application.
[0041] A computer-readable storage medium is provided to meet another purpose of the present application, which stores a computer program implemented according to the random rework multi-task scheduling method in the form of computer-readable instructions. When the computer program is called and executed by a computer, the steps included in the corresponding method are executed.
[0042] Compared with the prior art, the random rework multi-task scheduling method of the present application can solve the problem that the random dynamic programming algorithm can only solve very small-scale problems and cannot solve engineering practical problems, and the optimization effect of the existing approximate algorithm is usually poor or the calculation is very time-consuming, and the performance in different problem environments is not stable, and the present application includes but is not limited to the following beneficial effects:
[0043] Firstly, the random rework multi-task scheduling method proposed in the present application not only improves the decision optimization effect compared with the traditional heuristic algorithm, but also ensures high solving efficiency, and is suitable for solving large-scale engineering practical problems;
[0044] Secondly, the random rework multi-task scheduling method proposed in the present application can effectively play the advantages of different heuristic algorithms in different scheduling environments, further improving the optimization effect and stability of the algorithm;
[0045] Thirdly, the random rework multi-task scheduling method proposed in the present application is suitable for any multi-task scheduling scene with random rework, and has important significance for improving the scientific and intelligent decision-making level in related engineering fields. BRIEF DESCRIPTION OF DRAWINGS
[0046] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings, in which:
[0047] Figure 1 is a flowchart of the random rework multi-task scheduling method in the embodiments of the present application;
[0048] Figure 2 is a flowchart of constructing a balanced allocation problem in the embodiments of the present application;
[0049] Figure 3 is a flowchart of the integrated algorithm embedded with multiple priority rules in the embodiments of the present application;
[0050] Figure 4 is a principle block diagram of the random rework multi-task scheduling device in the embodiments of the present application;
[0051] Figure 5 is a structural schematic diagram of the computer device in the embodiments of the present application. DETAILED DESCRIPTION
[0052] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, in which the same or similar reference numerals represent the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be interpreted as a limitation on the present application.
[0053] It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, "connected," "coupled," and / or "coupling," can include both direct connections and / or indirect connections (i.e., via one or more other elements). As used herein, "connection" or "coupling" can include a wireless connection or a wireless coupling. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0054] Those skilled in the art will appreciate that unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the specification and relevant art and should not be interpreted in an overly legal sense unless expressly so defined herein.
[0055] It will be understood by those skilled in the art that the terms "client," "terminal," and "terminal device" as used herein include both devices that are wireless signal receivers, i.e., devices that only have wireless signal receivers without transmission capabilities, and devices that have receiving and transmitting hardware capable of two-way communication over a two-way communication link. Such devices may include: cellular or other communication devices such as personal computers and tablet computers, which have single-line displays, multi-line displays, or cellular or other communication devices without multi-line displays; PCS (Personal Communications Service), which may combine voice, data processing, fax, and / or data communication capabilities; PDA (Personal Digital Assistant), which may include a radio frequency receiver, a pager, Internet / Intranet access, a web browser, a notepad, a calendar, and / or a GPS (Global Positioning System) receiver; and conventional laptop and / or palmtop computers or other devices, which have and / or include a radio frequency receiver. As used herein, the terms "client," "terminal," or "terminal device" may be portable, transportable, or installed in a vehicle (air, sea, and / or land), or may be adapted and / or configured to operate locally and / or in a distributed manner at any other location on Earth and / or in space. As used herein, the terms "client," "terminal," or "terminal device" may also refer to a communication terminal, an Internet terminal, or a music / video playback terminal, such as a PDA, an MID (Mobile Internet Device), and / or a mobile phone with music / video playback capabilities, or may include a smart TV, a set-top box, or other device.
[0056] The hardware referred to by names such as "server", "client", and "service node" in this application is essentially an electronic device with capabilities equivalent to those of a personal computer. It is a hardware device that has the necessary components revealed by the von Neumann principle, such as a central processing unit (including an arithmetic unit and a controller), a memory, an input device, and an output device. Computer programs are stored in its memory, and the central processing unit loads the program stored in the external memory into the internal memory for execution, executes the instructions in the program, and interacts with the input and output devices to complete specific functions.
[0057] It should be noted that the concept of "server" referred to in this application can also be extended to server clusters. Based on the network deployment principles understood by those skilled in the art, the servers described should be logically divided. In physical space, these servers can be independent of each other but callable through interfaces, or integrated into a single physical computer or a computer cluster. Those skilled in the art should understand this flexibility and should not use it to constrain the implementation of the network deployment method of this application.
[0058] Unless expressly specified, one or more technical features of the present application can be deployed on a server for implementation and accessed by a client through a remote call to obtain an online service interface provided by the server, or can be directly deployed and run on a client for implementation.
[0059] Unless expressly specified otherwise, the neural network models referenced or may be referenced in this application may be deployed on a remote server and remotely called on the client, or may be deployed and directly called on a client with sufficient device capabilities. In some embodiments, when it runs on the client, its corresponding intelligence may be obtained through transfer learning to reduce the requirements for the client's hardware operating resources and avoid excessive occupation of the client's hardware operating resources.
[0060] Unless explicitly specified, the various data involved in this application can be stored remotely on a server or on a local terminal device, as long as they are suitable for being called by the technical solution of this application.
[0061] Those skilled in the art should be aware that although the various methods of this application are described based on the same concept and thus exhibit commonality, unless otherwise specified, these methods can be independently executed. Similarly, the various embodiments disclosed in this application are all based on the same inventive concept. Therefore, concepts with the same expression, as well as concepts that are appropriately transformed for convenience despite different expression, should be understood as equivalent.
[0062] Unless expressly stated to be mutually exclusive, the various embodiments disclosed in this application may be cross-combined with the relevant technical features of the various embodiments to flexibly construct new embodiments, as long as such combination does not deviate from the creative spirit of this application and can meet the needs of the prior art or resolve certain deficiencies in the prior art. Those skilled in the art should be aware of such flexibility.
[0063] During new product development, product design plans often require customer confirmation or technical review, leading to frequent rework. Similarly, in the manufacturing of precision products, especially high-end equipment, rework is common in some processes due to the high precision requirements. Currently, when it comes to multi-task scheduling with random rework, companies rely primarily on managers' experience to make decisions, making it difficult to achieve scientific and efficient results.
[0064] The multi-task scheduling problem with random rework consists of a set of tasks and a set of resources, where each task has a due date, a value weight, a maximum number of reworks, a duration, and a rework probability. The scheduling goal is typically to minimize the weighted delay cost after completing all tasks. Without considering random rework, this problem has been proven to be strongly NP-hard, meaning that it is difficult to obtain an optimal solution for large-scale problems. Obviously, the problem becomes even more complex when random rework is considered, as the timing and frequency of task rework are uncertain, making scheduling decisions even more difficult.
[0065] Based on the above example scenarios, please refer to Figure 1 In one embodiment, the random rework multi-task scheduling method of the present application includes:
[0066] Step S10: respond to the random rework multi-task scheduling instruction and obtain the task to be scheduled S t and resource set K;
[0067] The enterprise related information management system in the computer terminal device can respond to the random rework multi-task scheduling instruction and obtain the task to be scheduled S t and a resource set K, wherein the task to be scheduled includes one or more parameters of delivery date, value weight, maximum number of rework times, construction period and rework probability.
[0068] Step S20: Detect the task to be scheduled S t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t Sort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems;
[0069] The enterprise related information management system in the computer terminal device can detect the task to be scheduled S t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. tSort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems;
[0070] Detect the task to be scheduled S t After the step of whether it is greater than the resource set K, it includes:
[0071] Step S201: Detect the task to be scheduled S t Less than the resource set K, all the tasks to be scheduled S t Migrate to the collection middle;
[0072] Step S203: Construct |K|-|S t | a virtual task, wherein the virtual task is a task whose delivery period, construction period, and rework probability parameters are all zero.
[0073] Specifically, see Figure 2 , at any decision time t, assuming that the set of tasks to be scheduled is S t , the set of all resources is K. The decision that the manager needs to make at the current moment is to determine which tasks to be scheduled are assigned to which idle resources to start working; the construction of the balanced allocation problem is to select tasks with the same number as the number of resources from the set of tasks to be scheduled, so that they form a new set The reason for constructing the equilibrium allocation problem is that there is a polynomial algorithm for this problem, the famous Hungarian algorithm, which can solve large-scale problems quickly and accurately.
[0074] The problem of building a balanced allocation is mainly divided into the following three situations for analysis:
[0075] The first case is that the number of tasks to be scheduled is greater than the number of resources, that is, |S t |>|K|, at this time, the preset priority rule r is used to sort the tasks to be scheduled, and the first |K| tasks are selected according to the priority order to form a set;
[0076] The second situation is that the number of tasks to be scheduled is less than the number of resources, that is, |S t |<|K|, this corresponds to an unbalanced problem and cannot be solved directly using the Hungarian algorithm. Therefore, all tasks to be scheduled are moved to the set After that, we need to build |K|-|S t | virtual tasks. A virtual task is one with zero parameters, such as delivery date, duration, and rework probability. If a resource is assigned a virtual task, it means that the resource does not need to start the task at the current moment.
[0077] The third situation is that the number of tasks to be scheduled is exactly equal to the number of resources, that is, |S t| = |K|. The decision problem at this time is a balanced allocation problem itself, and there is no need to sort tasks by rules or construct virtual tasks.
[0078] When the number of tasks S t is greater than the number of resources K, the tasks S t are sorted by a priority rule r in the priority rule set R, and the first |K| tasks are selected to form a set S to construct different balanced allocation problems, including:
[0079] The balanced allocation problem is expressed as an integer programming model, including:
[0080] Define known quantities, wherein, represents the value weight of task ; represents the delivery period of task ; represents the average remaining total duration of task when processed by resource k∈K, determined by the aggregate estimation method; represents the earliest idle time of resource k∈K; represents a maximum number.
[0081] When the number of tasks S t is greater than the number of resources K, the tasks S t are sorted by a priority rule r in the priority rule set R, and the first |K| tasks are selected to form a set S to construct different balanced allocation problems, including:
[0082] The balanced allocation problem is expressed as an integer programming model, further including:
[0083] Define decision variables, which are:
[0084]
[0085]
[0086]
[0087]
[0088]
[0089] wherein x ik ∈{0,1} represents whether task is processed by resource k∈K; represents the completion time of task .
[0090] Step S30: Input each rule in the priority rule set R into a preset two-stage heuristic algorithm to obtain |R| decisions, remove duplicate decisions from the |R| decisions, and determine the alternative action set A. x ;
[0091] Establish an integrated algorithm that embeds multiple heuristic algorithms. t When |>|K|, using different priority rules may lead to different equilibrium allocation problems, resulting in different decisions under the same state. Because different priority rules have their own advantages in different environments, using only one rule to solve the problem is not only difficult to select a reasonable rule, but also cannot guarantee the decision-making optimization effect of this rule in all scheduling environments.
[0092] See also Figure 3 , for this purpose, the present application further proposes an integrated algorithm that embeds multiple priority rules on the basis of the aforementioned two-stage algorithm. The core framework of the integrated algorithm is the Rollout algorithm, an efficient approximate dynamic programming algorithm. Compared with the traditional random dynamic programming algorithm that completely enumerates the state space and action space, the integrated algorithm proposed in this application only needs to solve the decision under each state, and only uses the decisions obtained by the two-stage heuristic algorithm proposed in this application as alternative actions, rather than all optional actions. Therefore, the algorithm can effectively solve the actual scale problem of the project, and the optimization effect will be better than the two-stage heuristic algorithm based on a single rule. First, substitute each rule in the priority rule set R into the two-stage heuristic algorithm proposed in this application to obtain |R| decisions, and then delete the duplicate decisions to obtain the alternative action set A. x .
[0093] Step S40: Based on the preset Rollout algorithm, select the action from the set of candidate actions A. x Select the optimal decision to complete multi-task scheduling with random rework.
[0094] Eliminate repeated decisions in the |R| decisions and determine the set of alternative actions A x Afterwards, based on the preset Rollout algorithm, the candidate action set A is selected. x Select the optimal decision to complete multi-task scheduling with random rework.
[0095] Based on the preset Rollout algorithm, select the action from the set A x The steps of selecting the optimal decision to complete the multi-task scheduling of random rework include:
[0096] Step S401: represents the set of basic heuristic algorithms used in the simulation evaluation action of the Rollout algorithm, {ω1, ω2, ...ωm} represents the future execution scenario samples of the remaining tasks;
[0097] Step S403: In the sample ω l Basic heuristic algorithm From the state x after the decision a Start simulating the remaining task scheduling process to obtain the total weighted delay cost
[0098] Step S405: Use the optimal decision algorithm to select the action set A. x Select the best decision
[0099] The optimal decision algorithm is:
[0100]
[0101] Specifically, the Rollout algorithm is used to select the optimal action, represents the set of basic heuristic algorithms used in the simulation evaluation action of the Rollout algorithm, {ω1, ω2, ...ω m} represents the remaining task future execution scenario samples. In the sample ω l Basic heuristic algorithm From the state x after the decision a Start simulating the remaining task scheduling process to obtain the total weighted delay cost
[0102] Finally, we can select the action set A from the following formula: x Select the best decision
[0103]
[0104] The random rework multi-task scheduling method proposed in this application can be implemented in any programming language. Those skilled in the art can determine the programming language to implement the random rework multi-task scheduling method of this application as needed based on actual circumstances, and this is not limited here. It can be embedded in the enterprise's relevant information management system, and after inputting task and resource related information, scientific and efficient multi-task scheduling decisions with random rework can be implemented.
[0105] In some embodiments, to verify the effectiveness of this application, it was implemented in the C# programming language, and a computational experiment was designed based on a randomly generated multi-task scheduling example with random rework. The two algorithms proposed in this application were compared with existing algorithms, as shown below:
[0106] Experimental design
[0107] Two task sizes (20 and 50) were set, corresponding to 5 and 8 resource quantities, respectively. Furthermore, two rework intensities (H and L) and four delivery urgency levels (τ = (0.2, 0.4, 0.6, 0.8)) were set. The delivery date, value weight, maximum number of reworks, duration, and rework probability of each task were randomly generated.
[0108] Experimental results
[0109] The proposed method was compared with 10 traditional priority rules and two intelligent algorithms, using the relative deviation percentage as the evaluation metric (the smaller the metric, the better the optimization effect of the algorithm). The results are shown in Table 1. The cells corresponding to the rules in the table contain two relative deviation data. The data outside the brackets is the relative deviation percentage corresponding to the two-stage algorithm proposed in this application, and the data inside the brackets is the relative deviation percentage reduction compared to the traditional priority rule.
[0110] Table 1 Average relative deviation percentages corresponding to different methods
[0111]
[0112]
[0113] As can be seen from Table 1, the two-stage algorithm for the balanced allocation problem proposed in this application significantly improves optimization results compared to the traditional priority rule method, with the overall optimization effect of different priority rules improved by at least 8%. In addition, although the two-stage algorithm based on a single rule does not perform as well as the traditional intelligent algorithm, the integrated algorithm Rollout proposed in this application performs the best, with an overall optimization effect improved by nearly 2% compared to the two best intelligent algorithms (SA and IG).
[0114] Table 2 Single simulation calculation time corresponding to different methods (unit: seconds)
[0115]
[0116] Table 2 shows the computational time (in seconds) for a single simulation run using different methods. The two-stage algorithms based on different priority rules all have similar computational times and are collectively referred to as PR-A. As Table 2 shows, PR-A is very fast, achieving a single simulation run of only approximately 0.1 seconds for a large-scale problem with 50 tasks and 8 resources.
[0117] Combined with the optimization results of this type of algorithm in Table 1, the two-stage algorithm proposed in this application for the balanced allocation problem has been verified to have good optimization results and high computational efficiency. In addition, it can be seen that the overall single simulation time of the integrated algorithm Rollout proposed in this application is only a little over 3 seconds, which is much faster than the two best existing intelligent algorithms (SA and IG).
[0118] In summary, the random rework multi-task scheduling method proposed in this application can not only effectively improve the optimization effect of multi-task scheduling with random rework, but also has high computational efficiency, and can solve the multi-task scheduling problem with random rework in actual engineering.
[0119] As can be seen from the above embodiments, compared with the existing technology, the present application addresses the following issues: randomized dynamic programming algorithms can only solve very small-scale problems and cannot solve practical engineering problems; and existing approximate algorithms generally have poor optimization effects or are very time-consuming to calculate, and their performance is not stable in different problem environments. The present application includes but is not limited to the following beneficial effects:
[0120] First, the random rework multi-task scheduling method proposed in this application not only improves the decision optimization effect compared with traditional heuristic algorithms, but also ensures high solution efficiency, and is suitable for solving practical problems in large-scale engineering projects;
[0121] Secondly, the random rework multi-task scheduling method proposed in this application can effectively give play to the advantages of different heuristic algorithms in different scheduling environments, further improving the optimization effect and stability of the algorithm;
[0122] Third, the random rework multi-task scheduling method proposed in this application is applicable to any multi-task scheduling scenario with random rework, and is of great significance for improving the level of scientific and intelligent decision-making in related engineering fields.
[0123] See also Figure 4 A random rework multi-task scheduling device provided for one of the purposes of this application includes a data acquisition module 1100, a balanced allocation problem construction module 1200, an alternative action set determination module 1300, and a multi-task scheduling module 1400. The data acquisition module 1100 is configured to respond to a random rework multi-task scheduling instruction and obtain the task S to be scheduled. t and resource set K; balanced allocation problem building module 1200, configured to detect the task to be scheduled S t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t Sort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems; the alternative action set determination module 1300 is configured to input each rule in the priority rule set R into a preset two-stage heuristic algorithm to determine |R| decisions, eliminate repeated decisions in the |R| decisions to determine the alternative action set A x; Multi-task scheduling module 1400, configured to select an action from the set A based on a preset Rollout algorithm x Select the optimal decision to complete multi-task scheduling with random rework.
[0124] Based on any embodiment of this application, please refer to Figure 5 Another embodiment of the present application further provides an electronic device, which can be implemented by a computer device, such as Figure 5 As shown, a schematic diagram of the internal structure of a computer device. The computer device includes a processor, a computer-readable storage medium, a memory, and a network interface connected via a system bus. Among them, the computer-readable storage medium of the computer device stores an operating system, a database, and computer-readable instructions, and the database may store a control information sequence, and when the computer-readable instructions are executed by the processor, the processor may implement a random rework multi-task scheduling method. The processor of the computer device is used to provide computing and control capabilities to support the operation of the entire computer device. The memory of the computer device may store computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor may execute the random rework multi-task scheduling method of the present application. The network interface of the computer device is used to connect and communicate with the terminal. Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0125] In this embodiment, the processor is used to execute Figure 4 The memory stores the program code and various data required to execute the modules and submodules in the random rework multi-task scheduling device. The network interface is used to transmit data between user terminals or servers. The memory in this embodiment stores the program code and data required to execute all modules / submodules in the random rework multi-task scheduling device of this application. The server can call the server's program code and data to execute the functions of all submodules.
[0126] The present application also provides a storage medium storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the random rework multi-task scheduling method described in any embodiment of the present application.
[0127] The present application also provides a computer program product, including a computer program / instruction, which, when executed by one or more processors, implements the steps of the random rework multi-task scheduling method described in any embodiment of the present application.
[0128] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments of the present application can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned embodiments of the method. The aforementioned storage medium can be a computer-readable storage medium such as a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0129] The above description is only part of the implementation methods of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
[0130] In summary, the random rework multi-task scheduling method proposed in this application is applicable to any multi-task scheduling scenario with random rework, and is of great significance for improving the level of scientific and intelligent decision-making in related engineering fields.
Claims
1. A random rework multi-task scheduling method, characterized in that: include: Respond to the random rework multi-task scheduling instruction and obtain the task to be scheduled S t and resource set K; Detect the task to be scheduled S t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t Sort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems; Detect the task to be scheduled S t After the step of whether it is greater than the resource set K, it includes: The task to be scheduled S is detected t Less than the resource set K, all the tasks to be scheduled S t Migrate to the collection middle; Construct |K|-|S t | a virtual task, wherein the parameters of the virtual task, such as the delivery date, the construction period, and the rework probability, are all zero; The equilibrium allocation problem is expressed as an integer programming model, including: Define the known quantities, where Indicates a task The value weight of Indicates a task delivery period; Indicates a task The mean of the remaining total duration when processed by resource k∈K is determined using the aggregate estimation method; represents the earliest idle time of resource k∈K; Indicates extremely large numbers; Define the decision variables, which are: Among them, x ik ∈{0,1} represents the task Whether it is processed by resource k∈K; Indicates a task completion time; Input each rule in the priority rule set R into a preset two-stage heuristic algorithm to obtain |R| decisions, and eliminate duplicate decisions in the |R| decisions to determine the alternative action set A x ; Based on the preset Roll-out algorithm, select the action from the set A x Select the optimal decision to complete multi-task scheduling with random rework.
2. The random rework multi-task scheduling method according to claim 1, characterized in that: Based on the preset Roll-out algorithm, select the action from the set A x The steps of selecting the optimal decision to complete the multi-task scheduling of random rework include: make represents the set of basic heuristic algorithms used in the simulation evaluation action of the Roll-out algorithm, {ω1, ω2, ...ω m } represents the future execution scenario samples of the remaining tasks; In the sample ω l Basic heuristic algorithm From the state x after the decision a Start simulating the remaining task scheduling process to obtain the total weighted delay cost Use the optimal decision algorithm to select the action set A x Select the best decision 3. The random rework multi-task scheduling method according to claim 2, characterized in that: Based on the preset Roll-out algorithm, select the action from the set A x The steps of selecting the optimal decision to complete the multi-task scheduling of random rework include: The optimal decision algorithm is:
4. The random rework multi-task scheduling method according to any one of claims 1 to 3, characterized in that: The tasks to be scheduled include one or more parameters including delivery date, value weight, maximum number of rework times, construction period and rework probability.
5. A random rework multi-task scheduling device, characterized in that: include: The data acquisition module is set to respond to the random rework multi-task scheduling instruction and obtain the scheduled task S t and resource set K; The balanced allocation problem building module is configured to detect the task S to be scheduled. t Is it greater than the resource set K, when the task to be scheduled S t When it is greater than the resource set K, the priority rule r in the priority rule set R is used to schedule the task S to be scheduled. t Sort and select the first |K| tasks according to priority to form a set To construct different equilibrium allocation problems; Detect the task to be scheduled S t After the step of whether it is greater than the resource set K, it includes: The task to be scheduled S is detected t Less than the resource set K, all the tasks to be scheduled S t Migrate to the collection middle; Construct |K|-|S t | a virtual task, wherein the parameters of the virtual task, such as the delivery date, the construction period, and the rework probability, are all zero; The equilibrium allocation problem is expressed as an integer programming model, including: Define the known quantities, where Indicates a task The value weight of Indicates a task delivery period; Indicates a task The mean of the remaining total duration when processed by resource k∈K is determined using the aggregate estimation method; represents the earliest idle time of resource k∈K; Indicates extremely large numbers; Define the decision variables, which are: Among them, x ik ∈{0,1} represents the task Whether it is processed by resource k∈K; Indicates a task completion time; The alternative action set determination module is configured to input each rule in the priority rule set R into a preset two-stage heuristic algorithm to determine |R| decisions, eliminate duplicate decisions in the |R| decisions to determine the alternative action set A x ; The multi-task scheduling module is configured to select the action from the set of alternative actions A based on a preset Roll-out algorithm. x Select the optimal decision to complete multi-task scheduling with random rework.
6. An electronic device comprising a central processing unit and a memory, characterized in that: The central processing unit is configured to call and run a computer program stored in the memory to execute the steps of the method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that It stores a computer program implemented according to the method described in any one of claims 1 to 4 in the form of computer-readable instructions, and when the computer program is called and executed by a computer, the steps included in the corresponding method are executed.
Citation Information
Patent Citations
Method for transferring a mark pattern to a substrate, a calibration method, and a lithographic apparatus
CN107810447A
Resource allocation method and device, equipment and storage medium
CN111695806A