A production scheduling method, system, device, medium and product
Patent Information
- Application Number
- CN202611444677.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-17
- Publication Date
- 2026-11-03
AI Technical Summary
然而,单次规则构造方式,虽然能够在较短时间内形成排程结果,但其排程结果主要由规则影响,难以获得更优的排程结果,尤其是在离散制造的场景下,约束条件较多,难以通过单次规则构造获取可行且生产效率高的排程结果,不利于提高排产效率以及排产质量
获取排产工序信息、排产资源信息及排产约束信息,并基于第一阶段处理形成多个第一候选排程,获取第一阶段排产信息。第一阶段处理以排产约束为基础,对排产工序进行规划和资源分配,为后续处理提供多个候选排程基础。根据第一候选排程,获取对应的工序编码信息和资源编码信息,以便于后续进行算法处理,工序编码信息反映第一候选排程中的工序规划关系,资源编码信息反映工序与资源之间的对应关系。第二阶段处理根据工序编码信息、资源编码信息和排产约束信息,基于算法搜索获取多个第二候选排程,形成第二阶段候选排程信息。基于第一阶段候选排程信息和第二阶段候选排程信息,按照预设的分层条件依次筛选排程,以获得排程结果信息。以此,通过两阶段处理,第一阶段处理获取基础的第一候选排程,作为后续第二阶段处理的算法搜索基础,对第一候选排程进行编码以适应算法处理,第二阶段通过算法搜索,能够搜索潜在更优的第二候选排程,且基于第一候选排程进行算法搜索,能够提高算法搜索的效率,避免无基础搜索大量耗时,并且提高搜索结果的第二候选排程的可行性和准确性,有利于获取可行且生产效率高的排程结果,进而提高排产效率以及排产质量。
Smart Images

Figure CN123032108A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of production process optimization technology, and in particular to a scheduling method, system, equipment, medium and product. Background Technology
[0002] In discrete manufacturing scenarios, there is a linkage between final assembly and sub-assembly. Final assembly orders are usually related to multiple sub-assembly orders. Therefore, when scheduling production plans, it is necessary to meet constraints such as process relationships, resource usage, available resource time, process processing time, and linkage between final assembly and sub-assembly.
[0003] In existing technologies, scheduling is typically generated directly using a single rule, such as determining the sequence of processes based on delivery date, processing time, or resource load. However, while this single-rule construction method can generate scheduling results in a relatively short time, the results are primarily influenced by the rules themselves, making it difficult to achieve optimal scheduling outcomes. This is especially true in discrete manufacturing scenarios, where numerous constraints make it challenging to obtain feasible and efficient scheduling results through single-rule construction, thus hindering the improvement of scheduling efficiency and quality. Summary of the Invention
[0004] This application aims to address at least one of the technical problems existing in the related art. To this end, this application proposes a production scheduling method to improve production scheduling efficiency and ensure the reliability of production scheduling.
[0005] This application also proposes systems, equipment, media, and products.
[0006] A production scheduling method according to an embodiment of the first aspect of this application includes: Obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information; Based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information, first-stage candidate scheduling information is obtained based on the first-stage processing. The first-stage processing is used to plan the production scheduling process based on the production scheduling constraints to form a first candidate schedule. The first-stage candidate scheduling information includes multiple first candidate schedules. Based on the candidate scheduling information of the first stage, obtain the process code information and resource code information corresponding to the first candidate scheduling; Based on the process coding information, the resource coding information, and the production scheduling constraint information, second-stage candidate scheduling information is obtained through second-stage processing. The second-stage processing is used to search for second candidate schedules based on an algorithm. The second-stage candidate scheduling information includes multiple second candidate schedules. Based on the candidate scheduling information of the first stage and the candidate scheduling information of the second stage, the scheduling result information is obtained through hierarchical filtering. The hierarchical filtering process is used to sequentially filter the schedule according to preset hierarchical conditions.
[0007] The subject name corresponding to the proprietary right 1 in the embodiments of this application has at least the following beneficial effects: The first stage of production scheduling involves acquiring scheduling process information, resource information, and constraint information. Based on the first-stage processing, multiple first-stage candidate schedules are generated, resulting in first-stage production scheduling information. This first-stage processing, based on scheduling constraints, plans and allocates resources for scheduling processes, providing a basis for multiple candidate schedules in subsequent processing. According to the first-stage candidate schedules, corresponding process codes and resource codes are obtained to facilitate subsequent algorithmic processing. The process codes reflect the process planning relationships in the first-stage candidate schedules, while the resource codes reflect the correspondence between processes and resources. The second-stage processing, based on the process codes, resource codes, and scheduling constraints, uses an algorithm to search and obtain multiple second-stage candidate schedules, forming second-stage candidate schedule information. Based on the first-stage and second-stage candidate schedule information, schedules are sequentially filtered according to preset hierarchical conditions to obtain the scheduling results. Thus, through a two-stage process, the first stage obtains a basic first candidate schedule, which serves as the basis for the algorithm search in the subsequent second stage. The first candidate schedule is encoded to adapt to the algorithm processing. In the second stage, the algorithm searches for potentially better second candidate schedules. Furthermore, the algorithm search based on the first candidate schedule can improve the efficiency of the algorithm search, avoid the large time consumption of searching without a basis, and improve the feasibility and accuracy of the second candidate schedule in the search results. This is conducive to obtaining feasible and highly productive scheduling results, thereby improving scheduling efficiency and scheduling quality.
[0008] According to one embodiment of this application, the step of obtaining first-stage candidate scheduling information based on the scheduling process information, the scheduling resource information, and the scheduling constraint information, according to the first-stage processing, includes: Based on the production scheduling information, obtain fixed process information and non-fixed process information; Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline. Based on the fixed process information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the first planning time axis information; Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the resource time axis occupancy interval of each non-fixed process is planned, and the candidate scheduling information for the first stage is obtained.
[0009] According to one embodiment of this application, the step of planning the resource time axis occupancy interval of each non-fixed process based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, and obtaining the first stage candidate scheduling information, includes: Based on the preset calculation rule library, for each set of preset calculation rules, the following processing is performed: Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the process information that can be scheduled is obtained through a filtering process. Based on the scheduleable process information, the priority score corresponding to the scheduleable non-fixed process is determined based on the preset calculation rule set, and the priority score information is obtained; Based on the arrangable process information and the priority score information, the arrangable process sequence information is obtained through sorting processing. Based on the scheduleable process sequence information, the production scheduling constraint information, and the first planning time axis information, the resource time axis and the occupied interval corresponding to the scheduleable process are determined sequentially, and the first planning time axis information is updated. Based on the first planning timeline information, the non-fixed process information, and the production scheduling constraint information, new schedulable process information is obtained and processed repeatedly to update the first planning timeline information until the schedulable process information is empty or the repeated processing reaches the first upper limit number of times. Based on the last updated first planning timeline information, obtain the first candidate schedule corresponding to the preset calculation rule set; The preset calculation rule base includes at least two sets of preset calculation rules, and the first candidate schedule corresponding to each preset calculation rule set forms the first stage candidate schedule information.
[0010] According to one embodiment of this application, the schedulable process information includes a repetition wave identifier corresponding to the schedulable non-fixed process, the repetition wave identifier being determined based on the round of repetition processing; the step of obtaining schedulable process sequence information based on the schedulable process information and the priority score information, using sorting processing, includes: Based on the scheduled process information, the processes are arranged in order of repetition wave identifier from smallest to largest, latest start time from smallest to largest, priority score from largest to smallest, and time of time occupied on the time axis from smallest to largest to obtain the scheduled process sequence information. The repeat wave identifier is used to distinguish non-fixed processes that pass the screening process for the first time in different repeat processing rounds.
[0011] According to one embodiment of this application, the step of determining the resource time axis and occupied interval corresponding to the schedulable process in sequence based on the schedulable process sequence information, the production scheduling constraint information, and the first planning time axis information, and updating the first planning time axis information, includes: Based on the scheduled process sequence information, the following processes are performed sequentially on the scheduled processes: Based on the scheduleable process and the scheduling constraint information, obtain the earliest start time and the latest start time corresponding to the scheduleable process; Based on the scheduled processes and the first planning timeline information, available timeline information is obtained, wherein the available timeline information represents the resource timeline available for the scheduled processes in the first planning timeline information; Based on the earliest start time and the latest start time, filter the remaining intervals of the resource time axis in the available time axis information to obtain the interval to be verified and the corresponding preprocessing steps of the interval to be verified. Based on the scheduled processes, the preceding processes of the interval, and the scheduling constraint information, obtain the changeover preparation time corresponding to the interval to be verified; Based on the scheduled processes and the interval to be verified, the processing time of the process corresponding to the interval to be verified is obtained through resource efficiency calculation. Based on the start time of the interval to be verified and the corresponding changeover preparation time, determine the interval processing start time corresponding to the interval to be verified; The interval to be verified that has a processing start time less than or equal to the latest start time and an interval duration greater than or equal to the sum of the changeover preparation time and the process processing time is selected as a candidate interval. When there are at least two candidate intervals, the target interval is determined based on a preset priority order rule; When there is one candidate interval, the candidate interval is determined as the target interval; Based on the target interval and the corresponding changeover preparation time and process processing time, determine the occupancy interval of the scheduled processes and update the first planning time axis information; When no candidate interval exists, the scheduled process is treated as an unplanned process, and the first planned timeline information is updated.
[0012] According to one embodiment of this application, after obtaining first-stage candidate scheduling information based on the scheduling process information, the scheduling resource information, and the scheduling constraint information, and according to the first-stage processing, the method further includes: Based on the candidate scheduling information of the first stage, when there is an unplanned process in the first candidate schedule, the unplanned process will be regarded as a blocked process. Based on the production scheduling constraint information, the blocked process and the corresponding first candidate schedule, a set of repair processes is obtained, the set of repair processes includes non-fixed processes associated with the blocked process; Based on the set of repair procedures and the corresponding first candidate schedule, release the set of repair procedures in the resource timeline of the first candidate schedule, and obtain basic repair timeline information based on the procedures in the remaining occupied intervals in the resource timeline of the first candidate schedule. Based on the basic repair timeline information, the repair process set, and the production scheduling constraint information, the reconfiguration timeline information is obtained based on the replanning repair process. Based on the reconstructed timeline information, the corresponding first candidate schedule is reconstructed to update the first stage candidate schedule information.
[0013] According to one embodiment of this application, obtaining a set of repair processes based on the blocked process, the corresponding first candidate schedule, and the production scheduling constraint information includes: Based on the blocking process and the corresponding first candidate schedule, based on the blocking root cause identification process, blocking root process information is obtained, and the blocking root process information represents the root cause process that causes the blocking. Based on the blocked root process information, the corresponding first candidate schedule, and the production scheduling constraint information, obtain the root cause-related process set; Based on the blocked root process information, the scheduling resource information, and the scheduling constraint information, the root time window information is obtained. The root time window information represents the time range between the earliest start time and the latest start time of the root process on the available resource time axis. Based on the root time window information and the corresponding first candidate schedule, determine the non-fixed process associated with the root time window information in the resource time axis of the first candidate schedule, and obtain the set of adjustment processes; Based on the root cause association process set and the adjustment process set, obtain the repair process set.
[0014] According to one embodiment of this application, the step of obtaining reconstructed timeline information based on the basic repair timeline information, the repair process set, and the scheduling constraint information, according to the replanning repair process, includes: Based on the initial resource timeline of the first candidate schedule, obtain the initial candidate target timeline information; Based on the set of repair procedures, a blocking priority sorting process is performed according to the repair sorting rules to obtain the repair procedure sequence information. Based on the repair process sequence information, the production scheduling constraint information, and the basic repair time axis information, the occupied interval of the repair process on the resource time axis is determined sequentially, and the repair available time axis information is obtained. Based on the available repair timeline information and the candidate target timeline information, an evaluation comparison result is obtained through evaluation comparison processing. When the evaluation comparison result indicates that the repair available time axis information is better, the repair available time axis information is used as the new candidate target time axis information; Adjust the repair sorting rules and repeat the process until the candidate target timeline information includes all the processes of the repair process set or the number of repeated processes reaches the second upper limit. The candidate target timeline information is used as the reconstructed timeline information.
[0015] According to one embodiment of this application, obtaining the process code information and resource code information corresponding to the first candidate schedule based on the first stage candidate schedule information includes: Based on the candidate scheduling information of the first stage, for each first candidate scheduling, a corresponding non-fixed process planning sequence is determined, and the unplanned non-fixed processes are added to the non-fixed process planning sequence according to the process sequence, and then the non-fixed process sequence corresponding to the first candidate scheduling is obtained. Based on the non-fixed process sequence, the process coding information is obtained through process priority coding processing. Based on the non-fixed process sequence, a resource identifier sequence is determined based on the resource identifiers occupied by the non-fixed processes. The resource identifier sequence is then processed by resource encoding to obtain the resource encoding information.
[0016] According to one embodiment of this application, the step of obtaining second-stage candidate scheduling information based on the process coding information, the resource coding information, and the production scheduling constraint information, according to the second-stage processing, includes: Based on the process coding information and the resource coding information, and using population generation processing, coded population information is obtained, which includes multiple coded individuals. The remaining search processing time is obtained based on the maximum search processing time limit and the processing time already consumed. Based on the coded population information, the search coded individuals are obtained using a hybrid search process; Add the search-coded individual to the coded population information; Based on the coded population information, the production process information, the production resource information, and the production constraint information, and using unified constraint decoding processing, a second candidate schedule corresponding to each coded individual in the coded population information is obtained. Based on the second candidate schedule, and based on the schedule evaluation process, determine the evaluation score corresponding to the second candidate schedule, and obtain the evaluation score information; Based on the evaluation score information, and through individual screening, the coded population information is updated; Repeat the hybrid search process, the unified constraint decoding process, and the scheduling evaluation process to update the encoded population information until the number of times the hybrid search process is repeated reaches the third upper limit or the remaining search processing time is insufficient to perform the hybrid search process again. Based on the second candidate schedule corresponding to the last updated coded population information, obtain the second stage candidate schedule information; The hybrid search processing is performed using at least one search algorithm selected from genetic search, variable neighborhood search, tabu search, and fast neighborhood search.
[0017] According to one embodiment of this application, the hybrid search process includes: Upon initial execution, the encoded population information is processed based on a genetic search. When the remaining search processing time is less than the preset late threshold, the encoded population information is processed based on fast neighborhood search; When the remaining search processing time is greater than or equal to the preset late threshold, the search is in a stagnant state, and the last non-taboo search was performed, the encoded population information is processed based on the taboo search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is greater than or equal to the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on the variable neighborhood search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is less than the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on fast neighborhood search. The search stagnation state indicates that the highest evaluation score fluctuates within a threshold range and continues for a preset number of executions. The stress index is calculated and determined based on the second candidate schedule corresponding to the highest evaluation score.
[0018] According to one embodiment of this application, the step of obtaining coded population information based on population generation processing according to the process coding information and the resource coding information includes: Based on the process coding information and the resource coding information, obtain the basic coding individual corresponding to the first candidate schedule; Based on the basic coded individual, sequential derived coded individuals are obtained through process sequence exchange. Based on the basic coded individual, resource-derived coded individuals are obtained through legal resource reselection processing; Based on the aforementioned basic encoded individuals, resource-distributed encoded individuals are obtained through low-load resource selection processing. Based on the basic encoded individuals, process them according to preset rules to obtain rule-supplemented encoded individuals; Based on the basic encoded individuals, random encoded individuals are obtained through random combination processing; Encoding verification processing is performed on the basic encoded individuals, the sequentially derived encoded individuals, the resource-derived encoded individuals, the resource-distributed encoded individuals, the rule-supplemented encoded individuals, and the random encoded individuals to obtain the encoding population information; The encoding verification process is used to verify whether the process encoding and resource encoding of an individual encoding meet preset conditions and to remove encoding individuals that do not meet the preset conditions.
[0019] According to one embodiment of this application, the step of obtaining a second candidate schedule corresponding to each coded individual in the coded population information based on the coded population information, the scheduling process information, the scheduling resource information, and the scheduling constraint information, using unified constraint decoding processing, includes: Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline. Based on the production scheduling information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the second planning time axis information; Based on the coded population information, for each coded individual, the following processing is performed: Based on the coded individual, the second planning time axis information, and the production scheduling constraint information, a ready process queue and a corresponding priority resource queue are obtained. The ready process queue represents the process that can be planned in accordance with the production scheduling constraints, and the priority resource queue represents the resource time axis that the ready process preferentially selects. Based on the ready process queue, the priority resource queue, the second planning time axis information, and the production scheduling constraint information, the resource time axis and the occupied interval corresponding to the ready process are determined in sequence, and the second planning time axis information is updated. Based on the coded individual and the second planning timeline information, a new ready process queue and a corresponding new priority resource queue are obtained and processed repeatedly to update the second planning timeline information until the ready process queue is empty. Based on the last updated second planning timeline information, obtain the second candidate schedule corresponding to the coded individual.
[0020] According to one embodiment of this application, the step of obtaining scheduling result information based on hierarchical filtering processing according to the first-stage candidate scheduling information and the second-stage candidate scheduling information includes: Based on the candidate scheduling information of the first stage and the candidate scheduling information of the second stage, obtain the candidate scheduling set information; Based on the candidate scheduling set information and the production constraint information, feasibility identification information is obtained through hard constraint auditing. Based on the candidate schedule set information, obtain the schedule integrity information; Based on the candidate scheduling set information, indicator degradation information is obtained through indicator degradation comparison processing. Based on the candidate schedule set information, and through schedule evaluation processing, comprehensive evaluation information is obtained. Based on the feasibility identification information, the scheduling integrity information, the indicator degradation information, and the comprehensive evaluation information, scheduling result information is obtained through hierarchical screening processing. The hierarchical screening process is used to screen candidate schedules in the order of feasibility identification, schedule integrity, indicator degradation, and comprehensive evaluation.
[0021] According to one embodiment of this application, obtaining production scheduling process information, production scheduling resource information, and production scheduling constraint information includes: Obtain production scheduling input information, which includes manufacturing orders, relationships between final assembly and sub-assembly, relationships between bills of materials, production scheduling processes, process relationships, candidate resources, resource calendar, resource efficiency, changeover rules, earliest start time, material ready time, delivery date, and algorithm running parameters; Based on the production scheduling input information, and using unified constraint context processing, the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information are obtained. The unified constraint context processing is used to standardize and validate the production scheduling input information.
[0022] A production scheduling system according to a second aspect of this application includes: The input module is used to obtain production scheduling input information and perform unified constraint context processing to obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information. The first-stage processing module is used to obtain first-stage candidate scheduling information based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information. The blockage repair module is used to perform local repair processing based on the blockage process; The coding module is used to obtain the process coding information and resource coding information corresponding to the first candidate schedule based on the first stage candidate schedule information; The second-stage processing module is used to obtain second-stage candidate scheduling information based on the process coding information, the resource coding information, and the production scheduling constraint information. The hierarchical filtering module is used to obtain scheduling result information based on the first-stage candidate scheduling information and the second-stage candidate scheduling information, through hierarchical filtering processing. The input module, the first-stage processing module, the blockage repair module, the encoding module, the second-stage processing module, and the hierarchical filtering module work together to implement the above-mentioned production scheduling method.
[0023] An electronic device according to a third aspect of this application includes a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the program to implement the above-described production scheduling method.
[0024] According to a fourth aspect of this application, a non-transitory computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the above-described production scheduling method.
[0025] A computer program product according to a fifth aspect of this application includes a computer program that, when executed by a processor, implements the above-described scheduling method.
[0026] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0027] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0028] Figure 1 This is one of the flowcharts of a production scheduling method provided in this application.
[0029] Figure 2 This is the second flowchart of a production scheduling method provided in this application.
[0030] Figure 3 This is a resource timeline diagram of a scheduling method provided in this application.
[0031] Figure 4 This is a schematic diagram illustrating the process of obtaining the first candidate schedule in a scheduling method provided in this application.
[0032] Figure 5 This is a schematic diagram illustrating the process of replanning and repairing blocked processes in a production scheduling method provided in this application.
[0033] Figure 6 This is a schematic diagram illustrating the acquisition of coded population information in a scheduling method provided in this application.
[0034] Figure 7 This is a schematic diagram of the unified constraint decoding process in a scheduling method provided in this application.
[0035] Figure 8 This is a schematic diagram of the hybrid search processing in a scheduling method provided in this application.
[0036] Figure 9 This is a schematic diagram of the stratified screening process in a production scheduling method provided in this application.
[0037] Figure 10 This is a schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0038] The embodiments of this application will be described in further detail below with reference to the accompanying drawings and examples. The following examples are used to illustrate this application, but should not be used to limit the scope of this application.
[0039] In the description of the embodiments of this application, it should be noted that the terms "first", "second" and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0040] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the embodiments of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0041] refer to Figure 1 and Figure 2 This application provides a production scheduling method, including: S100: Obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information; S200: Based on the production scheduling process information, the production scheduling resource information and the production scheduling constraint information, first-stage candidate scheduling information is obtained based on the first-stage processing. The first-stage processing is used to plan the production scheduling process based on the production scheduling constraints to form a first candidate schedule. The first-stage candidate scheduling information includes multiple first candidate schedules. S300: Based on the first stage candidate scheduling information, obtain the process code information and resource code information corresponding to the first candidate scheduling; S400: Based on the process code information, the resource code information, and the production scheduling constraint information, second-stage candidate scheduling information is obtained based on the second-stage processing. The second-stage processing is used to search for second candidate scheduling based on an algorithm. The second-stage candidate scheduling information includes multiple second candidate schedulings. S500: Based on the candidate scheduling information of the first stage and the candidate scheduling information of the second stage, and using hierarchical filtering processing, obtain scheduling result information; The hierarchical filtering process is used to sequentially filter the schedule according to preset hierarchical conditions.
[0042] The first stage of production scheduling involves acquiring scheduling process information, resource information, and constraint information. Based on the first-stage processing, multiple first-stage candidate schedules are generated, resulting in first-stage production scheduling information. This first-stage processing, based on scheduling constraints, plans and allocates resources for scheduling processes, providing a basis for multiple candidate schedules in subsequent processing. According to the first-stage candidate schedules, corresponding process codes and resource codes are obtained to facilitate subsequent algorithmic processing. The process codes reflect the process planning relationships in the first-stage candidate schedules, while the resource codes reflect the correspondence between processes and resources. The second-stage processing, based on the process codes, resource codes, and scheduling constraints, uses an algorithm to search and obtain multiple second-stage candidate schedules, forming second-stage candidate schedule information. Based on the first-stage and second-stage candidate schedule information, schedules are sequentially filtered according to preset hierarchical conditions to obtain the scheduling results.
[0043] Thus, through a two-stage process, the first stage obtains a basic first candidate schedule, which serves as the basis for the algorithm search in the subsequent second stage. The first candidate schedule is encoded to adapt to the algorithm processing. In the second stage, the algorithm searches for potentially better second candidate schedules. Furthermore, the algorithm search based on the first candidate schedule can improve the efficiency of the algorithm search, avoid the large time consumption of searching without a basis, and improve the feasibility and accuracy of the second candidate schedule in the search results. This is conducive to obtaining feasible and highly productive scheduling results, thereby improving scheduling efficiency and scheduling quality.
[0044] In some embodiments of this application, the production scheduling process information may include the process identifier of the process to be scheduled, the manufacturing order to which the process belongs, the relationship between the processes, the types of resources required by the process, the earliest start time of the process, and other information. In some embodiments, the production scheduling process information may also include index information established according to manufacturing orders, process routes, product levels, or process categories.
[0045] In some embodiments of this application, production scheduling resource information may include information such as the resource identifier, resource type, resource availability time, resource efficiency, and the type of processing steps that the resource can perform. It is understood that resources may be equipment, production lines, workstations, personnel, molds, logistics units, or consist of multiple production capacity objects.
[0046] In some embodiments of this application, production scheduling constraint information may include process sequence constraints, resource candidate constraints, resource occupancy constraints, resource calendar constraints, process time constraints, material availability constraints, changeover constraints, and fixed process constraints. Production scheduling constraint information may be represented using rule tables, constraint edges, relation matrices, time window parameters, resource mapping tables, or other methods.
[0047] In some embodiments of this application, the first-stage processing may employ a rule-based scheduling method, a priority-based scheduling method, a resource availability-based scheduling method, or a combination thereof. The first candidate schedule may be a complete schedule or a partial schedule that includes both planned and unplanned processes.
[0048] In some embodiments of this application, the process coding information may employ position coding, arrangement coding, sequence number coding, or other coding methods capable of expressing the relative planning order of non-fixed processes. Resource coding information may be formed using resource identifier coding, resource index coding, or resource category coding, etc.
[0049] In some embodiments of this application, the algorithm in the second-stage processing may be one or more of genetic search, variable neighborhood search, tabu search, and fast neighborhood search, or other optimized search algorithms may be used to search for potentially better second candidate schedules.
[0050] refer to Figure 2 In some embodiments of a production scheduling method of this application, step S100 includes: Obtain production scheduling input information, which includes manufacturing orders, relationships between final assembly and sub-assembly, relationships between bills of materials, production scheduling processes, process relationships, candidate resources, resource calendar, resource efficiency, changeover rules, earliest start time, material ready time, delivery date, and algorithm running parameters; Based on the production scheduling input information, and using unified constraint context processing, the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information are obtained. The unified constraint context processing is used to standardize and validate the production scheduling input information.
[0051] The process acquires scheduling input information, including manufacturing orders, final assembly and sub-assembly relationships, bill of materials relationships, scheduling processes, process relationships, candidate resources, resource calendars, resource efficiency, changeover rules, earliest start time, material readiness time, delivery date, and algorithm parameters. This input information is standardized and validated using a unified constraint context to obtain scheduling process information, scheduling resource information, and scheduling constraint information. By processing this unified constraint context before using the scheduling input information in subsequent scheduling processes, a consistent data organization and validation foundation is established for process, resource, and constraint-related data.
[0052] In some embodiments of this application, a manufacturing order may include information such as order identifier, product identifier, order quantity, delivery date, production stage, or order association; the final assembly and sub-assembly relationship indicates production objects with assembly associations, which can be used to determine whether the sub-assembly process is completed before the final assembly process; the bill of materials relationship can represent the association between manufacturing orders, processes, and materials; the process relationship may include process sequence relationship, process time relationship, process synchronization relationship, or other information used to describe the association between processes; candidate resources may be a set of resources that are allowed to be used to process the corresponding process; the resource calendar indicates the availability status of resources at different time periods; resource efficiency can be a calculation parameter representing the processing time required for resources to complete the corresponding process; the changeover rule indicates the rule for the preparation time required for changing materials between processes; the algorithm running parameters may include parameters of the search algorithm, processing time limit, number of runs, etc.
[0053] In some embodiments of this application, the standardization process in the unified constraint context processing may include unified identifier format, unified time unit, unified resource identifier, unified process identifier, removal of duplicate records, or index creation. The validation process may include field integrity validation, process relationship validity validation, candidate resource validity validation, resource calendar validity validation, or time information validity validation.
[0054] refer to Figure 2 and Figure 3 In some embodiments of a production scheduling method of this application, step S200 includes: Based on the production scheduling information, obtain fixed process information and non-fixed process information; Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline. Based on the fixed process information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the first planning time axis information; Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the resource time axis occupancy interval of each non-fixed process is planned, and the candidate scheduling information for the first stage is obtained.
[0055] Based on the production scheduling process information, fixed process information and non-fixed process information are obtained. Based on the production scheduling resource information, a corresponding resource timeline is established for each available resource, and the resource timeline information is obtained. The scheduling is determined based on the resource timeline occupancy method. First, fixed processes are placed in the occupied interval of the corresponding resource timeline, that is, fixed processes are planned to the required interval of the corresponding resource timeline, forming the initial first planning timeline information. Then, based on the first planning timeline information containing the occupied interval of fixed processes, non-fixed processes are further planned to determine the occupied interval of non-fixed processes in the resource timeline, and the first planning timeline information is updated. After the planning of each non-fixed process is completed, the first planning timeline information includes the resource timeline after the planned process, which can reflect the time of the process and the resources occupied, and obtain the first stage candidate scheduling information.
[0056] In this way, the resources and time intervals occupied by fixed processes can be determined before the planning of non-fixed processes and cannot be moved or changed. This avoids the use of fixed process time intervals during non-fixed process planning, ensuring the feasibility of fixed processes. Furthermore, on this basis, non-fixed processes can be planned, which helps to ensure the feasibility of the resulting first candidate schedule.
[0057] In some embodiments of this application, the resource timeline can record the available interval, unavailable interval, fixed process occupied interval, non-fixed process occupied interval, and changeover preparation interval of resources in chronological order. For the same resource timeline, the fixed process occupied interval, changeover preparation interval, and processing interval are all regarded as planned occupied intervals. That is, when planning the occupied intervals of each non-fixed process on the resource timeline, the planned occupied intervals cannot be occupied.
[0058] It is understood that a fixed process can be a process with fixed resources, a fixed start time, and a fixed end time. In some embodiments, a fixed process can be manually preset, or it can be determined based on a scheduled process, a locked process, or a non-adjustable process. A non-fixed process refers to a process whose occupied range can be redefined on the resource timeline. A non-fixed process has one or more available resources, and its planarable range can be determined according to scheduling constraints. After a fixed process is written into the resource timeline, the occupied range of the fixed process cannot be adjusted or moved by the first stage processing, the second stage processing, or the local repair processing. The fixed process can also be used as the latest start boundary of its predecessor process or the earliest start boundary of its successor process in the calculation.
[0059] In some embodiments, when a fixed process has a fixed start time but no fixed end time, the fixed end time of the fixed process can be determined based on the resource work calendar of the resource corresponding to the fixed process and the effective processing time of the fixed process on that resource. The effective processing time required for the fixed process can be accumulated within the available time interval of the resource work calendar starting from the fixed start time, and the accumulated completion time can be determined as the fixed end time.
[0060] refer to Figure 4 In some embodiments of a scheduling method of this application, the step of planning the resource time axis occupancy interval of each non-fixed process based on the non-fixed process information, the scheduling constraint information, and the first planning time axis information, and obtaining the first stage candidate scheduling information, includes: Based on the preset calculation rule library, for each set of preset calculation rules, the following processing is performed: Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the process information that can be scheduled is obtained through a filtering process. Based on the scheduleable process information, the priority score corresponding to the scheduleable non-fixed process is determined based on the preset calculation rule set, and the priority score information is obtained; Based on the arrangable process information and the priority score information, the arrangable process sequence information is obtained through sorting processing. Based on the scheduleable process sequence information, the production scheduling constraint information, and the first planning time axis information, the resource time axis and the occupied interval corresponding to the scheduleable process are determined sequentially, and the first planning time axis information is updated. Based on the first planning timeline information, the non-fixed process information, and the production scheduling constraint information, new schedulable process information is obtained and processed repeatedly to update the first planning timeline information until the schedulable process information is empty or the repeated processing reaches the first upper limit number of times. Based on the last updated first planning timeline information, obtain the first candidate schedule corresponding to the preset calculation rule set; The preset calculation rule base includes at least two sets of preset calculation rules, and the first candidate schedule corresponding to each preset calculation rule set forms the first stage candidate schedule information.
[0061] For each set of preset calculation rules in the preset calculation rule base, a filtering process is first performed to select non-fixed processes that meet the scheduling constraints and can be planned as scheduled processes, thereby obtaining scheduled process information. The priority score of the scheduled processes is calculated based on the rule set, and then sorted to obtain the sequence information of the scheduled processes, reflecting the order in which they are planned. The occupied interval of each scheduled process on the resource time axis is then determined sequentially. After the scheduled processes are planned, the first planning time axis information is updated, and the scheduled processes are re-obtained based on the updated first planning time axis information. This process is repeated until the scheduled process information is empty or the first maximum number of times is reached, completing the planning of the non-fixed processes. Based on the last updated first planning time axis information, a first candidate schedule is determined, which corresponds to the preset calculation rule set.
[0062] After completing one set of preset calculation rules, another set of preset calculation rules is used to perform the above process again. Since the preset calculation rule sets are different, the priority scores of the calculation will also be different, which in turn will result in differences in the sequence information of the schedulable processes. That is, the planning order of the schedulable processes is different, which ultimately makes the first candidate schedules for different preset calculation rule sets different.
[0063] In this way, based on different sets of preset calculation rules in the preset calculation rule library, multiple first candidate schedules are formed, and first-stage candidate schedule information is obtained.
[0064] The screening process can determine the scheduleable processes based on whether the processes meet scheduling constraints, such as judging the preceding relationships of processes, resource availability status, time window status, or other constraint satisfaction status. In some embodiments of this application, the non-fixed processes obtained by the screening process should meet the scheduling constraints: all processes preceding the process have obtained start or completion times; when the process is the first process of final assembly, all the sub-assembly tail processes it depends on have been completed; the process has at least one attribute matching and there are candidate resources with available calendars; the earliest start time of the process does not exceed the latest start time. In some embodiments, for the first process of final assembly, in addition to judging whether the associated sub-assembly tail processes are completed, the screening process also judges whether the time between the completion time of the sub-assembly tail process and the start time of the first process of final assembly meets the preset transfer time or waiting time interval.
[0065] In some embodiments of this application, the preset calculation rule base can store multiple rule sets for determining process priorities. The preset calculation rule set may include a basic rule set, an engineering rule set, and a generated rule set. The basic rules may include delivery urgency, remaining process paths, processing time, and the number of candidate resources. The engineering rules may include final assembly stage attributes, resource load, and critical order chains.
[0066] In some embodiments, the priority score can be calculated and determined using the following expression:
[0067] in, For the process that can be scheduled The corresponding priority score; A set of basic rules; A set of engineering rules; A set of optional rules; For rules For processes that can be scheduled The score; , , This is a weighting coefficient, which can be determined based on production scheduling configuration or historical data. (When generation rules are not enabled) It is 0.
[0068] By employing different sets of preset calculation rules, it is possible to achieve the effect of prioritizing delivery time, processing time, resource availability, resource load, process stage, process path length, order attributes, etc.
[0069] In some embodiments of a scheduling method according to this application, the scheduleable process information includes a repetition wave identifier corresponding to the scheduleable non-fixed process, the repetition wave identifier being determined based on the round of repetition processing; the step of obtaining scheduleable process sequence information based on the scheduleable process information and the priority score information, according to sorting processing, includes: Based on the scheduled process information, the processes are arranged in order of repetition wave identifier from smallest to largest, latest start time from smallest to largest, priority score from largest to smallest, and time of time occupied on the time axis from smallest to largest to obtain the scheduled process sequence information. The repeat wave identifier is used to distinguish non-fixed processes that pass the screening process for the first time in different repeat processing rounds.
[0070] The scheduleable process information includes a repeating wave identifier, which is determined by the round of repeated processing and is used to distinguish non-fixed processes that pass the screening process for the first time in different rounds. During sorting, processes are arranged sequentially based on the repeating wave identifier, latest start time, priority score, and timeline position. By prioritizing the comparison of repeating wave identifiers, scheduleable processes from earlier rounds are planned first. For scheduleable processes within the same repeating wave, the planning order is determined by comparing the latest start time, priority score, and timeline position. This distinguishes non-fixed processes that enter the scheduleable range in different repeating rounds, allowing processes that become scheduleable first to be planned and released first. Within the same repeating wave, processes with shorter latest start times (i.e., those with more urgent start times) are planned first, followed by processes with higher priority scores. When the latest start time and planning priority score are the same, processes are further sorted in ascending order of timeline position.
[0071] It is understandable that the latest start time represents the latest time that a process is allowed to start under the premise of meeting scheduling constraints. It can be determined based on the relationship between preceding and following processes, time intervals, resource time ranges, or other scheduling constraints.
[0072] refer to Figure 3 In some embodiments of a scheduling method of this application, the step of determining the resource time axis and occupied interval corresponding to the scheduleable process in sequence according to the scheduleable process sequence information, the scheduling constraint information, and the first planning time axis information, and updating the first planning time axis information, includes: Based on the scheduled process sequence information, the following processes are performed sequentially on the scheduled processes: Based on the scheduleable process and the scheduling constraint information, obtain the earliest start time and the latest start time corresponding to the scheduleable process; Based on the scheduled processes and the first planning timeline information, available timeline information is obtained, wherein the available timeline information represents the resource timeline available for the scheduled processes in the first planning timeline information; Based on the earliest start time and the latest start time, filter the remaining intervals of the resource time axis in the available time axis information to obtain the interval to be verified and the corresponding preprocessing steps of the interval to be verified. Based on the scheduled processes, the preceding processes of the interval, and the scheduling constraint information, obtain the changeover preparation time corresponding to the interval to be verified; Based on the scheduled processes and the interval to be verified, the processing time of the process corresponding to the interval to be verified is obtained by resource efficiency calculation. The processing time of the process represents the processing time required by the scheduled process in the resource time axis corresponding to the interval to be verified. Based on the start time of the interval to be verified and the corresponding changeover preparation time, determine the interval processing start time corresponding to the interval to be verified; The interval to be verified that has a processing start time less than or equal to the latest start time and an interval duration greater than or equal to the sum of the changeover preparation time and the process processing time is selected as a candidate interval. When there are at least two candidate intervals, the target interval is determined based on a preset priority order rule; When there is one candidate interval, the candidate interval is determined as the target interval; Based on the target interval and the corresponding changeover preparation time and process processing time, determine the occupancy interval of the scheduled processes and update the first planning time axis information; When no candidate interval exists, the scheduled process is treated as an unplanned process, and the first planned timeline information is updated.
[0073] For each of the scheduled processes in the sequence of scheduled processes, first obtain the earliest start time and the latest start time, and then obtain the available resource time axis for the scheduled process from the first planning time axis information. Based on the earliest start time and the latest start time, filter and obtain the interval to be verified and the process before the interval from the remaining interval in the available resource time axis. The process before the interval is the process corresponding to the interval that has been planned and occupied before the interval to be verified.
[0074] Based on the scheduleable process, the preceding process of the interval, and the scheduling constraint information, determine the changeover preparation time required for the preceding process of the interval to switch to the scheduleable process, and calculate the process processing time required for the scheduleable process based on the resource efficiency corresponding to the resource time axis.
[0075] Then, the starting time of the interval to be verified, after the changeover preparation time, is determined by whether it is less than or equal to the latest start time of the scheduled operations (i.e., whether it meets the start time requirement of the scheduled operations), and whether the length of the interval to be verified is greater than or equal to the sum of the changeover preparation time and the operation processing time (i.e., whether the interval duration of the interval to be verified is sufficient to complete the scheduled operations). Based on this, the intervals to be verified that meet the start time requirement and the interval duration requirement are selected as candidate intervals.
[0076] When there are two or more candidate intervals, the target interval is determined by a preset priority order rule; when there is only one candidate interval, the candidate interval is directly used as the target interval; when there is no candidate interval, the scheduled process is treated as an unplanned process if there is no available interval that meets the requirements. The planning results are then updated in the first planning timeline information.
[0077] In this way, the determination of the occupancy range of the scheduled processes takes into account the allowable start time range of the processes, the remaining range of the resource time axis, the changeover preparation time, and the impact of resource efficiency on the processing time, which helps to make the planning more reliable and ensure the feasibility of the first planning time axis information.
[0078] It should be noted that the first planning timeline information includes the resource timelines corresponding to each resource, as well as the occupied intervals of fixed and non-fixed processes on the corresponding resource timelines. In some embodiments, it also includes unplanned processes, and the occupied intervals corresponding to unplanned processes can be set to empty. The available timeline information may include one or more resource timelines. For each resource timeline, it records information such as occupied intervals, remaining intervals, unavailable intervals, and processes corresponding to occupied intervals.
[0079] In some embodiments of this application, in addition to the changeover preparation time and the process processing time, parameters such as the maximum time interval with the previous process can be further taken into account and compared with the interval to be verified in order to determine whether the interval to be verified is a candidate interval that meets the requirements.
[0080] In some embodiments of this application, resource efficiency calculation can be performed based on the resource efficiency coefficient and the basic processing time of the scheduled processes to determine the processing time of the process under the conditions of the resource time axis corresponding to the resource.
[0081] In some embodiments of this application, a preset priority order rule is used to determine the target interval according to the earliest completion time of the candidate interval, the replacement preparation time, the resource load, the interval start time, or other candidate interval comparison conditions.
[0082] In some embodiments, for scheduled processes with direct successor processes, and where a maximum time interval is set between the direct successor process and the current scheduled process, successor feasibility look-ahead processing can be performed when determining candidate intervals to predict the impact on the direct successor process. Specifically, for the interval to be verified where the interval processing start time is less than or equal to the latest start time and the interval duration is greater than the sum of the changeover preparation time and the process processing time, further successor feasibility look-ahead processing is performed, including: determining the allowed start time range of the direct successor process based on the interval to be verified; determining whether the direct successor process has at least one available occupied interval within the allowed start time range based on scheduling constraint information; discarding the interval to be verified when the direct successor process does not have an available occupied interval, and continuing to search for other intervals to be verified for the current scheduled process; and using the interval to be verified as a candidate interval for the scheduled process when the direct successor process has an available placement interval. The existence of an available occupied interval for the direct successor process can be determined based on the preceding processes that the direct successor process has not yet completed, legal candidate resources, resource work calendars, fixed process occupied intervals, and planned process occupied intervals.
[0083] In some embodiments of this application, when a scheduled process fails to obtain a candidate interval in any candidate resource timeline, the planning of the scheduled process can be temporarily suspended, and the reason for non-planning can be recorded. The reason for non-planning can include information such as time window infeasibility, lack of available calendars for candidate resources, insufficient remaining resource intervals, inability to meet the latest start time after changeover preparation, resource occupation conflicts, failure to meet the maximum time interval constraint, or lack of feasible slots in the direct successor process. A number of suspensions can be set for the scheduled process whose planning is suspended. When the number of suspensions has not reached a preset limit, after other processes have completed planning and updated the first planning timeline information, the earliest start time, latest start time, and available candidate resource interval of the scheduled process can be recalculated, and planning can be re-attempted to determine the target interval. When the number of suspensions reaches the preset limit, the scheduled process can be retained as an unplanned process and treated as a blocked process.
[0084] The earliest start time can be determined based on the start time of the process itself, the status of preceding processes, material status, or other scheduling constraints. In some embodiments of this application, the earliest start time of the process can be obtained using the following expression:
[0085] in, For process The earliest start time; The earliest start time of business operations or the earliest time when materials are ready; For process The set of preceding processes; When the process relationship is a start-start relationship, the predecessor process is taken. At the start time, when the process relationship is end-start, the predecessor process is taken. The end time; For the precursor process With process The minimum time interval between them; For process Before construction begins, a complete set of final assembly processes is required. For the final assembly process The completion time; The transit time or waiting time between the completion of sub-assembly and the final assembly line; This is the earliest boundary determined by fixed process constraints. All time quantities use a uniform time unit.
[0086] The latest start time can be determined based on the time boundaries that the process must meet, the relationship with subsequent processes, or other scheduling constraints. In some embodiments of this application, the latest start time of the process can be obtained by the following expression:
[0087] in, For process The latest start time; For the process Set the set of preceding processes with the maximum time interval; When the process relationship is a start-start relationship, the predecessor process is taken. At the start time, when the process relationship is end-start, the predecessor process is taken. The end time; For the precursor process With process The maximum allowable time interval between them; For process A fixed set of subsequent processes; To fix subsequent processes A fixed start time; The value is 1 when the process relationship is end-start, and 0 when the process relationship is start-start. For process Effective processing time on the current candidate resources; The latest boundary formed by fixed constraints.
[0088] In some embodiments, when the earliest start time of the process Greater than the latest start time When this happens, mark the process as infeasible within the time window and record the corresponding constraint source.
[0089] Changeover preparation time represents the time required for resources to switch from the production state of the preceding process to the production state of the scheduled process. The changeover preparation time can be determined based on material type, product category, process type, resource status, or other switching conditions. In some embodiments of this application, the changeover preparation time can be obtained using the following expression:
[0090] in, For resources From the previous process Switch to process Preparation time; and These are the previous processes in the production scheduling constraints. Switch to process The corresponding set of serial rules and the set of parallel rules; For rules The corresponding preparation time. Changeover preparation time is set within the process. Before processing begins, this interval, which shares the resource time axis with the processing time of each process, is used. The scheduling constraints do not include a preceding process. Switch to process When applying the corresponding rules, the changeover preparation time is set to zero.
[0091] refer to Figure 5 In some embodiments of a production scheduling method of this application, after step S200, the method further includes: Based on the candidate scheduling information of the first stage, when there is an unplanned process in the first candidate schedule, the unplanned process will be regarded as a blocked process. Based on the production scheduling constraint information, the blocked process and the corresponding first candidate schedule, a set of repair processes is obtained, the set of repair processes includes non-fixed processes associated with the blocked process; Based on the set of repair procedures and the corresponding first candidate schedule, release the set of repair procedures in the resource timeline of the first candidate schedule, and obtain basic repair timeline information based on the procedures in the remaining occupied intervals in the resource timeline of the first candidate schedule. Based on the basic repair timeline information, the repair process set, and the production scheduling constraint information, the reconfiguration timeline information is obtained based on the replanning repair process. Based on the reconstructed timeline information, the corresponding first candidate schedule is reconstructed to update the first stage candidate schedule information.
[0092] When there are unplanned processes in the first candidate schedule, these unplanned processes are treated as blocked processes, and repair attempts are made. Based on the production scheduling constraints, blocked processes, and corresponding first candidate schedules, a set of repair processes is obtained. The set of repair processes is then released, i.e., the non-fixed processes associated with the blocked processes are released. Based on the processes in the remaining occupied intervals in the resource time axis, basic repair time axis information is formed. Then, a replanning repair process is performed on the set of repair processes to obtain reconstructed time axis information. Subsequently, the first candidate schedule corresponding to the repair is reconstructed, and the first-stage candidate schedule information is updated accordingly.
[0093] Therefore, based on the set of repair procedures associated with the blocked procedures, resource timeline release and replanning are performed for local repair. This can preserve the occupied intervals that have not been released in the resource timeline and redetermine the occupied intervals for procedures related to the blockage, which helps to improve the repair success rate.
[0094] In some embodiments of this application, candidate auditing can be performed on the first candidate schedule and its reconstructed first candidate schedule. Candidate auditing can include process coverage audit, process sequence audit, minimum process time interval audit, maximum process time interval audit, final assembly and sub-assembly completeness audit, candidate resource legality audit, resource calendar audit, changeover preparation audit, resource non-overlap audit, and fixed process occupancy audit, etc., to ensure the feasibility of repairing and reconstructing the first candidate schedule.
[0095] It is understandable that unplanned processes can be processes that have not obtained a resource timeline occupancy period, or processes that have not been completed due to failure to meet scheduling constraints. Releasing the set of repair processes can include removing the occupancy period of repair processes from the planning timeline, marking the corresponding occupancy period as idle, and other processing.
[0096] The set of repair processes includes non-fixed processes associated with the blocking process. In some embodiments of this application, the association can be determined based on process before and after relationships, same order relationships, same resource timeline relationships, time range relationships, or other scheduling constraints.
[0097] refer to Figure 5 In some embodiments of a scheduling method of this application, obtaining a set of repair processes based on the blocked process, the corresponding first candidate schedule, and the scheduling constraint information includes: Based on the blocking process and the corresponding first candidate schedule, based on the blocking root cause identification process, blocking root process information is obtained, and the blocking root process information represents the root cause process that causes the blocking. Based on the blocked root process information, the corresponding first candidate schedule, and the production scheduling constraint information, a root cause-related process set is obtained, which includes the root cause process and the non-fixed process associated with the root cause process. Based on the blocked root process information, the scheduling resource information, and the scheduling constraint information, the root time window information is obtained. The root time window information represents the time range between the earliest start time and the latest start time of the root process on the available resource time axis. Based on the root time window information and the corresponding first candidate schedule, determine the non-fixed process associated with the root time window information in the resource time axis of the first candidate schedule, and obtain the set of adjustment processes; Based on the root cause association process set and the adjustment process set, obtain the repair process set.
[0098] Based on the blocked process and the first candidate schedule, and using root cause identification processing, the root cause process leading to the blockage is identified, and its information is obtained. Based on the root cause process, a set of processes associated with it is obtained. Then, root time window information is determined according to the root cause process, scheduling resource information, and scheduling constraints. The root time window represents the time range between the earliest and latest start times of the root cause process on the available resource time axis. Based on the root time window information, non-fixed processes related to the root time window are identified from the resource time axis of the first candidate schedule, forming an adjustment process set. The set of root cause-related processes and the adjustment process set are combined to obtain a repair process set. This allows non-fixed processes associated with the blockage root cause and the root time window to be included in the repair scope, avoiding impact on other planned processes and ensuring the reliability of the repair process.
[0099] Understandably, during partial repair, fixed processes remain on the resource timeline. Other planned non-fixed processes not included in the repair scope, besides the repair process set, are frozen and retained on the resource timeline. Only the repair process set is released; that is, non-fixed processes belonging to the root cause-related process set, or those intersecting with the root time window and its extended range, occupying available candidate resources for the blocking root, and not belonging to the protected chain, are released. The protected chain can include the process chain containing the fixed processes, order chains that have met preset delivery boundaries, or planned process chains not belonging to the blocking root's association scope. This avoids impacting fixed processes and planned non-fixed processes unrelated to the blocking, ensuring the accuracy and reliability of the partial repair.
[0100] In some embodiments of this application, the root cause identification process can determine the root cause process by analyzing the reasons why the blocked process was not completed. For example, the root cause process can be determined based on the preceding process, subsequent process, resource-consuming process, or time-range-related process associated with the blocked process.
[0101] It is understood that a blocked process itself can be a root cause process. In some embodiments, when there is a blocked process that has not been planned due to the lack of available intervals within the resource time axis, the blocked process is identified as the root cause process. When there is no blocked process where the resource interval is not feasible, the root cause process can be identified based on the number of constraint failures of the unplanned process, the time window width, the order delivery period, or the number of process associations.
[0102] It should be noted that the relationships within the root cause-related process set can be direct or indirect, formed through multiple process relationships. Specific relationships can include pre-process and post-process sequence relationships, indirect relationships formed through intermediate processes, and relationships belonging to the same order. Relationships can be limited by preset levels, preset quantities, or preset depths to prevent the root cause-related process set from becoming too large. Adjusting the process set can include non-fixed processes occupying the interval corresponding to the root time window information, as well as non-fixed processes occupying resource intervals adjacent to, overlapping with, or meeting preset time distance conditions of the root time window.
[0103] refer to Figure 5 In some embodiments of a scheduling method of this application, the step of obtaining reconstruction timeline information based on replanning repair processing according to the basic repair timeline information, the repair process set, and the scheduling constraint information includes: Based on the initial resource timeline of the first candidate schedule, obtain the initial candidate target timeline information; Based on the set of repair procedures, a blocking priority sorting process is performed according to the repair sorting rules to obtain the repair procedure sequence information. Based on the repair process sequence information, the production scheduling constraint information, and the basic repair time axis information, the occupied interval of the repair process on the resource time axis is determined sequentially, and the repair available time axis information is obtained. Based on the available repair timeline information and the candidate target timeline information, an evaluation comparison result is obtained through evaluation comparison processing. When the evaluation comparison result indicates that the repair available time axis information is better, the repair available time axis information is used as the new candidate target time axis information; Adjust the repair sorting rules and repeat the process until the candidate target timeline information includes all the processes of the repair process set or the number of repeated processes reaches the second upper limit. The candidate target timeline information is used as the reconstructed timeline information.
[0104] Based on the initial resource timeline of the first candidate schedule (i.e., the original resource timeline when the first candidate schedule was formed), the initial candidate target timeline information is obtained. The repair process sequence information is obtained according to the repair process set and repair sorting rules, and the occupied intervals of the repair processes on the basic repair timeline are determined sequentially, forming the repairable timeline information. By evaluating and comparing the repairable timeline information with the candidate target timeline information (i.e., comparing the repaired resource timeline with the pre-repair resource timeline), when the repairable timeline information is superior, it is replaced with the new candidate target timeline information. The repair sorting rules are then adjusted, and the above process is repeated until the candidate target timeline information includes all processes in the repair process set, or the second upper limit number of times is reached. The final candidate target timeline information is then used as the reconstructed timeline information. In this way, multiple repair candidates are formed through different repair sorting rules, and the superior candidate target timelines are retained through evaluation and comparison, so that the reconstructed timeline information obtained after repair can reconstruct a superior first candidate schedule.
[0105] Understandably, based on the initial resource timeline of the first candidate schedule, the initial candidate target timeline information is obtained. That is, the planned resource timeline corresponding to the first candidate schedule before repair is used as the basis for repair evaluation. When a better repair available timeline information appears later, it means that the repair effect is better. The better repair available timeline information is used as the new candidate target timeline information, and the process is repeated until the candidate target timeline information includes all the processes of the repair process set or the repeated processing reaches the second upper limit number of times, so as to obtain the optimal candidate target timeline information as the reconstruction timeline information.
[0106] In some embodiments of this application, the repair sorting rule may include increasing the priority of blocked processes so that rules prioritize the planning of blocked processes. In some embodiments, the repair sorting rule may be constructed based on the degree of blocking, time range, process priority, resource availability, process correlation, or other conditions that can determine the order of repair processes. Adjusting the repair sorting rule may include changing the weight of sorting conditions, changing the order of sorting conditions, changing the initial arrangement of processes, or selecting other preset repair sorting rules.
[0107] In some embodiments of this application, the evaluation and comparison process can compare the number of planned processes, the number of unplanned processes, resource occupancy status, time axis idle status, or other parameters that can reflect the time axis planning results in the available repair time axis information and the candidate target time axis information. Alternatively, it can calculate and compare multiple parameters to obtain a repair score in order to determine the evaluation and comparison results.
[0108] refer to Figure 6 In some embodiments of a production scheduling method of this application, step S300 includes: Based on the candidate scheduling information of the first stage, for each first candidate scheduling, a corresponding non-fixed process planning sequence is determined, and the unplanned non-fixed processes are added to the non-fixed process planning sequence according to the process sequence, and then the non-fixed process sequence corresponding to the first candidate scheduling is obtained. Based on the non-fixed process sequence, the process coding information is obtained through process priority coding processing. Based on the non-fixed process sequence, a resource identifier sequence is determined based on the resource identifiers occupied by the non-fixed processes. The resource identifier sequence is then processed by resource encoding to obtain the resource encoding information.
[0109] For each first candidate schedule, a non-fixed process planning sequence is first determined. For unplanned non-fixed processes, they are added to the non-fixed process planning sequence according to the process order, resulting in a non-fixed process sequence corresponding to the first candidate schedule. This eliminates the need to encode fixed processes, reducing the amount of data in subsequent processing and avoiding changes to the planning of fixed processes. Process priority encoding is performed based on the non-fixed process planning sequence to obtain process encoding information. A resource identifier sequence is formed based on the resource identifiers occupied by the non-fixed processes, and resource encoding is performed to obtain resource encoding information. In this way, both planned and unplanned non-fixed processes are included in the non-fixed process sequence, ensuring that process encoding information corresponds to the complete sequence of non-fixed processes. The resource identifier sequence forms the resource encoding information, maintaining the correspondence between non-fixed processes and resources. Including unplanned non-fixed processes in the encoding object provides a coding basis for the second stage of processing to continue searching and planning unplanned processes.
[0110] Understandable Figure 6 In the diagram, O1, O2, O3, O4, O5, and O6 represent processes, and R1, R2, R3, and R4 represent resources.
[0111] It should be noted that fixed processes are not encoded, but are pre-written into the resource timeline during subsequent unified constraint decoding to ensure that fixed processes do not change due to algorithm search. Furthermore, unplanned non-fixed processes are added to the non-fixed process planning sequence according to the process order. For unplanned non-fixed processes, a default resource or one of the resource identifiers is selected from its set of legal candidate resources as the corresponding resource identifier, ensuring a one-to-one correspondence between the resource code in the resource coding information and the process code in the process coding information.
[0112] In some embodiments of this application, the process sequence can be determined based on the sequential relationship between processes, or it can be determined based on information that reflects the order of process execution, such as process route, process level, and process number. The resource identifiers in the resource identifier sequence can be resource names, resource numbers, resource indexes, resource category identifiers, etc. Process priority encoding and resource encoding can employ encoding methods such as permutation encoding, sequence encoding, and priority numbering.
[0113] In some embodiments of this application, process coding information can be represented by a process priority coding layer, and resource coding information can be represented by a resource selection coding layer. The process priority coding layer includes process genes corresponding to all non-fixed processes, and each process gene appears only once in the process priority coding layer. The resource selection coding layer includes resource gene positions corresponding to each non-fixed process, and each resource gene position corresponds to a predetermined non-fixed process. In some embodiments, the resource gene positions in the resource selection coding layer are arranged according to the fixed process gene numbering order of the non-fixed processes, and do not change with the process arrangement position in the process priority coding layer. That is, when the process positions in the process priority coding layer are exchanged, each resource gene in the resource selection coding layer still corresponds to the original process gene. Thus, the process priority coding layer is used to express the selection order among ready processes, and the resource selection coding layer is used to express the priority resource selection of each non-fixed process.
[0114] In some embodiments of a production scheduling method according to this application, step S400 includes: Based on the process coding information and the resource coding information, and using population generation processing, coded population information is obtained, which includes multiple coded individuals. The remaining search processing time is obtained based on the maximum search processing time limit and the processing time already consumed. Based on the coded population information, the search coded individuals are obtained using a hybrid search process; Add the search-coded individual to the coded population information; Based on the coded population information, the production process information, the production resource information, and the production constraint information, and using unified constraint decoding processing, a second candidate schedule corresponding to each coded individual in the coded population information is obtained. Based on the second candidate schedule, and based on the schedule evaluation process, determine the evaluation score corresponding to the second candidate schedule, and obtain the evaluation score information; Based on the evaluation score information, and through individual screening, the coded population information is updated; Repeat the hybrid search process, the unified constraint decoding process, and the scheduling evaluation process to update the encoded population information until the number of times the hybrid search process is repeated reaches the third upper limit or the remaining search processing time is insufficient to perform the hybrid search process again. Based on the second candidate schedule corresponding to the last updated coded population information, obtain the second stage candidate schedule information; The hybrid search processing is performed using at least one search algorithm selected from genetic search, variable neighborhood search, tabu search, and fast neighborhood search.
[0115] Based on process coding information and resource coding information, a coding population information containing multiple coded individuals is formed, and a search processing upper limit time is determined to facilitate the determination of the remaining search processing time. A hybrid search process is performed on the coding population information to obtain search coded individuals, which are then added to the coding population information. For each coded individual in the coding population information, a unified constraint decoding process is used to obtain the second candidate schedule corresponding to the code. Then, a scheduling evaluation process is used to determine an evaluation score to reflect the comprehensive evaluation of the second candidate schedule. Individuals are screened based on the evaluation score, and low-scoring coded individuals are removed to update the coding population information, ensuring that the coding population information includes better coded individuals. The above hybrid search process, unified constraint decoding process, and scheduling evaluation process are repeated to continuously update the coding population information until the third upper limit number of times is reached or the remaining search processing time is insufficient to perform the hybrid search process again.
[0116] In this way, the search-encoded individuals generated by different search algorithms are all processed through unified constraint decoding to form a second candidate schedule, and obtain evaluation scores under the same schedule evaluation process, so that the second candidate schedules corresponding to the encoded individuals have a consistent decoding and evaluation basis.
[0117] It is understandable that the coded population information includes multiple coded individuals. A coded individual can contain a process code and a resource code, or it can include other auxiliary coded information related to the process code and resource code. Unified constraint decoding processing refers to the process of converting different coded individuals into second-candidate schedules using the same type of scheduling constraint information. The consumed processing time is the processing time corresponding to the mixed search processing. It can be determined by the start time of the first execution, combined with the upper limit of the search processing time, to determine the remaining search processing time. Then, based on the remaining search processing time, a specific search algorithm can be selected according to preset rules.
[0118] It should be noted that the hybrid search processing can employ one or more of genetic search, variable neighborhood search, tabu search, and fast neighborhood search, or it can use a combination of search algorithms, an alternating execution method, or a time-sharing execution method. Hybrid search processing can also be performed sequentially using a preset sequence of search algorithms according to settings. In some embodiments of this application, the algorithm parameters obtained when acquiring production scheduling input information may include parameters instructing the hybrid search processing to use a specified sequence of search algorithms.
[0119] The scheduling evaluation process can determine the evaluation score based on one or more scheduling evaluation indicators. In some embodiments of this application, the scheduling evaluation indicators may include on-time delivery rate, resource capacity utilization rate, combined load balancing rate, scheduling span index, continuous delivery rescue score, etc., and a comprehensive evaluation score is then calculated based on the scheduling evaluation indicators.
[0120] In some embodiments of this application, the on-time delivery rate can be obtained by the following expression:
[0121] in, On-time delivery rate, expressed as a percentage; The number of final assembly orders to be completed on time according to the schedule; The total number of assembly orders within the effective delivery period.
[0122] In some embodiments of this application, resource capacity utilization can be obtained by the following expression:
[0123] in, Resource capacity utilization rate, expressed as a percentage; For the already scheduled processes Effective processing time; For resources Available working time within the evaluation period.
[0124] In some embodiments of this application, the combined load balancing rate can be obtained by the following expression:
[0125] in, The combined load balancing rate is expressed as a percentage. The absolute deviation of the span relative to the average span for the completion of the final assembly resources; The absolute deviation of the span of the component assembly resources from the average span; This is the total available time for the evaluation interval. and The smaller the value, the more balanced the load distribution between the final assembly resources and the sub-assembly resources.
[0126] In some embodiments of this application, the scheduling span index can be obtained by the following expression:
[0127] in, This is a scheduling span indicator; The time span from the earliest start time to the latest end time of the schedule; The positive normalized baseline is obtained from the first candidate schedule or the reference schedule; and Use the same time unit.
[0128] In some embodiments of this application, the consecutive delivery date rescue score can be obtained by the following expression:
[0129] in, Points are awarded for continuous on-time delivery of rescue services; The total number of final assembly orders within the effective delivery period; For final assembly orders The duration of the delay; To use positive scaling parameters with the same units as the extension duration.
[0130] In some embodiments of this application, the evaluation score determined based on the scheduling evaluation process can be obtained by the following expression:
[0131]
[0132] in, As a comprehensive indicator; Weighting for on-time delivery rate; To ensure on-time delivery rate; Weighting for capacity utilization; For resource capacity utilization rate; The weights for combining load balancing rates; To achieve combined load balancing rate; The weight of the scheduling span index; This is a scheduling span indicator; For search fitness, it serves as an evaluation score; , It is a non-negative adjustment coefficient; This is an adjustment function that decreases as the on-time delivery rate increases; Penalties for preparing for model changeover are determined based on the preparation time for model changeover. This is an infeasibility penalty parameter that takes effect when scheduling becomes infeasible.
[0133] refer to Figure 8 In some embodiments of a scheduling method according to this application, the hybrid search process includes: Upon initial execution, the encoded population information is processed based on a genetic search. When the remaining search processing time is less than the preset late threshold, the encoded population information is processed based on fast neighborhood search; When the remaining search processing time is greater than or equal to the preset late threshold, the search is in a stagnant state, and the last non-taboo search was performed, the encoded population information is processed based on the taboo search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is greater than or equal to the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on the variable neighborhood search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is less than the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on fast neighborhood search. The search stagnation state indicates that the highest evaluation score fluctuates within a threshold range and continues for a preset number of executions. The stress index is calculated and determined based on the second candidate schedule corresponding to the highest evaluation score.
[0134] When performing the hybrid search process for the first time, genetic search is used to encode population information. When the remaining search processing time is less than the preset late threshold, fast neighborhood search is used. When the remaining search processing time is greater than or equal to the preset late threshold, and the search is stalled and the last search was a non-taboo search, tabu search is used. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is greater than or equal to the preset pressure threshold, and the search is not stalled or the last search was a tabu search, variable neighborhood search is used. When the pressure index is less than the preset pressure threshold, and the search is not stalled or the last search was a tabu search, fast neighborhood search is used.
[0135] Therefore, by considering the remaining search processing time, search stall status, the type of search executed last time, and pressure indicators, the specific search algorithm to be used can be determined. The search algorithm can be dynamically selected according to the current search status to flexibly adapt to different situations, making the search algorithm used more reasonable and thus improving the search effect.
[0136] In some embodiments of this application, the search stall state can be determined based on the changes in the highest evaluation score in multiple consecutive search processes. For example, when the fluctuation of the highest evaluation score is within a preset threshold range and continues for a preset number of executions, it can be determined as a search stall state.
[0137] In some embodiments of this application, the preset later threshold can be represented by the remaining time length, the remaining time proportion, or a preset time point. The preset pressure threshold can be a single numerical threshold, a tiered threshold, or a dynamic threshold determined based on the current production task scale.
[0138] In some embodiments of this application, the stress index is calculated and determined based on the second candidate schedule corresponding to the highest evaluation score. The stress index may be data reflecting the difference between the current second candidate schedule and the preset target, or it may be a combination of multiple difference data.
[0139] In some embodiments of this application, stress indicators may include delivery stress severity, utilization stress severity, and maximum completion time stress severity, and stress indicators can be obtained by the following expressions:
[0140]
[0141]
[0142]
[0143] in, To meet delivery pressure; To achieve the on-time delivery rate target; To ensure on-time delivery rate; Pressure to improve utilization rates; The target is for capacity utilization. For resource capacity utilization rate; To maximize the pressure of the completion time; For scheduling span target; This is a scheduling span indicator; These are the weighting coefficients; The threshold for determining high pressure is determined based on production scheduling targets or historical operating results. As a stress indicator, for hour, To deliver pressure ,correspond Due to the severity of delivery pressure, for hour, To utilization pressure ,correspond To address the severity of utilization pressure, for hour, To maximize the completion time ,correspond The severity of pressure is the maximum completion time.
[0144] refer to Figure 6 In some embodiments of a production scheduling method of this application, the step of obtaining coded population information based on population generation processing according to the process coding information and the resource coding information includes: Based on the process coding information and the resource coding information, obtain the basic coding individual corresponding to the first candidate schedule; Based on the basic coded individual, sequential derived coded individuals are obtained through process sequence exchange. Based on the basic coded individual, resource-derived coded individuals are obtained through legal resource reselection processing; Based on the aforementioned basic encoded individuals, resource-distributed encoded individuals are obtained through low-load resource selection processing. Based on the basic encoded individuals, process them according to preset rules to obtain rule-supplemented encoded individuals; Based on the basic encoded individuals, random encoded individuals are obtained through random combination processing; Encoding verification processing is performed on the basic encoded individuals, the sequentially derived encoded individuals, the resource-derived encoded individuals, the resource-distributed encoded individuals, the rule-supplemented encoded individuals, and the random encoded individuals to obtain the encoding population information; The encoding verification process is used to verify whether the process encoding and resource encoding of an individual encoding meet preset conditions and to remove encoding individuals that do not meet the preset conditions.
[0145] Based on the basic coded individual corresponding to the first candidate schedule, sequential coded individuals, resource-derived coded individuals, resource-distributed coded individuals, rule-supplemented coded individuals, and random coded individuals are obtained through process sequence exchange, legal resource reselection, low-load resource selection, preset rule processing, and random combination processing, respectively. Coding verification processing is performed on these coded individuals from different sources to remove those that do not meet the preset conditions. The remaining coded individuals that meet the preset conditions form the coded population information. In this way, the initial coded population is not limited to the basic coded individual corresponding to the first candidate schedule, but further derives multiple coded individuals with different process sequences, resource selections, or combination methods, forming the coded population information.
[0146] In some embodiments of this application, the process sequence exchange processing can swap the positions of two or more processes in the process code, or it can form sequentially derived code individuals through fragment exchange, position adjustment, or other operations that change the relative order of process codes. The legitimate resource reselection processing can reselect resource identifiers from candidate resources corresponding to processes to form resource-derived code individuals. The low-load resource selection processing can select resource identifiers with lower loads based on resource load information, thereby forming resource-distributed code individuals. The preset rule processing can form rule-supplemented code individuals based on preset process selection rules, resource selection rules, sorting rules, or other code generation rules. The random combination processing can randomly determine process codes and resource codes within a range that meets preset conditions to form random code individuals.
[0147] In some embodiments of this application, the preset conditions in the code verification process may include conditions such as whether the process code is a duplicate process, whether a non-fixed process is missing, whether the length of the resource code matches the length of the process code, and whether the resource code belongs to the candidate resource range of the corresponding process. In some embodiments, when performing code verification on an individual code, in addition to verifying whether the process code is duplicated, whether a non-fixed process is missing, and whether the length of the resource code matches, when a duplicate process code is found, the duplicate process code can be deleted and the missing process code can be added; when a resource code does not belong to the candidate resource set of the corresponding non-fixed process, the resource code can be replaced with a legal resource code in the corresponding candidate resource set.
[0148] refer to Figure 7 In some embodiments of a scheduling method of this application, the step of obtaining a second candidate schedule corresponding to each coded individual in the coded population information based on the coded population information, the scheduling process information, the scheduling resource information, and the scheduling constraint information, using unified constraint decoding processing, includes: Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline.
[0149] Based on the production scheduling information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the second planning time axis information; Based on the coded population information, for each coded individual, the following processing is performed: Based on the coded individual, the second planning time axis information, and the production scheduling constraint information, a ready process queue and a corresponding priority resource queue are obtained. The ready process queue represents the process that can be planned in accordance with the production scheduling constraints, and the priority resource queue represents the resource time axis that the ready process preferentially selects. Based on the ready process queue, the priority resource queue, the second planning time axis information, and the production scheduling constraint information, the resource time axis and the occupied interval corresponding to the ready process are determined in sequence, and the second planning time axis information is updated. Based on the coded individual and the second planning timeline information, a new ready process queue and a corresponding new priority resource queue are obtained and processed repeatedly to update the second planning timeline information until the ready process queue is empty. Based on the last updated second planning timeline information, obtain the second candidate schedule corresponding to the coded individual.
[0150] Based on the production scheduling process information and production scheduling resource information, the occupancy interval of fixed processes in the corresponding resource time axis is determined, forming the second planning time axis information. For each coded individual in the coded population information, based on the coded individual, the second planning time axis information, and the production scheduling constraint information, a ready process queue and a corresponding priority resource queue are obtained. The ready process queue represents non-fixed processes that meet the production scheduling constraints and can be planned, and the priority resource queue represents the resource time axis preferred by the ready processes. Based on the ready process queue and the second planning time axis information, the resource time axis and occupancy interval of the ready processes are determined sequentially. After updating the second planning time axis information, the ready process queue and priority resource queue are obtained again, and the above process is repeated until the ready process queue is empty. Based on the last updated second planning time axis information, a second candidate schedule corresponding to the coded individual is obtained. In this way, for each coded individual, based on the second planning time axis information containing the occupancy interval of fixed processes, the occupancy interval of the ready processes in the resource time axis is planned sequentially according to the ready process queue and the priority resource queue, so as to achieve decoding based on the same constraints for coded individuals from different sources and form corresponding second candidate schedules.
[0151] In some embodiments of this application, the ready process queue can be arranged according to the priority relationship determined by the process code, or it can be formed by arranging processes that meet the scheduling constraints according to preset sorting conditions.
[0152] It should be noted that when the resource timeline in the priority resource queue cannot provide an occupied interval for the corresponding ready process, the occupied interval can be determined based on the available resources of the ready process. In some embodiments of this application, the specific processing procedure for determining the resource timeline and occupied interval corresponding to the ready process in sequence can be similar to the processing procedure for determining the resource timeline and occupied interval corresponding to the scheduled processes described above. The ready process queue corresponds to the scheduled process sequence information, the ready process corresponds to the scheduled process, and the second planning timeline information corresponds to the first planning timeline information.
[0153] In some embodiments of this application, after obtaining a new ready process queue and a corresponding new priority resource queue based on the coded individual and the second planning timeline information, and repeating the process to update the second planning timeline information until the ready process queue is empty, the method further includes: When the ready process queue is empty and it is determined from the coded individual that there is an unplanned process, the missing process is obtained. The missing process represents a non-fixed process that is not planned to occupy resource time axis. Based on the missing process, the second planning timeline information, and the production scheduling constraint information, the repaired second planning timeline information is obtained based on the missing process repair process. Based on the repaired second planning timeline information and the production scheduling constraint information, the repair verification result information is obtained based on constraint verification processing. When the repair verification result information indicates that the repaired second planning time axis information does not meet the production scheduling constraint information, partial scheduling information and infeasibility reason information are obtained based on the second planning time axis information and the missing process. The scheduling information represents the resource time axis occupancy information corresponding to the planned process, and the infeasibility reason information represents the constraint type, resource gap information, or time window information that caused the missing process to fail to complete the planning.
[0154] In some embodiments of this application, the missing process can be implemented using similar processing steps to the blocking process repair process described above, where the missing process corresponds to the blocking process.
[0155] refer to Figure 9 In some embodiments of a production scheduling method of this application, step S500 includes: Based on the first-stage candidate scheduling information and the second-stage candidate scheduling information, a candidate scheduling set information is obtained, wherein the candidate scheduling set information includes the first candidate scheduling and the second candidate scheduling; Based on the candidate schedule set information and the production constraint information, and using hard constraint auditing, feasibility identification information is obtained, which indicates whether the candidate schedule is executable. Based on the candidate schedule set information, schedule integrity information is obtained, which represents the number of planned processes and the number of unplanned processes in each candidate schedule. Based on the candidate schedule set information, indicator degradation information is obtained through indicator degradation comparison processing. The indicator degradation comparison processing is used to compare the candidate schedule with the reference schedule at the same coverage level to determine whether the preset indicator exceeds the preset degradation threshold. Based on the candidate schedule set information, and based on the schedule evaluation process, comprehensive evaluation information is obtained, which characterizes the comprehensive fitness of the candidate schedule. Based on the feasibility identification information, the scheduling integrity information, the indicator degradation information, and the comprehensive evaluation information, scheduling result information is obtained through hierarchical screening processing. The hierarchical screening process is used to screen candidate schedules in the order of feasibility identification, schedule integrity, indicator degradation, and comprehensive evaluation.
[0156] The first and second candidate schedules are combined to form a candidate schedule set. Feasibility identification information is obtained through hard constraint auditing, schedule completeness information is obtained from the candidate schedule set, indicator degradation information is obtained through indicator degradation comparison, and comprehensive evaluation information is obtained through schedule assessment. In the hierarchical screening process, candidate schedules are screened sequentially according to the priority order of feasibility identification, number of planned processes, indicator degradation, and comprehensive fitness. Therefore, candidate schedules are not directly selected solely based on comprehensive fitness; instead, they are first screened based on feasibility and schedule completeness, and then the scheduling result is determined by combining indicator degradation and comprehensive fitness.
[0157] In some embodiments of this application, hard constraint auditing is used to determine whether a candidate schedule meets the constraints in the production scheduling constraint information. Feasibility identification information characterizes whether a candidate schedule is feasible, and can specifically adopt a binary identification form of executable and non-executable. In some embodiments, hard constraint auditing can also obtain constraint violation information, which can characterize the number, type, degree, or corresponding process information of candidate schedules that do not meet the production scheduling constraints.
[0158] In some embodiments of this application, scheduling integrity information may include information such as the number of planned processes, the number of unplanned processes, the proportion of planned processes, and process coverage, to reflect the completeness of the candidate scheduling plan.
[0159] In some embodiments of this application, the indicator degradation comparison processing can compare the candidate schedule with a reference schedule of the same coverage level. The same coverage level can be the same number of planned processes, the same number of unplanned processes, the same process coverage rate, or within a preset coverage range. The preset indicator can be one or more scheduling evaluation indicators.
[0160] In some embodiments of this application, the overall fitness score can be a score calculated based on one or more evaluation results, or it can be a ranking or sorting result used to compare the overall performance of candidate schedules. In some embodiments, the overall fitness score can be the evaluation score described above. The same calculation method is used to determine this.
[0161] In some embodiments of this application, hierarchical filtering can be performed by constructing a hierarchical comparison vector, which can be obtained using the following expression:
[0162] in, Candidate scheduling The hierarchical comparison vector; As a feasibility indicator, it is set to 1 when hard constraint auditing is performed, and 0 otherwise; For missing processes, overlapping resources, process time gaps, complete sets at headquarters, and violations of fixed process constraints; This represents the number of processes already scheduled, reflecting the completeness of the scheduling. As a key indicator of degradation, a value of 1 is set when a candidate schedule exceeds the corresponding degradation threshold in terms of on-time delivery rate, capacity utilization rate, maximum completion time, or average delay compared to a feasible reference schedule with the same coverage level; otherwise, a value of 0 is set. For comprehensive evaluation, in conjunction with the evaluation scores above The calculation method is the same.
[0163] According to the hierarchical comparison vector The components in the algorithm are compared from left to right. That is, the next component is compared only between candidate schedules that have the same previous component. Thus, candidate schedules that have passed the hard constraint processing and have fewer hard constraint violations are first retained. Then, the schedule integrity and key indicator protection are compared. Finally, the overall fitness is compared to select the optimal candidate schedule.
[0164] It should be noted that if, after the stratified screening process, there are no feasible candidate schedules that pass the hard constraint process, the candidate schedule with the fewest hard constraint violations is retained as the diagnostic result and the scheduling result information is generated with the conclusion that the production cannot be carried out.
[0165] Understandably, while the second-stage processing searches for potentially better second-candidate schedules, which are generally superior to the first-candidate schedules, in some cases, if all second-candidate schedules fail the hard constraint processing (i.e., are infeasible and incomplete), and a first-candidate schedule covering all processes and passing hard constraint auditing exists, then this first-stage schedule is output as the scheduling result. The logic of tiered filtering is as follows: Figure 9 As shown.
[0166] In some embodiments of this application, after obtaining the scheduling result information, the following may also be included: Based on the scheduling results, generate visual display information; The visual display information includes a resource timeline view corresponding to the process output according to the final schedule, which may include information such as selected resources, start and end times of changeover preparation, start and end times of processing, fixed markers, and source process identifiers.
[0167] In some embodiments, the visualized information may also include: the number of scheduled and unscheduled processes, on-time delivery rate, capacity utilization rate, load balancing rate, maximum completion time, delay and changeover preparation time, and other parameter information. At the same time, it outputs the source of the first candidate schedule, the reason for the blockage, the second-stage algorithm steps, the fitness change, the audit results, and the reason for the candidate filtering, etc., for the upper-level production planning system to write back, display, or manually review.
[0168] The following describes a production scheduling system provided in this application. The production scheduling system described below can be referred to in correspondence with the production scheduling method described above.
[0169] This application also provides a production scheduling system, including: The input module is used to obtain production scheduling input information and perform unified constraint context processing to obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information. The first-stage processing module is used to obtain first-stage candidate scheduling information based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information. The blockage repair module is used to perform local repair processing based on the blockage process; The coding module is used to obtain the process coding information and resource coding information corresponding to the first candidate schedule based on the first stage candidate schedule information; The second-stage processing module is used to obtain second-stage candidate scheduling information based on the process coding information, the resource coding information, and the production scheduling constraint information. The hierarchical filtering module is used to obtain scheduling result information based on the first-stage candidate scheduling information and the second-stage candidate scheduling information, through hierarchical filtering processing. The input module, the first-stage processing module, the blockage repair module, the encoding module, the second-stage processing module, and the hierarchical filtering module work together to implement the above-mentioned production scheduling method.
[0170] The input module processes the scheduling input information using a unified constraint context to obtain scheduling process information, scheduling resource information, and scheduling constraint information. The first-stage processing module generates multiple first-stage candidate schedules based on the first-stage processing, obtaining first-stage scheduling information. This first-stage processing, based on scheduling constraints, plans and allocates resources for scheduling processes, providing a basis for multiple candidate schedules in subsequent processing. The coding module obtains corresponding process coding information and resource coding information based on the first-stage candidate schedules to facilitate subsequent algorithmic processing. The process coding information reflects the process planning relationships in the first-stage candidate schedules, and the resource coding information reflects the correspondence between processes and resources. The second-stage processing module, based on the process coding information, resource coding information, and scheduling constraint information, performs second-stage processing and uses an algorithm to search for and obtain multiple second-stage candidate schedules, forming second-stage candidate schedule information. The hierarchical filtering module sequentially filters the first-stage and second-stage candidate schedule information according to preset hierarchical conditions to obtain scheduling result information.
[0171] Thus, through a two-stage process, the first stage obtains a basic first candidate schedule, which serves as the basis for the algorithm search in the subsequent second stage. The first candidate schedule is encoded to adapt to the algorithm processing. In the second stage, the algorithm searches for potentially better second candidate schedules. Furthermore, the algorithm search based on the first candidate schedule can improve the efficiency of the algorithm search, avoid the large time consumption of searching without a basis, and improve the feasibility and accuracy of the second candidate schedule in the search results. This is conducive to obtaining feasible and highly productive scheduling results, thereby improving scheduling efficiency and scheduling quality.
[0172] In some embodiments of this application, the local repair processing performed by the blockage repair module may include: Based on the candidate scheduling information of the first stage, when there is an unplanned process in the first candidate schedule, the unplanned process will be regarded as a blocked process. Based on the production scheduling constraint information, the blocked process and the corresponding first candidate schedule, a set of repair processes is obtained, the set of repair processes includes non-fixed processes associated with the blocked process; Based on the set of repair procedures and the corresponding first candidate schedule, release the set of repair procedures in the resource timeline of the first candidate schedule, and obtain basic repair timeline information based on the procedures in the remaining occupied intervals in the resource timeline of the first candidate schedule. Based on the basic repair timeline information, the repair process set, and the production scheduling constraint information, the reconfiguration timeline information is obtained based on the replanning repair process. Based on the reconstructed timeline information, the corresponding first candidate schedule is reconstructed to update the first stage candidate schedule information.
[0173] During the first-stage processing, if any unplanned processes exist, the blockage repair module treats these processes as blocked processes and attempts to repair them locally. Based on scheduling constraints, blocked processes, and their corresponding first candidate schedules, a set of repair processes is obtained. This set is then released, meaning the non-fixed processes associated with the blocked processes are released from their occupied intervals on the resource timeline. Based on the processes within the remaining occupied intervals, basic repair timeline information is formed. The repair process set is then replanned to obtain reconstructed timeline information, which in turn reconstructs the corresponding first candidate schedule and updates the first-stage candidate schedule information accordingly. In this way, by using the set of repair processes associated with blocked processes as the object, resource timeline release and replanning are performed for local repair. This preserves the unreleased occupied intervals on the resource timeline and redetermines the occupied intervals for processes related to the blockage, thus improving the repair success rate.
[0174] In some implementations of this application, the second-stage processing module may include a population generation module, a hybrid search module, a unified constraint decoding module, and a scheduling evaluation module.
[0175] The population generation module is used to obtain coded population information based on process coding information and resource coding information, through population generation processing.
[0176] The hybrid search module is used to obtain search coded individuals based on the coded population information and hybrid search processing; and to add the search coded individuals to the coded population information.
[0177] The unified constraint decoding module is used to obtain the second candidate schedule corresponding to each coded individual in the coded population information based on the coded population information, scheduling process information, scheduling resource information and scheduling constraint information, according to the unified constraint decoding process.
[0178] The scheduling evaluation module is used to determine the evaluation score corresponding to the second candidate schedule based on the scheduling evaluation process, and obtain the evaluation score information; based on the evaluation score information, it updates the coded population information based on the individual screening process.
[0179] In some embodiments of this application, the input module, the first-stage processing module, the blockage repair module, the encoding module, the second-stage processing module, and the hierarchical filtering module can be implemented by software, hardware, firmware, or a combination thereof. When implemented in software, each of the above modules can be a computer program module stored in memory, called and executed by the processor. When implemented in hardware, each of the above modules can be implemented by a processor, memory, communication interface, and dedicated circuitry for performing scheduling calculations. When implemented using a combination of software and hardware, some functions of each of the above modules can be implemented by the processor executing the program, while other functions can be implemented by dedicated circuitry.
[0180] Figure 10 Example: A schematic diagram of the physical structure of an electronic device provided in this application, such as... Figure 10 As shown, the electronic device may include a processor 810, a communications interface 820, a memory 830, and a communication bus 840. The processor 810, communications interface 820, and memory 830 communicate with each other via the communication bus 840. The processor 810 can call logical instructions from the memory 830 to execute the production scheduling method described above.
[0181] The first stage of production scheduling information is obtained by acquiring scheduling process information, scheduling resource information, and scheduling constraint information, and forming multiple first-stage candidate schedules based on the first-stage processing. The first-stage processing, based on scheduling constraints, plans and allocates resources for scheduling processes, providing a basis for multiple candidate schedules for subsequent processing. Based on the first-stage candidate schedules, corresponding process code information and resource code information are obtained to facilitate subsequent algorithmic processing. The process code information reflects the process planning relationships in the first-stage candidate schedules, and the resource code information reflects the correspondence between processes and resources. The second-stage processing, based on the process code information, resource code information, and scheduling constraint information, uses an algorithmic search to obtain multiple second-stage candidate schedules, forming second-stage candidate schedule information. Based on the first-stage and second-stage candidate schedule information, schedules are sequentially filtered according to preset hierarchical conditions to obtain scheduling result information.
[0182] Thus, through a two-stage process, the first stage obtains a basic first candidate schedule, which serves as the basis for the algorithm search in the subsequent second stage. The first candidate schedule is encoded to adapt to the algorithm processing. In the second stage, the algorithm searches for potentially better second candidate schedules. Furthermore, the algorithm search based on the first candidate schedule can improve the efficiency of the algorithm search, avoid the large time consumption of searching without a basis, and improve the feasibility and accuracy of the second candidate schedule in the search results. This is conducive to obtaining feasible and highly productive scheduling results, thereby improving scheduling efficiency and scheduling quality.
[0183] Furthermore, the logical instructions in the aforementioned memory 830 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to related technologies, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0184] On the other hand, this application discloses a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions, and when the program instructions are executed by a computer, the computer can execute a scheduling method provided by the above-described method embodiments.
[0185] In another aspect, embodiments of this application also provide a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, is implemented to perform a scheduling method provided in the above embodiments.
[0186] This application discloses a production scheduling method implemented by a computer program product or a non-transitory computer-readable storage medium. The method acquires production scheduling process information, production scheduling resource information, and production scheduling constraint information, and forms multiple first candidate schedules based on a first-stage processing, thus obtaining first-stage production scheduling information. The first-stage processing, based on production constraints, plans and allocates resources for production processes, providing a basis for multiple candidate schedules for subsequent processing. According to the first candidate schedules, corresponding process code information and resource code information are acquired to facilitate subsequent algorithmic processing. The process code information reflects the process planning relationship in the first candidate schedule, and the resource code information reflects the correspondence between processes and resources. The second-stage processing, based on the process code information, resource code information, and production scheduling constraint information, uses an algorithm to search and obtain multiple second candidate schedules, forming second-stage candidate schedule information. Based on the first-stage and second-stage candidate schedule information, schedules are sequentially filtered according to preset hierarchical conditions to obtain scheduling result information.
[0187] The process involves two stages. The first stage obtains a basic first candidate schedule, which serves as the basis for the algorithm search in the subsequent second stage. The first candidate schedule is encoded to adapt to the algorithm. In the second stage, the algorithm searches for potentially better second candidate schedules. Furthermore, the algorithm search is based on the first candidate schedule, which improves the efficiency of the algorithm search, avoids the time-consuming nature of searching without a basis, and enhances the feasibility and accuracy of the second candidate schedules found in the search results. This is conducive to obtaining feasible and highly productive scheduling results, thereby improving scheduling efficiency and quality.
[0188] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0189] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the parts that contribute to the related technology, can be embodied in the form of software products. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0190] Finally, it should be noted that the above embodiments are only used to illustrate this application and are not intended to limit this application. Although this application has been described in detail with reference to the embodiments, those skilled in the art should understand that various combinations, modifications, or equivalent substitutions of the technical solutions of this application do not depart from the spirit and scope of the technical solutions of this application and should all be covered within the scope of this application.
Claims
1. A production scheduling method, characterized in that, include: Obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information; Based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information, first-stage candidate scheduling information is obtained based on the first-stage processing. The first-stage processing is used to plan the production scheduling process based on the production scheduling constraints to form a first candidate schedule. The first-stage candidate scheduling information includes multiple first candidate schedules. Based on the candidate scheduling information of the first stage, obtain the process code information and resource code information corresponding to the first candidate scheduling; Based on the process coding information, the resource coding information, and the production scheduling constraint information, second-stage candidate scheduling information is obtained through second-stage processing. The second-stage processing is used to search for second candidate schedules based on an algorithm. The second-stage candidate scheduling information includes multiple second candidate schedules. Based on the candidate scheduling information of the first stage and the candidate scheduling information of the second stage, the scheduling result information is obtained through hierarchical filtering. The hierarchical filtering process is used to sequentially filter the schedule according to preset hierarchical conditions.
2. The production scheduling method according to claim 1, characterized in that, The step of obtaining first-stage candidate scheduling information based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information, according to the first-stage processing, includes: Based on the production scheduling information, obtain fixed process information and non-fixed process information; Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline. Based on the fixed process information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the first planning time axis information; Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the resource time axis occupancy interval of each non-fixed process is planned, and the candidate scheduling information for the first stage is obtained.
3. The production scheduling method according to claim 2, characterized in that, The step of planning the resource time axis occupancy interval for each non-fixed process based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, and obtaining the first stage candidate scheduling information, includes: Based on the preset calculation rule library, for each set of preset calculation rules, the following processing is performed: Based on the non-fixed process information, the production scheduling constraint information, and the first planning time axis information, the process information that can be scheduled is obtained through a filtering process. Based on the scheduleable process information, the priority score corresponding to the scheduleable non-fixed process is determined based on the preset calculation rule set, and the priority score information is obtained; Based on the arrangable process information and the priority score information, the arrangable process sequence information is obtained through sorting processing. Based on the scheduleable process sequence information, the production scheduling constraint information, and the first planning time axis information, the resource time axis and the occupied interval corresponding to the scheduleable process are determined sequentially, and the first planning time axis information is updated. Based on the first planning timeline information, the non-fixed process information, and the production scheduling constraint information, new schedulable process information is obtained and processed repeatedly to update the first planning timeline information until the schedulable process information is empty or the repeated processing reaches the first upper limit number of times. Based on the last updated first planning timeline information, obtain the first candidate schedule corresponding to the preset calculation rule set; The preset calculation rule base includes at least two sets of preset calculation rule sets, and the first candidate schedule corresponding to each preset calculation rule set forms the first stage candidate schedule information.
4. The production scheduling method according to claim 3, characterized in that, The schedulable process information includes a repetition wave identifier corresponding to the schedulable non-fixed process, the repetition wave identifier being determined based on the round of repetition processing; the step of obtaining schedulable process sequence information based on the schedulable process information and the priority score information, using sorting processing, includes: Based on the scheduled process information, the processes are arranged in order of repetition wave identifier from smallest to largest, latest start time from smallest to largest, priority score from largest to smallest, and time of time occupied on the time axis from smallest to largest to obtain the scheduled process sequence information. The repeat wave identifier is used to distinguish non-fixed processes that pass the screening process for the first time in different repeat processing rounds.
5. The production scheduling method according to claim 3, characterized in that, The step of determining the resource time axis and occupied interval corresponding to the scheduled process in sequence based on the scheduled process sequence information, the production scheduling constraint information, and the first planning time axis information, and updating the first planning time axis information, includes: Based on the scheduled process sequence information, the following processes are performed sequentially on the scheduled processes: Based on the scheduleable process and the scheduling constraint information, obtain the earliest start time and the latest start time corresponding to the scheduleable process; Based on the scheduled processes and the first planning timeline information, available timeline information is obtained, wherein the available timeline information represents the resource timeline available for the scheduled processes in the first planning timeline information; Based on the earliest start time and the latest start time, filter the remaining intervals of the resource time axis in the available time axis information to obtain the interval to be verified and the corresponding pre-process of the interval to be verified. Based on the scheduled processes, the preceding processes of the interval, and the scheduling constraint information, obtain the changeover preparation time corresponding to the interval to be verified; Based on the scheduled processes and the interval to be verified, the processing time of the process corresponding to the interval to be verified is obtained through resource efficiency calculation. Based on the start time of the interval to be verified and the corresponding changeover preparation time, determine the interval processing start time corresponding to the interval to be verified; The interval to be verified that has a processing start time less than or equal to the latest start time and an interval duration greater than or equal to the sum of the changeover preparation time and the process processing time is selected as a candidate interval. When there are at least two candidate intervals, the target interval is determined based on a preset priority order rule; When there is one candidate interval, the candidate interval is determined as the target interval; Based on the target interval and the corresponding changeover preparation time and process processing time, determine the occupancy interval of the scheduled processes and update the first planning time axis information; When no candidate interval exists, the scheduled process is treated as an unplanned process, and the first planned timeline information is updated.
6. The production scheduling method according to claim 2, characterized in that, After obtaining the first-stage candidate scheduling information based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information, and according to the first-stage processing, the process further includes: Based on the candidate scheduling information of the first stage, when there is an unplanned process in the first candidate schedule, the unplanned process will be regarded as a blocked process. Based on the production scheduling constraint information, the blocked process and the corresponding first candidate schedule, a set of repair processes is obtained, the set of repair processes includes non-fixed processes associated with the blocked process; Based on the set of repair procedures and the corresponding first candidate schedule, release the set of repair procedures in the resource timeline of the first candidate schedule, and obtain basic repair timeline information based on the procedures in the remaining occupied intervals in the resource timeline of the first candidate schedule. Based on the basic repair timeline information, the repair process set, and the production scheduling constraint information, the reconfiguration timeline information is obtained based on the replanning repair process. Based on the reconstructed timeline information, the corresponding first candidate schedule is reconstructed to update the first stage candidate schedule information.
7. The production scheduling method according to claim 6, characterized in that, The step of obtaining a set of repair processes based on the blocked process, the corresponding first candidate schedule, and the production scheduling constraint information includes: Based on the blocking process and the corresponding first candidate schedule, based on the blocking root cause identification process, blocking root process information is obtained, and the blocking root process information represents the root cause process that causes the blocking. Based on the blocked root process information, the corresponding first candidate schedule, and the production scheduling constraint information, obtain the root cause-related process set; Based on the blocked root process information, the scheduling resource information, and the scheduling constraint information, the root time window information is obtained. The root time window information represents the time range between the earliest start time and the latest start time of the root process on the available resource time axis. Based on the root time window information and the corresponding first candidate schedule, determine the non-fixed process associated with the root time window information in the resource time axis of the first candidate schedule, and obtain the set of adjustment processes; Based on the root cause association process set and the adjustment process set, obtain the repair process set.
8. The production scheduling method according to claim 7, characterized in that, The step of obtaining reconstruction timeline information based on the basic repair timeline information, the repair process set, and the production scheduling constraint information, and based on replanning repair processing, includes: Based on the initial resource timeline of the first candidate schedule, obtain the initial candidate target timeline information; Based on the set of repair procedures, a blocking priority sorting process is performed according to the repair sorting rules to obtain the repair procedure sequence information. Based on the repair process sequence information, the production scheduling constraint information, and the basic repair time axis information, the occupied interval of the repair process on the resource time axis is determined sequentially, and the repair available time axis information is obtained. Based on the available repair timeline information and the candidate target timeline information, an evaluation comparison result is obtained through evaluation comparison processing. When the evaluation comparison result indicates that the repair available time axis information is better, the repair available time axis information is used as the new candidate target time axis information; Adjust the repair sorting rules and repeat the process until the candidate target timeline information includes all the processes of the repair process set or the number of repeated processes reaches the second upper limit. The candidate target timeline information is used as the reconstructed timeline information.
9. The production scheduling method according to claim 1, characterized in that, The step of obtaining the process code information and resource code information corresponding to the first candidate schedule based on the first stage candidate schedule information includes: Based on the candidate scheduling information of the first stage, for each first candidate scheduling, a corresponding non-fixed process planning sequence is determined, and the unplanned non-fixed processes are added to the non-fixed process planning sequence according to the process sequence, and then the non-fixed process sequence corresponding to the first candidate scheduling is obtained. Based on the non-fixed process sequence, the process coding information is obtained through process priority coding processing. Based on the non-fixed process sequence, a resource identifier sequence is determined based on the resource identifiers occupied by the non-fixed processes. The resource identifier sequence is then processed by resource encoding to obtain the resource encoding information.
10. A production scheduling method according to claim 1, characterized in that, The step of obtaining second-stage candidate scheduling information based on the process coding information, the resource coding information, and the production scheduling constraint information, according to the second-stage processing, includes: Based on the process coding information and the resource coding information, and using population generation processing, coded population information is obtained, which includes multiple coded individuals. The remaining search processing time is obtained based on the maximum search processing time limit and the processing time already consumed. Based on the coded population information, the search coded individuals are obtained using a hybrid search process; Add the search-coded individual to the coded population information; Based on the coded population information, the production process information, the production resource information, and the production constraint information, and using unified constraint decoding processing, a second candidate schedule corresponding to each coded individual in the coded population information is obtained. Based on the second candidate schedule, and based on the schedule evaluation process, determine the evaluation score corresponding to the second candidate schedule, and obtain the evaluation score information; Based on the evaluation score information, and through individual screening, the coded population information is updated; Repeat the hybrid search process, the unified constraint decoding process, and the scheduling evaluation process to update the encoded population information until the number of times the hybrid search process is repeated reaches the third upper limit or the remaining search processing time is insufficient to perform the hybrid search process again. Based on the second candidate schedule corresponding to the last updated coded population information, obtain the second stage candidate schedule information; The hybrid search processing is performed using at least one search algorithm selected from genetic search, variable neighborhood search, tabu search, and fast neighborhood search.
11. A production scheduling method according to claim 10, characterized in that, The hybrid search process includes: Upon initial execution, the encoded population information is processed based on a genetic search. When the remaining search processing time is less than the preset late threshold, the encoded population information is processed based on fast neighborhood search; When the remaining search processing time is greater than or equal to the preset late threshold, the search is in a stagnant state, and the last non-taboo search was performed, the encoded population information is processed based on the taboo search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is greater than or equal to the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on the variable neighborhood search. When the remaining search processing time is greater than or equal to the preset late threshold and the pressure index is less than the preset pressure threshold, and at the same time it is not in the search stagnation state or the last taboo search was performed, the encoded population information is processed based on fast neighborhood search. The search stagnation state indicates that the highest evaluation score fluctuates within a threshold range and continues for a preset number of executions. The stress index is calculated and determined based on the second candidate schedule corresponding to the highest evaluation score.
12. The production scheduling method according to claim 10, characterized in that, The step of obtaining coded population information based on the process coding information and the resource coding information, using population generation processing, includes: Based on the process coding information and the resource coding information, obtain the basic coding individual corresponding to the first candidate schedule; Based on the basic coded individual, sequential derived coded individuals are obtained through process sequence exchange. Based on the basic coded individual, resource-derived coded individuals are obtained through legal resource reselection processing; Based on the aforementioned basic encoded individuals, resource-distributed encoded individuals are obtained through low-load resource selection processing. Based on the basic encoded individuals, process them according to preset rules to obtain rule-supplemented encoded individuals; Based on the basic encoded individuals, random encoded individuals are obtained through random combination processing; Encoding verification processing is performed on the basic encoded individuals, the sequentially derived encoded individuals, the resource-derived encoded individuals, the resource-distributed encoded individuals, the rule-supplemented encoded individuals, and the random encoded individuals to obtain the encoding population information; The encoding verification process is used to verify whether the process encoding and resource encoding of an individual encoding meet preset conditions and to remove encoding individuals that do not meet the preset conditions.
13. A production scheduling method according to claim 10, characterized in that, The step of obtaining second candidate schedules corresponding to each coded individual in the coded population information based on the coded population information, the production process information, the production resource information, and the production constraint information, using unified constraint decoding processing, includes: Based on the production scheduling resource information, resource timeline information is obtained, and the resource timeline information includes at least one resource timeline. Based on the production scheduling information and the resource time axis information, determine the occupation interval of the fixed process in the corresponding resource time axis, and obtain the second planning time axis information; Based on the coded population information, for each coded individual, the following processing is performed: Based on the coded individual, the second planning time axis information, and the production scheduling constraint information, a ready process queue and a corresponding priority resource queue are obtained. The ready process queue represents the process that can be planned in accordance with the production scheduling constraints, and the priority resource queue represents the resource time axis that the ready process preferentially selects. Based on the ready process queue, the priority resource queue, the second planning time axis information, and the production scheduling constraint information, the resource time axis and the occupied interval corresponding to the ready process are determined in sequence, and the second planning time axis information is updated. Based on the coded individual and the second planning timeline information, a new ready process queue and a corresponding new priority resource queue are obtained and processed repeatedly to update the second planning timeline information until the ready process queue is empty. Based on the last updated second planning timeline information, obtain the second candidate schedule corresponding to the coded individual.
14. The production scheduling method according to claim 1, characterized in that, The step of obtaining scheduling result information based on the first-stage candidate scheduling information and the second-stage candidate scheduling information, using hierarchical filtering processing, includes: Based on the candidate scheduling information of the first stage and the candidate scheduling information of the second stage, obtain the candidate scheduling set information; Based on the candidate scheduling set information and the production constraint information, feasibility identification information is obtained through hard constraint auditing. Based on the candidate schedule set information, obtain the schedule integrity information; Based on the candidate scheduling set information, indicator degradation information is obtained through indicator degradation comparison processing. Based on the candidate schedule set information, and through schedule evaluation processing, comprehensive evaluation information is obtained. Based on the feasibility identification information, the scheduling integrity information, the indicator degradation information, and the comprehensive evaluation information, scheduling result information is obtained through hierarchical screening processing. The hierarchical screening process is used to screen candidate schedules in the order of feasibility identification, schedule integrity, indicator degradation, and comprehensive evaluation.
15. A production scheduling method according to claim 1, characterized in that, The acquisition of production scheduling process information, production scheduling resource information, and production scheduling constraint information includes: Obtain production scheduling input information, which includes manufacturing orders, relationships between final assembly and sub-assembly, relationships between bills of materials, production scheduling processes, process relationships, candidate resources, resource calendar, resource efficiency, changeover rules, earliest start time, material ready time, delivery period, and algorithm running parameters; Based on the production scheduling input information, and using unified constraint context processing, the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information are obtained. The unified constraint context processing is used to standardize and validate the production scheduling input information.
16. A production scheduling system, characterized in that, include: The input module is used to obtain production scheduling input information and perform unified constraint context processing to obtain production scheduling process information, production scheduling resource information, and production scheduling constraint information. The first-stage processing module is used to obtain first-stage candidate scheduling information based on the production scheduling process information, the production scheduling resource information, and the production scheduling constraint information. The blockage repair module is used to perform local repair processing based on the blockage process; The coding module is used to obtain the process coding information and resource coding information corresponding to the first candidate schedule based on the first stage candidate schedule information; The second-stage processing module is used to obtain second-stage candidate scheduling information based on the process code information, the resource code information, and the production scheduling constraint information. The hierarchical filtering module is used to obtain scheduling result information based on the first-stage candidate scheduling information and the second-stage candidate scheduling information, through hierarchical filtering processing. The input module, the first-stage processing module, the blockage repair module, the encoding module, the second-stage processing module, and the hierarchical screening module work together to implement a production scheduling method as described in any one of claims 1 to 15.
17. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements a production scheduling method as described in any one of claims 1 to 15.
18. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements a production scheduling method as described in any one of claims 1 to 15.
19. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements a production scheduling method as described in any one of claims 1 to 15.
