A fully proactive scheduling method, system, and storage medium for multi-workshop joint scheduling
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-21
- Publication Date
- 2026-08-14
AI Technical Summary
一种全主动调度多车间联合调度方法、系统和存储介质,及其相关技术,以解决多车间分治调度导致全局最大完工时间难以有效压缩等技术问题或其组合
1、本发明构建了覆盖表面贴装车间、第一后道车间与第二后道车间的多车间联合调度框架,将路径选择、等量子批划分与跨车间排产纳入统一优化流程,克服了现有技术中各车间分而治之、无法实现全局最大完工时间最优的缺陷。
Smart Images

Figure CN122219381B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent manufacturing production scheduling optimization technology, specifically to a fully proactive multi-workshop joint scheduling method, system, and storage medium. Background Technology
[0002] As electronics manufacturing evolves towards higher precision, greater variety, and smaller batch sizes, PCB assembly, a core component of electronic device production, has transformed from a single-workshop operation to a complex network of collaborative workshops. A typical PCB assembly process encompasses two core technologies: surface mount technology (SMT) and through-hole mounting (HHH). This has led to the development of various workshop structures: SMT (Surface Mount Technology), AI (Integrated Automation), and MI (Manual Manufacturing). In actual production, order size determines the processing path—small-batch orders are completed via the SMT-MI path, while large-batch orders follow the SMT-AI path. To shorten production line cycle time and accelerate inter-process flow, orders are divided into equal batches, which are then transferred to the next workshop after completing their current stage of processing. However, differences in tools and settings between batches result in significant preparation time, and the differences in process characteristics among the three types of workshops further complicate scheduling decisions. Against this backdrop, optimizing path selection, equal batching, and cross-workshop scheduling with the goal of minimizing the maximum completion time (Makespan) has become a critical issue that urgently needs to be addressed in the PCB manufacturing industry.
[0003] Existing research mainly follows three paths. Distributed flow shop scheduling focuses on work allocation and sequencing decisions across multiple flow shops; hybrid flow shop scheduling emphasizes the optimization of multi-stage parallel machines within a single shop; and batch scheduling revolves around sub-batch partitioning strategies and processing sequences. While each has its own focus, none of these studies construct a unified scheduling framework for the real-world scenarios of cascading heterogeneous flow shops (SMT, AI, and MI), failing to minimize the overall Makespan at a global level. Furthermore, existing work generally severs the coupling between path selection and batching strategies, failing to reflect the impact of different flow shop process characteristics on batching methods. In terms of constraint modeling, industrial constraints such as preparation time and continuous sub-batch processing are not fully integrated, resulting in insufficient model adaptability to engineering scenarios. A deeper problem lies in the difficulty of proactively compressing cross-flow shop waiting gaps—existing methods lack mechanisms for inter-flow shop time coordination, often resulting in significant idle time losses between SMT completion and AI / MI start-up, further lengthening the overall completion time.
[0004] Chinese patent document CN114676945B discloses a workshop scheduling method, device and equipment, which discloses a scheduling technology solution based on dynamic batching with minimum start-up margin and combined with ant algorithm to search for process path sequence. It achieves the technical effect of dynamic batching of process at the process level and minimizing the maximum completion time in flexible operation workshops. However, it still has the problems of only targeting single workshop process path scheduling, lacking the ability to model heterogeneous cascades of multiple workshops, and lacking cross-workshop time coordination mechanism.
[0005] Chinese patent application CN117908489A discloses an optimization method for multi-objective batch flow scheduling in PCB assembly workshops. It discloses a two-stage improved spider monkey optimization algorithm to simultaneously optimize the maximum completion time, total energy consumption, and total delay. This method achieves the technical effect of multi-objective collaborative scheduling of batch flow in a single PCB assembly mixed flow workshop. However, it still has problems such as the scheduling scope being limited to the scenario of multiple processes in a single workshop, not covering the path selection of multiple workshops and the sub-batch cross-workshop flow mechanism, and not being able to implement overall optimization for SMT-AI / MI heterogeneous cascade production. Summary of the Invention
[0006] The purpose of this invention is to provide: A fully active scheduling method, system, and storage medium for multi-workshop joint scheduling, and related technologies, to solve technical problems such as the difficulty in effectively compressing the global maximum completion time caused by multi-workshop divide-and-conquer scheduling, or a combination thereof.
[0007] Terminology Explanation: Unless otherwise defined, all technical terms in this document have the same meanings as commonly understood by one of ordinary skill in the art to which the subject matter of the claims pertains. Unless otherwise stated, all patents, patent inventions, and publications cited in this document are incorporated herein by reference in their entirety. If multiple definitions exist for terms in this document, the definitions in this chapter shall prevail.
[0008] It should be understood that the above brief description and the following detailed description are exemplary and for illustrative purposes only, and do not limit the subject matter of the invention in any way. In this invention, the singular is used in conjunction with the plural unless otherwise specifically stated. It should also be noted that, unless otherwise stated, the use of “or” or “or” means “and / or”. Furthermore, the use of the term “comprising” and other forms such as “including,” “containing,” and “contains” are not limiting.
[0009] Unless specifically defined herein, the use of various commercially available products herein employs standard techniques, or is carried out in accordance with methods known in the art or the description of this invention. The techniques and methods described herein can generally be implemented according to conventional methods well known in the art, based on the descriptions in the various summary and more specific documents cited and discussed in this specification.
[0010] The term "path selection threshold" used in this article refers to the critical value of the number of workpieces used to determine the processing path of an order batch, which is determined based on historical processing data; order batches with a workpiece quantity less than the threshold are assigned to the second processing path, and order batches with a quantity greater than or equal to the threshold are assigned to the first processing path.
[0011] The term "unscheduled operation set" used in this article refers to the set of all batch operations that have not yet been scheduled. Initially, it includes all operations corresponding to the first operation of all order batches in the surface mount workshop, and gradually shrinks until it is empty as the scheduling process progresses.
[0012] The term "available operation set" used in this article refers to the set of batch operations that have all their preceding operations completed and are eligible for scheduling under the current scheduling state. It is the candidate source for the weighted priority scheduling rule to select batch operations.
[0013] The term “fully active scheduling” used in this paper refers to a scheduling paradigm that requires each batch of operations to start either at the earliest feasible time or the latest feasible time. It is generated collaboratively through left and right insertion operations, and its solution space covers all optimal scheduling schemes.
[0014] The term "first post-processing workshop" used in this article refers to a hybrid flow workshop (AI workshop), which includes multiple processing stages, each equipped with several parallel machines, and sub-batches must be processed sequentially according to the stage order; it is suitable for post-processing of large-volume orders with a number of workpieces greater than or equal to the path selection threshold.
[0015] The term "second post-processing workshop" used in this article refers to a manual processing workshop (MI workshop), which contains multiple processing workstations. Each batch can be assigned to any workstation to complete all post-processing operations. It is suitable for post-processing of small-batch orders with a workpiece quantity less than the path selection threshold. Preparation time is not counted between batches or within batches in this workshop.
[0016] In a first aspect, the present invention provides: a multi-workshop joint scheduling method based on batch fully active scheduling, comprising: S1: Obtain the set of order batches to be processed, and allocate each order batch to the first processing path or the second processing path according to the number of workpieces in each order batch and the preset path selection threshold; wherein, the first processing path includes a processing flow that passes through the surface mount workshop and the first back-end workshop in sequence, and the second processing path includes a processing flow that passes through the surface mount workshop and the second back-end workshop in sequence. S2: Divide each order batch into several sub-batches of equal quantity and construct an unscheduled operation set; S3: Based on the set of available operations, select a batch process from the set of available operations using a weighted priority scheduling rule; S4: Based on the workshop to which the selected batch of processes belongs, invoke the fully proactive scheduling and allocation rules of the corresponding workshop to insert each sub-batch of the selected batch of processes into the scheduling sequence of the current workshop; S5: Remove the batch of operations that have been scheduled from the unscheduled operation set and the available operation set. If there is a subsequent batch of operations and all its preceding operations have been scheduled, add the subsequent batch of operations to the available operation set. S6: Repeat S3 to S5 until the set of unscheduled operations is empty, and output the joint scheduling scheme of each workshop.
[0017] Furthermore: In S2, the step of dividing the order batch into sub-batches of equal quantity is triggered when the batch process is selected as the first machine process in the surface mount shop.
[0018] Further: In S3, the execution steps of the weighted priority scheduling rule include: S31: For each candidate batch of operations in the available operation set, calculate the original index value under each scheduling priority rule; S32: Normalize the original index value of each rule using the Min-Max standardization method to obtain a normalized score; S33: Perform a weighted summation of the normalized scores of each rule to obtain the comprehensive priority score of each candidate batch of operations; S34: Select the batch of operations with the highest comprehensive priority score as the current batch of operations to be scheduled.
[0019] Furthermore, the scheduling priority rules include at least two of the following: the shortest processing time rule based on the current process processing time, the shortest remaining processing time rule and the longest remaining processing time rule based on the remaining processing time, the minimum remaining workload rule and the maximum remaining workload rule based on the remaining workload, and the maximum batch priority rule and the minimum batch priority rule based on the batch size. Different workshops adopt their own corresponding subsets of scheduling priority rules, and the weight of each rule in the weighted priority scheduling rules is determined by an automatic parameter design method.
[0020] Further: In S4, when the selected batch process belongs to the surface mount workshop, the execution steps of the fully active scheduling and allocation rule include: S401: For each production line in the surface mount workshop, according to the forward machine traversal order, perform a left shift feasibility check on each node of the current batch sequence on each machine from the first to the last, and determine the earliest node position on the production line where the selected batch process can be inserted; S402: After traversing the candidate node positions of all production lines, insert the selected batch process to the left into the corresponding node of the production line with the earliest completion time, and update the batch sequence of each machine on the production line and the start time and completion time of each sub-batch.
[0021] Further: In S4, when the selected batch process belongs to the first back-end workshop, the execution steps of the fully active scheduling and allocation rule include: S411: On each parallel machine of the processing stage to which the selected batch process belongs, perform a left shift feasibility check on each node of the current batch sequence from the first to the last, select the parallel machine and node that makes the selected batch process complete earliest, perform left insertion, and update the corresponding machine sequence and time; S412: According to the reverse stage traversal order, for each pre-stage of the selected batch process in the first back-end workshop, perform a right shift feasibility check on the corresponding parallel machine from the end of the sequence forward, select the latest accommodating node to perform right insertion, and update the corresponding machine sequence and time, until all pre-stages in the first back-end workshop are completed and backfilled; S413: Determine the upper limit of the completion time of the last machine in the surface mount workshop based on the start time of the first stage in the first back-end workshop, perform a right shift feasibility check on the pre-stages of the selected batch process in the surface mount workshop according to the reverse machine traversal order, select the latest accommodating node to perform right insertion, and update the corresponding machine sequence and time.
[0022] Further: In S4, when the selected batch process belongs to the second downstream workshop, the execution steps of the fully active scheduling and allocation rule include: S421: For each workbench in the second downstream workshop, perform a left shift feasibility check on each node of the current batch sequence from the first to the last, select the workbench and node that makes the selected batch process start earliest, perform left insertion, and update the start time and completion time of the corresponding workbench sequence and each sub-batch; S422: Determine the upper limit of the completion time of the last machine in the surface mount workshop based on the start time of the process in the second downstream workshop, perform a right shift feasibility check on the preceding processes of the selected batch process in the surface mount workshop according to the reverse machine traversal order, select the latest accommodating node, perform right insertion, and update the corresponding machine sequence and time.
[0023] Furthermore: In S4, each sub-batch of the same batch is processed continuously in the order of sub-batch number on any machine or workbench in any workshop, and sub-batch from different batches are not allowed to be inserted into each other; in the surface mount workshop and the first post-processing workshop, there is preparation time between different batches, but no preparation time is counted between sub-batch within the same batch; in the second post-processing workshop, no preparation time is counted between batches or within batches; once a sub-batch starts processing on any machine, it is not allowed to be interrupted or interrupted; the prerequisite for a sub-batch to enter the next workshop is that all processes in the current workshop have been completed.
[0024] Further: In S1, when the number of workpieces in an order batch is less than the path selection threshold, the order batch is assigned to a second processing path that includes a manual processing workshop; when the number of workpieces in an order batch is greater than or equal to the path selection threshold, the order batch is assigned to a first processing path that includes a mixed flow workshop; the path selection threshold is determined based on historical processing data.
[0025] Furthermore, the joint scheduling scheme aims to minimize the maximum completion time; and the performance of the joint scheduling scheme is evaluated using the relative percentage increment as an evaluation index.
[0026] Secondly, this invention provides a multi-workshop joint scheduling system based on batch fully active scheduling, which utilizes the method described in the first aspect, including: The path allocation module is used to obtain the order batch set and allocate each order batch to the corresponding processing path based on the number of workpieces in each order batch and the preset path selection threshold. The sub-batch partitioning module is used to divide each order batch into several sub-batches of equal quantity and to construct a set of unscheduled operations and a set of available operations. The priority selection module is used to select batch operations from the available operation set based on weighted priority scheduling rules; The scheduling and allocation module is used to call the fully proactive scheduling and allocation rules of the corresponding workshop according to the workshop to which the selected batch of processes belongs, and insert each sub-batch of the selected batch of processes into the scheduling sequence of the current workshop. The set update module is used to update the unscheduled operation set and the available operation set after the batch process is scheduled. The output module is used to output the joint scheduling scheme of each workshop when the set of unscheduled operations is empty.
[0027] Thirdly, the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect.
[0028] The present invention has at least the following beneficial effects: 1. This invention constructs a multi-workshop joint scheduling framework covering the surface mount workshop, the first post-processing workshop and the second post-processing workshop. It incorporates path selection, equal batch division and cross-workshop scheduling into a unified optimization process, overcoming the shortcomings of existing technologies where each workshop is divided and cannot achieve the optimal global maximum completion time.
[0029] 2. This invention adopts a fully active scheduling mechanism. Through the bidirectional backfilling synergy of left and right insertion, it actively compresses the waiting gap between the surface mount workshop and the downstream workshop, so that the processing time window of the surface mount workshop is as close to the start time of the downstream workshop as possible to the right, effectively improving the efficiency of cross-workshop overlapping processing. Compared with semi-active scheduling and active scheduling schemes, it can obtain scheduling results that are closer to the optimal solution.
[0030] 3. This invention introduces a weighted priority scheduling rule, which eliminates the differences in the scale of different rule indicators through Min-Max normalization, weights and merges multiple types of scheduling rules to form a comprehensive priority score, and sets differentiated rule subsets for different workshops. Combined with an automatic parameter design method, the weights of each rule are adaptively tuned, which can maintain stable scheduling quality under multiple scale instances. Attached Figure Description
[0031] Figure 1 The flowchart of a fully active multi-workshop joint scheduling method provided by the present invention.
[0032] Figure 2 This is a schematic diagram of the structure of a fully proactive multi-workshop joint scheduling system provided by the present invention.
[0033] Figure 3 This is a schematic diagram of the workflow of a multi-workshop joint construction framework based on fully active scheduling in one embodiment of the present invention. Detailed Implementation
[0034] The following non-limiting embodiments are intended to enable those skilled in the art to gain a more comprehensive understanding of the present invention, but do not limit the invention in any way. The following content is merely an exemplary description of the scope of protection claimed by the present invention, and those skilled in the art can make various changes and modifications to the present invention based on the disclosed content, and such changes should also fall within the scope of protection claimed by the present invention.
[0035] The present invention will be further described below by way of specific embodiments. Unless otherwise specified, all instruments, devices, equipment, reagents, products, etc., used in the embodiments of the present invention are obtained through conventional commercial means.
[0036] Example 1 like Figure 1 As shown, the present invention provides a fully proactive multi-workshop joint scheduling method, which includes the following steps.
[0037] S1 obtains the set of order batches to be processed, and assigns each order batch to either the first processing path or the second processing path based on a preset path selection threshold. The first processing path passes through the surface mount workshop and the first downstream workshop in sequence, while the second processing path passes through the surface mount workshop and the second downstream workshop in sequence. S2 divides each order batch into several sub-batches of equal quantity, and constructs an unscheduled operation set. The unscheduled operation set initially contains all batch operations belonging to the first process of the surface mount workshop, and the available operation set consists of the batch processes that currently satisfy the preceding constraints.
[0038] S3 selects a batch of operations from the available operation set using a weighted priority scheduling rule. S4, based on the workshop to which the selected batch of operations belongs, invokes the fully proactive scheduling and allocation rule of the corresponding workshop and inserts each sub-batch into the scheduling sequence of the current workshop.
[0039] S5 removes the batch of operations that have been scheduled from the unscheduled operation set and the available operation set. If there is a subsequent batch of operations and all its preceding operations have been scheduled, then the subsequent batch of operations is added to the available operation set.
[0040] S6 repeats S3 to S5 until the unscheduled operation set is empty, and outputs the joint scheduling scheme for each workshop. The above method realizes collaborative production scheduling of the surface mount workshop, the first post-processing workshop and the second post-processing workshop through a unified scheduling framework, and compresses the waiting gap between workshops with a fully proactive scheduling mechanism, effectively reducing the overall maximum completion time.
[0041] In one specific implementation of this embodiment, the step of dividing the order batch into equal-quantity sub-batches in S2 is triggered when the batch process is selected as the first machine process in the surface mount shop. That is, sub-batching is only performed when a batch first enters the surface mount shop scheduling, rather than being uniformly divided during the initialization phase. This method integrates the batching decision-making process with the scheduling construction process, avoiding resource pre-allocation problems caused by advance division, and ensuring that the number of sub-batches matches the current scheduling status.
[0042] In one specific implementation of this embodiment, the execution steps of the weighted priority scheduling rule in S3 are as follows: S31 calculates the original index value under each scheduling priority rule for each candidate batch of operations in the available operation set; S32 uses the Min-Max standardization method to normalize the original index values of each rule to obtain a normalized score. S33 performs a weighted summation of the normalized scores for each rule to obtain the comprehensive priority score for each candidate batch process; S34 selects the batch process with the highest comprehensive priority score as the current batch process to be scheduled. Normalization eliminates the dominant bias caused by differences in the dimensions of different rule indicators, and weighted summation integrates multi-dimensional decision-making perspectives, so that batch selection takes into account multiple factors such as processing time, remaining load, and batch size.
[0043] In one specific implementation of this embodiment, the scheduling priority rules include at least two of the following: the shortest processing time rule based on the current process processing time; the shortest and longest remaining processing time rules based on the remaining processing time; the minimum and maximum remaining workload rules based on the remaining workload; and the maximum and minimum batch priority rules based on batch size. Different workshops adopt their own corresponding subsets of scheduling priority rules, and the weight of each rule is determined through an automatic parameter design method. Setting differentiated rule subsets for different workshops reduces the difficulty of parameter tuning and ensures that the rule set matches the process characteristics of each workshop, thereby improving the adaptability of the scheduling scheme.
[0044] In one specific implementation of this embodiment, when the selected batch process belongs to the surface mount shop in S4, the fully active scheduling and allocation rule executes the following steps: S401 performs a left shift feasibility check on each production line in the surface mount assembly workshop according to the forward machine traversal order, from the first to the last node of the current batch sequence on each machine, to determine the earliest node position on the production line where the selected batch process can be inserted. After S402 iterates through all candidate nodes in the production line, it left-inserts the selected batch operation to the node corresponding to the production line with the earliest completion time, and updates the batch sequence of each machine on that production line as well as the start and finish times of each sub-batch. The left-insertion strategy ensures that the batch occupies the earliest available time slot as much as possible, effectively reducing production line idle time and shortening the completion time of the surface mount assembly workshop.
[0045] In one specific implementation of this embodiment, when the selected batch process belongs to the first downstream workshop in S4, the fully active scheduling and allocation rule executes the following steps: S411 performs a left shift feasibility check on each parallel machine in the processing stage to which the selected batch process belongs, from the first to the last node of the current batch sequence, selects the parallel machine and node that makes the selected batch process complete earliest, performs left insertion, and updates the corresponding machine sequence and time. S412 performs a right shift feasibility check on each of the preceding stages in the first back-end workshop according to the reverse stage traversal order of the selected batch of processes. It then selects the latest accommodating node to perform right insertion, updates the corresponding machine sequence and time, until all preceding stages in the first back-end workshop are backfilled. S413 determines the upper bound of the completion time of the last machine in the surface mount assembly workshop based on the start time of the first stage in the first downstream workshop. In the surface mount assembly workshop, it performs a right shift feasibility check on the preceding processes of the selected batch of processes in reverse machine traversal order, selects the latest accommodating node to perform right insertion, and updates the corresponding machine sequence and time. Through the combined mechanism of "left insertion in the current stage + reverse right insertion backfill in the preceding stage + right insertion backfill in the preceding processes of the surface mount assembly workshop", it actively compresses the idle time between stages and workshops, and achieves a tight connection from the surface mount assembly workshop to the first downstream workshop.
[0046] In one specific implementation of this embodiment, when the selected batch process belongs to the second downstream workshop in S4, the fully active scheduling and allocation rule executes the following steps: S421 performs a left shift feasibility check on each workbench in the second downstream workshop, from the first to the last node of the current batch sequence, selects the workbench and node that makes the selected batch process start earliest, performs left insertion, and updates the start and finish times of the corresponding workbench sequence and each sub-batch. S422 determines the upper bound of the completion time of the last machine in the surface mount assembly workshop based on the start time of the second downstream workshop process. In the surface mount assembly workshop, it performs a right-shift feasibility check on the preceding processes of the selected batch process in reverse machine traversal order, selects the latest accommodating node, performs right insertion, and updates the corresponding machine sequence and time. The synergistic effect of left and right insertion backfilling ensures that the processing area on the surface mount assembly workshop side is as close as possible to the start time of the second downstream workshop while meeting feasibility constraints, reducing cross-workshop waiting losses.
[0047] In one specific implementation of this embodiment, in S4, each sub-batch of the same batch is processed continuously in sub-batch number order on any machine or workbench in any workshop, and cross-insertion between sub-batch from different batches is not allowed; in the surface mount workshop and the first post-processing workshop, there is preparation time between different batches, but no preparation time is counted between sub-batch within the same batch; in the second post-processing workshop, no preparation time is counted between batches or within batches; once a sub-batch starts processing on any machine, it is not allowed to be interrupted or preempted; the prerequisite for a sub-batch to enter the next workshop is that all processes in the current workshop have been completed. The above constraints are consistent with the actual PCB manufacturing process, ensuring that the output scheduling scheme is industrially feasible.
[0048] In one specific implementation of this embodiment, in step S1, when the number of workpieces in an order batch is less than the path selection threshold, the order batch is assigned to a second processing path containing a manual processing workshop; when the number of workpieces in an order batch is greater than or equal to the path selection threshold, the order batch is assigned to a first processing path containing a mixed flow workshop; the path selection threshold is determined based on historical processing data. This path allocation mechanism based on order size ensures that small-batch orders and large-batch orders flow to workshops appropriate to their size, which helps to balance the load on each path and reduce resource waste.
[0049] In one specific implementation of this embodiment, the joint scheduling scheme aims to minimize the maximum completion time and uses the relative percentage increment as an evaluation metric to assess its performance. The relative percentage increment is calculated as follows: the difference between the maximum completion time obtained by the current algorithm and the minimum maximum completion time among all compared algorithms, divided by the latter, and then multiplied by 100%. A smaller value indicates better algorithm performance. This evaluation metric eliminates the interference of absolute value differences across different instance sizes, making cross-instance algorithm performance comparisons comparable.
[0050] Example 2 like Figure 2 As shown, the present invention also provides a fully proactive multi-workshop joint scheduling system, including a path allocation module, a sub-batch partitioning module, a priority selection module, a scheduling allocation module, a set update module, and an output module.
[0051] The path allocation module obtains the order batch set and allocates each order batch to the corresponding processing path based on the number of workpieces in each order batch and the preset path selection threshold.
[0052] The sub-batch partitioning module divides each order batch into several sub-batches of equal quantity and constructs a set of unscheduled operations and a set of available operations.
[0053] The priority selection module selects batch operations from the available operation set based on weighted priority scheduling rules. The scheduling and allocation module, according to the workshop to which the selected batch operations belong, calls the fully proactive scheduling and allocation rules of the corresponding workshop and inserts each sub-batch of the selected batch operations into the scheduling sequence of the current workshop.
[0054] The set update module updates the unscheduled operation set and the available operation set after the batch process is scheduled. The output module outputs the joint scheduling scheme for each workshop when the unscheduled operation set is empty. Each module has a clear division of labor and works together to achieve the complete functionality of the above method, which is suitable for engineering deployment and integration.
[0055] Example 3 The present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described fully active scheduling multi-workshop joint scheduling method.
[0056] The storage medium can be common forms such as read-only memory, random access memory, hard disk, or optical disk. By embedding the above method into an executable program, the scheduling method of this invention can be deployed and run on a general-purpose computing platform, facilitating industrial field applications.
[0057] Example 4 The present invention will be further described below with reference to a detailed embodiment: This invention addresses the strongly coupled characteristics of batch-sub-batch-multi-workshop joint scheduling by constructing a scalable heuristic solution framework. The core idea is to use Full Active Scheduling (FAS) as the framework, combined with workshop-specific weighted priority scheduling rules (WDPR), to complete online selection and insertion, while satisfying cross-workshop process sequence relationships, parallel equipment constraints, and preparation / transfer constraints. The automatic parameter design (AAD) method is then employed to obtain the rule weight configuration.
[0058] Problem description and assumptions: The multi-workshop joint scheduling problem (MSJSP) addressed by this invention originates from the actual production scenario of PCB assembly. To clarify the applicable boundaries of the technical solution, the assumptions of the problem are systematically summarized as follows.
[0059] Global assumption: (1) Path mutual exclusion: If the number of workpieces in an order batch is less than the path selection threshold, it will be assigned to the SMT-MI path; otherwise, it will be assigned to the SMT-AI path. Cross-path mixing is not allowed in the same batch.
[0060] (2) Processing cannot be interrupted: Once any sub-batch has started processing on any machine or workbench, it is not allowed to be interrupted.
[0061] (3) Continuous processing of sub-batches: Sub-batches of the same batch must be processed continuously in any workshop, and sub-batches of different batches must not be inserted at the same time; preparation time is not counted between sub-batches within the same batch.
[0062] (4) Machines are allowed to be idle, and the buffer capacity between adjacent equipment in the workshop is unlimited.
[0063] (5) The transportation time between workshops is constant; the transportation time between production lines within the SMT workshop is zero.
[0064] (6) The prerequisite for a batch to enter the downstream workshop is that all processes in the current workshop have been completed.
[0065] (7) All batches can be put into processing at zero time.
[0066] Surface Mount Technology (SMT) workshop assumptions: (1) The SMT workshop contains multiple isomorphic production lines, each consisting of several machines connected in series; any batch can be assigned to any production line.
[0067] (2) Sub-batches are processed sequentially in the production line according to the machine order. The production line has a buffer zone with unlimited capacity.
[0068] (3) Each machine can process a maximum of one sub-batch at any given time; a sub-batch can only be transferred to the next machine after it has finished processing on the current machine.
[0069] (4) There is preparation time between different batches; no preparation time is counted between sub-batches within the same batch.
[0070] (5) Only after all batches of all machines on the same production line have been processed can the entire batch be transferred to the downstream workshop.
[0071] Assumptions for the first downstream workshop (AI, hybrid assembly line workshop): (1) The AI workshop contains multiple processing stages, each equipped with several parallel machines; sub-batches must be processed in the order of the stages, and can only enter the AI workshop after all upstream SMT processes are completed.
[0072] (2) Each sub-batch in each stage is assigned to exactly one parallel machine, and each machine can process at most one sub-batch at any given time; a sub-batch can only enter the next stage after it has completed the current stage.
[0073] (3) There is preparation time between different batches; no preparation time is counted between sub-batches within the same batch.
[0074] (4) The inter-stage transportation time is constant.
[0075] Second downstream workshop (MI, manual processing workshop) assumption: (1) The MI workshop contains multiple processing workbenches. Each batch can be assigned to any workbench to complete all MI processes. Sub-batches can only enter the MI workshop after completing all upstream SMT processes.
[0076] (2) Each workbench can process at most one sub-batch at any given time; each workbench is uniquely assigned.
[0077] (3) Preparation time is not counted between batches or within batches in the MI workshop.
[0078] The above assumptions are highly consistent with the process constraints of actual PCB assembly workshops, which not only ensures the industrial feasibility of the technical solution, but also provides clear constraint boundaries for the construction of subsequent scheduling algorithms.
[0079] Concept definition.
[0080] In multi-workshop joint scheduling problems, several common operations can be used to decode the disjunctive graph or batch sequence into a feasible scheduling scheme, such as left shift (LS), right shift (RS), left insertion (LI), and right insertion (RI). The definitions and functions of each operation are as follows: Left Shift (LS) / Right Shift (RS): Without changing the disjunction graph structure or batch sequence, schedule each batch operation to either "start as early as possible" (left shift) or "start as late as possible" (right shift).
[0081] Left Insert (LI) / Right Insert (RI): Among all available insertion slots (i.e., time windows that satisfy process constraints and machine idle time), select the "leftmost (earliest in time)" (left insert) or "rightmost (latest in time)" (right insert) slot to insert a new batch without delaying the start time of any scheduled batches.
[0082] From a theoretical perspective, left shift / right shift and left insert / right insert can be distinguished by their functional roles in scheduling: The characteristics of left / right shifts: They only involve pure time adjustments within the existing disjunctive graph or batch sequence, without altering resource allocation (such as machine-batch correspondence) or process priorities (such as the order of batches). Therefore, these operations do not disrupt the critical path of the schedule and can guarantee the structural stability of the scheduling scheme.
[0083] Left / right insertion introduces structural disturbances (such as altering the batch sequence on the machine), potentially reshaping the critical path and thus shortening the overall completion time (Makespan). However, it is crucial to emphasize that its feasibility is strictly guaranteed: inserted batches must simultaneously satisfy process priority constraints (e.g., a subsequent batch cannot be inserted if the previous batch is not completed) and machine availability constraints (e.g., the machine has no other batches within the target time slot), ensuring no time overlap in batch execution.
[0084] Furthermore, there is an inherent connection between the two types of operations: after determining the insertion position of the batch through left insertion / right insertion, it is necessary to further perform time alignment through left shift / right shift (such as determining the earliest start time of the batch through left shift after left insertion), so as to achieve a tight coupling between "structural modification (adjusting the batch sequence)" and "time optimization (adjusting the start and end times of the batch)" during the scheduling construction or decoding process.
[0085] Based on the above scheduling operations, there are three typical scheduling paradigms in the scheduling field: semi-active scheduling (SAS), active scheduling (AS), and fully active scheduling (FAS). Their core differences lie in the construction logic of the scheduling scheme and the range of the solution space, as defined below: Semi-active scheduling (SAS) refers to a scheduling scheme where "machines will not be idle as long as there are batches available to execute." It is generated by performing a left shift (LS) decoding on the disjunction graph or batch sequence—each batch starts at the earliest feasible time, while satisfying process and resource constraints. Since it does not involve optimizations such as batch reordering, SAS is the most basic feasible scheduling paradigm.
[0086] Active Scheduling (AS): This refers to a scheduling scheme where "no operations can start early without delaying other batches." It is generated by performing left insertion (LI) decoding on the disjunctive graph—each batch is inserted into the earliest available time slot without delaying already scheduled batches. Compared to SAS, AS further reduces machine idle time and is a more optimized scheduling paradigm.
[0087] Fully Active Scheduling (FAS): Building upon active scheduling, FAS requires that "each batch either starts at the earliest feasible time (cannot be advanced) or the latest feasible time (cannot be postponed)". By simultaneously performing left insertion (LI) and right insertion (RI) decoding on the disjunctive graph, it fully leverages the time flexibility of scheduling, and its solution space encompasses all optimal scheduling schemes (i.e., the optimal solution must belong to the FAS set).
[0088] Algorithm framework.
[0089] Based on the aforementioned characteristics of Fully Active Scheduling (FAS), this invention designs a multi-level algorithm framework for MSJSP. This framework, with FAS at its core, progressively generates an integrated scheduling scheme for the SMT, AI, and MI workshops through three levels: "path selection and equal-volume batching – cross-workshop construction – intra-workshop allocation." The core of this framework is the generation of a complete and high-quality initial scheduling scheme through the collaborative application of left insertion (LI) and right insertion (RI). The advantage of this stage is its ability to quickly cover key regions of the FAS solution space. The FAS construction process will be described in detail below.
[0090] like Figure 3 As shown, a multi-workshop joint construction framework based on Fully Active Scheduling (FAS) for MSJSP is constructed. This framework first utilizes the FAS mechanism to generate a complete schedule covering the SMT, AI, and MI workshops, and then further optimizes it through local adjustments. Compared with traditional SAS or AS construction methods, the FAS construction framework utilizes both the "earliest feasible position" and the "latest feasible position" in the time dimension, enabling more full utilization of machine idle time and obtaining an initial solution closer to the optimal solution.
[0091] Algorithm 1. Construction process across workshops.
[0092] Input: SMT, AI, MI workshop parameters, path selection threshold
[0093] Output: Joint scheduling scheme for SMT, AI, and MI workshops. Step 1. Obtain the initial PCB order set, and select the processing path based on the order size and path according to the threshold. Step 1. Obtain the initial PCB order set, and then apply thresholds based on order size and path. Select processing path Step 2. Obtain the initial batch set. . Step 3. Initialize the batch as a set of batch operations, which is equivalent to the unscheduled batch set US. Step 4. Initialize the batch of processes that have completed preparation into an available set.
[0094] Step 5. When the available set AS is not empty, perform the following operation: Step 5.1. Select a batch process from AS using the Weighted Priority Scheduling (WDPR) rule. . Step 5.2. If If the selected batch operation is an SMT workshop batch operation, then Algorithm 2 is called. The first machine from the production line first divides the batch into sub-batches by dividing it into equal batches, and then calls Algorithm 2. Step 5.3. If For batch processes in the AI workshop, algorithm 3 is invoked. Step 5.4. If For batch operations in the MI workshop, algorithm 4 is invoked. Step 5.5. from and Remove from the middle and proceed to the next batch of processes. from (If it exists) Add to . The loop ends; Output the joint scheduling plan for the three workshops.
[0095] Algorithm 1 demonstrates a cross-workshop build process based on fully proactive batch scheduling. The specific steps are as follows: First, the batch set is initialized. Then, processing paths are selected based on order size and path selection thresholds. Subsequently, each batch is broken down into batch operations corresponding to different production workshops. These operations together constitute the unscheduled operation set (US). The initial state of the available operation set (AS) contains all batch operations belonging to the first process of the SMT workshop.
[0096] In each iteration, a batch operation is selected from the available set (AS) according to the weighted priority scheduling rule (WDPR). If the selected operation is the first operation in the SMT workshop, the number and size of the sub-batches in the batch are determined by the equal batching rule, and the corresponding fully active scheduling and allocation rule is called in the SMT workshop to complete the insertion of the sub-batches on each production line and machine. If the selected operation belongs to the subsequent SMT operation, AI workshop, or MI workshop, the fully active scheduling and allocation rule of that workshop is directly called to insert the corresponding sub-batches into the processing sequence of the current workshop.
[0097] Once a batch of processes is scheduled, it must be removed from both the unscheduled set (US) and the available set (AS). If the process has a direct successor process in terms of technology, and all its preceding processes have been scheduled, then the successor process is added to the available set (AS). This iterative process continues until (US) is empty, meaning that all batches of processes in the SMT, AI, and MI workshops have been scheduled, thus obtaining a complete multi-workshop joint scheduling scheme.
[0098] Weighted priority scheduling rules: In the cross-workshop construction framework, the Weighted Priority Scheduling Rule (WDPR) is responsible for selecting the batches to be scheduled at each decision point. In other words, throughout the scheduling process, the WDPR gradually generates a sequence of batches. Unlike traditional methods that "generate the complete sequence all at once," the sequence here is formed iteratively: at each step, the next batch to be scheduled is selected based on the real-time status of the scheduling.
[0099] At each decision point, all batches in the available batch set (AS) are eligible for scheduling, which means that all predecessor batches of these batches, as defined by process priority constraints, have been scheduled.
[0100] Regarding scheduling rules, relying on a single rule can lead to suboptimal decisions because each rule only reflects a specific aspect of the system and is often highly dependent on the specific problem instance. To overcome these limitations, this study proposes a weighted priority scheduling rule (WDPR), which integrates multiple scheduling rules by calculating a weighted combination of standardized index values. In this way, WDPR can incorporate diverse decision-making perspectives from different levels, thereby improving the robustness and adaptability of the scheduling scheme. The specific process is as follows: Step 1. Given a set of scheduling priority rules, where g is the rule index, The number of rules.
[0101] Step 2. Calculate each Standardized score vector under all rules .
[0102] Step 3. Calculate its weighted total score: , For rules The weights, and .
[0103] Step 4. Select the one with the highest score. .
[0104] For any candidate batch in an available batch set (AS), four basic characteristics are defined: current process processing time (procTime), remaining processing time (remainProcTime), remaining workload (remainWorkload), and batch size (lotSize). This study selects seven representative rules from three decision levels
[21]
[22] : at the batch level, these include the shortest processing time rule (SPT), the shortest remaining processing time rule (SRPT), the longest remaining processing time rule (LRPT), and the shortest remaining processing time rule (SRPT); at the batch level, these include the minimum remaining workload rule (LWR) and the maximum remaining workload rule (MWR), the maximum batch priority rule (LLF), and the minimum batch priority rule (SLF). Among them, SPT / LPT is composed of Export, SRPT / LRPT by Export, LWR / MWR by Export, LLF / SLF by Export.
[0105] Importantly, the indicator values obtained from different rules differ significantly. For example, the SPT rule provides the indicator of processing time, while the LWR rule reflects the indicator of workload; furthermore, some indicators follow the "smaller is better" criterion, while others follow the "larger is better" criterion. Therefore, directly weighting the original indicators can easily lead to indicators with larger scales dominating the priority calculation results. Based on this, this study adopts the Min-Max standardization method. For rule g, the indicator value... The calculation is as follows:
[0106] in, Batch process In the rules The original index values below; and : The minimum and maximum values of all batches in the current AS under this rule; the standardized values are in the range [0,1], and the larger the value, the higher the priority.
[0107] To reduce dimensionality and enhance interpretability, this invention does not use the full seven weights for all three workshops. Instead, it removes rules with low reference value and high noise in each workshop, forming a workshop-differentiated subset: SMT workshop:
[0108] AI Workshop:
[0109] MI workshop:
[0110] Three workshop rhythm parameters were introduced. .
[0111] This design strikes a balance between expressive power and tuneability: it can characterize workshop differences compared to a single 7-dimensional global weight; and it can significantly reduce tuning difficulty and the risk of overfitting compared to retaining all 7 rules per workshop.
[0112] Due to WDPR weight and Sensitive to instances of varying sizes, manual settings are difficult to achieve stable performance. This invention employs an automated tuning process based on a competition-based elimination approach (which can be implemented as an I / F-Race). Its core is to evaluate candidate parameter configurations across multiple instances within a given budget, and to use statistical tests to eliminate inferior configurations round by round, ultimately outputting an elite parameter set.
[0113] Selected batch process The next step is to incorporate it into the scheduling plan, which involves determining which production line and machine the batch will be assigned to, its insertion position in the existing batch sequence of that machine, and the start and end times of the batch.
[0114] Algorithm 2. The allocation process in the SMT workshop based on FAS.
[0115] Input: Current SMT shop floor scheduling scheme and
[0116] Output: Completed The subsequent complete SMT workshop scheduling scheme.
[0117] Step 1. Assign the batch to be scheduled via left insertion. .
[0118] Step 1.1. For each production line, find the earliest capacity using the following steps. For each node in the current pipeline, the following loop is executed in a forward machine traversal manner: For to
[0119] Execute the following loop, starting from the machine in the current production line. From the first position to the last position in the batch sequence: For to ( (Indicates whether there are still batch operations on the current machine). Loop 1. Check the scheduled operations by left insertion. Can it be inserted into a batch? The previous position. If insertion is possible, terminate the loop and record the node position; if insertion is not possible, proceed to loop 2.
[0120] Loop 2. Execute And continue the cycle.
[0121] Endfor If, explanation If it is not inserted before any scheduled batch, it can only be placed in Record the current node position at the next position (i.e., the last position of the current sequence).
[0122] Endfor Step 1.2. After all batch sequences on the pipeline have been traversed, left insertion is performed. Insert into the earliest completed pipeline and update the machine sequence. and the dispatched batches and .
[0123] Algorithm 2 demonstrates the specific process of the FAS-based allocation rules in the SMT workshop. The specific steps are as follows: First, a feasible insertion position search is performed for each pipeline. For a given pipeline, the algorithm sequentially checks the batch sequence of each machine on the pipeline in a forward machine traversal manner, and attempts to insert the operation point by point from the beginning to the end of the sequence: for each candidate node position, a "left shift feasibility check" is used to determine whether the operation to be scheduled can be inserted before the currently scheduled batch. If insertion is possible at a certain node, the search on that pipeline is immediately stopped, and that node is recorded as the earliest possible position for that pipeline; if insertion is not possible at any node on that pipeline, it means that the batch cannot be inserted before any scheduled batch and can only be placed at the end of the pipeline sequence (i.e., after the last position), and the corresponding end node is recorded.
[0124] Once the candidate positions for all pipelines have been searched, the batch to be scheduled is actually inserted into the pipeline with the earliest completion time after insertion, thus implementing the "earliest completion" left-insertion allocation strategy at the entire workshop level. After insertion, the following need to be updated synchronously: the batch sequence of each machine on that pipeline, the start / completion time of the relevant batches, and the scheduling status set. After the above processing, each batch in the SMT workshop is in the earliest feasible position on the machine.
[0125] Algorithm 3. AI Workshop: FAS-based allocation process.
[0126] Input: Current AI workshop scheduling solutions and , Output: Completed The subsequent complete AI workshop scheduling solution.
[0127] Step 1. Assign the batches to be scheduled to the workshop via left-hand insertion. , Step 1.1. For the stage For each machine, find the earliest capacity by following these steps. The node.
[0128] Step 1.1.1. Execute the following loop, i.e., from the current machine... From the first position to the last position in the batch sequence: For to ( (Indicates whether there are still batch operations on the current machine). Loop 1. Check the scheduled operations by left shift operation. Can it be inserted into a batch? The previous position. If insertion is possible, terminate the loop and record the node position; if insertion is not possible, proceed to loop 2.
[0129] Loop 2. Execution And continue the cycle.
[0130] Endfor Step 1.1.2. If, explain If it is not inserted before any scheduled batch, it can only be placed in Record the current node position at the next position (i.e., the last position of the current sequence).
[0131] Step 1.2. After all batch sequences on all machines have been traversed, insert the left insertion... Insert into the earliest node position and update the machine sequence. and the dispatched batches of and .
[0132] Step 2. Assign using right insert operation The preceding process. Following the reverse stage traversal method, execute the following loop: For to
[0133] Step 2.1. For each machine Find the earliest capacity using the following loop. The node, that is, from the current machine From the last position to the first position in the batch sequence: For to : Loop 1. Check the batches to be scheduled by right-shifting. Can the node be inserted after the batch? If it can be inserted, terminate the loop and record the node position; if it cannot be inserted, proceed to loop 2.
[0134] Loop 2. Execution And continue the cycle.
[0135] Endfor Step 2.2. After all batch sequences on all machines have been traversed, right insertion is performed. Insert into the latest node position and update the machine sequence. and the dispatched batches of and .
[0136] Step 2.3. [Instructions] And continue the cycle. Endfor Step 3. Obtain At the start of the first phase This yields the upper bound of the end time for the last machine in the SMT workshop, which is then allocated via a right insertion operation. Pre-processing in the SMT workshop . Step 3.1. For the machine Find the latest capacity using the following loop. The nodes, that is, from the last position to the first position in the current machine batch sequence: For to : Loop 1. Check the batches to be scheduled by right-shifting. Can the node be inserted after the batch? If it can be inserted, terminate the loop and record the node position; if it cannot be inserted, proceed to loop 2.
[0137] Loop 2. Execution And continue the cycle.
[0138] Endfor Step 3.2. After all batch sequences on the machine have been traversed, right insertion is performed. Insert into the latest node position and update the machine sequence. and the dispatched batches of and .
[0139] Step 3.3. Execute the following loop in the current pipeline using a reverse machine traversal: For to
[0140] For each machine Find the latest capacity using the following loop. The node, that is, from the current machine From the last position to the first position in the batch sequence: For to : Loop 1. Check the batches to be scheduled by right-shifting. Can the node be inserted after the batch? If it can be inserted, terminate the loop and record the node position; if it cannot be inserted, proceed to loop 2.
[0141] Loop 2. Execution And continue the cycle.
[0142] Endfor Step 3.4. After all batch sequences on the machine have been traversed, insert the right-hand side. Insert into the latest node position and update the machine sequence. and the dispatched batches of and . Step 3.6. [Order] And continue the cycle.
[0143] Endfor. Algorithm 3 demonstrates the allocation process of the AI workshop based on Fully Active Scheduling (FAS). The specific steps are as follows: First, for the batches arriving at the AI workshop to be scheduled, left insertion is performed within their respective stages. Based on the current batch sequence of each parallel machine in that stage, candidate nodes are scanned sequentially from the beginning to the end of the sequence for each machine. A left-shift feasibility check is used to determine whether the batch to be scheduled can be inserted before a previously scheduled batch. If a feasible insertion point exists, the earliest node position on that machine that can accommodate the batch is recorded, and scanning stops. If no feasible insertion point is found after traversing the entire sequence, the batch is placed at the end of the machine's sequence, and the corresponding node position is recorded. Once all candidate nodes for all machines in that stage are determined, the machine and node that allows the batch to start / finish earliest are selected for left insertion, and the machine sequence and the start and finish times of the batch in that stage are updated synchronously.
[0144] After the insertion position is determined at the current stage, to reduce waiting time between multiple stages in the AI workshop and enhance the tightness of inter-stage connections, right-insertion backfilling is performed on the preceding stage processes of this batch within the AI workshop. Following the reverse stage traversal order, candidate nodes are scanned from the end of the sequence forward for each parallel machine within each preceding stage. A right-shift feasibility check determines whether the batch can be inserted after a previously scheduled batch; if feasible, the latest feasible node on that machine is recorded; otherwise, the search continues forward. Once the candidate nodes for all machines in this stage are determined, the batch is right-inserted to the "latest feasible node," and the corresponding machine sequence and start / complete time are updated. This process is progressively advanced with the stage index until all preceding stages in the AI workshop have completed backfilling, thereby achieving fully proactive and compact scheduling within the AI workshop.
[0145] Furthermore, the algorithm utilizes the start time of the first AI stage of this batch to construct the upper bound of the time for the SMT workshop's preceding processes, and performs right insertion backfilling in the SMT workshop to compress the cross-workshop waiting time between SMT and AI. Specifically, firstly, on the last machine of the SMT pipeline, the latest accommodating node is searched from the end of the sequence backward and right insertion is completed. Then, on the same pipeline, the process of "searching from back to front - right insertion backfilling - updating time" is repeated for the remaining machines in reverse machine traversal order, so that the processing area on the SMT side is as close to the upper bound of AI start as possible while satisfying the preparation time and non-overlapping constraints. Through the above joint mechanism of "left insertion within the AI stage + right insertion backfilling in the AI preceding stage + right insertion backfilling in the SMT preceding process", Algorithm 3 significantly compresses the idle time between stages and between workshops while satisfying the process sequence constraints and heterogeneous resource constraints, thereby obtaining a more compact SMT-AI joint scheduling and improving the efficiency of cross-workshop overlapping processing.
[0146] Algorithm 4. MI Workshop-based FAS Allocation Process.
[0147] Input: Current MI workshop scheduling scheme and
[0148] Output: Completed The subsequent complete MI workshop scheduling scheme.
[0149] Step 1. Assign the batches to be dispatched to the workshop via left-hand allocation.
[0150] Step 1.1. For each processing table, find the earliest capacity by following these steps. The node.
[0151] Step 1.1.1. Execute the following loop, i.e., from the current processing table From the first position to the last position in the batch sequence: For to ( (Indicates whether there are still batch operations on the current machine). Loop 1. Check the batch to be scheduled by left shift operation. Can it be inserted into a batch? The previous position. If insertion is possible, terminate the loop and record the node position; if insertion is not possible, proceed to loop 2.
[0152] Loop 2. Execute And continue the cycle.
[0153] Step 1.1.2. If, explain If it is not inserted before any scheduled batch, it can only be placed in Record the current node position at the next position (i.e., the last position of the current sequence).
[0154] Endfor Step 1.2. After all batch sequences on all processing tables have been traversed, insert the left insertion... Insert at the earliest node position and update the processing table sequence. and the dispatched batches of and .
[0155] Step 2. Obtain At the start of the first phase This yields the upper bound of the end time for the last machine in the SMT workshop, which is then allocated via a right insertion operation. Pre-processing in the SMT workshop . Step 2.1. For the machine Find the latest capacity using the following loop. The nodes, that is, from the last position to the first position in the current machine batch sequence: For to : Loop 1. Check the batch to be scheduled by right-shifting. Can the node be inserted after the batch? If it can be inserted, terminate the loop and record the node position; if it cannot be inserted, proceed to loop 2.
[0156] Loop 2. Execute And continue the cycle.
[0157] Endfor Step 2.2. After all batch sequences on the machine have been traversed, right insertion is used to... Insert into the latest node position and update the machine sequence. and the dispatched batches of and .
[0158] Step 2.3. Execute the following loop in the current pipeline using a reverse machine traversal: For to
[0159] Step 2.4. For each machine Find the latest capacity using the following loop. The node, that is, from the current machine From the last position to the first position in the batch sequence: For to : Loop 1. Check the batch to be scheduled by right-shifting. Can the node be inserted after the batch? If it can be inserted, terminate the loop and record the node position; if it cannot be inserted, proceed to loop 2.
[0160] Loop 2. Execute And continue the cycle.
[0161] Endfor Step 2.5. After all batch sequences on the machine have been traversed, insert the right-hand side. Insert into the latest node position and update the machine sequence. and the dispatched batches of and . Step 2.6. Let And continue the cycle. Endfor. Algorithm 4 demonstrates the allocation process of the MI workshop based on Fully Active Scheduling (FAS). The specific steps are as follows: First, for batches arriving at the MI workshop awaiting scheduling, left insertion is performed within the MI workshop. Based on the current batch sequence of each processing station, candidate nodes are scanned sequentially from the first to the last node of each processing station. A left-shift feasibility check is used to determine whether the batch awaiting scheduling can be inserted before a previously scheduled batch. If a feasible insertion point exists, the earliest node position on the processing station that can accommodate the batch is recorded, and scanning stops. If no feasible insertion point is found after traversing the entire sequence, the batch is placed at the end of the processing station's sequence, and the corresponding node position is recorded. Once all candidate nodes for all processing stations are determined, the processing station and node that allows the batch to start earliest are selected for left insertion, and the processing station sequence, as well as the start and finish times of the batch in the MI workshop, are updated synchronously.
[0162] After determining the insertion position in the MI workshop, the upper time bound of the SMT preceding process is constructed using the start time of the batch in the MI process. Right insertion backfilling is then performed in the SMT workshop to reduce cross-workshop waiting. First, on the last machine of the SMT production line, candidate nodes are scanned from the end of the sequence forward. A right-shift feasibility check determines whether the batch to be scheduled can be inserted after a scheduled batch. If feasible, the latest feasible node on that machine is recorded; otherwise, the search continues forward. After determining the latest feasible node on that machine, the batch is right-inserted to that position, and the corresponding start / finish time is updated. Subsequently, on the same production line, following the reverse machine traversal order, the above process of "searching from back to front—right insertion backfilling—updating time" is repeated for the remaining machines, ensuring that the processing areas on each SMT machine are as close to the right as possible without compromising feasibility, until all preceding processes related to this batch in the SMT workshop have been backfilled. Through the above steps, Algorithm 4 achieves compact left insertion of MI process and right insertion backfill of SMT pre-process under the premise of ensuring process sequence constraints, resource non-overlap constraints and preparation time constraints, thereby obtaining a more compact SMT-MI joint scheduling and improving cross-workshop overlapping processing efficiency.
[0163] Verification of technical effectiveness and / or analysis of technical problem solving This section employs the Design of Experiments (DOE) methodology to systematically evaluate the established MILP model and the proposed constructive algorithm based on Fully Active Schedule (FAS). A corresponding benchmark set was constructed to obtain comprehensive test data. MILP was solved using IBM ILOG CPLEX 12.7.1, with a time limit of 600 seconds. For various metaheuristic algorithms, CPU runtime was used as the stopping criterion: the maximum CPU time was set to n×l×s×t×10 milliseconds, where n is the number of lots, l is the number of lines, s is the number of stages, and t is the number of tables; this setting allows larger instances to have more computation time. All comparison algorithms were implemented in C++, running on a 3.60GHz Intel Core i7 platform.
[0164] Since there are no standard test cases for MSJSP, a set of test cases of varying sizes was randomly generated to evaluate the algorithm's performance. The test cases were determined by four key size factors: batch size... Number of SMT workshop production lines AI workshop stage number Number of workbenches in MI workshop Among them, the number of batches Number of production lines in an SMT workshop The number of stages in the AI workshop Number of workbenches in MI workshop This yields 24 different parameter combinations. Furthermore, each combination contains 10 test cases, resulting in 240 test cases. Other parameters are randomly generated within the following ranges, with the number of tests per batch... Preparation time for each batch Processing time of workpieces in each workshop Number of machines per production line in the SMT workshop Transportation time from the SMT workshop to the downstream workshop The number of parallel machines at each stage of the AI workshop Transportation time between stages in the AI workshop .
[0165] Key formula for the problem: To clarify the mathematical basis of the technical solution, the following key formulas are added: (a) Objective function: Minimize the maximum completion time C max C max= max{Completion time of each batch in the last process of the selected path}, i.e., min C max , C max ≥ C {i,k} Holds for all batches i and their selected paths k.
[0166] (b)Path selection constraint: Let Q i be the number of workpieces in batch i, and Threshold be the path selection threshold (determined based on historical processing data). When Q i < Threshold, batch i is assigned to the SMT→MI path (the second processing path); when Q i ≥ Threshold, batch i is assigned to the SMT→AI path (the first processing path). Cross-path mixing is not allowed for the same batch, i.e., the selection of the two paths is mutually exclusive.
[0167] (c)Conservation of sub-batch quantity: Batch i is equally divided into K i sub-batches, and the number of workpieces in each sub-batch is q {i,k} = Q i / K i , and the sum of the quantities of each sub-batch is equal to the total batch quantity, i.e., sum {k=1}^{K_i} q {i,k} = Q i .
[0168] (d)Relative Percentage Increment (RPI) evaluation index: RPI = (C alg - C min ) / C min × 100%, where C[[ID=四十二]] alg is the maximum completion time obtained by the current algorithm, and C min is the minimum of the maximum completion times obtained by all comparison algorithms for this example. The smaller the RPI value, the better the performance of the algorithm. This index can eliminate the interference of absolute value differences under different instance scales and make the comparison of algorithm performance across instances comparable.
[0169] Use the Relative Percentage Increase (RPI) as the evaluation index, and the calculation method is as follows.
[0170]
[0171] Among them, is the maximum completion time obtained by the current algorithm when solving a certain example, is the minimum of the maximum completion times obtained by all algorithms when solving this example. The smaller the RPI value, the better the effect of the algorithm.
[0172] Weighted scheduling priority rules (WDPR) and their automatic design.
[0173] To improve the decision-making quality of constructive algorithms in multi-workshop joint scheduling, a Weighted Dispatching Priority Rule (WDPR) is introduced on the available batch set (AS). The core idea is to calculate standardized scores under multiple rules for candidate batches, linearly weight them to obtain a total score, and finally select the batch with the highest score for scheduling. The execution flow of this mechanism can be summarized as follows: given a rule set → calculate the standardized score vector under each rule → calculate the weighted total score → select the highest priority batch.
[0174] Because different rules generate indicators with significantly different scales and directions of merit (for example, processing time indicators are generally "better smaller, better," while load / scale indicators may be "better larger, better"), direct weighting can lead to larger-scale indicators dominating the decision. Therefore, this invention uses Min-Max standardization to uniformly map the evaluation of each rule to... The interval makes the contributions of different rules comparable and controllable.
[0175] Regarding the rule set, this invention extracts seven representative rules (such as SPT, SRPT, LRPT, LWR, MWR, LLF, SLF, etc.) from three decision levels, and constructs rule indicators based on basic characteristics such as processing time, remaining processing time, remaining load, and batch size.
[0176] Meanwhile, considering the differences in process attributes among different workshops, this invention further adopts a "workshop-differentiated subset" strategy: instead of forcing the three workshops to use the exact same set of rules, rules with low reference value and high noise in a specific workshop are removed, and three additional workshop rhythm parameters are introduced to coordinate the rhythm matching of SMT / AI / MI workshops.
[0177] In the proposed Construction Framework (FAS), the Weighted Scheduling Priority Rule (WPDR) is constructed by linearly combining multiple scheduling rules, with its weights determined by an iterative race algorithm (I / F-Race). First, the weights of each rule within the FAS are automatically configured using the I / F-Race algorithm. Then, the optimal weight combination is obtained through automated search, resulting in the final algorithm version of "FAS+WDDR". This configuration result is used for subsequent large-scale experimental comparisons and serves as one of the key sources of improved algorithm performance.
[0178] Validation of algorithm components.
[0179] Our algorithm comprises three main components: the WDPR (WDPR) part, the right-side insertion part in the SMT (Surface Mount Technology) workshop, and the right-side insertion part in the AI (Integrated Laser) workshop. To verify the individual function of each component and their synergistic effect, we designed three algorithms for evaluation: , , ,in It is a variant that has had the WDPR portion removed. It's a variant that removes the right-side insert from the SMT workshop. It is a variant that removes the right-hand insert of the AI workshop.
[0180] To conduct a more comprehensive comparison of component effectiveness, this invention integrates the above three ablation variants into the following four scheduling variant frameworks for comparison: SAS (semi-active scheduling, only performs last-bit appending, without performing any insertion operations), AS (active scheduling, performs left insertion (LI) in the current workshop / stage, but does not perform any reverse right insertion (RI) backfilling operations), RANDOM (and FAS) CF Using the same fully active decoding mechanism, including LI and RI, but with the next operation randomly selected instead of according to priority rules, FAS CF (The complete solution of this invention executes LI and RI simultaneously, and uses a weighted priority scheduling rule (WDPR) with pre-configured weights to guide operation selection.) For fair comparison, SAS, AS, and FAS are used. CF They all use the same priority evaluation framework, only the insertion mechanism differs.
[0181] Ten instances of the four variants were tested under 24 large-scale configurations (number of batches n∈{30,50,70}×number of SMT pipelines f∈{6,10}×number of AI stages s∈{6,10}×number of MI workstations t∈{6,10}). The average relative percentage increment (ARPI) was used as the summary metric, with the minimum runtime (MRT, in seconds) for each variant configuration in parentheses. The experimental results are shown in Table 1.
[0182] Table 1. ARPI comparison of four scheduling variants in large-scale instances (MRT / s in parentheses)
[0183] Numerical results show that the four scheduling variants exhibit clear and highly consistent performance rankings across all 24 scale configurations: FAS CF The best ARPI was achieved across all configurations, followed by AS, RANDOM, and SAS, with the strict order remaining constant across all problem sizes. Looking at the average results across the 24 configurations, FAS... CFThe average ARPI was approximately 0.296, while AS, RANDOM, and SAS were approximately 0.881, 7.057, and 15.048, respectively. Compared to AS, FAS... CF The average ARPI was reduced by approximately 66.4%; compared to RANDOM and SAS, the reduction was further increased to approximately 95.8% and 98.0%, respectively. This result indicates that both the fully active scheduling generation mechanism and WDPR priority guidance played a key role in improving solution quality.
[0184] From the perspective of distribution characteristics, FAS CF The lowest and most compact box-line range indicates that it not only has the best average performance but also the strongest robustness across different scale configurations. AS ranks second, consistently close to FAS. CF RANDOM has a higher median and a wider distribution, indicating a significant performance decline after removing the WDPR configuration. SAS is the worst overall, with the highest median and the greatest dispersion, indicating that relying solely on the semi-active generation mechanism is insufficient to generate high-quality scheduling in large-scale instances. In terms of runtime, FAS... CF The average MRT is approximately 0.078 seconds, with all 24 configurations operating in the sub-second range. The computational cost is extremely low. Although it is slightly slower than SAS and AS, the performance improvement far outweighs the additional computational overhead, making it extremely cost-effective.
[0185] Validation of the proposed algorithm.
[0186] This section aims to verify the performance of the proposed algorithm through comparison: on small datasets, it is compared with the CPLEX solver; on large datasets, it is compared with two metaheuristic algorithms and five constructive algorithms. This invention sets up seven comparative algorithms to evaluate the effectiveness and improvement sources of the proposed method: the metaheuristic algorithm GA encodes the priority sequence of batches (or sub-batches) as chromosomes, performs population evolution search through selection-crossover-mutation, and calls the same fully active decoder to generate a complete multi-workshop schedule at each evaluation, thus reflecting the baseline performance of the general metaheuristic on this joint scheduling problem under a unified time budget; N-NEH introduces an N-list candidate set on the classic NEH stepwise insertion construction idea, selecting only a small number of high-potential objects from the candidate batch set for full-position insertion evaluation at each step, reducing the computational load while improving the stability of the constructed solution under multi-resource coupling; NCH further embeds the N-list mechanism into the construction process for multi-stage assembly / multi-layer structure, handling the collaborative relationships of different workshops / stages through hierarchical sorting and stepwise insertion, making the generated sequence more consistent with cross-workshop linkage and arrival constraints; MNEH is an improved variant of NEH, mainly by enhancing the initial sorting index and insertion evaluation, enabling it to generate higher quality initial schedules (e.g., more balanced SMT) under a unified decoder. (Load and a more reasonable downstream arrival rhythm); ToM-NEH introduces the ToM / ToM+ input sequence correction idea before NEH, and reconstructs batch priority by "virtually shutting down / weakening a certain resource", which alleviates the cycle conflict between the SMT serial machine and the downstream parallel stage from the source, and then the NEH / N-list is inserted to form a feasible joint schedule; JOHNSON, as the classic rule baseline, first groups and sorts the batches according to the two-stage processing time to obtain a fast initial sequence, and then passes it to the unified decoder to map to the multi-workshop schedule, which is used to provide a low-complexity reference lower bound. For small-scale instances, we report the target values; in addition, we provide the computation time. All these results are listed in Table 2.
[0187] Table 2. Data Comparison of Various Algorithm Types in Small-Scale Instances
[0188] For small-scale problems, CPLEX only achieves optimal solutions in instances with a small batch size: in 3-batch instances, CPLEX takes 0.281 to 1.500 seconds to solve, while FAS takes only about 0.0004 to 0.0006 seconds, a difference of more than three orders of magnitude. In some configurations within the 3-batch set (e.g., 3-3-3-3 and 3-5-5-5), FAS and CPLEX achieve the exact same makespan, validating the algorithm's effectiveness. In 9-batch instances, CPLEX fails to achieve optimal solutions within the 600-second time limit, while FAS provides high-quality solutions in milliseconds, demonstrating a significant computational efficiency advantage. In 15-batch instances, FAS's makespan is significantly better than CPLEX's 600-second solution in multiple configurations (e.g., 15-3-3-5, 15-3-5-3, 15-5-3-5, 15-5-5-5), indicating that FAS has practical value surpassing exact solvers in medium-sized and larger problems. Overall, FAS maintains high scheduling quality while having extremely low computational overhead, achieving a good balance between scheduling quality and computational efficiency.
[0189] Finally, it should be noted that the above content is only used to illustrate the technical solution of the present invention, and is not intended to limit the scope of protection of the present invention. Simple modifications or equivalent substitutions made by those skilled in the art to the technical solution of the present invention do not depart from the essence and scope of the technical solution of the present invention.
Claims
1. A fully proactive multi-workshop joint scheduling method, characterized in that, include: S1: Obtain the set of order batches to be processed, and allocate each order batch to the first processing path or the second processing path according to the number of workpieces in each order batch and the preset path selection threshold; wherein, the first processing path includes a processing flow that passes through the surface mount workshop and the first back-end workshop in sequence, and the second processing path includes a processing flow that passes through the surface mount workshop and the second back-end workshop in sequence. S2: Divide each order batch into several sub-batches of equal quantity and construct an unscheduled operation set; S3: Based on the set of available operations, a batch process is selected from the set of available operations using a weighted priority scheduling rule; S4: Based on the workshop to which the selected batch of processes belongs, invoke the fully proactive scheduling and allocation rules of the corresponding workshop to insert each sub-batch of the selected batch of processes into the scheduling sequence of the current workshop; where, When the selected batch of processes belongs to the first downstream workshop, the execution steps of the fully proactive scheduling and allocation rule include: S411: On each parallel machine in the processing stage to which the selected batch process belongs, perform a left shift feasibility check on each node of the current batch sequence from the first to the last, select the parallel machine and node that makes the selected batch process complete earliest, perform left insertion, and update the corresponding machine sequence and time. S412: Following the reverse stage traversal order, for each of the preceding stages in the first post-process workshop of the selected batch of processes, perform a right shift feasibility check from the end of the sequence to the front on the corresponding parallel machine, select the latest accommodating node to perform right insertion, update the corresponding machine sequence and time, until all preceding stages in the first post-process workshop have been backfilled. S413: Determine the upper limit of the completion time of the last machine in the surface mount workshop based on the start time of the first stage in the first back workshop. In the surface mount workshop, perform a right shift feasibility check on the preceding processes of the selected batch processes in reverse machine traversal order, select the latest accommodating node to perform right insertion, and update the corresponding machine sequence and time. When the selected batch of processes belongs to the second downstream workshop, the execution steps of the fully proactive scheduling and allocation rule include: S421: For each workbench in the second downstream workshop, perform a left shift feasibility check on each node of the current batch sequence from the first to the last, select the workbench and node that makes the selected batch process start earliest, perform left insertion, and update the start time and completion time of the corresponding workbench sequence and each sub-batch. S422: Determine the upper limit of the completion time of the last machine in the surface mount workshop based on the start time of the second downstream workshop process. In the surface mount workshop, perform a right shift feasibility check on the preceding processes of the selected batch process in reverse machine traversal order, select the latest accommodating node to perform right insertion, and update the corresponding machine sequence and time. S5: Remove the batch of operations that have been scheduled from the unscheduled operation set and the available operation set. If there is a subsequent batch of operations and all its preceding operations have been scheduled, add the subsequent batch of operations to the available operation set. S6: Repeat S3 to S5 until the set of unscheduled operations is empty, and output the joint scheduling scheme of each workshop.
2. The fully active multi-workshop joint scheduling method according to claim 1, characterized in that: In S2, the step of dividing the order batch into sub-batches of equal quantity is triggered when the batch process is selected as the first machine process in the surface mount shop.
3. The fully active multi-workshop joint scheduling method according to claim 1, characterized in that: In S3, the execution steps of the weighted priority scheduling rule include: S31: For each candidate batch operation in the available operation set, calculate the original index value under each scheduling priority rule; S32: The original index values of each rule are normalized using the Min-Max standardization method to obtain a normalized score; S33: The normalized scores of each rule are weighted and summed to obtain the comprehensive priority score of each candidate batch process; S34: Select the batch process with the highest comprehensive priority score as the current batch process to be scheduled.
4. The fully active multi-workshop joint scheduling method according to claim 3, characterized in that: The scheduling priority rules include at least two of the following: the shortest processing time rule based on the current process processing time, the shortest remaining processing time rule and the longest remaining processing time rule based on the remaining processing time, the minimum remaining workload rule and the maximum remaining workload rule based on the remaining workload, and the maximum batch priority rule and the minimum batch priority rule based on the batch size. Different workshops adopt their own corresponding subsets of scheduling priority rules, and the weight of each rule in the weighted priority scheduling rules is determined by an automatic parameter design method.
5. The fully active scheduling method for joint scheduling of multiple workshops according to claim 1, characterized in that: In S4, when the selected batch of processes belongs to the surface mount workshop, the execution steps of the fully proactive scheduling and allocation rule include: S401: For each production line in the surface mount assembly workshop, perform a left shift feasibility check on each node of the current batch sequence on each machine from the first to the last, in the forward machine traversal order, to determine the earliest node position on the production line where the selected batch process can be inserted. S402: After traversing all candidate node positions of the pipeline, insert the selected batch process to the left of the corresponding node of the pipeline with the earliest completion time, and update the batch sequence of each machine on the pipeline and the start and completion times of each sub-batch.
6. The fully active scheduling method for joint scheduling of multiple workshops according to claim 1, characterized in that: In S4, sub-batches of the same batch are processed sequentially in order of sub-batch numbers on any machine or workbench in any workshop, and sub-batches from different batches are not allowed to be inserted into each other. In the surface mount assembly workshop and the first post-processing workshop, there is preparation time between different batches, but no preparation time is counted between sub-batches within the same batch; in the second post-processing workshop, there is no preparation time between batches or within batches; once a sub-batch starts processing on any machine, it is not allowed to be interrupted or preempted; the prerequisite for a sub-batch to enter the next workshop is that all processes in the current workshop have been completed.
7. The fully active scheduling method for joint scheduling of multiple workshops according to claim 1, characterized in that: In S1, when the number of workpieces in an order batch is less than the path selection threshold, the order batch is assigned to a second processing path that includes a manual processing workshop. When the number of workpieces in an order batch is greater than or equal to the path selection threshold, the order batch is assigned to the first processing path containing the mixed flow workshop; the path selection threshold is determined based on historical processing data.
8. The fully active scheduling method for joint scheduling of multiple workshops according to claim 1, characterized in that: The joint scheduling scheme aims to minimize the maximum completion time. The performance of the joint scheduling scheme is evaluated using the relative percentage increment as the evaluation index.
9. A fully proactive multi-workshop joint scheduling system, employing the method described in any one of claims 1-8, characterized in that, include: The path allocation module is used to obtain the order batch set and allocate each order batch to the corresponding processing path based on the number of workpieces in each order batch and the preset path selection threshold. The sub-batch partitioning module is used to divide each order batch into several sub-batches of equal quantity and to construct a set of unscheduled operations and a set of available operations. The priority selection module is used to select batch operations from the available operation set based on weighted priority scheduling rules; The scheduling and allocation module is used to call the fully proactive scheduling and allocation rules of the corresponding workshop according to the workshop to which the selected batch of processes belongs, and insert each sub-batch of the selected batch of processes into the scheduling sequence of the current workshop. The set update module is used to update the unscheduled operation set and the available operation set after the batch process is scheduled. The output module is used to output the joint scheduling scheme of each workshop when the set of unscheduled operations is empty.
10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1-8.
Citation Information
Patent Citations
A workshop scheduling method, device and equipment
CN114676945B
Optimization method for multi-target batch flow scheduling problem of PCB assembly workshop
CN117908489A
Coevolution method for distributed heterogeneous flexible job shop scheduling
CN119338142A
Full-active batch scheduling method for hybrid flow shop
CN121809888A