Production scheduling method and system, electronic equipment and storage medium
Patent Information
- Application Number
- CN202380010505.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-05-31
- Filing Date
- 2023-09-06
- Publication Date
- 2025-06-06
AI Technical Summary
In existing technologies, determining the production sequence that meets multiple production indicators takes too long and is difficult to meet production scheduling efficiency, especially in intelligent and flexible workshops where production processes are complex, data volume is large, and calculation speed is slow, making it difficult to meet various production indicators simultaneously.
The algorithm employs a multi-objective particle swarm optimization (PSO) method, combined with the attributes of production equipment, to determine the production sequence of particles to be processed. The production sequence results are periodically updated through a logic processing module and a display control module, and the production sequence data is stored and managed using a database module, enabling the rapid determination of the production sequence that meets various production indicators.
It improves production scheduling efficiency, shortens the time to determine the production sequence, meets the requirements of multiple production indicators, and is suitable for production scheduling in intelligent and flexible workshops.
Smart Images

Figure CN120112924A_ABST
Abstract
Description
Production scheduling method, system, electronic device and storage medium
[0001] This application claims priority to Chinese patent application No. 202310636658.0, filed on May 31, 2023, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present disclosure relates to the fields of computer technology, artificial intelligence technology, and production scheduling technology, and more specifically, to a production scheduling method, device, electronic device, storage medium, and program product. Background Art
[0003] With the advancement of intelligent and flexible workshops, the amount of workshop data (for example, the number of products, processing equipment, etc.) is becoming larger and larger, the production process (for example, the processing procedures of the workpiece to be processed, etc., the processing procedures can also be called production procedures, and usually the production of products is completed through a series of production procedures) is becoming more and more complex, and the workshop production indicators (for example, the total processing time for each product in the workshop, production efficiency, equipment capacity and equipment utilization, etc.) are increasing. When using different production scheduling sequences for production scheduling, it will affect various production indicators.
[0004] Related technologies require a long computational time to determine a production scheduling sequence that meets several production indicators. This computational speed is very slow, making it difficult to determine a scheduling sequence that simultaneously meets all production indicators, and thus, production scheduling efficiency is difficult to achieve. Therefore, how to quickly determine a scheduling sequence that meets all production indicators has become a pressing technical problem in this field.
[0005] Summary of the Invention
[0006] In view of the above problems, the present disclosure provides a production scheduling method, device, electronic device and storage medium.
[0007] According to one aspect of the present disclosure, a production scheduling method is provided, including: a logic processing module receives configuration information from a display control module, and generates a batch identification according to the received configuration information; a production scheduling algorithm module obtains production scheduling data related to the above-mentioned batch identification from a database module, calls a production scheduling algorithm adapted to the above-mentioned configuration information to perform production scheduling according to the above-mentioned production scheduling data to generate a production scheduling result, and stores the above-mentioned production scheduling result in association with the above-mentioned batch identification in the database module; the logic processing module periodically obtains the latest production scheduling result from the database module and sends it to the display control module; the display control module displays the production scheduling result provided by the above-mentioned logic processing module.
[0008] According to another aspect of the present disclosure, a production scheduling system is provided, including: a logic processing module, configured to receive configuration information from a display control module, and generate a batch identification according to the received configuration information; a production scheduling algorithm module, configured to obtain production scheduling data related to the above-mentioned batch identification from a database module, call a production scheduling algorithm adapted to the above-mentioned configuration information to perform production scheduling according to the above-mentioned production scheduling data to generate a production scheduling result, and store the above-mentioned production scheduling result in association with the above-mentioned batch identification in the database module; a logic processing module, configured to periodically obtain the latest production scheduling result from the database module and send it to the display control module; and a display control module, configured to display the production scheduling result provided by the above-mentioned logic processing module.
[0009] According to another aspect of the present disclosure, an electronic device is provided, including a memory and a processor, wherein the memory stores instructions executable by the processor, and when the instructions are executed by the processor, the processor executes the method described in the present disclosure.
[0010] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the present disclosure.
[0011] According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, which implements the method described in the present disclosure when executed by a processor.
[0012] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0014] FIG1 shows one of the flow charts of the production scheduling method provided in an embodiment of the present application;
[0015] FIG2 shows one of the scenario diagrams of the production scheduling method provided in an embodiment of the present application;
[0016] FIG3 shows a second flow chart of the production scheduling method provided in an embodiment of the present application;
[0017] FIG4A shows a schematic diagram of a system architecture for implementing a production scheduling method according to an embodiment of the present application;
[0018] FIG4B shows a second schematic diagram of a production scheduling method according to an embodiment of the present application;
[0019] FIG4C shows a third schematic diagram of a production scheduling method according to an embodiment of the present application;
[0020] FIG4D shows a fourth scenario diagram of the production scheduling method provided in an embodiment of the present application;
[0021] FIG4E shows a fifth schematic diagram of a production scheduling method according to an embodiment of the present application;
[0022] FIG5 shows a schematic structural diagram of a production scheduling device provided in an embodiment of the present application;
[0023] FIG6 schematically shows a flow chart of a production scheduling method according to an embodiment of the present disclosure;
[0024] FIG7 schematically shows a system architecture diagram of a method for implementing production scheduling according to an embodiment of the present disclosure;
[0025] FIG8 schematically shows an example of a process of providing a production scheduling result to a display control module based on a polling method according to an embodiment of the present disclosure;
[0026] FIG9 schematically shows an example of a process of providing a production scheduling result to a display control module based on a push method according to an embodiment of the present disclosure;
[0027] FIG10 schematically shows an example schematic diagram of a display control interface according to an embodiment of the present disclosure;
[0028] FIG11A schematically shows an example of a Gantt chart displayed by a production scheduling method according to an embodiment of the present disclosure;
[0029] FIG11B schematically illustrates an example of a method for displaying a Gantt chart according to an embodiment of the present disclosure;
[0030] FIG12 shows a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0032] To address the problem in related technologies that determining a production sequence that meets various production indicators takes a long time, making it difficult to achieve production scheduling efficiency, the present invention provides a production scheduling method that can be implemented using any electronic device. The electronic device can be a server device or a terminal device, or a device or chip integrated into these devices, although this invention does not limit this.
[0033] Referring to FIG1 , the production scheduling method provided in an embodiment of the present application may include the following steps:
[0034] Step S101: Determine the production scheduling order of at least two workpieces to be processed.
[0035] The workpiece to be processed may include but is not limited to the raw materials or semi-finished products that can be obtained by processing, etc., and is again not limited. In the embodiment of the present application, the specific number of the workpiece to be processed is not specifically limited and can be determined according to actual conditions.
[0036] When processing the workpiece to be processed, the processing procedures of the workpiece to be processed can be set according to the specific processing stage. Each processing stage is a processing procedure, and for the sake of convenience of description below, the processing stage is also referred to as a processing procedure or a production procedure. The processing time required for each processing procedure can be determined based on empirical values or experimental values, and is generally a fixed value. In the embodiment of the present disclosure, in order to distinguish it from the workpiece to be processed, the workpiece that has completed all processing operations can be referred to as a finished workpiece, that is, the product corresponding to the workpiece to be processed. In other words, the workpiece to be processed is a semi-finished product in the production process of the product, and a production process of the workpiece to be processed can be regarded as a production process of the product, or as a sub-process under a production process of the product. For the sake of convenience of description below, the processing of the workpiece to be processed is also referred to as the production of the product.
[0037] Combined with the specific scenario embodiment shown in Figure 2, the processing process in the workshop is more clearly explained. As shown in Figure 2, when processing the workpieces in the workshop, the workshop may include n workpieces to be processed, and continuous processing is required in c (c ≥ 2) processing stages to obtain the finished workpieces corresponding to each workpiece to be processed, and at least one processing stage is provided with at least two processing equipment. The processing equipment is used to perform the corresponding processing steps. For the sake of convenience of description, the processing equipment will also be referred to as production equipment or site in the following text. Assuming that processing stage i is provided with mi processing equipment, one processing equipment can be selected from the mi processing equipment to perform the processing operation of processing stage i on the workpiece to be processed.
[0038] In this scenario embodiment, when processing each workpiece, at least the following processing conditions exist:
[0039] Condition 1: For each processing stage, the processing operations corresponding to that processing stage can only be performed on the designated processing equipment; and for each workpiece, the processing operations corresponding to that processing stage can only be started on that workpiece after the processing operations corresponding to the previous processing stage of that processing stage have been completed on that workpiece.
[0040] Condition 2: At a certain moment, only one operation (i.e., the processing operation corresponding to one processing stage of a workpiece) can be performed by one processing device.
[0041] Condition 3: Each job can only be processed once on one processing equipment.
[0042] Condition 4: The various processing stages required to complete each workpiece and the processing time required to perform the corresponding processing operations at each processing stage are known. Furthermore, for a workpiece, the processing steps corresponding to each processing stage do not change.
[0043] Condition 5: When switching between different types of workpieces to be processed using the same processing equipment (i.e., processing the first workpiece before processing another workpiece), time costs are incurred, and frequent switching affects the yield of the finished workpieces.
[0044] Condition 6: During each production schedule, there may be semi-finished products in the workshop that have already entered or are in the buffer zone;
[0045] Condition 7: Processing equipment on a maintenance schedule will be temporarily unavailable for scheduling;
[0046] Condition 8: Different types of finished workpieces have different delivery dates, and the delivery dates are dispersed. Different types of finished workpieces will be delivered in different quantities at different delivery dates, and will be delivered in batches.
[0047] It should be noted that for each workpiece to be processed, the workpiece to be processed may correspond to one processing stage or multiple processing stages, which is not limited in the embodiments of the present application. Wherein, in the case where the workpiece to be processed corresponds to multiple processing stages, there are corresponding processing steps between each processing stage.
[0048] For example, when a workpiece is an iron block and a screw is obtained through a processing process consisting of three processing operations: turning, forging and cold heading on the iron block, turning can be regarded as the processing operation corresponding to the first processing stage of the workpiece, forging can be regarded as the processing operation corresponding to the second processing stage of the workpiece, and cold heading can be regarded as the processing operation corresponding to the third processing stage of the workpiece.
[0049] Specifically, during processing, the iron block (i.e., the original material) is regarded as the workpiece to be processed in the first processing stage, and the workpiece to be processed in the second processing stage is obtained by performing the processing operation corresponding to the first processing stage (turning processing) on the sub-workpiece to be processed in the first stage; the workpiece to be processed in the third processing stage is obtained by performing the processing operation corresponding to the second processing stage (forging processing) on the workpiece to be processed in the second processing stage; and the finished workpiece, i.e., the product corresponding to the iron block, the screw, is obtained by performing the processing operation corresponding to the third processing stage (cold heading) on the workpiece to be processed in the third processing stage.
[0050] The production scheduling order of at least two workpieces to be processed is the processing order obtained after random initialization based on the workpiece identifications of the workpieces to be processed. This embodiment of the present application does not impose any restrictions on this.
[0051] As an example, there are 5 workpieces in the workpiece group, namely: Workpiece 1, Workpiece 2, Workpiece 3, Workpiece 4, and Workpiece 5. The corresponding initialization scheduling order can be: Workpiece 1 → Workpiece 2 → Workpiece 3 → Workpiece 4 → Workpiece 5, or it can be: Workpiece 4 → Workpiece 3 → Workpiece 2 → Workpiece 5 → Workpiece 1, etc.
[0052] In order to obtain a more accurate production scheduling sequence, shorten the search time and converge quickly, increase the speed of determining the final production scheduling sequence, and meet the development needs of intelligent and flexible workshops, in the embodiment of the present application, the production scheduling sequence can also be initialized in combination with the actual production mode, for example, at least one of the number of workpieces to be processed, the processing steps, the delivery time, etc. to obtain the production scheduling sequence. The production scheduling sequence initialization method can specifically include the following methods:
[0053] Method 1: Taking the production scheduling initialization based on the workpiece type to be processed, the correct sequence of the processing procedures for the workpiece to be processed, and the number of workpieces to be processed as an example, the production scheduling order of all workpieces to be processed can be randomly set while ensuring the sequence of the processing procedures (i.e., random initialization of part of the production scheduling order).
[0054] As an example, a workpiece group includes five workpieces: Workpiece 1, Workpiece 2, Workpiece 3, Workpiece 4, and Workpiece 5. Except for Workpiece 2, which is processed through three processing stages a, b, and c in a processing sequence (i.e., the workpiece to be processed for Workpiece 2 can be represented as Workpiece 2a → Workpiece 2b → Workpiece 2c), the remaining workpieces can be processed through a single processing stage. The resulting production sequence is: Workpiece 4 → Workpiece 2a → Workpiece 3 → Workpiece 2b → Workpiece 5 → Workpiece 2c → Workpiece 1. In this production sequence, the processing order of Workpiece 2 remains unchanged.
[0055] Method 2: Taking the production scheduling initialization based on the workpiece type to be processed, the correct sequence of processing procedures for the workpiece to be processed, the number of workpieces to be processed, and the batch continuity of the same product as an example, the production scheduling order of all workpieces to be processed can be randomly set (i.e., partial particle continuous initialization) while ensuring the batch continuity and processing sequence of the same product.
[0056] As an example, a workpiece group includes five workpieces: Workpiece 1, Workpiece 2, Workpiece 3, Workpiece 4, and Workpiece 5. Except for Workpiece 2, which is completed through three processing stages a, b, and c with a sub-processing sequence (i.e., the workpiece to be processed for Workpiece 2 can be represented as Workpiece 2a → Workpiece 2b → Workpiece 2c), the remaining workpieces can be completed through a single processing stage. The initial production scheduling sequence is: Workpiece 4 → Workpiece 3 → Workpiece 2a → Workpiece 2b → Workpiece 2c → Workpiece 5 → Workpiece 1. In this production scheduling sequence, the processing order of Workpiece 2 does not change, and the processing stages are continuous.
[0057] Method 3: Taking the production scheduling sequence initialization based on the workpiece type to be processed, the correct sequence of processing procedures for the workpiece to be processed, the number of workpieces to be processed, the batch continuity of the same product, and the delivery time as an example, the production scheduling sequence can be set under the premise of ensuring the sequence of delivery time, the quantity of each delivery, the batch continuity of the same product, and the sequence of procedures (that is, initializing the delivery sequence of some particles).
[0058] As an example, there are five workpieces in the workpiece group, namely: workpiece 1, workpiece 2, workpiece 3, workpiece 4, and workpiece 5. Among them, except for workpiece 2, which is realized through three processing stages a, b, and c with sub-processing sequences (that is, the workpiece to be processed of workpiece 2 can be expressed as workpiece 2a→workpiece 2b→workpiece 2c), the remaining workpieces can be realized through one processing stage, and the delivery time sequence of each workpiece is: workpiece 2→workpiece 3→workpiece 1→workpiece 5→workpiece 4, then the initial production sequence can be obtained: workpiece 2a→workpiece 2b→workpiece 2c→workpiece 3→workpiece 1→workpiece 5→workpiece 4. Among them, in this production sequence, the processing sequence of workpiece 2 has not changed, the various processing stages of workpiece 2 are continuous, and it can be guaranteed that the delivery is made according to the order of the delivery time.
[0059] Optionally, different methods of initializing the production scheduling sequence can be combined to determine the production scheduling sequence. For example, based on the total number of workpieces of each workpiece type in the workshop, the production scheduling sequence number corresponding to method 1: the production scheduling sequence number corresponding to method 2: the production scheduling sequence number corresponding to method 3 can be determined in a ratio of 3:3:4, with methods 1, 2, and 3 used to determine the production scheduling sequence respectively.
[0060] It should be noted that in order to improve the production efficiency of the workshop, the workpieces in the workshop can also be divided based on the number of workpieces that can be processed simultaneously by the processing equipment in the workshop and the number of workpieces of each type to be processed, so as to realize batch processing operations of the same processing stage for each workpiece in the same workpiece group.
[0061] As an example, take workpieces of five different workpiece types, A, B, C, D, and E, which can be produced in the same workshop. If the total number of workpieces to be processed in the workshop is 80, among which the processing quantities of workpieces corresponding to workpiece types A, B, C, D, and E are 10, 15, 10, 20, and 15, respectively, then: based on the number of workpieces that can be processed simultaneously by the processing equipment in the workshop at each time (for example, 5) and the processing quantity of workpieces of each workpiece type, the workpieces in the workshop can be divided into 14 workpiece groups (i.e., 14 batches), that is: the workpieces of workpiece type A are divided into two workpiece groups A1 and A2, the workpieces of workpiece type B are divided into three workpiece groups B1, B2, and B3, the workpieces of workpiece type C are divided into two workpiece groups C1 and C2, the workpieces of workpiece type D are divided into four workpiece groups D1, D2, D3, and D4, and the workpieces of workpiece type E are divided into three sub-workpiece groups E1, E2, and E3.
[0062] Step S102: taking the production scheduling sequence as particles to be processed, and determining the corresponding prediction index values of the particles to be processed under at least two production indicators according to the equipment attributes of the processing equipment.
[0063] In an embodiment of the present application, after determining the particles to be processed (i.e., the production sequence), the position information, speed information, and weight information of each particle to be processed can also be initialized, wherein the position information represents the particle to be processed itself (for example, the initial position of each particle to be processed can be determined based on the order of determining each production sequence), the speed information is the movement speed in the multi-particle space, and the weight information is consistent with the position information, and the weight information with the position information at the front is also larger.
[0064] The equipment attributes of the processing equipment may include the number of processing equipment of different processing types, the working status of the processing equipment (for example, can be scheduled, cannot be scheduled, temporarily cannot be scheduled), the processing operations that the processing equipment can perform, etc.
[0065] Production indicators may include but are not limited to the total completion time of all workpieces, the processing continuity of the equipment (i.e., minimizing the frequent switching of the types of workpieces processed by the same equipment), delivery time, etc.
[0066] When determining the predicted index values corresponding to the above-mentioned particles to be processed under at least two production indicators based on the equipment properties of the processing equipment, the predicted index value of the corresponding particles to be processed under each production indicator can be determined based on each production indicator when each processing equipment is used to process each type of workpiece to be processed in the particles to be processed.
[0067] Among them, when determining the corresponding time period for selecting the corresponding processing equipment for each process (an operation) of a workpiece, the optional processing equipment corresponding to each process of each workpiece can be determined first based on the processing operations that can be performed by the processing equipment; and combined with the completion time of the previous process of the workpiece, the processing time of the current process, the tangent time between the previous operation and the current operation of the optional processing equipment, the processing equipment corresponding to the workpiece and the available time period of the processing equipment are determined from the optional processing equipment, and then the cycle is repeated until the selection of processing equipment is completed for all operations.
[0068] Optionally, if it can be determined that multiple processing equipment can perform a processing operation on a certain workpiece, the earliest available processing equipment can be selected from the various processing equipment.
[0069] Step S103: Calculate the predicted index values according to the multi-objective particle swarm algorithm, and determine target particles that meet the production scheduling conditions from the particles to be processed according to the calculation results; wherein the production scheduling conditions include the target index value of each production index.
[0070] It is understandable that the target indicator value can be a specific numerical value, a numerical range or a relative value, and the embodiments of the present application do not limit this.
[0071] Optionally, corresponding to the production indicator of completion time, the production scheduling conditions may include: minimum maximum completion time, that is, after determining the maximum completion time of each particle to be processed, the minimum value of the maximum completion time of each particle to be processed is determined as the minimum maximum completion time, and the corresponding particle to be processed is the particle that meets the production scheduling condition.
[0072] Among them, for each particle to be processed, when determining the maximum completion time of the particle to be processed, you can first determine the processing equipment that executes the particle to be processed and the available time period, and then determine the sum of the expected execution time of each job in the particle to be processed and the switching time of each processing equipment as the maximum completion time of the particle to be processed.
[0073] Optionally, corresponding to the production indicator of delivery time, the production scheduling condition may include: meeting the delivery time of each workpiece to be processed.
[0074] Optionally, corresponding to the production indicator of switching continuity, the production scheduling conditions may include: minimizing the sum of switching times and optimizing switching continuity. Specifically, when processing each step of the particles to be processed, the sum of the switching times of each processing device is minimized, and the number of product switches corresponding to each processing device is minimized (i.e., the same processing device handles the processing operations of the same product as much as possible).
[0075] Optionally, after determining the predicted indicator values for each particle to be processed, the indicators can be normalized, and the particle closest to the production scheduling conditions among the particles to be processed can be determined as the target particle. If there are multiple particles closest to the production scheduling conditions, any one of the particles closest to the production scheduling conditions can be randomly selected as the target particle.
[0076] In an embodiment of the present application, by determining the production scheduling order of at least two workpieces to be processed and the production scheduling conditions including the target index value of each production index, the determined production scheduling order is used as the particles to be processed, and according to the equipment properties of the processing equipment, the predicted index values corresponding to the particles to be processed under at least two production indicators are determined; and the above-mentioned predicted index values are calculated according to the multi-objective particle swarm algorithm, and the target particles that meet the production scheduling conditions are determined from the particles to be processed according to the calculation results. The production scheduling order that meets various production indicators can be quickly determined, thereby improving the production scheduling efficiency.
[0077] Optionally, the calculation of the prediction index value according to the multi-objective particle swarm algorithm and the determination of target particles that meet the production scheduling conditions from the particles to be processed according to the calculation result may include:
[0078] Determine the initial position information of the particle to be processed in the production index space according to the predicted index value; the dimension of the production index space is used to represent the production index;
[0079] Determining the particle congestion degree of the to-be-processed particles in the production index space according to the initial position information;
[0080] The target particles are determined based on the particle crowding degree.
[0081] In this implementation, each production indicator can be used as a dimension to construct a production indicator space. The initial position information of the particle to be processed in the production indicator space is determined based on the predicted indicator value of each production indicator of the particle to be processed.
[0082] It is understandable that the position information of the particle to be processed in the production index space can also be determined based on the initialized position information of the particle to be processed; and after the predicted index value of the particle to be processed is determined, the position information of the particle to be processed in the production index space is adjusted to the initial position information.
[0083] After determining the initial position information of each particle to be processed, the spatial range formed by the initial position information of each particle to be processed can be divided into different grid spaces according to the initial position information of each particle to be processed, and the particle congestion degree of each particle to be processed can be determined based on the number of particles in the grid space to which the initial position information of each particle to be processed belongs.
[0084] Specifically, assuming that the total number of particles to be processed is 100, numbered 1, ..., 100, the spatial range formed by the initial position information of each particle to be processed can be divided into 10 grid spaces, and the particle congestion of the particle to be processed can be the number of particles x1, x2, ...x in the grid space where the particle to be processed is located. 100 .
[0085] Optionally, after determining the particle congestion of each to-be-processed particle, taking into account the difficulty of screening each to-be-processed particle, the to-be-processed particle with the lowest particle congestion may be determined as the target particle.
[0086] Optionally, the target particles can be determined based on the following particle crowding selection function:
[0087] Where r represents the total number of particles to be processed, and 10 is a constant, which can be determined based on actual conditions. i is the probability that the particle to be processed is determined to be the target particle, n i is the middle value.
[0088] In determining the m i After that, the cumulative value of the crowding selection function of the current particle to be processed can be calculated And randomly generate a random number between 0 and 1. If the random number is less than or equal to sp i , then the particle to be processed i is the target particle.
[0089] Based on the particle crowding degree of the particles to be processed in the production index space, the target particles that meet the production scheduling conditions can be quickly determined.
[0090] Optionally, determining the particle congestion degree of the to-be-processed particles in the production index space according to the initial position information may include:
[0091] Determining target velocity information of the particles to be processed;
[0092] updating the initial position information according to the target speed information to obtain updated position information;
[0093] The particle crowding degree is re-determined based on the updated position information.
[0094] Optionally, the above-mentioned determination of the target velocity information of the particles to be processed may include:
[0095] Determining first position information of the particle to be processed based on a comparison result of the current position information and the historical position information of the particle to be processed;
[0096] Determine the second position information based on the comparison result between the current position information of all the particles to be processed and the target position information; the target position information is the position information of the target index value in the production index space;
[0097] The target speed information is updated according to the current position information, the first position information and the second position information using a preset speed information updating method.
[0098] Optionally, when performing the second round of iteration, the current position information of the particle to be processed is the same as the historical position information, that is, the initial position information. Then, based on the speed information, movement time and current position information of the particle to be processed, the product of the speed information of the particle to be processed and the movement time can be added to the current position information of the particle to be processed to obtain the position information to be processed, and the position information that meets the production scheduling conditions (that is, the position information that is closer to the target position information) between the current position information of the particle to be processed and the position information to be processed is determined as the first position information.
[0099] During the third round of iteration, the target speed information may be determined according to the above-mentioned target speed information determination method, and the current position information may be updated.
[0100] When determining the second position information, the position information closest to the target position information in the current position information of each particle to be processed can be determined as the second position information, that is, the position information of the target particle in the previous iteration process.
[0101] Optionally, the following preset speed information updating method may be used to determine the target speed information: V i =ω×v i +c1r1(pbest-p i )+c2r2(gbest-p i )
[0102] Among them, v i is the current speed information, p i is the current position of the particle to be processed, pbest is the first position, gbest is the second position, ω is the inertia coefficient (a non-negative constant), c1 and c2 are acceleration constants used to adjust the learning step size, and r1 and r2 are random constants. The specific values of ω, c1, c2, r1, and r2 can be determined according to actual conditions.
[0103] After determining the target velocity information of the particle to be processed, the current position information of the particle to be processed can be updated according to the following method to obtain the updated position information: i =p i +V i
[0104] After the position information of each particle to be processed (ie, the predicted index value) is updated, the above-mentioned method can be used to iterate the particle crowding degree, and the target particle can be determined again based on the updated particle crowding degree.
[0105] In this implementation, the position information of each particle to be processed can be updated, the particle crowding degree can be iterated, and after the particle crowding degree is determined, the target particle can be re-determined based on the updated particle crowding degree. In this way, the target particle that meets the production scheduling conditions can be determined through multiple rounds of iterative calculations, thereby improving the accuracy of the determined target particles.
[0106] Optionally, the calculation of the prediction index value according to the multi-objective particle swarm algorithm and the determination of target particles that meet the production scheduling conditions from the particles to be processed according to the calculation result may include:
[0107] Determine the target production indicator with the highest priority based on the priorities of the at least two production indicators mentioned above;
[0108] determining a sampling ratio of the particles to be processed based on a predicted index value of the particles to be processed under the target production index;
[0109] According to the sampling ratio, the target particles are sampled from the particles to be processed.
[0110] Optionally, determining the sampling ratio of the particles to be processed based on the predicted index value of the particles to be processed under the target production index may include:
[0111] Determining the minimum value among the predicted index values of each particle to be processed under the above target production index;
[0112] The sampling ratio of the particles to be processed is determined according to the minimum value and the predicted index value of the particles to be processed under the target production index.
[0113] In this implementation, the priority of each production indicator can be determined according to actual conditions. For example, according to the priority of each production indicator, it can be determined that the target production indicator with the highest priority is the completion time.
[0114] If there is a single production indicator with the highest priority, after determining the minimum value among the predicted indicator values for each particle to be processed under that production indicator, that production indicator can be determined as the target production indicator, and subsequent operations can be performed based on the determined minimum value. If there are multiple production indicators with the highest priority, after determining the minimum value among the predicted indicator values for each particle to be processed under each of the aforementioned highest-priority production indicators, the maximum value among the minimum values can be used to determine the production indicator corresponding to that maximum value as the target production indicator, and subsequent operations can be performed.
[0115] When determining the sampling ratio of the particles to be processed, the sum k of the predicted index values of each particle to be processed under the target production index can be determined, a first ratio of the predicted index value of the particle to be processed under the target production index to the sum of the predicted index values can be determined, and the sampling ratio of the particles to be processed can be determined as the ratio of the first ratio corresponding to the particle to be processed to k.
[0116] As an example, assume that there are two particles to be processed, a and b. The production scheduling conditions can include the total completion time of all workpieces (i.e., target x), the processing continuity of the equipment (i.e., target y), and the delivery time (i.e., target z). The production indicators with the highest priority are target y and target z. After normalizing the predicted index values of the particles to be processed under each production index, the normalized predicted index values of the two particles to be processed can be obtained as: a[1, 0.5, 0.8], b[2, 0.6, 0.6].
[0117] We can then traverse the predicted index values of the two particles a and b under target y and target z, respectively, and determine the minimum values under target y and target z: y_min = 0.5 (from particle a) and z_min = 0.6 (from particle b). We then determine the maximum value of y_min and z_min, z_min = 0.6, confirming that target z is the target of this round, i.e., the target production index. We then perform a proportional sampling based on the target z values of 0.8 and 0.6 for particles a and b, respectively. Here, k is sum(a, b) = 0.8 + 0.6 = 1.4, l[a] = 1.4 / 0.8, and l[b] = 1.4 / 0.6. Therefore, the sampling ratio for particle a is l[a] / k, and the sampling ratio for particle b is l[b] / k. And according to the sampling ratios corresponding to the particles a to be processed and the particles b to be processed, sampling is performed on the particles a to be processed and the particles to be processed b, and the particles obtained by the sampling are determined as target particles.
[0118] It is understandable that the position information of each particle to be processed may also be updated according to the above method, and the updated position information may be normalized, and iteration may be performed based on the normalized prediction index value until the target particle is determined.
[0119] Optionally, before calculating the prediction index value according to the multi-objective particle swarm algorithm, the method may further include:
[0120] determining a candidate particle among the particles to be processed based on a comparison result of prediction index values of at least two of the particles to be processed;
[0121] Among the particles to be processed, the prediction index value of the candidate particles is greater than the prediction index value of the non-candidate particles.
[0122] Optionally, the determining of candidate particles among the particles to be processed based on the comparison result of the prediction index values of at least two of the particles to be processed may include:
[0123] When the number of the candidate particles is greater than a preset threshold, particles having a number equal to the preset threshold are screened from the candidate particles based on the particle congestion of the candidate particles.
[0124] In this implementation, the Pareto method can be used to determine candidate particles based on the Pareto dominance relationship. In the Pareto dominance relationship (i.e., the dominance relationship of decision vectors and the dominance relationship of target vectors), if and only if X1 is not inferior to X2 in all targets and is strictly superior to X2 in at least one target, that is, one decision vector X1 dominates another decision vector X2, and X1 can be regarded as a non-inferior solution, that is, a dominant solution, and X2 can be regarded as a dominated solution.
[0125] In the embodiment of the present application, the prediction index values of two particles to be processed can be compared to determine the dominant solution and the dominated solution in the two particles to be processed, and the dominated solution can be deleted and the dominant solution can be retained to obtain a preset number of candidate particles.
[0126] After determining the dominant solution, the number of dominant solutions can be determined. When the number of dominant solutions is less than or equal to a preset threshold, the determined dominant solution can be used as a candidate particle. Furthermore, when the number of dominant solutions is less than the preset threshold, a new dominant solution can be determined from the dominated solutions until the total number of determined dominant solutions reaches the preset threshold.
[0127] When the number of dominating solutions exceeds a preset threshold, some dominating solutions can be removed based on the particle congestion of the particles to be processed corresponding to each dominating solution until a total number of dominating solutions that meets the preset threshold is determined. For example, particles to be processed with a high particle congestion can be removed.
[0128] Specifically, the selection probability pp of each particle to be processed is calculated according to the particle congestion of the corresponding particle to be processed according to the dominant solution. i =p i 2 , and determine the cumulative value of the selection probability of the particles to be processed And randomly generate a random number a between 0 and the sum of the selected probabilities. If the random number a is less than or equal to spp i , the particles to be processed are cleared.
[0129] It is understandable that in the above iterative process, all particles to be processed can be merged again after each iteration to re-determine the candidate particles and target particles, so as to avoid errors in a single iteration process and affect the accuracy of the target particles finally determined.
[0130] By determining candidate particles in the above manner and eliminating redundant candidate particles, the amount of data required in the process of determining target particles can be reduced, and the probability of determining target particles can be increased.
[0131] In summary, as shown in FIG3 , the production scheduling method may include the following steps:
[0132] Step 301: Initialize the position, velocity, and weight of the particle (i.e., the particle to be processed);
[0133] Step 302: Calculate the initialization fitness (i.e., the prediction index value) based on the machine selection result (i.e., the algorithm calculation process);
[0134] Step 303: Initialize individual optimality (i.e., determine initial position information and determine first position information);
[0135] Step 304: Archiving particles (i.e., determining candidate particles);
[0136] Step 305: Calculate and initialize the global optimum (determine the second position information);
[0137] Step 306: Update particle position, velocity, and weight;
[0138] Step 307: Calculate the updated fitness based on the machine selection result;
[0139] Step 308: Update individual optimality;
[0140] Step 309: Update particle archive;
[0141] Step 310: Update the global optimum and determine whether the number of iterations is reached or the convergence condition is met. If so, the process ends; if not, the process returns to step 306.
[0142] It should be noted that step 303, step 305, and step 307 may also be replaced by determining a sampling ratio, which will not be described in detail here.
[0143] In order to facilitate a better understanding of the production scheduling method provided in the embodiment of the present application, the production scheduling method is better explained below with reference to specific examples.
[0144] Step 1: As shown in FIG4A, the production scheduling style configuration 301 and the constraint conditions 302 can be constructed according to the actual production needs of different factories in the actual production scheduling process.
[0145] Step 2: As shown in 303 in FIG4A , the configured scheduling style and constraints are input into the scheduling optimization algorithm (e.g., a heuristic algorithm or a mathematical programming algorithm), and the above-mentioned production scheduling method is used for calculation, and the style configuration (i.e., production scheduling conditions and goals) of each scheduling scheme (i.e., scheduling sequence) is evaluated, such as completion time evaluation, equipment utilization evaluation, and WIP (work in progress) indicator evaluation.
[0146] Step 3: As shown in 304 in FIG4A , the best production scheduling plan can be selected based on the evaluation indicators and output to the user, including a daily plan (as shown in FIG4B or FIG4C ) and a minute-level plan (as shown in FIG4D or FIG4E ).
[0147] 4D or 4E is represented by a Gantt chart, wherein in FIG4D or 4E, the horizontal axis of the Gantt chart is time (Time, unit: day), the vertical axis is the equipment name (Machine), each color represents a product, each long bar represents each process of the product, the left side of the long bar is the start processing time, and the right side is the end processing time.
[0148] FIG4B shows a product demand table based on daily units, i.e., a daily schedule. As shown in FIG4B , the products to be produced include product B1A013Z15V601, product B1A014YW5V801, product B1A015B75E501, ..., and product B1A150X05T403. For example, on February 7, 2022, the quantity of product B1A015QQ5T401 to be produced (i.e., processed) is 400, and the quantity of product B1A020QV5T405 is 1600, resulting in a total quantity of 2000 for all products required to be produced. On February 10, 2022, the quantity of product B1A014YW5V801 to be produced is 100, and the quantity of product B1A015QQ5T401 to be produced is 2000, resulting in a total quantity of 2100 for all products required to be produced on February 10, 2022.
[0149] The production process indicator table shown in Figure 4C displays the demand list, process route, machine information (i.e., processing equipment information), production scheduling style (i.e., scheduling style), actual production line dashboard, daily production capacity curve, daily inventory curve, daily output curve, etc. for different products. The demand list includes indicators such as delivery time, total product quantity, delivery time satisfaction (i.e., the ratio of the actual number of products produced at the delivery time to the total number of products), predicted delivery time, production completed (i.e., the number of products currently in production), and completed (i.e., the number of products completed). The process route is the station order determined based on the production stage (i.e., process) of each product. Machine information includes different stations and the available machine identifiers corresponding to each station. Scheduling style includes maximum demand satisfaction, maximum production capacity, minimum line changeovers, minimum inventory, and balanced output. The real-time production line dashboard displays the values of various production indicators determined based on actual production conditions, specifically including the work-in-process (WIP) value, the current machine's capacity indicator, the current product input, and the current product output.
[0150] As shown in Figure 4C, the current product being produced is Product A, with a delivery date of October 11, 2022. The required production quantity is 30,000 units, with a predicted delivery date of October 11, 2022. 4,000 units have been put into production, and 2,000 units have been completed. The process route for Product A is M→L→K→S. The values of various production indicators indicate that Product A is currently being produced at Site M. The machines at Site M that can produce Product A in the current process include M1, M2, M3, and L2. The WIP value for Product A is 2,000, the capacity indicator for the currently used machine, M1, is 3,000, the input quantity for Product A is 2,000, and the output quantity for Product A is 2,000.
[0151] It should be noted that in actual production, different products may be in demand at different times. For example, as shown in Figure 4C, the delivery dates for Product A include October 11, 2022, and December 1, 2022.
[0152] As shown in FIG4D , when the final target production sequence is determined based on different production sequences and the optional machines at each site for each production sequence, the machine for actual processing can be selected from the optional machines based on the production end time of the machine. The ordinate represents different machine identifiers, and the abscissa represents the production end time corresponding to each machine. When the ordinate is fixed, each square represents the production start time to the production end time of the current process of the machine corresponding to the ordinate. As shown in the partial enlarged view 401 shown in FIG4D , when the first process (process 1) of product A is produced by machine M2, the production start time is 10:30 on October 11, 2022, and the production end time is 10:35 on October 11, 2022. By analogy, the final production end time of each machine can be determined, and then based on the length of the production end time of each machine, it can be selected whether to use the machine to process the process of the current product.
[0153] As shown in FIG4E , when the product is processed by each machine, the completed processes on each machine, the locked processes (that is, the preparatory work for the process to be processed has been set on the machine, and the process to be processed is about to be processed on the machine) and the adjustable processes (that is, the preparatory work for the process to be processed has not been set on the machine, and the machine for processing the process to be processed can be reselected) can be used according to the current time (i.e., the timestamp shown as 402 in FIG4E ).
[0154] Of course, other representations are also possible. For example, after the production schedule is complete, the projected delivery date for each product and the current production quantity can be calculated. A real-time production capacity dashboard (real-time inventory, input, and output) and various graphs showing the factory's production status (daily production line capacity graphs, daily inventory graphs, and daily output graphs, etc.) can also be generated.
[0155] The method of determining the production schedule can also be visualized. By inputting a new demand list (including product name, delivery date, required quantity), process route, machine information, production schedule style, equipment maintenance plan and semi-finished product inventory data and clicking the rearrangement control (as shown in FIG4C ), a new production schedule can be obtained.
[0156] Experiments have shown that by applying this production scheduling method, the calculation time for a two-month minute-level production plan at the output factory is only 8 minutes, which is much shorter than the time required for manual scheduling.
[0157] Based on the same principle as the production scheduling method provided in the embodiment of the present application, the embodiment of the present application also provides a production scheduling device. As shown in Figure 5, the device 50 includes:
[0158] The production sequence determination module 501 is used to determine the production sequence of at least two workpieces to be processed;
[0159] An index value prediction module 502 is configured to use the production schedule as particles to be processed and determine predicted index values corresponding to at least two production indicators for the particles to be processed based on the equipment attributes of the processing equipment;
[0160] The target particle determination module 503 is used to calculate the above-mentioned prediction index values according to the multi-objective particle swarm algorithm, and determine the target particles that meet the production scheduling conditions from the above-mentioned particles to be processed according to the calculation results; wherein the production scheduling conditions include the target index value of each production index.
[0161] Optionally, the target particle determination module 503 calculates the prediction index value according to a multi-objective particle swarm algorithm, and determines the target particles that meet the production scheduling conditions from the particles to be processed according to the calculation result, which may include:
[0162] Determine the initial position information of the particle to be processed in the production index space according to the predicted index value; the dimension of the production index space is used to represent the production index;
[0163] Determining the particle congestion degree of the to-be-processed particles in the production index space according to the initial position information;
[0164] The target particles are determined based on the particle crowding degree.
[0165] Optionally, the target particle determination module 503 determines the particle congestion degree of the to-be-processed particle in the production index space according to the initial position information, which may include:
[0166] Determining target velocity information of the particles to be processed;
[0167] updating the initial position information according to the target speed information to obtain updated position information;
[0168] The particle crowding degree is re-determined based on the updated position information.
[0169] Optionally, the target particle determination module 503 may determine the target velocity information of the particle to be processed by:
[0170] Determining first position information of the particle to be processed based on a comparison result of the current position information and the historical position information of the particle to be processed;
[0171] Determine the second position information based on the comparison result between the current position information of all the particles to be processed and the target position information; the target position information is the position information of the target index value in the production index space;
[0172] The target speed information is updated according to the current position information, the first position information and the second position information using a preset speed information updating method.
[0173] Optionally, the target particle determination module 503 calculates the prediction index value according to a multi-objective particle swarm algorithm, and determines the target particles that meet the production scheduling conditions from the particles to be processed according to the calculation result, which may include:
[0174] Determine the target production indicator with the highest priority based on the priorities of the at least two production indicators mentioned above;
[0175] determining a sampling ratio of the particles to be processed based on a predicted index value of the particles to be processed under the target production index;
[0176] According to the sampling ratio, the target particles are sampled from the particles to be processed.
[0177] Optionally, the target particle determination module 503 determines the sampling ratio of the particles to be processed according to the predicted index value of the particles to be processed under the target production index, which may include:
[0178] Determining the minimum value among the predicted index values of each particle to be processed under the above target production index;
[0179] The sampling ratio of the particles to be processed is determined according to the minimum value and the predicted index value of the particles to be processed under the target production index.
[0180] Optionally, the above apparatus may further include a candidate particle determination module, configured to:
[0181] Before calculating the prediction index value according to the multi-objective particle swarm algorithm, determining candidate particles among the particles to be processed based on a comparison result of the prediction index values of at least two of the particles to be processed;
[0182] Among the particles to be processed, the prediction index value of the candidate particles is greater than the prediction index value of the non-candidate particles.
[0183] Optionally, the candidate particle determination module determines the candidate particles among the particles to be processed based on a comparison result of prediction index values of at least two of the particles to be processed, which may include:
[0184] When the number of the candidate particles is greater than a preset threshold, particles having a number equal to the preset threshold are screened from the candidate particles based on the particle congestion of the candidate particles.
[0185] In an embodiment of the present application, by determining the production scheduling order of at least two workpieces to be processed and the production scheduling conditions including the target index value of each production index, the determined production scheduling order is used as the particles to be processed, and according to the equipment properties of the processing equipment, the predicted index values corresponding to the particles to be processed under at least two production indicators are determined; and the above-mentioned predicted index values are calculated according to the multi-objective particle swarm algorithm, and the target particles that meet the production scheduling conditions are determined from the particles to be processed according to the calculation results. The production scheduling order that meets various production indicators can be quickly determined, thereby improving the production scheduling efficiency.
[0186] The device of the embodiment of the present application can execute the method provided by the embodiment of the present application, and its implementation principle is similar. The actions performed by each module in the device of each embodiment of the present application correspond to the steps in the method of each embodiment of the present application. For the detailed functional description of each module of the device, please refer to the description in the corresponding method shown in the previous text, and will not be repeated here.
[0187] Based on the same principles as the production scheduling method and apparatus provided in the embodiments of the present application, an electronic device (such as a server) is further provided in the embodiments of the present application. The electronic device may include a memory, a processor, and a computer program stored in the memory, wherein the processor executes:
[0188] Determine the production order of at least two workpieces to be processed;
[0189] Taking the production schedule as the particles to be processed, and determining, based on the equipment attributes of the processing equipment, corresponding prediction index values of the particles to be processed under at least two production indicators;
[0190] The predicted index values are calculated according to a multi-objective particle swarm algorithm, and target particles that meet production scheduling conditions are determined from the particles to be processed according to the calculation results; wherein the production scheduling conditions include the target index value of each production index.
[0191] In an embodiment of the present application, by determining the production scheduling order of at least two workpieces to be processed and the production scheduling conditions including the target index value of each production index, the determined production scheduling order is used as the particles to be processed, and according to the equipment properties of the processing equipment, the predicted index values corresponding to the particles to be processed under at least two production indicators are determined; and the above-mentioned predicted index values are calculated according to the multi-objective particle swarm algorithm, and the target particles that meet the production scheduling conditions are determined from the particles to be processed according to the calculation results. The production scheduling order that meets various production indicators can be quickly determined, thereby improving the production scheduling efficiency.
[0192] FIG6 schematically shows a flow chart of a production scheduling method according to an embodiment of the present disclosure.
[0193] As shown in FIG6 , the production scheduling method 600 may include operations S610 to S640 .
[0194] In operation S610 , the logic processing module receives configuration information from the display control module and generates a batch identifier according to the received configuration information.
[0195] In operation S620, the scheduling algorithm module obtains scheduling data related to the batch identification from the database module, calls a scheduling algorithm adapted to the configuration information to perform scheduling according to the scheduling data to generate a scheduling result, and stores the scheduling result in the database module in association with the batch identification.
[0196] In operation S630 , the logic processing module periodically obtains the latest production scheduling result from the database module and sends it to the display control module.
[0197] In operation S640 , the display control module displays the production scheduling result provided by the logic processing module.
[0198] According to embodiments of the present disclosure, production scheduling may refer to the process of allocating production tasks to production resources. Configuration information may be used to describe relevant information about the task to be scheduled. For example, the configuration information may include at least one of demand information, machine information, process routing, and scheduling preference information. The scheduling results may include a batch identifier and at least one Gantt chart. The batch identifier may include a unique batch number used to identify different batches. The batch identifier may be represented by BatchNo. For example, the batch identifier may include at least one of the product's production year, production month, and batch production number.
[0199] Demand information can be used to characterize information related to the products in the task to be scheduled, for example, the demand information includes at least one of product identification, product delivery date and product demand quantity. The process route can be used to characterize information related to the process route of the products in the task to be scheduled, for example, the process route information includes the process route of the product. Machine information can be used to characterize information related to the production process and production equipment of the task to be scheduled, for example, the machine information includes the production process in the process route and the production equipment available for the production process. Scheduling preference information can be used to characterize user preference information related to the task to be scheduled, for example, the scheduling preference information includes at least one of the following preferences: balanced output, lowest inventory, minimum number of line changes, maximum production capacity and maximum demand satisfaction.
[0200] The specific database used by the database module can be configured based on actual business needs and is not limited here. For example, the database module can use a relational database or a non-relational database. Relational databases may include at least one of the following: Oracle, SQL Server, Sybase, Informix, Access, DB2, and MySQL. Non-relational databases may include at least one of the following: HBase, Cassandra, SimpleDB, CouchDB, MongoDB, and Redis.
[0201] Scheduling data can be generated based on bill of materials (BOM) data and process route (i.e., routing) data. Specifically, the original data corresponding to the task to be scheduled can be obtained in advance, and by processing the original data, the bill of materials data and process route data can be obtained. Based on this, the scheduling data can be generated based on the BOM data and process route data. Scheduling data can be used to reflect the input objects and output objects corresponding to each process route in the task to be scheduled. Therefore, by calling a scheduling algorithm that is compatible with the configuration information and scheduling according to the scheduling data, the scheduling result corresponding to the task to be scheduled can be obtained.
[0202] Scheduling algorithms may include scheduling algorithms based on mathematical programming techniques, scheduling algorithms based on artificial intelligence techniques, and scheduling algorithms based on simulation techniques. Specifically, scheduling algorithms based on mathematical programming techniques may refer to algorithms used to establish scheduling models and perform optimization analysis. For example, scheduling algorithms based on mathematical programming techniques may include at least one of the following: scheduling algorithms based on linear programming, scheduling algorithms based on integer programming, and scheduling algorithms based on nonlinear programming. Scheduling algorithms based on artificial intelligence techniques may refer to algorithms used for optimization analysis and generation of optimal production plans. For example, scheduling algorithms based on artificial intelligence techniques may include at least one of the following: scheduling algorithms based on genetic algorithms, scheduling algorithms based on simulated annealing, and scheduling algorithms based on taboo search. Scheduling algorithms based on simulation techniques may refer to algorithms used to simulate production processes and scheduling plans, predict production progress, and resource usage. For example, scheduling algorithms based on simulation techniques may include at least one of the following: scheduling algorithms based on discrete event simulation, and scheduling algorithms based on continuous system simulation.
[0203] A scheduling result can be obtained by invoking a scheduling algorithm adapted to the configuration information and scheduling the scheduling data based on the scheduling algorithm. The scheduling result can be used to describe the process route of at least one production equipment corresponding to the to-be-scheduled task and the production processes corresponding to each process route of the at least one production equipment.
[0204] The periodic acquisition method of the latest production scheduling results can be set according to actual business needs and is not limited here. For example, the periodic acquisition method may include a polling-based production scheduling result acquisition method and a push-based production scheduling result acquisition method.
[0205] Specifically, the polling method may include polling (i.e., Polling) and long polling (i.e., Long-Polling). In the polling method, the display control module periodically sends a request for inquiry regardless of whether the production scheduling results are updated. Long polling may refer to a process that allows the client to send a polling request and open a connection until the server generates new data available or a timeout occurs. In an embodiment of the present disclosure, long polling may specifically refer to a process that allows the display control module to send a polling request and open a connection until the logic processing module generates new data available or a timeout occurs. The results obtained by polling or long polling may include empty information or the latest updated production scheduling results.
[0206] The push method may include push. Push may refer to a communication method in which a server actively sends data to a client. The client may establish a connection with the server, and on this basis, the server sends data to the client at any time. In the embodiment of the present disclosure, push may specifically refer to the process in which the logic processing module actively pushes the updated latest production scheduling results to the display control module after the display control module establishes a connection with the logic processing module until the production scheduling results are updated. The results obtained by the push method include the updated latest production scheduling results.
[0207] According to the embodiments of the present disclosure, since the production scheduling results are obtained by the production scheduling algorithm module obtaining the production scheduling data related to the batch identification from the database module, calling the production scheduling algorithm adapted to the configuration information to schedule according to the production scheduling data, and the logic processing module periodically obtains the latest production scheduling results from the database module, it is possible to obtain a more optimized production scheduling result that meets actual production needs, thereby improving production scheduling efficiency. On this basis, by demonstrating the mutual cooperation between the control module, the logic processing module, the production scheduling algorithm module, and the database module, it is possible to help users realize the generation, import, and optimization process of the scheduling results of production orders, and thus obtain a production scheduling result that not only meets complex production needs but also improves production capacity, thereby improving production scheduling efficiency.
[0208] The production scheduling method 600 according to an embodiment of the present invention will be further described below with reference to FIG. 7 , FIG. 8 , FIG. 9 , FIG. 10 and FIG. 11 .
[0209] FIG7 schematically shows a system architecture diagram for implementing a production scheduling method according to an embodiment of the present disclosure.
[0210] As shown in FIG. 7 , in 700 , the production scheduling system may include a display control module 701 , a logic processing module 702 , a production scheduling algorithm module 703 and a database module 704 .
[0211] The display control module 701 can interact with the logic processing module 702. The database module 704 can interact with the production scheduling algorithm module 703. The logic processing module 702 can interact with the database module 704 and the display control module 701.
[0212] Specifically, the display control module 701 may determine configuration information according to user input, send the configuration information to the logic processing module 702 , and display the production scheduling result provided by the logic processing module 702 .
[0213] The logic processing module 702 can receive configuration information from the display control module 701 and generate a batch identifier based on the received configuration information. The logic processing module 702 can also periodically obtain the latest production scheduling results from the database module 704 and send the latest production scheduling results to the display control module 701. In some embodiments, the logic processing module 702 can include a first logic processing module and a second logic processing module. The first logic processing module is used to receive configuration information from the display control module 701 and generate a batch identifier based on the received configuration information. The second logic processing module can be used to periodically obtain the latest production scheduling results from the database module 704 and send the latest production scheduling results to the display control module 701.
[0214] The scheduling algorithm module 703 can obtain scheduling data related to the batch identifier from the database module 704, invoke a scheduling algorithm adapted to the configuration information, perform scheduling based on the scheduling data, generate scheduling results, and store the scheduling results in association with the batch identifier in the database module 704. The scheduling algorithm module 704 can also generate a scheduling effect chart based on the scheduling results. For example, the scheduling effect chart can be a Gantt chart. After obtaining the scheduling results and the scheduling effect chart, the scheduling algorithm module 703 can store the batch identifier and the scheduling results in association with each other in the database module 704, and store the batch identifier and the scheduling effect chart in association with each other in a local storage device. For example, the storage device can be a hard drive.
[0215] The database module 704 may be used to store production scheduling data related to batch identification, and to associate and store batch identification and production scheduling results.
[0216] In summary, by displaying the control module 701 , the logic processing module 702 , the production scheduling algorithm module 703 and the database module 704 , the management of the production scheduling process can be achieved.
[0217] According to an embodiment of the present disclosure, the production scheduling system may further include a message notification module 705 . The message notification module 705 may interact with the logic processing module 702 and the production scheduling algorithm module 703 .
[0218] In this case, after generating the batch identifier, the logic processing module 702 may further send the batch identifier to the message notification module 705 .
[0219] The message notification module 705 can provide the batch identifier received from the logic processing module 702 to the production scheduling algorithm module 703 in the form of a message queue. A message queue (MQ) can refer to a communication mechanism for transmitting messages between a sender and a receiver. A message queue can store and forward messages through a message server, allowing messages to be sent and received asynchronously without requiring an immediate response.
[0220] The message notification module 705 may maintain multiple message queues. The specific number and purpose of the multiple message queues can be configured based on actual business needs and are not limited here. For example, the multiple message queues may include a first message queue and a second message queue. The first message queue may be used to manage batch identifiers sent by the logic processing module 702 to the message notification module 705. The second message queue may be used to manage batch identifiers sent by the message notification module 705 to the production scheduling algorithm module 703.
[0221] For example, after sending the batch identifier to the message notification module 705, the logic processing module 702 may add the batch identifier to the first message queue. In this case, the message notification module 705 may obtain the batch identifier from the logic processing module 702 from the first message queue. Alternatively, after receiving the batch identifier from the logic processing module 702, the message notification module 705 may add the batch identifier to the second message queue. In this case, the message notification module 705 may forward the batch identifier stored in the second message queue to the production scheduling algorithm module 703.
[0222] The first message queue and the second message queue can forward batch identifiers through subscription. For example, the message notification module 705 can send the first identifier of the first message queue to the logic processing module 702 to subscribe to the first message queue with the logic processing module 702. After monitoring the logic processing module 702 sending the batch identifier to the message notification module 705, the batch identifier can be added to the first message queue and the batch identifier in the first message queue can be sent to the message notification module 705.
[0223] The production scheduling algorithm module 703 may send the second identifier of the second message queue to the message notification module 705, so as to subscribe to the second message queue. After monitoring the message notification module 705 sending a batch identifier to the production scheduling algorithm module 703, the batch identifier may be added to the second message queue, and the batch identifier in the second message queue may be sent to the production scheduling algorithm module 703.
[0224] Multiple first worker threads can concurrently deliver batch identifiers detected by multiple listening ports to a first message queue, which can then store these batch identifiers. Multiple second worker threads can then concurrently retrieve these batch identifiers for subsequent processing. The multiple first and second worker threads can operate independently of each other to ensure concurrency safety.
[0225] In response to the appearance of a new batch identifier in the message queue, the scheduling algorithm module 703 can obtain scheduling data related to the batch identifier from the database module 704, call the scheduling algorithm adapted to the configuration information corresponding to the batch identifier to perform scheduling based on the scheduling data to generate a scheduling result, and store the scheduling result in association with the batch identifier in the database module 704.
[0226] According to the embodiments of the present disclosure, batch identifiers are cached and managed using a message queue, thereby ensuring the orderliness of batch identifiers. Furthermore, because cached batch identifiers in the message queue are not deleted until the message queue is full, data integrity and security are guaranteed, thereby ensuring the persistence of production scheduling.
[0227] According to an embodiment of the present disclosure, after generating a production scheduling result, the production scheduling algorithm module 703 may also send the generated production scheduling result to the message notification module 705 .
[0228] The message notification module 705 can provide the production scheduling results received from the production scheduling algorithm module 703 to the logic processing module 702 in the form of a message queue. Specifically, the multiple message queues maintained by the message notification module 705 can also include a third message queue. The third message queue can be used to manage the production scheduling results sent by the production scheduling algorithm module 703 to the logic processing module 702. For example, after sending the production scheduling results to the logic processing module 702, the production scheduling algorithm module 703 can add the production scheduling results to the third message queue. In this case, the logic processing module 702 can obtain the production scheduling results from the production scheduling algorithm module 703 from the third message queue.
[0229] The third message queue can forward batch identifiers through subscription. For example, the logic processing module 702 can send the third identifier of the third message queue to the production scheduling algorithm module 703 to facilitate subscribing to the third message queue with the production scheduling algorithm module 703. After monitoring the production scheduling algorithm module 703 sending the production scheduling result to the logic processing module 702, the production scheduling result can be added to the third message queue, and the production scheduling result in the third message queue can be sent to the logic processing module 702. The production scheduling results monitored by multiple listening ports can be delivered to the third message queue concurrently through multiple third working threads, and the third message queue can store the multiple production scheduling results.
[0230] In response to the appearance of a new production scheduling result in the message queue, the logic processing module 702 can send the new production scheduling result to the presentation control module 701. According to an embodiment of the present disclosure, the multiple message queues maintained by the message notification module 705 may also include a fourth message queue. The fourth message queue can be used to manage the production scheduling results sent by the logic processing module 702 to the presentation control module 701.
[0231] For example, after sending the scheduling result to the display control module 701 , the logic processing module 702 may add the scheduling result to the fourth message queue. In this case, the display control module 701 may obtain the scheduling result from the logic processing module 702 from the fourth message queue.
[0232] The logic processing module 702 can send the fourth identifier of the fourth message queue to the presentation control module 701, thereby subscribing to the fourth message queue. After monitoring the logic processing module 702 sending the scheduling results to the presentation control module 701, the scheduling results can be added to the fourth message queue and the scheduling results in the fourth message queue can be sent to the presentation control module 701. Based on this, multiple fourth worker threads can concurrently retrieve the multiple scheduling results for subsequent processing. The multiple third worker threads and the multiple fourth worker threads can operate independently of each other to ensure concurrency safety.
[0233] According to the embodiments of the present disclosure, by utilizing a message queue to cache and manage production scheduling results, the orderliness of the scheduling results can be guaranteed. Furthermore, because the cached scheduling results in the message queue are not deleted until the message queue is full, the integrity and security of the data can be guaranteed, thereby ensuring the durability of the production schedule.
[0234] According to an embodiment of the present disclosure, the production scheduling algorithm module includes multiple sub-modules deployed in a distributed manner, and the multiple sub-modules respectively receive multiple batch identifiers from the message notification module. Each sub-module performs a production scheduling operation for a corresponding batch identifier, wherein the production scheduling operation includes: obtaining production scheduling data related to the batch identifier from the database module, calling a production scheduling algorithm adapted to the configuration information corresponding to the batch identifier to schedule according to the production scheduling data to generate a production scheduling result, and storing the production scheduling result in association with the batch identifier in the database module.
[0235] According to an embodiment of the present disclosure, the production scheduling algorithm module may include multiple sub-modules deployed in a distributed manner, and each of the multiple sub-modules may maintain a second sub-message queue. The second sub-message queue may be used to manage batch identifiers sent by the message notification module to the sub-modules. For each of the multiple sub-modules, in response to the appearance of a new batch identifier in the second sub-message queue corresponding to the sub-module, the production scheduling data related to the new batch identifier may be obtained from the database module, and the production scheduling algorithm adapted to the configuration information corresponding to the batch identifier may be called to perform production scheduling based on the production scheduling data to generate a production scheduling result. On this basis, the production scheduling result may be stored in the database module in association with the batch identifier.
[0236] According to an embodiment of the present disclosure, by distributing multiple submodules, each submodule can be used to perform production scheduling operations for a corresponding batch identification, thereby realizing parallel execution of multiple batch identifications, thereby improving the efficiency of production scheduling.
[0237] According to the embodiments of the present disclosure, the periodic acquisition method of the latest production scheduling results can be set according to actual business needs and is not limited here. For example, the periodic acquisition method can include a production scheduling result acquisition method based on polling and a production scheduling result acquisition method based on push.
[0238] According to an embodiment of the present disclosure, the logic processing module periodically obtains the latest scheduling results from the database module and sends them to the display control module, which may include: responding to a polling request periodically sent from the display control module, obtaining the latest scheduling results from the database module and sending them to the display control module.
[0239] A polling-based scheduling result acquisition method may refer to a process in which the display control module periodically sends polling requests to query the scheduling results, regardless of whether the scheduling results have been updated. In this case, the latest scheduling result may be empty or the latest updated scheduling result. For example, the polling method may refer to a method based on the Hypertext Transfer Protocol (HTTP). The following, in conjunction with Figure 8, illustrates the process of providing scheduling results to the display control module based on the polling method.
[0240] FIG8 schematically shows an example diagram of a process of providing scheduling results to a presentation control module based on a polling manner according to an embodiment of the present disclosure.
[0241] As shown in FIG. 8 , in step 800 , the process of providing the production scheduling result to the display control module based on the polling method may include operations S801 to S811 .
[0242] In operation S801 , the display control module may store the last production scheduling result and the associated batch identifier.
[0243] In operation S802 , the presentation control module may determine configuration information according to user input.
[0244] In operation S803 , the presentation control module may send the determined configuration information to the logic processing module.
[0245] In operation S804 , the logic processing module may receive configuration information from the presentation control module.
[0246] In operation S805 , the logic processing module may generate a batch identifier according to the received configuration information, so that the production scheduling algorithm module can store the production scheduling result in association with the batch identifier in the database module.
[0247] In operation S806, the presentation control module may periodically send a polling request to the logic processing module. Specifically, periodically sending a polling request may be understood as sending a polling request every m seconds, where m is a constant. m can be set based on actual business needs and is not limited here. For example, m can be set to 10.
[0248] In operation S807, the logic processing module may obtain the latest production scheduling result from the database module. Specifically, the logic processing module may call a RESTful interface to obtain the latest production scheduling result from the database module.
[0249] In operation S808 , the logic processing module may send the acquired latest production scheduling result to the display control module.
[0250] In operation S809, the display control module can determine whether the batch identifier associated with the scheduling result provided by the logic processing module is different from the batch identifier associated with the scheduling result last stored by the display control module. If so, it indicates that a new scheduling result has been generated, and operation S810 can be executed to update the scheduling result. If the batch identifier associated with the scheduling result provided by the logic processing module is the same as the scheduling result last stored by the display control module, it indicates that the latest scheduling result has not been generated, and S810 can be skipped and operation S811 can be executed to continue displaying the last stored scheduling result.
[0251] In operation S810, the display control module may replace the previously stored production scheduling result with the production scheduling result provided by the logic processing module, and then execute operation S811. The specific data content of the latest production scheduling result can be set according to actual business needs and is not limited here. For example, the latest production scheduling result may include at least one of the latest production scheduling result data, production line status data, and equipment operation data.
[0252] Specifically, after receiving the current production scheduling result from the logic processing module, the display control module can determine the batch number associated with the current production scheduling result and the batch number associated with the last stored production scheduling result. On this basis, the display control module can compare the batch number associated with the current production scheduling result and the batch number associated with the last stored production scheduling result to obtain a comparison result. For example, when the comparison result indicates that the batch number associated with the current production scheduling result and the batch number associated with the last stored production scheduling result are the same, it can be considered that the latest production scheduling result has not been generated, and no update is required. When the comparison result indicates that the batch number associated with the current production scheduling result and the batch number associated with the last stored production scheduling result are different, it can be considered that the current production scheduling result is the latest production scheduling result, that is, the current production scheduling result can be used to replace the production scheduling result last stored by the display control module.
[0253] In operation S811 , the display control module may display the production scheduling result provided by the logic processing module.
[0254] According to an embodiment of the present disclosure, the logic processing module periodically obtains the latest production scheduling results from the database module and sends them to the display control module, which may include: obtaining the latest production scheduling results from the database module in a preset time period, and pushing the obtained production scheduling results to the display control module.
[0255] The method for obtaining production scheduling results based on a push method may refer to a process in which, after the display control module establishes a connection with the logic processing module, the connection is kept open until the production scheduling result is updated, and the logic processing module actively pushes the updated latest production scheduling result to the display control module. In this case, the latest production scheduling result may include the updated latest production scheduling result. For example, the push method may refer to a method based on a full-duplex communication protocol (i.e., WebSocket), and the data format may adopt a lightweight data format such as JSON (JavaScript Object Notation). The following, in conjunction with Figure 9, illustrates the process of providing production scheduling results to the display control module based on a push method.
[0256] FIG9 schematically shows an example diagram of a process of providing a production scheduling result to a display control module based on a push manner according to an embodiment of the present disclosure.
[0257] As shown in FIG. 9 , in step 900 , the process of providing the production scheduling result to the display control module in a push manner may include operations S901 to S912 .
[0258] In operation S901, the presentation control module may send a request to the logic processing module to establish a communication connection. For example, the communication connection may include a WebSocket persistent connection.
[0259] In operation S902, the logic processing module may return a handshake response to the connection request initiated by the presentation control module, thereby completing the establishment of the communication connection. The presentation control module and the logic processing module may communicate data via the established communication connection.
[0260] In operation S903 , the display control module may store the last production scheduling result and the associated batch identifier.
[0261] In operation S904 , the presentation control module may determine configuration information according to user input.
[0262] In operation S905 , the presentation control module may send the determined configuration information to the logic processing module.
[0263] In operation S906 , the logic processing module may receive configuration information from the presentation control module.
[0264] In operation S907 , the logic processing module may generate a batch identifier according to the received configuration information, so that the production scheduling algorithm module may store the production scheduling result in association with the batch identifier in the database module.
[0265] In operation S908, the logic processing module may obtain the latest production scheduling results from the database module at a preset time interval. The preset time interval can be set based on actual business needs and is not limited here. For example, the preset time interval can be understood as obtaining the latest production scheduling results from the database module every n seconds, where n is a constant. n can be set based on actual business needs and is not limited here. For example, n can be set to 20.
[0266] In operation S909 , the logic processing module may push the obtained production scheduling result to the display control module.
[0267] In operation S910, the display control module determines whether the batch identifier associated with the production scheduling result provided by the logic processing module differs from the batch identifier associated with the production scheduling result previously stored by the display control module. If so, step S911 is executed to update the production scheduling result. Otherwise, step S911 is skipped and step S912 is executed to continue displaying the previously stored production scheduling result.
[0268] In operation S911 , the presentation control module may replace the production scheduling result stored last time by the presentation control module with the production scheduling result provided by the logic processing module.
[0269] In operation S912 , the display control module may display the production scheduling result provided by the logic processing module.
[0270] Alternatively, when the presentation control module does not need to continue receiving data, it can actively close the communication connection with the logic processing module. In this case, cleanup work can continue to be performed, and the cleanup work can include at least one of the following: releasing resources and closing database connections.
[0271] According to the embodiments of the present disclosure, since the logic processing module can obtain the production scheduling results based on the polling method according to the polling requests periodically sent by the display control module, or can obtain the production scheduling results based on the push method according to the preset time period, through the combination of the polling method and the push method, the real-time update of the production scheduling results can be achieved, thereby improving the flexibility of the scheduling generation method for various real-time monitoring and scheduling scenarios.
[0272] According to the embodiments of the present disclosure, since the display control module can compare the batch identifier associated with the production scheduling result provided by the logic processing module and the batch identifier associated with the production scheduling result last stored by the display control module before displaying the production scheduling result, it can determine whether the production scheduling result provided by the logic processing module is the latest production scheduling result, thereby providing real-time production scheduling plans and production data, so that users can adjust the production scheduling plan in a timely manner, thereby improving the accuracy of production scheduling.
[0273] According to an embodiment of the present disclosure, a correspondence between at least one candidate algorithm identifier and a candidate scheduling algorithm corresponding to each of the at least one candidate algorithm identifiers may be preconfigured. For example, a correspondence between candidate algorithm identifier a and candidate scheduling algorithm A, and a correspondence between candidate algorithm identifier b and candidate scheduling algorithm B may be preconfigured.
[0274] For example, a user can select algorithm identifier a through the display control module, so that the display control module can produce configuration information based on algorithm identifier a and send the configuration information to the production scheduling algorithm module. After receiving the configuration information, the production scheduling algorithm module can extract the algorithm identifier a selected by the user from the configuration information. Based on this, the algorithm identifier a can be matched with at least one candidate algorithm identifier (i.e., candidate algorithm identifier a and candidate algorithm identifier b) to determine the candidate algorithm identifier a corresponding to the algorithm identifier a from the at least one candidate algorithm identifier, and call the candidate production scheduling algorithm A corresponding to the candidate algorithm identifier a.
[0275] Specifically, the configuration information may include at least one of demand information, machine information, and a process route. A correspondence between at least one candidate configuration item and a candidate scheduling algorithm corresponding to each candidate configuration item may be preconfigured. For example, a correspondence between demand information, machine information, and candidate scheduling algorithm C, and a correspondence between demand information, a process route, and candidate scheduling algorithm D may be preconfigured.
[0276] For example, a user can select configuration item demand information and machine information through the display control module, so that the display control module produces configuration information based on the configuration item demand information and machine information, and sends the configuration information to the production scheduling algorithm module. After receiving the configuration information, the production scheduling algorithm module can determine that the configuration items contained in the configuration information are demand information and machine information. On this basis, the configuration item demand information and machine information can be matched with at least one candidate configuration item (i.e., demand information and machine information, demand information and process route) respectively, so as to determine the candidate configuration item corresponding to the configuration item demand information and machine information in the at least one candidate configuration item, and call the candidate production scheduling algorithm C corresponding to the candidate configuration item demand information and machine information.
[0277] Specifically, scheduling preference information can be used to characterize the priorities and goals of a production plan. By setting different scheduling preference information, different production plans can be determined. Scheduling preference information can include at least one of the following preferences: balanced output, minimal inventory, minimal line changeovers, maximum production capacity, and maximum demand satisfaction. A correspondence between at least one candidate scheduling preference information and a candidate scheduling algorithm corresponding to each candidate scheduling preference information can be preconfigured. For example, a correspondence between balanced output, minimal inventory, and candidate scheduling algorithm E, and a correspondence between minimal line changeovers, maximum production capacity, and candidate scheduling algorithm F can be preconfigured.
[0278] For example, the user can select the production scheduling preference information "balanced output and lowest inventory" through the display control module, so that the display control module can produce configuration information based on the production scheduling preference information "balanced output and lowest inventory", and send the configuration information to the production scheduling algorithm module. After receiving the configuration information, the production scheduling algorithm module can determine that the production scheduling preference information contained in the configuration information is "balanced output and lowest inventory". On this basis, the production scheduling preference information "balanced output and lowest inventory" and at least one candidate production scheduling preference information (i.e., balanced output and lowest inventory, minimum number of line changes and maximum production capacity) can be matched respectively, so as to determine the candidate production scheduling preference information corresponding to the production scheduling preference information "balanced output and lowest inventory" in at least one candidate production scheduling preference information, and call the candidate production scheduling algorithm E corresponding to the candidate production scheduling preference information "balanced output and lowest inventory".
[0279] According to an embodiment of the present disclosure, by calling a scheduling algorithm that is adapted to the configuration information based on the algorithm identifier, configuration item or scheduling preference information in the configuration information, the flexibility of the scheduling algorithm configuration is improved, and the production scheduling method can be applied to different situations in actual production scenarios.
[0280] After obtaining the production scheduling results, a Gantt chart can be generated based on the production scheduling results, and the Gantt chart can be used to manage the production process. The specific method of generating a Gantt chart based on the production scheduling results can be set according to actual business needs and is not limited here. For example, the production scheduling results can be processed by a canvas (i.e., Canvas) to obtain a Gantt chart. Alternatively, the production scheduling results can be processed by scalable vector graphics (SVG) to obtain a Gantt chart. The vertical coordinate information of the Gantt chart can be used to represent different machine information, that is, the production equipment used to execute the production process corresponding to the block. The horizontal coordinate information of the Gantt chart can be used to represent different times, that is, the production time of the production process corresponding to the block. The production time of the production process can include the production start time and the production end time. This will be explained in detail below in conjunction with Figures 10, 11A and 11B.
[0281] FIG10 schematically shows an example diagram of a display control interface according to an embodiment of the present disclosure.
[0282] As shown in Figure 10, the display control interface can be customized and functionally expanded according to different production scenarios and enterprise needs. It can help users complete graphical information processing of the overall production status from a macro to micro perspective, while supporting production scheduling from overall to local to individual.
[0283] In 1000, it can include a demand information input area 1001, a machine information input area 1002, a demand information display area 1003, a process route display area 1004, a machine information display area 1005, a production scheduling preference information display area 1006, a production line actual board display area 1007, a production scheduling result display area 1008 and a Gantt chart display area 1009.
[0284] According to an embodiment of the present disclosure, the demand information input area 1001 may include a product identification input box 1001_1, a product delivery date input box 1001_2, a product demand quantity input box 1001_3, and a demand information add button 1001_4. Specifically, the product identification input box 1001_1 can be used to obtain the product identification entered by the user. The product delivery date input box 1001_2 can be used to obtain the product delivery date. The obtained product delivery date can be displayed in the expected delivery date section of the demand information display area 1003, so that the satisfaction level of the demand information in the demand information display area 1003 can be determined based on the actual product delivery date and the expected delivery date. The product demand quantity input box 1001_3 can be used to obtain the product demand quantity. Demand information allows users to easily add or modify product delivery dates and corresponding demand quantities, thereby better managing production plans. Users can enter, modify, and delete product identifications, product delivery dates, and product demand quantities in the display control module to promptly adjust production plans to adapt to changes in market demand. Product identification can be used to characterize different products. The product delivery date may include at least one of the delivery time and the predicted delivery time. The user may monitor and adjust the production progress based on the product identification and the product delivery date to ensure on-time delivery.
[0285] Product demand can include at least one of the total product quantity, the number of products in production (i.e., the number of products currently in production), and the completed quantity (i.e., the number of products already produced). The number of products in production and the completed quantity can be based on real-time data from the production system, allowing users to keep abreast of production status. Product delivery dates can also include delivery time satisfaction, which is the ratio of the number of products actually produced at the delivery date to the total number of products. This can be determined by comparing the completed quantity with the number of products in production. Based on the delivery time satisfaction, users can understand the execution of the production plan and adjust the plan in a timely manner to improve delivery time satisfaction, thereby enhancing customer satisfaction and corporate competitiveness.
[0286] According to an embodiment of the present disclosure, the machine information input area 1002 may include a production process input box 1002_1, a production equipment input box 1002_2, a machine information add button 1002_3 and a rearrangement button 1002_4. The production process input box 1002_1 can be used to obtain the production process. The production equipment input box 1002_2 can be used to obtain the production equipment. Process route information may refer to the site sorting determined based on the production stage (i.e., process) of each product. The process route may refer to the logical sequence of all processes required to manufacture a product, and each process needs to be completed at a certain site. A site may refer to the physical location where a specific process is completed, which may include machines and personnel, and each machine is the specific equipment required to complete a specific process. Machine information may include the production processes in the process route (i.e., different sites) and the production equipment available for the production process (i.e., the available machine identifiers corresponding to each site).
[0287] During the manufacturing process, the process route determines the order in which products are manufactured. Each process must be completed at a specific site, and each site must be equipped with the appropriate machines to complete the process. If the process route, site, or machine information changes, these information must be adjusted accordingly. If the manufacturing process for a particular product needs to be modified, or if a new machine or process is introduced in a particular process, the process route must be updated. Timely adjustments to process route, site, and machine information can help companies better plan and manage production processes, ensuring the smooth execution of production plans.
[0288] According to an embodiment of the present disclosure, the production scheduling preference information display area 1006 can be used to display production scheduling preference information. The production scheduling preference information can include at least one of the following preferences: balanced output, minimum inventory, minimum line changeovers, maximum production capacity, and maximum demand satisfaction. Balanced output aims to balance the production tasks of each workstation on the production line and ensure balanced output across all parts of the production line. Using this style can improve the overall efficiency and stability of the production line and reduce waste and bottlenecks in the production process. Minimum inventory aims to minimize inventory costs and avoid overstocking. When inventory control is necessary, using this style can effectively reduce inventory quantity, reduce inventory costs, and improve corporate profitability. Minimum line changeovers aims to minimize the number of line changeovers. When there are multiple products on the production line and equipment needs to be replaced to produce another product, using this style can reduce the number of equipment changes and improve production efficiency. Maximum production capacity aims to maximize capacity utilization and improve production efficiency. When equipment has excess capacity and production needs to be increased, using this style can maximize the use of equipment capacity and improve production efficiency. Maximum demand satisfaction aims to maximize customer satisfaction. When customers have urgent orders or orders that need to be delivered on time, using this style can ensure that these orders are met as much as possible, thereby improving customer satisfaction and repeat purchase rates.
[0289] According to an embodiment of the present disclosure, the production scheduling result display area 1008 may include a capacity daily graph display area 1008_1, an inventory daily graph display area 1008_2, and an output daily graph display area 1008_3. For example, a line chart may be used to display the production scheduling results so that production managers can more clearly understand the production situation.
[0290] Configuration information can also include a production line dashboard, daily production capacity chart, daily inventory chart, and daily output chart. The production line dashboard can refer to the values of various production indicators determined based on actual production conditions, including workshop production management (Work in Progress, WIP) values, current machine capacity indicators, current product input, and current product output.
[0291] The workshop production management value can refer to the number of semi-finished or finished products in the production process. Real-time display of workshop production management values can help production managers understand the production progress and efficiency of the current production line, promptly identify production bottlenecks, and take corrective measures to avoid production line stagnation or waste. The current machine capacity index value can refer to the number of products that the main equipment or machine on the production line can produce within a certain period of time. Real-time monitoring of the current machine capacity index value can help production managers understand the current production capacity of the production line, allowing them to adjust production schedules in a timely manner and avoid mismatches between production plans and production capacity.
[0292] The current product input quantity refers to the amount of material input on the production line within a certain period of time. Real-time monitoring of the current product input quantity can help production managers better understand the use of raw materials, allowing them to purchase them in a timely manner when needed and prevent shortages from impacting production progress. The current product output quantity refers to the number of finished products on the production line within a certain period of time. Real-time monitoring of the current product output quantity can help production managers understand production efficiency and quality in a timely manner, thereby optimizing the production process and improving output efficiency.
[0293] According to an embodiment of the present disclosure, the capacity daily graph display area 1008_1 can be used to display the capacity daily graph. The capacity line chart can be used to characterize the capacity values at different time points, thereby helping production managers to discover the patterns and causes of capacity fluctuations, so as to optimize production plans and improve capacity levels. The inventory daily graph display area 1008_2 can be used to display the inventory daily graph. The inventory daily graph can be used to characterize the inventory levels at different time points, thereby helping production managers to understand inventory change trends and inventory levels, so as to make more accurate inventory management decisions. The output daily graph display area 1008_3 can be used to display the output daily graph. The output daily graph can be used to characterize the output levels at different time points, thereby helping production managers to understand output change trends and production efficiency levels, so as to optimize and improve production efficiency.
[0294] The daily capacity graph, daily inventory graph, and daily output graph can all be zoomed in or out by the user, allowing production managers to view data more flexibly and conduct more detailed or more macro-analysis based on different production needs, thereby improving the efficiency and accuracy of data analysis.
[0295] According to the embodiments of the present disclosure, since the display control module can determine the configuration information of at least one of the demand information, machine information, process route, and production scheduling preference information based on user input, the user can adjust the input content through a clear and concise interface design and interactive method, thereby adjusting the production scheduling plan and resource allocation in real time, thereby providing a more comprehensive and refined production scheduling optimization solution, maximizing resource utilization and demand satisfaction, optimizing the production scheduling management process, improving production efficiency and resource utilization efficiency, thereby reducing production costs and achieving sustainable development.
[0296] According to an embodiment of the present disclosure, the Gantt chart display area 1009 can be used to display a Gantt chart. By designing the production scheduling result display area 1008 and the Gantt chart display area 1009 in the display control interface, complex data in the production process can be displayed in an intuitive chart format, allowing users to quickly understand information such as the execution status of the production process, machine utilization, and working status, thereby more accurately grasping production progress and bottleneck links.
[0297] FIG. 11A schematically shows an example of a Gantt chart displayed by the production scheduling method according to an embodiment of the present disclosure.
[0298] As shown in FIG11A , the Gantt chart 1100 includes a plurality of blocks located in a rectangular coordinate system. For ease of description, only blocks c1_A, c1_B, and s1_B are marked. The plurality of blocks are arranged in a plurality of rows extending along the horizontal axis and arranged along the vertical axis. Each row represents a production process performed by a production device, and each block in the row represents a production process. In some embodiments, the color or pattern of the block can represent the product corresponding to the process. In FIG11A , different patterns are used to represent different products. For ease of description, only six products A to F are marked. Those skilled in the art should understand that the embodiments of the present disclosure are not limited to this.
[0299] The horizontal coordinate information of each tile in the rectangular coordinate system represents the production time of the production process corresponding to that tile, and the vertical coordinate information of each tile in the rectangular coordinate system represents the production equipment used to perform the production process corresponding to that tile. For example, Figure 11A shows production equipment c1, c2, and c3 that can perform production process 1ic, and production equipment s1 and s2 that can perform process 1id. For example, tile c1_A indicates that production equipment c1 performs production process 1ic for product A from 10:20 to 10:28; tile c1_B indicates that production equipment c1 performs production process 1ic for product B from 10:28 to 10:36. Similarly, tile c2_B indicates that production equipment c2 performs production process 1ic for product B from 10:29 to 10:37; tile s1_B indicates that production equipment s1 performs production process 1id for product B from 10:29 to 10:36, and so on. In this way, Gantt chart 1100 can intuitively represent the production status of each process of each product on different production equipment. The time unit in the Gantt chart of Figure 11A is the time of day, but the embodiments of the present disclosure are not limited thereto. The time unit in the Gantt chart can be set as needed, for example, it can be set to a date or other form.
[0300] As shown in Figure 11A, the gaps G between the tiles can indicate that the machines were idle during that period. By calculating the idle ratio between the multiple tiles included in the Gantt chart and the gaps in the idle state, the factory's production efficiency can be evaluated. For example, if the idle ratio is greater than or equal to a predetermined threshold, it can be determined that many machines are idle and the factory's production capacity is not fully utilized, which may lead to a decrease in production efficiency. Alternatively, if the idle ratio is less than the predetermined threshold, it can be determined that the factory's production equipment is better utilized and production efficiency may be higher.
[0301] According to an embodiment of the present disclosure, since the horizontal coordinate information of each block in the Gantt chart in a rectangular coordinate system can be used to represent the production time of the production process corresponding to the block, and the vertical coordinate information can represent the production equipment used to execute the production process corresponding to the block, by analyzing the generated production scheduling results to generate a Gantt chart, managers can better understand the production status of each process on different machines, as well as the utilization rate and working saturation status of the machines, thereby improving the visualization of the production scheduling results. In addition, since managers can adjust and optimize the production plan in real time based on the Gantt chart, they can maximize production efficiency and machine utilization, thereby improving production efficiency and economic benefits.
[0302] As shown in Figure 11A, a first spacing line 1101 and a second spacing line 1102 are set on the Gantt chart 1100. The first spacing line 1101 and the second spacing line 1102 divide the Gantt chart 1100 into a first area 1103, a second area 1104 and a third area 1105 arranged in sequence along the horizontal axis, wherein the first spacing line 1101 is located between the first area 1103 and the second area 1104, and the second spacing line 1102 is located between the second area 1104 and the third area 1105.
[0303] Specifically, the first interval line 1101 represents the current moment, and the Gantt chart can be divided into a first area 1103 and a second area 1104 arranged in sequence along the horizontal axis through the first interval line 1101. The first area 1103 and the second area 1104 can both include multiple blocks. On this basis, the blocks in the first area 1103 can be used to represent completed processes (i.e., completed production processes), and the blocks in the second area 1104 can be used to represent locked processes (i.e., processes that are in production or about to be produced). Tasks in locked processes cannot be modified to avoid affecting the progress and quality of product production. A process can be set to a locked process in a variety of ways. For example, in Figure 11A, the production process represented by block c2_B falls into the second area 1104, indicating that the production process corresponding to the block is a locked process. Then, the production process represented by block c2_B will be set to a locked process, and its corresponding data will be set to be unchangeable. For example, if the production equipment corresponding to the production process represented by block c2_B is locked to c2, the production time is locked to 10:29-10:37, and the product is locked to product B, then the user cannot change the production equipment of the production process represented by block c2_B from c2 to, for example, c1, or change the production time from, for example, to 11:00-11:20. In some embodiments, for the production process in the second area 1104, other data related to the production process, such as material data, production volume, etc., can also be locked to prevent these data from being modified by the user and causing production errors. In some embodiments, when the user clicks on a block, data related to the production process corresponding to the block can be displayed. For production processes in an unlocked state, the relevant data can be displayed as modifiable; for production processes in a locked state, the relevant data can be displayed as unmodifiable.
[0304] The second interval line 1102 represents the earliest time at which the production process can be adjusted. The second interval line divides the Gantt chart into a second region and a third region along the horizontal axis. The second region and the third region can each include multiple tiles. On this basis, the tiles in the second region can be used to represent locked processes, and the tiles in the third region can be used to represent adjustable processes (i.e., production processes that can be freely adjusted).
[0305] According to an embodiment of the present disclosure, by setting a first interval line representing the current moment and a second interval line representing the earliest moment at which the production process is allowed to be adjusted on the Gantt chart, it is possible to achieve regional display of completed processes, locked processes and adjustable processes, thereby allowing users to clearly understand the production status of each product process, improving the accuracy of production plans and production efficiency, and thus improving the market competitiveness of the enterprise.
[0306] According to an embodiment of the present disclosure, the horizontal axis in the Gantt chart 1100 may be used to represent time, the vertical axis in the Gantt chart 1100 may be used to represent products, and each block may be used to represent the production time of the process on a specific machine.
[0307] Based on the generated production scheduling results, multiple Gantt charts captured with a time window of a first size can be pre-generated, and these Gantt charts can be displayed in chronological order with a time window of a second size. This will be described in detail below with reference to Figure 11B.
[0308] As shown in Figure 11B , the Gantt chart GC generated based on scheduling data covers scheduling results spanning a long time period, such as several weeks or even months. However, users are typically only interested in scheduling results for a portion of this time period. Displaying all scheduling results simultaneously places an unnecessary burden on users, while also increasing the burden on computers due to the large amount of data processing and display. To this end, embodiments of the present disclosure use a first-size time window W1 to capture Gantt charts for multiple time periods and display them using a second-size time window W2.
[0309] For example, as shown in Figure 11B , the portion of the Gantt chart GC from time T1 to time T3 is captured using a time window W1 of a first size to obtain Gantt chart GC_1. Similarly, the portion of the Gantt chart GC from time T2 to T4 is captured to obtain Gantt chart GC_2. Gantt charts GC_1 and GC_2 overlap, namely, the portion from time T2 to T3.
[0310] In time window W2, a Gantt chart GC_1 is first displayed in a manner similar to that of FIG11A . In some embodiments, the size of time window W2 (i.e., the second size) can be smaller than the size of time window W1 (i.e., the first size), meaning that the window used to display the Gantt chart is smaller than the length of the Gantt chart. While displaying Gantt chart GC_1 in time window W2, Gantt chart GC_1 can be moved at a preset speed. For example, with reference to FIG10 , the Gantt chart can be moved along the horizontal axis relative to the isolation line representing the current moment, for example, from right to left. After Gantt chart GC_1 has moved a preset distance (e.g., distance d), the Gantt chart GC_1 currently displayed in time window W2 can be replaced with Gantt chart GC_2. Then, Gantt chart GC_2 in time window W2 is moved in the same manner, and after moving the preset distance, it is replaced with the next Gantt chart, and so on. Because adjacent Gantt charts GC_1 and GC_2 overlap, this replacement can provide the user with a smooth transition visual experience.
[0311] A preset distance d can be determined based on the width, start time, end time, and current time of each of the multiple Gantt charts. The preset distance d can refer to the sliding offset value of the image on the display interface. The next Gantt chart to be displayed that meets the predetermined conditions can be selected from multiple Gantt charts, and when the currently displayed Gantt chart moves by the preset distance, the currently displayed Gantt chart is replaced with the next Gantt chart to be displayed, thereby achieving seamless sliding and switching of the Gantt charts.
[0312] According to an embodiment of the present disclosure, the predetermined condition can be set according to actual business needs and is not limited here. For example, the predetermined condition can be set to the current time being greater than or equal to the start time of the Gantt chart to be displayed, and the current time being less than or equal to the difference between the end time of the Gantt chart to be displayed and the predetermined threshold. The predetermined threshold can be set to 2 days. In this case, it can be characterized that two consecutive Gantt charts have 2 days of data overlap. Since the time range corresponding to each pushed Gantt chart is different, the next Gantt chart drawn each time will move to the left compared to the previous Gantt chart, thereby enabling the sliding display of the Gantt chart.
[0313] According to the embodiments of the present disclosure, since the next Gantt chart is obtained by replacing the currently displayed Gantt chart when the currently displayed Gantt chart moves a preset distance, the time-based dynamic display of the Gantt chart can be achieved by dynamically moving the Gantt chart, thereby allowing users to understand the production scheduling results more intuitively, thereby realizing visual monitoring of production scheduling management.
[0314] Referring to Figure 12, Figure 12 shows a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. As shown in Figure 12, the electronic device 1200 in this embodiment may include: a processor 1201, a network interface 1204 and a memory 1205. In addition, the electronic device 1200 may further include: an object interface 1203, and at least one communication bus 1202. Among them, the communication bus 1202 is used to realize the connection and communication between these components. Among them, the object interface 1203 may include a display screen (Display), a keyboard (Keyboard), and the optional object interface 1203 may also include a standard wired interface and a wireless interface. The network interface 1204 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1205 may be a high-speed RAM memory or a non-volatile memory (NVM), such as at least one disk storage. The memory 605 may optionally be at least one storage device located away from the aforementioned processor 1201. As shown in Figure 12, the memory 1205 as a computer-readable storage medium may include an operating system, a network communication module, an object interface module and a device control application.
[0315] In the electronic device 1200 shown in FIG12 , the network interface 1204 can provide network communication functions; the object interface 1203 is mainly used to provide an input interface for the object; and the processor 1201 can be used to call the device control application stored in the memory 1205 to implement:
[0316] In some feasible implementations, the processor 1201 is configured to:
[0317] It should be understood that in some feasible embodiments, the processor 1201 may be a central processing unit (CPU), or may be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory. For example, the memory may also store device type information.
[0318] In a specific implementation, the electronic device 1200 can execute the implementation methods provided in the steps in FIG. 1 and FIG. 6 through its built-in functional modules. For details, please refer to the implementation methods provided in the steps above, which will not be repeated here.
[0319] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program and is executed by a processor to implement the methods provided in the various steps in Figures 1 and 6. For details, please refer to the implementation methods provided in the above steps, which will not be repeated here.
[0320] The above-mentioned computer-readable storage medium can be the internal storage unit of the production scheduling device or electronic device provided in any of the aforementioned embodiments, such as the hard disk or memory of the electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device. The above-mentioned computer-readable storage medium can also include a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc. Further, the computer-readable storage medium can also include both the internal storage unit of the electronic device and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0321] An embodiment of the present application provides a computer program product, which includes a computer program. The computer program is used by a processor to execute the methods provided by the steps in Figures 1 and 6.
[0322] The terms "first", "second" and the like in the claims, the specification and the drawings of this application are used to distinguish different objects rather than to describe a specific order.
[0323] Furthermore, those skilled in the art will appreciate that, unless otherwise specified, the singular forms "a," "an," "the," and "the" as used herein may include the plural forms. The terms "including," "having," and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or electronic device comprising a series of steps or elements is not limited to the listed steps or elements, but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or electronic device.
[0324] Mentioning "embodiment" in this article means that the specific features, structures or characteristics described in conjunction with the embodiment may be included in at least one embodiment of the present application. The presentation of this phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is understood explicitly and implicitly by those skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and / or" used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.
[0325] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the above description generally describes the components and steps of each example according to their functions. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0326] The above disclosure is only a preferred embodiment of the present application and cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A production scheduling method, include: The logic processing module receives configuration information from the display control module and generates a batch identifier according to the received configuration information; The production scheduling algorithm module obtains the production scheduling data related to the batch identification from the database module, calls the production scheduling algorithm adapted to the configuration information to perform production scheduling according to the production scheduling data to generate a production scheduling result, and stores the production scheduling result in association with the batch identification in the database module; The logic processing module periodically obtains the latest production scheduling results from the database module and sends them to the display control module; The display control module displays the production scheduling results provided by the logic processing module.
2. The method according to claim 1, in, The calling of the production scheduling algorithm adapted to the configuration information includes one of the following: Extracting the algorithm identifier selected by the user from the configuration information, and calling the production scheduling algorithm corresponding to the extracted algorithm identifier; Determine the configuration items included in the configuration information, and call the production scheduling algorithm corresponding to the determined configuration items; The production scheduling preference information is extracted from the configuration information, and a production scheduling algorithm corresponding to the production scheduling preference information is called.
3. The method according to claim 1 or 2, further comprising: include: Before the logic processing module generates a batch identifier based on the configuration information received from the display control module, The display control module determines the configuration information according to the user input and sends the determined configuration information to the logic processing module. The configuration information includes at least one of demand information, machine information, process route, and production scheduling preference information, wherein the demand information includes at least one of product identification, product delivery time, and product demand quantity, the process route information includes the process route of the product, the machine information includes the production process in the process route and the production equipment available for the production process, and the production scheduling preference information includes at least one of the following preferences: balanced output, minimum inventory, minimum line change times, maximum production capacity, and maximum demand satisfaction.
4. The method according to any one of claims 1 to 3, further comprising: include: After the production scheduling algorithm module generates the production scheduling results, it generates a Gantt chart based on the generated production scheduling results. The Gantt chart includes a plurality of blocks located in a rectangular coordinate system, the plurality of blocks are arranged in a plurality of rows extending along a horizontal axis and arranged along a vertical axis, each row represents a production process performed by a production device, and each block in a row represents a production process; The horizontal coordinate information of each block in the rectangular coordinate system represents the production time of the production process corresponding to the block, and the vertical coordinate information of each block in the rectangular coordinate system represents the production equipment used to execute the production process corresponding to the block.
5. The method according to claim 4, in, The display control module displays the production scheduling result provided by the logic processing module, including: displaying a Gantt chart generated based on the production scheduling result provided by the logic processing module, The Gantt chart is provided with a first spacing line and a second spacing line, wherein the first spacing line and the second spacing line divide the Gantt chart into a first area, a second area and a third area arranged in sequence along the horizontal axis direction, wherein the first spacing line is located in the first area and the second area, and the second spacing line is located between the second area and the third area; Among them, the first interval line represents the current moment, the second interval line represents the earliest moment when the production process is allowed to be adjusted, the blocks located in the first area represent completed processes, the blocks located in the second area represent locked processes, and the blocks located in the third area represent adjustable processes, wherein the locked processes are not allowed to be adjusted.
6. The method according to claim 4, in, The production scheduling algorithm module generates a plurality of Gantt charts intercepted by a time window of a first size based on the generated production scheduling results, and the display of the new production scheduling results includes: The multiple Gantt charts are displayed sequentially in a time window of a second size, so that a currently displayed Gantt chart moves along a horizontal axis relative to a first interval line representing a current moment, and the currently displayed Gantt chart is replaced by a next Gantt chart when the currently displayed Gantt chart moves a preset distance.
7. The method according to any one of claims 1 to 6, in, The logic processing module periodically obtains the latest production scheduling results from the database module and sends them to the display control module, including: In response to the polling request periodically sent from the display control module, the latest production scheduling result is obtained from the database module and sent to the display control module; or The latest production scheduling results are obtained from the database module at a preset time period, and the obtained production scheduling results are pushed to the display control module.
8. The method according to any one of claims 1 to 7, further comprising: include: The logic processing module sends the generated batch identification to the message notification module; The message notification module provides the batch identification received from the logic processing module to the production scheduling algorithm module in the form of a message queue; The production scheduling algorithm module responds to the new batch identifier appearing in the message queue by acquiring the production scheduling data related to the new batch identifier from the database module to perform production scheduling.
9. The method according to claim 8, in, The production scheduling algorithm module includes multiple sub-modules deployed in a distributed manner, and the multiple sub-modules respectively receive multiple batch identifiers from the message notification module. Each sub-module performs a production scheduling operation for a corresponding batch identifier, wherein the production scheduling operation includes: obtaining production scheduling data related to the batch identifier from the database module, calling a production scheduling algorithm adapted to the configuration information corresponding to the batch identifier to schedule production according to the production scheduling data to generate a production scheduling result, and storing the production scheduling result in the database module in association with the batch identifier.
10. The method according to any one of claims 1 to 9, further comprising: include: After generating the production scheduling result, the production scheduling algorithm module sends the generated production scheduling result to the message notification module; The message notification module provides the production scheduling result received from the production scheduling algorithm module to the logic processing module in the form of a message queue; In response to a new production scheduling result appearing in the message queue, the logic processing module sends the new production scheduling result to the display control module.
11. The method according to any one of claims 1 to 10, further comprising: include: Before the display control module displays the production scheduling result provided by the logic processing module, Determine whether the batch identifier associated with the production scheduling result provided by the logic processing module is different from the batch identifier associated with the production scheduling result last stored by the display control module. If so, replace the production scheduling result last stored by the display control module with the production scheduling result provided by the logic processing module.
12. A production scheduling system, include: A logic processing module, configured to receive configuration information from the display control module, generate a batch identifier according to the received configuration information, and periodically obtain the latest production scheduling result from the database module and send it to the display control module; a production scheduling algorithm module configured to obtain production scheduling data related to the batch identifier from a database module, call a production scheduling algorithm adapted to the configuration information to perform production scheduling according to the production scheduling data to generate a production scheduling result, and store the production scheduling result in association with the batch identifier in the database module; as well as The display control module is configured to display the production scheduling results provided by the logic processing module.
13. An electronic device, include: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 11.
14. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 11.
15. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 11.