Workshop scheduling method, device, equipment and storage medium based on industrial Internet
Through the workshop scheduling method based on the Industrial Internet, the optimization operator is used to adjust and update the scheduling results, which solves the problem of high time complexity of the scheduling algorithm in the existing technology, achieves efficient, flexible and explainable scheduling results, and reduces overdue delivery time.
Patent Information
- Application Number
- CN202310637780.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-05-31
AI Technical Summary
Existing workshop scheduling algorithms have high time complexity when optimizing large-scale problems, making it difficult to solve workshop scheduling problems efficiently.
Through the workshop scheduling method based on the industrial Internet, the optimization operator is used to adjust the original scheduling results of the target work unit. The scheduling results are updated according to the objective function of the adjusted scheduling results and the original scheduling results, and the adjustment end conditions are set. The appropriate optimization operator is selected for multiple adjustments to obtain the final scheduling results.
It improves scheduling efficiency, optimizes the performance of scheduling results, reduces overdue delivery time, achieves high efficiency and explainability of scheduling results, and is flexible and scalable.
Smart Images

Figure CN116540653B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent scheduling technology, and in particular to a workshop scheduling method, device, equipment and storage medium based on the Industrial Internet. Background Art
[0002] Scheduling is undoubtedly one of the most useful and successful areas of operations research. Since total production costs typically represent a significant portion of any business, every company strives to find efficient shop floor designs and the optimal processing sequence for each machine or line, tailored to each order. Properly allocating orders can minimize core business metrics such as overdue time.
[0003] Currently, there are many kinds of workshop scheduling algorithms that have been applied in practice. For example, optimization algorithms such as genetic algorithms can be applied to workshop scheduling problems.
[0004] However, although genetic algorithms have excellent search capabilities, they have high time complexity when optimizing large-scale problems. Summary of the Invention
[0005] The present invention provides a workshop scheduling method, device, equipment and storage medium based on the Industrial Internet to solve the technical problem of high time complexity of scheduling algorithms in related technologies.
[0006] According to one aspect of the present invention, a workshop scheduling method based on the Industrial Internet is provided, comprising:
[0007] Adjust the original scheduling result of the target operation unit according to the current optimization operator to obtain an adjusted scheduling result; wherein the original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit;
[0008] updating the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit;
[0009] If the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the process returns to the step of "adjusting the original scheduling result of the target job unit according to the current optimization operator to obtain the adjusted scheduling result";
[0010] If the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit.
[0011] According to another aspect of the present invention, a workshop scheduling device based on the Industrial Internet is provided, comprising:
[0012] An adjustment module is used to adjust the original scheduling result of the target operation unit according to the current optimization operator to obtain an adjusted scheduling result; wherein the original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit;
[0013] a first updating module, configured to update the original scheduling result according to an objective function of the adjusted scheduling result and an objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit;
[0014] A second updating module is configured to use the next optimization operator as the new current optimization operator and return to the step of executing the adjustment module if the adjustment end condition is not met;
[0015] The first determining module is configured to determine the updated original scheduling result as the final scheduling result of the target operation unit if the adjustment end condition is met.
[0016] According to another aspect of the present invention, there is provided an electronic device, comprising:
[0017] at least one processor; and
[0018] a memory communicatively connected to the at least one processor; wherein,
[0019] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the workshop scheduling method based on the industrial Internet described in any embodiment of the present invention.
[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions, and the computer instructions are used to enable a processor to implement the workshop scheduling method based on the industrial Internet as described in any embodiment of the present invention when executed.
[0021] The technical solution of an embodiment of the present invention includes: adjusting the original scheduling result of the target operation unit according to the current optimization operator to obtain the adjusted scheduling result, wherein the original scheduling result is used to characterize the original processing order of each scheduled unit in the target operation unit; updating the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit; if the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the step of "adjusting the original scheduling result of the target operation unit according to the current optimization operator to obtain the adjusted scheduling result" is returned to be executed; if the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit. It has the following technical effects: on the one hand, the original scheduling result of the target job unit is adjusted based on the optimization operator. Compared with the genetic algorithm, the optimization operator is efficient and the scheduling efficiency is higher; on the other hand, the adjustment end condition is set to avoid unlimited adjustment of the original scheduling result, and achieve a balance between the optimization efficiency and optimization performance of the original scheduling result; on the other hand, according to the objective function determined by the overdue delivery time of the scheduled unit, the original scheduling result is updated, which can make the overdue delivery time of the final scheduling result smaller and the scheduling result performance better; on the other hand, multiple optimization operators can be used to adjust the original scheduling result before the adjustment end condition is met, which further improves the performance of the final scheduling result.
[0022] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0024] Figure 1 A flowchart of a workshop scheduling method based on the Industrial Internet provided in Example 1 of the present invention;
[0025] Figure 2 A schematic diagram of the processing time of the scheduled unit in each work unit;
[0026] Figure 3A schematic diagram of obtaining a final scheduling result based on the industrial Internet-based workshop scheduling method provided in the first embodiment of the present invention;
[0027] Figure 4 This is a flow chart of a workshop scheduling method based on the Industrial Internet provided in Example 2 of the present invention;
[0028] Figure 5 A schematic diagram of obtaining a final scheduling result based on the industrial Internet-based workshop scheduling method provided in the second embodiment of the present invention;
[0029] Figure 6 This is a flowchart of the workshop scheduling method based on the Industrial Internet provided in Example 3 of the present invention;
[0030] Figure 7 A schematic structural diagram of a workshop scheduling device based on the Industrial Internet according to an embodiment of the present invention;
[0031] Figure 8 A schematic structural diagram of another industrial Internet-based workshop scheduling device provided according to an embodiment of the present invention;
[0032] Figure 9 A structural diagram of an electronic device for implementing the workshop scheduling method based on the industrial Internet according to an embodiment of the present invention. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0034] It should be noted that the terms "target", "original", "current", etc. in the description and claims of the present invention 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 the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the term "comprises" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device 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 devices.
[0035] Figure 1The flowchart of the workshop scheduling method based on the industrial Internet provided in the first embodiment of the present invention is referred to as the scheduling method in the following embodiments. This embodiment is applicable to the situation of scheduling the scheduled units in the factory workshop. The method can be executed by a workshop scheduling device based on the industrial Internet (hereinafter referred to as the scheduling device). The scheduling device can be implemented in the form of hardware and / or software. The scheduling device can be configured in a computer device such as a server or an electronic device. Figure 1 As shown, the method includes the following steps:
[0036] Step 101: According to the current optimization operator, the original scheduling result of the target operation unit is adjusted to obtain the adjusted scheduling result.
[0037] The original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit.
[0038] The scheduling method in this embodiment can be used to solve the Job Shop Scheduling Problem (JSSP). For example, the workshop here can be an automotive parts processing workshop, a household appliance parts processing workshop, etc. Scheduling in this embodiment refers to determining the processing order of the scheduled units within the work unit. Scheduling in this embodiment can also involve determining the corresponding relationship between the scheduled units and the work unit.
[0039] The Industrial Internet (IIoT) is a new type of infrastructure, application model, and industrial ecosystem that deeply integrates next-generation information and communication technologies with the industrial economy. By comprehensively connecting people, machines, objects, and systems, it builds a new manufacturing and service system covering the entire industrial chain and value chain, providing a path for the digitalization, networking, and intelligent development of industry and even the entire industry. The workshop scheduling method in this embodiment can be implemented based on the IIoT.
[0040] In this embodiment, the scheduled unit refers to a component, product, etc. that can be processed in the work unit. In different scenarios, the specific form of the scheduled unit varies. For example, in the final assembly workshop, the scheduled unit can be a final assembly part.
[0041] In this embodiment, the operating unit refers to a processing machine, line, or other entity that can perform processing or production. For example, a horizontal line, vertical assembly line, or press assembly line. In this embodiment, the target operating unit refers to the currently scheduled operating unit. It is understood that the number of target operating units can be one or more.
[0042] The original scheduling result of the target operation unit in this embodiment is a scheduling result determined according to the pre-scheduling algorithm. There are three possible implementation methods.
[0043] In a first possible implementation, the original scheduling result for the target work unit can be randomly determined. For example, the scheduled units that can be processed in the target work unit can be determined based on the mapping relationship between the target work unit and the scheduled units. The processing order of the scheduled units that can be processed in the target work unit is then randomly determined.
[0044] In the second possible implementation, the original scheduling result of the target operation unit can be determined based on the inverse number operator. The specific process can be: inserting the current scheduled unit at different positions of the original processing sequence of the target operation unit to form each candidate processing sequence; calculating the objective function of each candidate processing sequence based on the overdue delivery time of each scheduled unit in the candidate processing sequence, and the inverse number of the delivery time sequence formed by the delivery time of each scheduled unit; determining the candidate processing sequence whose corresponding objective function meets the preset conditions as the current processing sequence of the target operation unit. In this implementation, the current processing sequence of the target operation unit is the original scheduling result of the target operation unit in this embodiment. The original processing sequence of the target operation unit can be randomly generated. The original processing sequence is used to characterize the original processing order of each scheduled unit in the target operation unit.
[0045] It should be noted that the overdue delivery time of the scheduled unit is determined based on the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit. The completion time of the scheduled unit in the target operation unit is determined based on the completion time of the scheduled unit that is arranged before and adjacent to the scheduled unit in the candidate processing sequence and the processing time of the scheduled unit in the target operation unit. Specifically, the completion time of the scheduled unit in the target operation unit can be determined as the sum of the completion time of the scheduled unit that is arranged before and adjacent to the scheduled unit in the candidate processing sequence and the processing time of the scheduled unit in the target operation unit.
[0046] If the completion time of the scheduled unit in the target operation unit is greater than the delivery time of the scheduled unit, the overdue delivery time of the scheduled unit is: the difference between the completion time and the delivery time; if the completion time of the scheduled unit in the target operation unit is less than or equal to the delivery time of the scheduled unit, the overdue delivery time of the scheduled unit is zero.
[0047] When calculating the objective function of each candidate processing sequence based on the overdue delivery time of each scheduled unit in the candidate processing sequence and the inverse number of the delivery time sequence formed by the delivery time of each scheduled unit, it can be specifically: determining the total overdue delivery time of the scheduled units in the candidate processing sequence based on the overdue delivery time of each scheduled unit in the candidate processing sequence; and determining the objective function of the candidate processing sequence based on the total overdue delivery time and the inverse number of the delivery time of the scheduled units.
[0048] The total overdue delivery time of each scheduled unit refers to the sum of the overdue delivery times of each scheduled unit. The objective function of the candidate processing sequence may be the sum of the inverse order of the delivery time sequence of each scheduled unit in the candidate processing sequence and the total overdue delivery time of each scheduled unit. The candidate processing sequence whose corresponding objective function satisfies a preset condition is determined as the current processing sequence. The preset condition may be that the objective function is minimized.
[0049] The delivery time sequence of each scheduled unit is formed by sorting the delivery times of each scheduled unit according to the processing order of the scheduled units in the candidate processing sequence. For example, suppose the processing order of the scheduled units in a candidate processing sequence is (B, A, C), where the delivery time of A is 10, the delivery time of B is 9, and the delivery time of C is 9. The delivery time sequence is (9, 10, 9).
[0050] The inversion number is the cardinality of an inversion set and is often used to measure the degree of ordering of a permutation or sequence. In the above example, in the delivery time sequence (9, 10, 9), (10, 9) constitutes an inversion, so the inversion number of this delivery time sequence is 1.
[0051] The third possible implementation is based on the second possible implementation. This implementation can also determine the original scheduling result of the target operation unit based on the reverse order operator. The difference between this implementation and the second possible implementation is that there can be multiple units currently being scheduled. The specific process may be: inserting each of the multiple currently scheduled units into a different position of the original processing sequence of the target operation unit to form each candidate processing sequence; calculating the objective function of each candidate processing sequence based on the overdue delivery time of each scheduled unit in the candidate processing sequence and the inverse order of the delivery time sequence formed by the delivery time of each scheduled unit; determining the candidate processing sequence whose corresponding objective function meets the preset conditions as the current processing sequence of the target operation unit; removing the newly inserted current scheduled units in the current processing sequence compared to the original processing sequence from the unscheduled scheduled units of the target operation unit to form the remaining current scheduled units; if the remaining current scheduled units are not empty, determining the remaining current scheduled units as the new multiple current scheduled units, using the current processing sequence as the new original processing sequence, and returning to the step of "inserting each of the multiple currently scheduled units into a different position of the original processing sequence to form each candidate processing sequence"; if the remaining current scheduled units are empty, determining the current processing sequence as the final processing sequence of the target operation unit. The final processing sequence of the target operation unit is the original scheduling result in this embodiment.
[0052] The implementation means and technical principles in this implementation are similar to those in the second implementation and will not be repeated here.
[0053] In this embodiment, there are multiple optimization operators. The current optimization operator refers to the optimization operator currently in use. The optimization operator in this embodiment is used to indicate the adjustment strategy for the original scheduling result.
[0054] In one embodiment, the current optimization operator includes any one of the following operators: a two-element optimization operator within a work unit, a move operator within a work unit, a replacement operator within a work unit, a move operator between work units, and a replacement operator between work units.
[0055] The following is a detailed introduction to the specific contents of various optimization operators.
[0056] The intra-unit two-element optimization operator reverses the processing order of scheduled units between any two scheduled units in the original scheduling result. This intra-unit two-element optimization operator is also called the intra-unit 2-opt (2-optimization) operator. The core of the 2-opt algorithm is to randomly select a range for optimization. This optimization is only for the current state, not for the entire system.
[0057] The specific process of the 2-opt operator within a work unit is as follows. Assume the original scheduling result is: A=>B=>C=>D=>E=>F=>G=>H, where A, B, ..., H represent the scheduled units. Randomly select two different scheduled units and reverse the processing order of the intermediate scheduled units, including these two. For example, if (C, F) is randomly selected, the original scheduling result is now divided into three segments: (A=>B)=>(C=>D=>E=>F)=>(G=>H). Reversing the processing order of the scheduled units in the intermediate segment yields the adjusted scheduling result: (A=>B)=>(F=>E=>D=>C)=>(G=>H).
[0058] It is understandable that when reversing the processing order of the scheduled units between any two scheduled units in the original scheduling result, the processing order of the intermediate scheduled units including the two scheduled units may be reversed, as shown in the above example, or the processing order of the intermediate scheduled units excluding the two scheduled units may be reversed. For example, based on the above example, the adjusted scheduling result may also be: (A=>B)=>(C=>E=>D=>F)=>(G=>H). This embodiment is not limited to this.
[0059] The intra-unit move operator is used to shift the processing order of several scheduled units in the original scheduling result. The intra-unit move operator is also called the inter move opt operator. The core of the inter move opt algorithm is to randomly select an interval for optimization. This optimization is only for the current state, not for the entire process.
[0060] The Inter move opt algorithm works as follows. Assume the original schedule is: A=>B=>C=>D=>E=>F=>G=>H. One or more scheduled units are randomly selected and moved before or after another scheduled unit in the processing order. For example, if scheduled unit B is moved after scheduled unit C, the adjusted schedule becomes: A=>C=>B=>D=>E=>F=>G=>H.
[0061] The intra-unit replacement operator swaps the processing order of several scheduled units in the original scheduling result. This operator is also known as the Inter replace opt operator. The core of the Inter replace opt operator is to randomly select an interval for optimization. This optimization is only for the current state, not for the entire system.
[0062] The Inter replace opt algorithm works as follows. Assume the original schedule is: A=>B=>C=>D=>E=>F=>G=>H. Randomly select two scheduled units and swap their processing order. For example, swapping the processing order of scheduled units B and D yields the adjusted schedule: A=>D=>C=>B=>E=>F=>G=>H.
[0063] The inter-job unit move operator is used to move several scheduled units from the original scheduling result of the target job unit into the original scheduling result of another job unit, or to move several scheduled units from the original scheduling result of another job unit into the original scheduling result of the target job unit. The inter-job unit move operator is also called the intra move opt operator. The core of the intra move opt algorithm is to randomly select two intervals of two job units for optimization. This optimization is only for the current state, not for the entire system.
[0064] The specific process of the intra move opt algorithm is as follows. Assume that the original scheduling result of job unit 1 is: A=>B=>C=>D, and the original scheduling result of job unit 2 is: E=>F=>G=>H. Randomly select one or more scheduled units and move them into the original scheduling result of another job unit. For example, after moving scheduled unit A to scheduled unit E, the adjusted scheduling result of job unit 1 is: B=>C=>D, and the adjusted scheduling result of job unit 2 is: E=>A=>F=>G=>H. It can be understood that in this example, the target job unit can be job unit 1, or the target job unit can be job unit 2.
[0065] The inter-job replacement operator is used to swap several scheduled units from the original scheduling result of a target job with several scheduled units from the original scheduling result of another job. The inter-job replacement operator is also called the intra replace-opt operator. The core of the intra replace-opt algorithm is to randomly select two intervals between two jobs for optimization. This optimization is only for the current state, not for the entire state.
[0066] The specific process of the Intra replace opt algorithm is as follows. Assume that the original scheduling result of job unit 1 is: A=>B=>C=>D, and the original scheduling result of job unit 2 is: E=>F=>G=>H. Randomly select several scheduled units of job unit 1 and move them into the original scheduling result of job unit 2, and randomly select several scheduled units of job unit 2 and move them into the original scheduling result of job unit 1. For example, after moving scheduled unit A to scheduled unit E, and after moving scheduled unit F to scheduled unit B, the adjusted scheduling result of job unit 1 is: B=>F=>C=>D, and the adjusted scheduling result of job unit 2 is: E=>A=>G=>H. It can be understood that in this example, the target job unit can be job unit 1, or the target job unit can be job unit 2.
[0067] It should be noted that exchanging several scheduled units in the original scheduling result of the target operation unit and several scheduled units in the original scheduling result of another operation unit refers to taking s scheduled units from the original scheduling result of the target operation unit and moving them into the original scheduling result of another operation unit. Similarly, taking t scheduled units from the original scheduling result of another operation unit and moving them into the original scheduling result of the target operation unit. Both s and t are integers greater than 0, and s and t can be the same or different. The order of the moved-in scheduled units in the original scheduling unit can be randomly determined.
[0068] Step 102: Update the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result.
[0069] The objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit.
[0070] After obtaining the adjusted scheduling result, in this embodiment, the original scheduling result may be updated according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result.
[0071] The objective function in this embodiment is a function used to measure the performance of the scheduling result.
[0072] In one possible implementation, the objective function is determined based on the overdue delivery time of the scheduled unit, which is determined based on the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit.
[0073] As shown in step 101, the completion time of a scheduled unit in a target operation unit is determined based on the completion time of scheduled units that are arranged before and adjacent to the scheduled unit in the scheduling results and the processing time of the scheduled unit in the target operation unit. Specifically, the completion time of the scheduled unit in the target operation unit can be determined as the sum of the completion time of the scheduled units that are arranged before and adjacent to the scheduled unit in the scheduling results and the processing time of the scheduled unit in the target operation unit.
[0074] The processing time of the scheduled unit in the target operation unit can be determined by the takt value of the scheduled unit in the operation unit.
[0075] Figure 2 It is a schematic diagram of the processing time of the scheduled unit in each operation unit. Figure 2 As shown, the first column shows the scheduled units, and the first row shows the working units. Each scheduled unit has a corresponding processing beat ct for each working unit. i ={ct i1 ,ct i2 ,…,ct im}, where ct ij Indicates the cycle time (CT) of the jth work unit processing the ith scheduled unit, that is, the beat value. In conventional workshop scheduling problems, not all scheduled units can be produced on m work units. If they cannot be produced, ct ij is +∞.
[0076] Whether calculating the completion time of the scheduled unit in the target work unit in the adjusted scheduling result or the completion time of the scheduled unit in the target work unit in the original scheduling result, the method used is the same. The following description uses the original scheduling result as an example. Assuming the original scheduling result is: A=>B=>C=>D, since scheduled unit A is the first scheduled unit to be processed, the completion time of scheduled unit A is A's processing time in the target work unit, ta; the completion time of scheduled unit B is A's completion time in the target work unit plus B's processing time in the target work unit, tb: ta+tb; the completion time of scheduled unit C is B's completion time in the target work unit plus C's processing time in the target work unit, tc: ta+tb+tc; and the completion time of scheduled unit D is C's completion time in the target work unit plus D's processing time in the target work unit, td: ta+tb+tc+td.
[0077] The delivery time of the scheduled units is predetermined based on factors such as customer demand, market demand, and production demand.
[0078] In one embodiment, if the completion time of the scheduled unit in the target operation unit is greater than the delivery time of the scheduled unit, the overdue delivery time of the scheduled unit is: the difference between the completion time and the delivery time; if the completion time of the scheduled unit in the target operation unit is less than or equal to the delivery time of the scheduled unit, the overdue delivery time of the scheduled unit is zero.
[0079] As can be seen, the same scheduled unit may have different completion times in the original and adjusted scheduling results due to different processing orders in the original and adjusted scheduling results. It is understandable that the delivery time of a scheduled unit is fixed. Therefore, a change in the processing order of a scheduled unit will result in a corresponding change in the completion time of the scheduled unit, and thus a change in the overdue delivery time of the scheduled unit.
[0080] The purpose of this scheduling method is to make the objective function of the adjusted scheduling result better than the objective function of the original scheduling result.
[0081] In step 102, a possible updating method is: if the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the adjusted scheduling result is used as the new original scheduling result; if the objective function of the adjusted scheduling result is worse than the objective function of the original scheduling result, the original scheduling result is used as the new original scheduling result, that is, the original scheduling result is kept unchanged.
[0082] In one embodiment, the objective function is the sum of the overdue delivery times of the scheduled units in the scheduling result. Accordingly, the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result if the sum of the overdue delivery times of the adjusted scheduling result is less than the sum of the overdue delivery times of the original scheduling result.
[0083] In one embodiment, the objective function is the reciprocal of the sum of the overdue delivery times of the scheduled units in the scheduling result. Accordingly, the objective function of the adjusted scheduling result is superior to the objective function of the original scheduling result if the reciprocal of the sum of the overdue delivery times of the adjusted scheduling result is greater than the reciprocal of the sum of the overdue delivery times of the original scheduling result.
[0084] In another possible implementation, the objective function is determined based on overdue delivery time, changeover time, inventory time, completion time, and operating time. This implementation will be described in detail in subsequent embodiments.
[0085] It should be noted that when the current optimization operator is a moving operator between work units or a replacing operator between work units, it is also necessary to update the original scheduling result of the target work unit based on the objective function of the adjusted scheduling result of another work unit and the objective function of the original scheduling result of the work unit.
[0086] Only when the objective function of the adjusted scheduling result of the target operation unit is better than the objective function of the original scheduling result of the target operation unit, and the objective function of the adjusted scheduling result of another operation unit is better than the objective function of the original scheduling result of the operation unit, will the adjusted scheduling result of the target operation unit be used as the new original scheduling result of the target operation unit. At the same time, the adjusted scheduling result of another operation unit can also be used as the new original scheduling result of the operation unit.
[0087] If the objective function of the adjusted scheduling result of any operating unit is inferior to the objective function of the original scheduling result of the operating unit, the original scheduling results of the two operating units remain unchanged.
[0088] Step 103: If the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the process returns to step 101.
[0089] Step 104: If the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit.
[0090] In this embodiment, there are at least two optimization operators. In steps 103 and 104, after adjusting the original scheduling result using the current optimization operator, if the preset adjustment end condition is not met, the next optimization operator is used to make another adjustment: the next optimization operator is used as the new current optimization operator, and the process returns to step 101. If the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result for the target operation unit.
[0091] In one embodiment, the next optimization operator is used as the new current optimization operator, and is implemented as follows: according to the execution order of the optimization operators, the optimization operator whose execution order is after the execution order of the current optimization operator and adjacent to the current optimization operator is used as the new current optimization operator. Among them, the execution order of the optimization operators is: two-element optimization operator within the job unit, mobile operator within the job unit, replacement operator within the job unit, mobile operator between job units, and replacement operator between job units. Based on this implementation method, before adjusting the end condition, the original scheduling result can be adjusted by traversing the execution order of the optimization operators in the order from front to back, so as to seek a scheduling result with a better objective function and obtain the final scheduling result. So that the overdue delivery time of the final scheduling result is better, that is, the overdue delivery time is smaller.
[0092] Optionally, the adjustment termination condition is at least one of the following: a preset duration, a preset number of iterations, or the absence of the next optimization operator. Specifically, the adjustment terminates when the adjustment time reaches the preset duration. For example, the preset duration can be a user-set duration, such as 1 minute. Alternatively, the adjustment terminates when the number of iterations reaches a preset number. Alternatively, the adjustment terminates when all optimization operators have been traversed.
[0093] Setting the adjustment end condition can avoid unlimited adjustment of the original scheduling results and achieve a balance between the optimization efficiency and optimization performance of the original scheduling results.
[0094] The scheduling method provided by this embodiment is described below through two specific examples.
[0095] Figure 3 A schematic diagram of obtaining the final scheduling result based on the workshop scheduling method based on the industrial Internet provided in the first embodiment of the present invention. Figure 3 As shown in Figure 2, there are two optimization operators: a two-element optimization operator within a job unit and a move operator within a job unit. Assume that the original scheduling result of the target job unit is: A=>B=>C=>D=>E=>F=>G=>H.
[0096] In the first iteration, the current optimization operator is a two-element optimization operator within the work unit. Randomly select two scheduled units and reverse the processing order of the scheduled units between the two scheduled units. For example, reverse the processing order of the scheduled units between B and D, and the adjusted scheduling result is: A=>D=>C=>B=>E=>F=>G=>H. Assuming that the objective function of the adjusted scheduling result is better than the original scheduling result, the updated original scheduling result is: A=>D=>C=>B=>E=>F=>G=>H. Assuming that the adjustment end condition is not met at this time, the mobile operator within the work unit is used as the new current optimization operator.
[0097] In the second iteration, the original scheduling result is: A=>D=>C=>B=>E=>F=>G=>H. The current optimization operator is the moving operator within the job unit. For example, H is moved before G, and the adjusted scheduling result is: A=>D=>C=>B=>E=>F=>H=>G. Assuming that the objective function of the adjusted scheduling result is inferior to the objective function of the original scheduling result, the updated original scheduling result is: A=>D=>C=>B=>E=>F=>G=>H, that is, the original scheduling result remains unchanged. Assuming that the adjustment end condition is met at this time, the updated original scheduling result, that is, A=>D=>C=>B=>E=>F=>G=>H, is used as the final scheduling result of the target job unit.
[0098] The scheduling method provided in this embodiment has the following technical effects:
[0099] Efficiency: Since the evolution of the optimization operator is based on the optimization operator, it is highly efficient. In the workshop scheduling problem, the optimization operator can find the optimal solution by quickly searching the value of the optimization operator.
[0100] Interpretability: The optimization operator algorithm can be explained because each step is based on the value of the optimization operator. Therefore, the optimization operator can provide interpretability in the shop scheduling problem, so as to better understand the execution process of the algorithm.
[0101] Flexibility: Optimization operators can be optimized in different application scenarios due to their flexibility. For example, in the workshop scheduling problem, optimization operators can be optimized for different workshop scheduling problems and different optimization operator values, thereby obtaining better solutions.
[0102] Scalability: Because the optimization operator can simulate the process of natural selection and genetic reproduction, it is scalable. In the workshop scheduling problem, the optimization operator can converge to the optimal solution through multiple runs, thereby finding a better workshop scheduling solution.
[0103] Optimizability: Optimization operators can be used not only to solve optimization problems, but also to optimize other types of problems, such as combinatorial optimization and queuing theory. In the case of shop scheduling, optimization operators can be applied to multiple shop scheduling problems to obtain a more optimal solution.
[0104] The scheduling method provided in this embodiment includes: adjusting the original scheduling result of the target operation unit according to the current optimization operator to obtain an adjusted scheduling result, wherein the original scheduling result is used to characterize the original processing order of each scheduled unit in the target operation unit; updating the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit; if the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the step of "adjusting the original scheduling result of the target operation unit according to the current optimization operator to obtain the adjusted scheduling result" is returned to be executed; if the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit. It has the following technical effects: on the one hand, the original scheduling result of the target job unit is adjusted based on the optimization operator. Compared with the genetic algorithm, the optimization operator is efficient and the scheduling efficiency is higher; on the other hand, the adjustment end condition is set to avoid unlimited adjustment of the original scheduling result, and achieve a balance between the optimization efficiency and optimization performance of the original scheduling result; on the other hand, according to the objective function determined by the overdue delivery time of the scheduled unit, the original scheduling result is updated, which can make the overdue delivery time of the final scheduling result smaller and the scheduling result performance better; on the other hand, multiple optimization operators can be used to adjust the original scheduling result before the adjustment end condition is met, which further improves the performance of the final scheduling result.
[0105] Figure 4 This is a flow chart of the workshop scheduling method based on the industrial Internet provided in the second embodiment of the present invention. Figure 1 Based on the embodiment shown and various optional implementations, a detailed description is given of how to obtain the adjusted scheduling result and how to update the original scheduling result based on the objective function of the adjusted scheduling result and the objective function of the original scheduling result. Figure 4 As shown, the scheduling method provided in this embodiment includes the following steps:
[0106] Step 401: Determine the current adjustment strategy based on the current optimization operator.
[0107] Step 401 determines the current adjustment strategy based on the adjustment strategy indicated by the current optimization operator. Specifically, assuming the original scheduling result is: A=>B=>C=>D=>E=>F=>G=>H, and if the current optimization operator is a two-element optimization operator within a work unit, the current adjustment strategy could be to reverse the processing order of the intermediate scheduled units, including those of A and D. Alternatively, the current adjustment strategy could be to reverse the processing order of the intermediate scheduled units, including those of B and F, and so on.
[0108] In step 401, a specific current adjustment strategy may be determined according to the adjustment concept indicated by the current optimization operator, for example, which scheduled units are to be adjusted.
[0109] Step 402: According to the current adjustment strategy, the original scheduling result of the target operation unit is adjusted to obtain the adjusted scheduling result.
[0110] Step 403: If the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the adjusted scheduling result is used as the new original scheduling result.
[0111] Step 404: If the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result, determine whether the optimization operator adjustment end condition is met.
[0112] Step 405: If the optimization operator adjustment end condition is not met, the current adjustment strategy is updated according to the current optimization operator, and the process returns to step 402.
[0113] In step 405, updating the current adjustment strategy refers to changing the specific scheduled units to be adjusted based on the adjustment strategy indicated by the current optimization operator. For example, assuming the current optimization operator is a two-element optimization operator, and assuming the current adjustment strategy determined in step 401 is to reverse the processing order of the intermediate scheduled units, including scheduled units A and D, then in step 405, the updated current adjustment strategy may be to reverse the processing order of the intermediate scheduled units, including scheduled units B and F.
[0114] Step 406: If the optimization operator adjustment end condition is met, the original scheduling result is used as a new original scheduling result.
[0115] In this embodiment, when adjusting according to the current optimization operator, if the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the adjusted scheduling result will be used as the new original scheduling result. This is equivalent to exiting the adjustment process of the current optimization operator and entering the adjustment of the next optimization operator. If the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result, and the optimization operator adjustment end condition is not met, the current optimization operator is still used, and the current adjustment strategy is updated, and adjustment is performed again. This continues until the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, or the optimization operator adjustment end condition is met.
[0116] The optimization algorithm adjustment termination condition in this embodiment is at least one of the following: a preset operator adjustment duration, a preset number of operator iterations, or all positions of the original scheduling result have been traversed.
[0117] In one possible implementation, a maximum number of iterations MAX is set for each optimization operator. A counter N is initialized to record the number of iterations. Execute steps 401 and 402. If the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the counter N=0, and the loop of the current optimization operator is exited. The adjusted scheduling result is used as the new original scheduling result. If the objective function of the adjusted scheduling result is worse than or equal to the objective function of the original scheduling result, the counter is updated: N=N+1. If the updated N is less than MAX, the current adjustment strategy is updated according to the current optimization operator, and the process returns to step 402. If the updated N is greater than or equal to MAX, it means that no better adjusted scheduling result has been found according to the current optimization operator, and the original scheduling result is used as the new original scheduling result, that is, the original scheduling result is kept unchanged.
[0118] Step 407: If the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the process returns to step 401.
[0119] Step 408: If the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit.
[0120] The implementation process and technical principles of step 407 and step 103, and step 408 and step 104 are similar, and will not be repeated here.
[0121] The above process is illustrated below with a specific example.
[0122] Figure 5 A schematic diagram of obtaining the final scheduling result based on the workshop scheduling method based on the industrial Internet provided by the second embodiment of the present invention. Figure 5As shown in Figure 2, there are two optimization operators: a two-element optimization operator within a job unit and a move operator within a job unit. Assume that the original scheduling result of the target job unit is: A=>B=>C=>D=>E=>F=>G=>H.
[0123] In the first major iteration, the current optimization operator is a two-element optimization operator within the work unit. Two scheduled units are randomly selected, and the processing order of the scheduled units between the two scheduled units is reversed. For example, the processing order of the scheduled units between B and D is reversed, and the adjusted scheduling result is: A=>D=>C=>B=>E=>F=>G=>H. Assume that the objective function of the adjusted scheduling result is inferior to or equal to the original scheduling result. If the optimization operator adjustment end condition is not met, the current adjustment strategy is updated according to the current optimization operator. Return to execute step 401. At this time, the original scheduling result is still: A=>B=>C=>D=>E=>F=>G=>H. Assume that the updated adjustment strategy is to reverse the processing order of the scheduled units between B and F, and the adjusted scheduling result is: A=>F=>E=>D=>C=>B=>G=>H. Assuming the objective function of the adjusted scheduling result is better than the original scheduling result, the adjusted scheduling result is used as the new original scheduling result, that is, A=>F=>E=>D=>C=>B=>G=>H. Assuming that the adjustment end condition is still not met at this time, the mobile operator within the operation unit is used as the new current optimization operator.
[0124] In the second major iteration, the original scheduling result is: A=>F=>E=>D=>C=>B=>G=>H. The current optimization operator is the moving operator within the job unit. For example, H is moved before G, and the adjusted scheduling result is: A=>F=>E=>D=>C=>B=>H=>G. Assuming that the objective function of the adjusted scheduling result is better than the original scheduling result, the updated original scheduling result is: A=>F=>E=>D=>C=>B=>H=>G. Assuming that the adjustment end condition is met at this time, the updated original scheduling result, that is, A=>F=>E=>D=>C=>B=>H=>G, is used as the final scheduling result of the target job unit.
[0125] In the scheduling method provided in this embodiment, when adjusting according to the current optimization operator, if the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the adjusted scheduling result will be used as the new original scheduling result. This is equivalent to exiting the adjustment process of the current optimization operator and entering the adjustment of the next optimization operator. If the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result, under the premise that the end condition of the optimization operator adjustment is not met, the current optimization operator is still used to update the current adjustment strategy and then adjust again. Until the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, or the end condition of the optimization operator adjustment is met. This scheduling method is equivalent to including two iterative processes: one is the iterative process within the optimization operator, and the other is the iterative process between optimization operators, which further improves the scheduling efficiency.
[0126] Figure 6 This is a flow chart of the workshop scheduling method based on the industrial Internet provided in the third embodiment of the present invention. Figure 1 and Figure 4 Based on the embodiment shown, a detailed description of the implementation of the objective function is given. For the sake of convenience, this embodiment only shows the additional steps of this embodiment based on the previous embodiment and various optional implementation methods. The objective function in this embodiment is determined based on the overdue delivery time, changeover time, inventory time, completion time and operating time. Figure 6 As shown, the scheduling method provided in this embodiment also includes the following steps:
[0127] Step 601: Compare the overdue delivery time of the adjusted scheduling result with the overdue delivery time of the original scheduling result.
[0128] Step 602: If the overdue delivery time of the adjusted scheduling result is less than the overdue delivery time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result.
[0129] Optionally, the overdue delivery time of the scheduling result in this embodiment may be the sum of the overdue delivery times of all scheduled units in the scheduling result.
[0130] Step 603: If the overdue delivery time of the adjusted scheduling result is greater than or equal to the overdue delivery time of the original scheduling result, the changeover time of the adjusted scheduling result is compared with the changeover time of the original scheduling result.
[0131] Optionally, the changeover time in the scheduling result in this embodiment refers to the sum of the number of changeovers in the scheduling result. Alternatively, it can be the product of the sum of the number of changeovers and the unit changeover time. For example, changeover time = sum(number of changeovers * 10 minutes). If the scheduled units before and after the processing sequence are different, it is counted as one changeover.
[0132] Step 604: If the changeover time of the adjusted scheduling result is less than the changeover time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result.
[0133] Step 605: If the changeover time of the adjusted scheduling result is greater than or equal to the changeover time of the original scheduling result, the inventory time of the adjusted scheduling result is compared with the inventory time of the original scheduling result.
[0134] Optionally, the inventory time of the scheduling result refers to the sum of the inventory times of all scheduled units in the scheduling result. The inventory time of each scheduled unit is determined as follows: if the completion time of a scheduled unit is greater than or equal to the scheduled delivery time of the scheduled unit, the inventory time of the scheduled unit is zero; if the completion time of a scheduled unit is less than the scheduled delivery time of the scheduled unit, the inventory time of the scheduled unit is the difference between the scheduled delivery time and the completion time of the scheduled unit.
[0135] Step 606: If the inventory time of the adjusted scheduling result is less than the inventory time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result.
[0136] Step 607: If the inventory time of the adjusted scheduling result is greater than or equal to the inventory time of the original scheduling result, the completion time of the adjusted scheduling result is compared with the completion time of the original scheduling result.
[0137] The completion time of the scheduling result in this embodiment is the completion time of the last scheduled unit in the scheduling result, or it can be the sum of the processing times of the scheduled units in the target operation units.
[0138] Step 608: If the completion time of the adjusted scheduling result is less than the completion time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result.
[0139] Step 609: If the completion time of the adjusted scheduling result is greater than or equal to the completion time of the original scheduling result, the running time of the adjusted scheduling result is compared with the running time of the original scheduling result.
[0140] The running time of the scheduling result in this embodiment refers to how long the target operation unit needs to run to complete the processing under the processing sequence indicated by the scheduling result.
[0141] Step 610: If the running time of the adjusted scheduling result is less than the running time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result.
[0142] Step 611: If the running time of the adjusted scheduling result is greater than or equal to the running time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result.
[0143] It is understood that in this embodiment, there are multiple objective functions. A first objective function is determined based on overdue delivery time, a second objective function is determined based on changeover time, a third objective function is determined based on inventory time, a fourth objective function is determined based on completion time, and a fifth objective function is determined based on operating time. The first objective function has the highest priority. The second, third, fourth, and fifth objective functions have decreasing priorities.
[0144] In the scheduling result provided by this embodiment, the performance of the final scheduling result is further guaranteed by setting multiple objective functions and comparing the objective function of the original scheduling result and the objective function of the adjusted scheduling result in sequence according to priority.
[0145] Figure 7 The structure diagram of a workshop scheduling device based on the industrial Internet according to an embodiment of the present invention is shown in FIG. The device can be set in an electronic device such as a computer device. Figure 7 As shown, the scheduling device provided by this embodiment includes the following modules: an adjustment module 71 , a first updating module 72 , a second updating module 73 and a first determining module 74 .
[0146] The adjustment module 71 is used to adjust the original scheduling result of the target operation unit according to the current optimization operator to obtain the adjusted scheduling result.
[0147] The original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit.
[0148] The first updating module 72 is configured to update the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result.
[0149] The objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit.
[0150] The second updating module 73 is configured to use the next optimization operator as the new current optimization operator and return to the steps of the adjustment module 71 if the adjustment end condition is not met.
[0151] The first determining module 74 is configured to determine the updated original scheduling result as the final scheduling result of the target operation unit if the adjustment end condition is met.
[0152] In one embodiment, the adjustment module 71 is specifically configured to: determine a current adjustment strategy according to a current optimization operator; and adjust an original scheduling result of the target operation unit according to the current adjustment strategy to obtain an adjusted scheduling result.
[0153] In one embodiment, the first update module 72 is specifically used to: if the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, then the adjusted scheduling result is used as the new original scheduling result; if the objective function of the adjusted scheduling result is worse than or equal to the objective function of the original scheduling result, then determine whether the optimization operator adjustment end condition is met; if the optimization operator adjustment end condition is not met, then update the current adjustment strategy according to the current optimization operator, and return to execute the step of "adjusting the original scheduling result of the target job unit according to the current adjustment strategy to obtain the adjusted scheduling result"; if the optimization operator adjustment end condition is met, then the original scheduling result is used as the new original scheduling result.
[0154] In one embodiment, the current optimization operator includes any one of the following operators: a two-element optimization operator within a work unit, a move operator within a work unit, a replacement operator within a work unit, a move operator between work units, and a replacement operator between work units.
[0155] The two-element optimization operator within the operation unit is used to reverse the processing order of the scheduled units between any two scheduled units in the original scheduling result.
[0156] The intra-job unit movement operator is used to move the processing order of several scheduled units in the original scheduling result.
[0157] The intra-job-unit replacement operator is used to interchange the processing order of several scheduled units in the original scheduling result.
[0158] The inter-job unit movement operator is used to move several scheduled units in the original scheduling result of the target job unit into the original scheduling result of another job unit, or to move several scheduled units in the original scheduling result of another job unit into the original scheduling result of the target job unit.
[0159] The inter-job-unit replacement operator is used to exchange several scheduled units in the original scheduling result of the target job unit with several scheduled units in the original scheduling result of another job unit.
[0160] In one embodiment, regarding the use of the next optimization operator as the new current optimization operator, the second updating module 73 is specifically configured to: based on the optimization operator execution order, use the optimization operator whose execution order is after the current optimization operator and adjacent to the current optimization operator as the new current optimization operator. The optimization operator execution order is: two-element optimization operator within a work unit, move operator within a work unit, replace operator within a work unit, move operator between work units, and replace operator between work units.
[0161] In one embodiment, the adjustment end condition is at least one of the following: a preset duration, a preset number of iterations, or the next optimization operator does not exist.
[0162] The scheduling device provided in the embodiment of the present invention can execute the scheduling method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0163] Figure 8 This is a structural diagram of another workshop scheduling device based on the industrial Internet according to an embodiment of the present invention. Figure 7 Based on the embodiment shown, the other modules included in the scheduling device are described in detail. In this embodiment, the objective function is determined based on the overdue delivery time, the changeover time, the inventory time, the completion time and the operation time.
[0164] like Figure 8 As shown, the scheduling device provided in this embodiment further includes: a second determining module 81.
[0165] The second determination module 81 is used to: if the overdue delivery time of the adjusted scheduling result is less than the overdue delivery time of the original scheduling result, determine that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; if the overdue delivery time of the adjusted scheduling result is greater than or equal to the overdue delivery time of the original scheduling result, compare the changeover time of the adjusted scheduling result with the changeover time of the original scheduling result; if the changeover time of the adjusted scheduling result is less than the changeover time of the original scheduling result, determine that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; if the changeover time of the adjusted scheduling result is greater than or equal to the changeover time of the original scheduling result, compare the inventory time of the adjusted scheduling result with the inventory time of the original scheduling result; if the inventory time of the adjusted scheduling result is less than the inventory time of the original scheduling result, determine that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result. the objective function of the adjusted scheduling result; if the inventory time of the adjusted scheduling result is greater than or equal to the inventory time of the original scheduling result, the completion time of the adjusted scheduling result is compared with the completion time of the original scheduling result; if the completion time of the adjusted scheduling result is less than the completion time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; if the completion time of the adjusted scheduling result is greater than or equal to the completion time of the original scheduling result, the running time of the adjusted scheduling result is compared with the running time of the original scheduling result; if the running time of the adjusted scheduling result is less than the running time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; if the running time of the adjusted scheduling result is greater than or equal to the running time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is worse than or equal to the objective function of the original scheduling result.
[0166] The scheduling device provided in the embodiment of the present invention can execute the scheduling method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0167] Figure 9 A schematic structural diagram of an electronic device for implementing an industrial Internet-based workshop scheduling method according to an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0168] like Figure 9 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0169] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0170] The processor 11 may be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above.
[0171] In some embodiments, the scheduling method may be implemented as a computer program that is tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the scheduling method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the scheduling method in any other appropriate manner (e.g., by means of firmware).
[0172] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0173] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0174] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0175] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0176] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0177] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0178] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0179] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A workshop scheduling method based on the Industrial Internet, characterized in that: include: Adjust the original scheduling result of the target operation unit according to the current optimization operator to obtain an adjusted scheduling result; wherein the original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit; updating the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit; If the adjustment end condition is not met, the next optimization operator is used as the new current optimization operator, and the process returns to the step of "adjusting the original scheduling result of the target job unit based on the current optimization operator to obtain the adjusted scheduling result." If the adjustment end condition is met, the updated original scheduling result is determined as the final scheduling result of the target operation unit; The current optimization operator includes any one of the following operators: a two-element optimization operator within a job unit, a move operator within a job unit, a replacement operator within a job unit, a move operator between job units, and a replacement operator between job units; wherein the two-element optimization operator within a job unit is used to reverse the processing order of the scheduled units between any two scheduled units in the original scheduling result; the move operator within a job unit is used to move the processing order of several scheduled units in the original scheduling result; the replacement operator within a job unit is used to interchange the processing order of several scheduled units in the original scheduling result; the move operator between job units is used to move several scheduled units in the original scheduling result of the target job unit into the original scheduling result of another job unit, or to move several scheduled units in the original scheduling result of another job unit into the original scheduling result of the target job unit; the replacement operator between job units is used to exchange several scheduled units in the original scheduling result of the target job unit with several scheduled units in the original scheduling result of another job unit.
2. The method according to claim 1, characterized in that The method of adjusting the original scheduling result of the target operation unit according to the current optimization operator to obtain the adjusted scheduling result includes: Determine the current adjustment strategy based on the current optimization operator; According to the current adjustment strategy, the original scheduling result of the target operation unit is adjusted to obtain the adjusted scheduling result.
3. The method according to claim 2, characterized in that The updating of the original scheduling result according to the objective function of the adjusted scheduling result and the objective function of the original scheduling result includes: If the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result, the adjusted scheduling result is used as the new original scheduling result; If the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result, determining whether the optimization operator adjustment end condition is met; If the optimization operator adjustment end condition is not met, the current adjustment strategy is updated according to the current optimization operator, and the process returns to the step of adjusting the original scheduling result of the target operation unit according to the current adjustment strategy to obtain the adjusted scheduling result. If the optimization operator adjustment end condition is met, the original scheduling result is used as a new original scheduling result.
4. The method according to claim 3, characterized in that The objective function is determined based on overdue delivery time, changeover time, inventory time, completion time, and operating time; The method further comprises: If the overdue delivery time of the adjusted scheduling result is less than the overdue delivery time of the original scheduling result, determining that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; If the overdue delivery time of the adjusted scheduling result is greater than or equal to the overdue delivery time of the original scheduling result, comparing the changeover time of the adjusted scheduling result with the changeover time of the original scheduling result; If the changeover time of the adjusted scheduling result is less than the changeover time of the original scheduling result, determining that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; If the changeover time of the adjusted scheduling result is greater than or equal to the changeover time of the original scheduling result, comparing the inventory time of the adjusted scheduling result with the inventory time of the original scheduling result; If the inventory time of the adjusted scheduling result is less than the inventory time of the original scheduling result, determining that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; If the inventory time of the adjusted scheduling result is greater than or equal to the inventory time of the original scheduling result, then comparing the completion time of the adjusted scheduling result with the completion time of the original scheduling result; If the completion time of the adjusted scheduling result is less than the completion time of the original scheduling result, then determining that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; If the completion time of the adjusted scheduling result is greater than or equal to the completion time of the original scheduling result, then comparing the running time of the adjusted scheduling result with the running time of the original scheduling result; If the running time of the adjusted scheduling result is less than the running time of the original scheduling result, determining that the objective function of the adjusted scheduling result is better than the objective function of the original scheduling result; If the running time of the adjusted scheduling result is greater than or equal to the running time of the original scheduling result, it is determined that the objective function of the adjusted scheduling result is inferior to or equal to the objective function of the original scheduling result.
5. The method according to claim 1, wherein The step of taking the next optimization operator as the new current optimization operator includes: According to the execution order of the optimization operators, the optimization operator whose execution order is after the execution order of the current optimization operator and adjacent to the current optimization operator is used as the new current optimization operator; wherein, the execution order of the optimization operators is: two-element optimization operator within the operation unit, movement operator within the operation unit, replacement operator within the operation unit, movement operator between operation units, and replacement operator between operation units.
6. The method according to any one of claims 1 to 5, characterized in that The adjustment end condition is at least one of the following: a preset duration, a preset number of iterations, or the next optimization operator does not exist.
7. A workshop scheduling device based on the Industrial Internet, characterized in that: include: An adjustment module is used to adjust the original scheduling result of the target operation unit according to the current optimization operator to obtain an adjusted scheduling result; wherein the original scheduling result is used to represent the original processing order of each scheduled unit in the target operation unit; a first updating module, configured to update the original scheduling result according to an objective function of the adjusted scheduling result and an objective function of the original scheduling result; wherein the objective function is determined according to the overdue delivery time of the scheduled unit, and the overdue delivery time of the scheduled unit is determined according to the delivery time of the scheduled unit and the completion time of the scheduled unit in the target operation unit; A second updating module is configured to use the next optimization operator as the new current optimization operator and return to the step of executing the adjustment module if the adjustment end condition is not met; a first determining module, configured to determine the updated original scheduling result as the final scheduling result of the target operation unit if the adjustment end condition is met; The current optimization operator includes any one of the following operators: a two-element optimization operator within a job unit, a move operator within a job unit, a replacement operator within a job unit, a move operator between job units, and a replacement operator between job units; wherein the two-element optimization operator within a job unit is used to reverse the processing order of the scheduled units between any two scheduled units in the original scheduling result; the move operator within a job unit is used to move the processing order of several scheduled units in the original scheduling result; the replacement operator within a job unit is used to interchange the processing order of several scheduled units in the original scheduling result; the move operator between job units is used to move several scheduled units in the original scheduling result of the target job unit into the original scheduling result of another job unit, or to move several scheduled units in the original scheduling result of another job unit into the original scheduling result of the target job unit; the replacement operator between job units is used to exchange several scheduled units in the original scheduling result of the target job unit with several scheduled units in the original scheduling result of another job unit.
8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the workshop scheduling method based on the industrial Internet as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the industrial Internet-based workshop scheduling method according to any one of claims 1 to 6 when executed.
Citation Information
Patent Citations
Flexible job shop scheduling multi-target distribution estimation method for optimizing two production indexes
CN113485278A