Laboratory department specimen load fluctuation-oriented scheduling increment adjustment method, device, equipment and medium
Patent Information
- Application Number
- CN202611479883.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-22
- Publication Date
- 2026-10-30
AI Technical Summary
[0005]本申请目的在于提供一种面向检验科室标本负荷波动的排班增量调整方法、装置、设备及介质,旨在解决如何在检验科室标本负荷或排班状态发生变化时,确定需要调整的局部排班范围,并在局部排班不可行时根据约束冲突扩展调整范围的技术问题
根据标本负荷数据、检测项目数据、仪器处理能力数据和岗位配置数据生成动态工作负荷矩阵,是将不同时间段内的标本处理需求与对应检测项目、仪器处理能力及岗位配置进行关联,以表征各岗位随标本负荷变化产生的工作需求,为后续判断排班是否需要调整提供负荷依据;根据员工排班属性数据和历史排班数据生成跨周期排班状态,是将员工的岗位技能、证书状态以及前序班次、连续工作等历史排班信息延续至当前排班周期,使后续排班调整能够兼顾当前周期与前一周期之间的排班衔接;根据动态工作负荷矩阵、当前排班结果和排班状态变更数据确定调整源节点,并根据任务岗位关系和排班约束关系确定初始增量调整域,是从标本负荷变化或排班状态变化对应的位置出发,确定与变化直接关联的岗位及排班节点,从而将本次排班调整限定在与变化相关的局部范围;基于初始增量调整域内的排班变量、排班约束、跨周期排班状态以及边界排班状态构建并求解增量约束模型,是在保留调整域外现有排班状态的基础上对局部排班进行重新求解,同时利用边界排班状态约束局部调整与域外排班之间的衔接关系;当求解状态为可行时,根据求解结果更新当前排班结果,当求解状态为不可行时,根据不可行约束的约束类型沿对应的排班约束关系扩展初始增量调整域,并基于扩展后的增量调整域重新求解增量约束模型,使调整范围能够按照实际约束冲突逐步扩展,而无需直接扩大至整个排班周期。由此,本申请能够在检验科室标本负荷或排班状态发生变化时,确定需要调整的局部排班范围,并在局部排班不可行时根据约束冲突扩展调整范围。
Smart Images

Figure CN123014613A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of computer data processing and personnel resource allocation technology, and in particular to methods, devices, equipment and media for adjusting shift increments in response to fluctuations in specimen load in laboratory departments. Background Technology
[0002] Laboratory departments typically need to schedule shifts based on different professional groups, testing items, job requirements, and staff skills and qualifications. Since sample volume varies with date and time, and the instrument processing capacity and staffing needs differ for different testing items, the scheduling must match the actual sample processing load.
[0003] Currently, the required number of employees for each position is usually determined first based on historical experience, and then a scheduling result is generated by combining employee skills, certificate status, leave applications, consecutive working days, and shift coordination requirements. When the sample load, personnel status, or existing scheduling changes, the scheduling solution can be re-executed, or the existing scheduling result can be adjusted according to conflict prompts.
[0004] However, re-running the scheduling solution usually requires re-involving personnel and shifts in the original schedule that were unaffected by the changes. When only partial adjustments are made, it's necessary to determine the actual impact of the changes on dates, positions, and personnel. When the available resources or shift coordination within a specific area cannot meet the scheduling constraints, it's also necessary to further determine the scope of adjustments that should be expanded. Therefore, how to determine the scope of local scheduling adjustments needed when the specimen load or scheduling status in the laboratory changes, and how to expand the scope of adjustments based on constraint conflicts when local scheduling is not feasible, has become an urgent problem to be solved. Summary of the Invention
[0005] The purpose of this application is to provide a method, device, equipment and medium for adjusting the scheduling increment in response to fluctuations in the specimen load of the laboratory department. It aims to solve the technical problem of how to determine the local scheduling range that needs to be adjusted when the specimen load or scheduling status of the laboratory department changes, and how to expand the adjustment range according to the constraint conflict when local scheduling is not feasible.
[0006] To achieve the above objectives, this application proposes a method for adjusting shift schedules to accommodate fluctuations in specimen load in laboratory departments, the method comprising: A dynamic workload matrix is generated based on specimen load data, test item data, instrument processing capacity data, and job allocation data. Generate cross-cycle shift status based on employee shift attribute data and historical shift data; The adjustment source node is determined based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data, and the initial incremental adjustment domain is determined based on the task-job relationship and scheduling constraint relationship. Based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain, an incremental constraint model is constructed and solved. When the solution status is feasible, update the current shift schedule result based on the solution result; When the solution status is infeasible, the initial incremental adjustment domain is extended along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint, and the incremental constraint model is resolved based on the extended incremental adjustment domain. The current scheduling result is updated or constraint conflict data is generated according to the solution result.
[0007] Furthermore, to achieve the above objectives, this application also proposes a scheduling increment adjustment device for fluctuations in specimen load in laboratory departments, the device comprising: The workload generation module is used to generate a dynamic workload matrix based on specimen workload data, test item data, instrument processing capacity data, and job configuration data. The status generation module is used to generate cross-cycle schedule status based on employee scheduling attribute data and historical scheduling data; The range determination module is used to determine the adjustment source node based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data, and to determine the initial incremental adjustment domain based on the task-job relationship and scheduling constraint relationship. The incremental solution module is used to construct and solve the incremental constraint model based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain within the initial incremental adjustment domain. The scheduling update module is used to update the current scheduling result based on the solution result when the solution status is feasible; The conflict expansion module is used to expand the initial incremental adjustment domain along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint when the solution state is infeasible, and resolve the incremental constraint model based on the expanded incremental adjustment domain, and update the current scheduling result or generate constraint conflict data according to the solution result.
[0008] In addition, to achieve the above objectives, this application also proposes a scheduling incremental adjustment device for fluctuations in the specimen load of a laboratory department. The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. The computer program is configured to implement the steps of the scheduling incremental adjustment method for fluctuations in the specimen load of a laboratory department as described above.
[0009] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the scheduling increment adjustment method for specimen load fluctuations in the laboratory as described above.
[0010] One or more technical solutions proposed in this application have at least the following technical effects: A dynamic workload matrix is generated based on specimen load data, testing item data, instrument processing capacity data, and job configuration data. This matrix correlates specimen processing needs across different time periods with corresponding testing items, instrument processing capabilities, and job configurations, characterizing the workload requirements of each job as specimen load changes. This provides a basis for subsequent scheduling adjustments. A cross-cycle scheduling status is generated based on employee scheduling attribute data and historical scheduling data. This extends employee job skills, certificate status, previous shifts, and continuous work history to the current scheduling cycle, ensuring that subsequent scheduling adjustments consider the continuity between the current and previous cycles. The adjustment source node is determined based on the dynamic workload matrix, current scheduling results, and scheduling status change data. The initial incremental adjustment domain is determined based on task-job relationships and scheduling constraints, starting from changes in specimen load or... Starting from the location corresponding to the change in scheduling status, the positions and scheduling nodes directly related to the change are determined, thus limiting the scheduling adjustment to a local scope related to the change. An incremental constraint model is constructed and solved based on scheduling variables, scheduling constraints, cross-cycle scheduling status, and boundary scheduling status within the initial incremental adjustment domain. This involves resolving the local scheduling while retaining the existing scheduling status outside the adjustment domain, and simultaneously utilizing the boundary scheduling status to constrain the connection between the local adjustment and the scheduling outside the domain. When the solution status is feasible, the current scheduling result is updated based on the solution result. When the solution status is infeasible, the initial incremental adjustment domain is expanded along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint, and the incremental constraint model is resolved based on the expanded incremental adjustment domain. This allows the adjustment range to gradually expand according to actual constraint conflicts, without directly expanding to the entire scheduling cycle. Therefore, this application can determine the local scheduling range that needs adjustment when the specimen load or scheduling status of the laboratory changes, and expand the adjustment range according to constraint conflicts when local scheduling is infeasible. Attached Figure Description
[0011] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0012] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a flowchart illustrating the first embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments, as provided in this application. Figure 2 This is a schematic diagram of the dynamic workload matrix formation relationship provided in the first embodiment of the scheduling increment adjustment method for specimen load fluctuations in the laboratory department of this application; Figure 3 This is a schematic diagram of the constraint conflict-driven incremental adjustment domain expansion provided in the first embodiment of the scheduling incremental adjustment method for specimen load fluctuations in laboratory departments in this application; Figure 4 This is a flowchart illustrating the second embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments in this application; Figure 5 This is a schematic diagram showing the relationship between the adjustment source node and the initial incremental adjustment domain provided in the second embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments according to this application; Figure 6 This is a schematic diagram of the module structure of the scheduling increment adjustment device for specimen load fluctuations in the laboratory department, as described in this application embodiment. Figure 7 This is a schematic diagram of the equipment structure of the hardware operating environment involved in the scheduling increment adjustment method for specimen load fluctuations in the laboratory department in the embodiments of this application. Detailed Implementation
[0014] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0015] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0016] It should be noted that the executing entity of this application embodiment can be a scheduling system with data processing and program execution functions, and the scheduling system can be deployed on a server, desktop computer, laptop computer or other computing device. The following uses a scheduling system as an example to describe this embodiment and the following embodiments.
[0017] In this application, specimen load data can be obtained from the data interface of the testing information system, the business database, or a structured import file, and includes at least the specimen receiving time, testing item identifier, and specimen quantity; testing item data and job configuration data can be obtained from the testing item configuration table and job configuration table; instrument processing capacity data can be obtained from instrument configuration records, operating status records, or maintenance records; employee scheduling attribute data, historical scheduling data, and current scheduling results can be obtained from the scheduling database or a structured scheduling file, wherein the current scheduling result at least records the correspondence between employee, date, scheduling time period, and job position; scheduling status change data can be generated from changes in off-duty status, certificate status, skill status, or scheduling adjustment events, and records the employee, date, scheduling time period, job position, and the changed status. All types of data can be updated periodically according to the scheduling cycle, or updated when the corresponding business status changes.
[0018] Based on this, the first embodiment of this application provides a method for adjusting shift increments to address fluctuations in specimen load in laboratory departments, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments, as described in this application.
[0019] In this embodiment, the method for adjusting the shift schedule increment to address fluctuations in the specimen load of the laboratory includes steps S10 to S60: Step S10: Generate a dynamic workload matrix based on specimen load data, test item data, instrument processing capacity data, and job configuration data; It should be noted that specimen load data refers to data reflecting the workload of the laboratory department in processing specimens. Test item data refers to data characterizing the corresponding test tasks and related business attributes of the specimens. Instrument processing capacity data refers to data characterizing the ability of laboratory instruments to perform test tasks. Job allocation data refers to data characterizing the job positions and corresponding configuration requirements of the laboratory department. The dynamic workload matrix is a workload data structure formed by associating specimen processing needs with corresponding test items, instrument processing capacity, and job allocation.
[0020] Understandably, the process involves acquiring the specimen load data corresponding to the current scheduling cycle, associating this data with the testing item data, and determining the testing tasks corresponding to different specimen processing needs. Further, the instrument processing capacity data and job configuration data corresponding to the testing tasks are associated, forming workload data for each scheduling position based on the correspondence between specimen processing needs and available processing capacity. This workload data is then arranged according to a unified data index relationship to generate a dynamic workload matrix. When the specimen load data changes, the workload data corresponding to the changed data is updated, ensuring the dynamic workload matrix reflects the current specimen processing needs. This step, by converting specimen load, testing items, instrument processing capacity, and job configuration into unified workload data, provides a data foundation for subsequently determining the scheduling positions that need adjustment based on changes in specimen processing needs.
[0021] Step S20: Generate cross-cycle scheduling status based on employee scheduling attribute data and historical scheduling data; It should be noted that employee scheduling attribute data refers to data representing the attributes required for employees to participate in scheduling. Historical scheduling data refers to employee scheduling records that have been created before the current scheduling cycle. Cross-cycle scheduling status refers to data formed by associating the employee's current scheduling attributes with the statuses in historical scheduling that still have a binding effect on the current scheduling cycle.
[0022] Understandably, the process involves reading employee scheduling attribute data and retrieving historical scheduling data continuous with the current scheduling cycle. A correspondence is established between these two types of data based on employee identifiers. States from the historical scheduling data that still require scheduling decisions after the start of the current scheduling cycle are retained. These retained historical states are then associated with the employee's current scheduling attributes, forming a cross-cycle scheduling state for each employee. The effective scope of the transition between historical scheduling states and the current scheduling cycle can be determined based on the range of historical data involved in the scheduling rules. This step, by transferring states from historical scheduling that still constrain the current cycle to the current scheduling cycle, ensures that subsequent partial scheduling adjustments can simultaneously consider both current employee attributes and cross-cycle states, preventing the fragmentation of relevant scheduling states due to scheduling cycle switching.
[0023] Step S30: Determine the adjustment source node based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data; and determine the initial incremental adjustment domain based on the task-job relationship and scheduling constraint relationship. It should be noted that the current scheduling result refers to the scheduling data that was formed before this adjustment and serves as the basis for the adjustment. Scheduling status change data refers to data that has changed relative to the current scheduling result and may cause adjustments to existing schedules. The adjustment source node refers to the starting position of the scheduling adjustment determined by changes in workload or scheduling status. Task-job relationship refers to the association between the task and the job that undertakes the corresponding task. Scheduling constraint relationship refers to the association between scheduling objects formed by scheduling restrictions. The initial incremental adjustment domain refers to the local scheduling range determined around the adjustment source node that participates in this incremental scheduling solution for the first time.
[0024] Understandably, the dynamic workload matrix is mapped to the current scheduling results to determine whether the scheduling positions corresponding to the current scheduling results are affected by workload changes. Simultaneously, scheduling status change data is read to locate the positions where scheduling status changes occur. Positions requiring scheduling adjustments are recorded as adjustment source nodes. Task-job relationships and scheduling constraints can be pre-stored as associated records. Based on the adjustment source node, scheduling objects related to the current change and needing to participate in this scheduling adjustment are queried. The retrieved scheduling objects and the scheduling range corresponding to the adjustment source node are combined to form the initial incremental adjustment domain.
[0025] For example, if the current scheduling results have already covered a certain scheduling cycle, when a portion of the sample workload data changes, the scheduling positions affected by the change are determined based on the updated dynamic workload matrix. The corresponding positions are used as adjustment source nodes, and the task and job relationships and scheduling constraints associated with the adjustment source nodes are used to determine the local scheduling scope that needs to be jointly adjusted.
[0026] This step determines the adjustment source node from the actual location of the change and uses existing relationships to determine the initial incremental adjustment domain, so that the scheduling adjustment can be focused on the local range related to the current change, reducing the direct participation of irrelevant scheduling data in this round of solution.
[0027] Step S40: Based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain, construct and solve the incremental constraint model. It should be noted that scheduling variables refer to data variables used to represent the undetermined scheduling status within the initial incremental adjustment domain. Scheduling constraints refer to the restrictions that scheduling variables must satisfy during the solution process. Boundary scheduling status refers to existing scheduling statuses located outside the initial incremental adjustment domain but having cross-domain constraint relationships with scheduling variables within the domain. The incremental constraint model refers to the constraint solution model established for the current incremental adjustment range.
[0028] Understandably, the scheduling states that can be redefined within the initial incremental adjustment domain are set as scheduling variables. Scheduling constraints related to these variables are obtained, and cross-period scheduling states are used as the state input when solving for the scheduling variables. For existing scheduling states outside the initial incremental adjustment domain but with cross-domain constraints to scheduling variables within the domain, the corresponding states are read as boundary scheduling states. Boundary scheduling states retain their existing values from the current scheduling results and are used to participate in corresponding constraint judgments; they are not considered freely changeable scheduling variables within the initial incremental adjustment domain. An incremental constraint model is established based on scheduling variables, scheduling constraints, cross-period scheduling states, and boundary scheduling states, and then solved using a constraint solver. In one example, the incremental constraint model can be solved using the CP-SAT (Constraint Programming-Satisfiability) solver. This step reduces the data range that needs to be processed in this round of scheduling by using only the scheduling status within the initial incremental adjustment domain as the variable to be solved, while utilizing the cross-cycle scheduling status and boundary scheduling status to maintain the constraint relationship between the local adjustment and the existing scheduling.
[0029] Step S50: When the solution status is feasible, update the current scheduling result according to the solution result; It should be noted that the solution state refers to the state result obtained after the incremental constraint model is solved. Feasibility means that there are scheduling variable values in the incremental constraint model that satisfy the current scheduling constraints. The solution result refers to the solved scheduling variable values and their corresponding scheduling states.
[0030] Understandably, the solution status of the incremental constraint model is obtained. When the solution status is feasible, the scheduling status corresponding to each scheduling variable in the solution results is read, and the corresponding scheduling status is written into the corresponding position in the current scheduling result. Scheduling data that did not participate in this round of incremental solution continues to retain its current value, thereby completing the local update of the current scheduling result. This step updates the corresponding local scheduling data using the feasible solution results, so that the adjustment results that have met the relevant constraints can be written back to the current scheduling result, while retaining the original scheduling data that did not participate in this round of solution.
[0031] Step S60: When the solution status is infeasible, the initial incremental adjustment domain is extended along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint, and the incremental constraint model is resolved based on the extended incremental adjustment domain. The current scheduling result is updated or constraint conflict data is generated according to the solution result.
[0032] It should be noted that infeasible constraints refer to scheduling constraints related to the current infeasible state of the incremental constraint model. Constraint type refers to the constraint category derived from the content of the scheduling constraint's effect, used to determine the corresponding scheduling constraint relationship. The expanded incremental adjustment domain refers to the adjustment range formed by adding scheduling objects related to infeasible constraints to the initial incremental adjustment domain. Constraint conflict data refers to data used to record relevant constraints and scheduling positions when feasible scheduling results cannot be obtained.
[0033] Understandably, when the incremental constraint model's solution state is infeasible, the infeasible constraints related to the current infeasible state are determined based on the conflict information returned by the constraint solver, and the constraint type corresponding to the infeasible constraint is read. Based on the constraint type, the corresponding scheduling constraint relationship is selected, and scheduling objects related to the current infeasible constraint and needing to be added to the current round of re-solution are searched outside the initial incremental adjustment domain. These searched scheduling objects are added to the initial incremental adjustment domain, forming an expanded incremental adjustment domain. The scheduling variables participating in the solution and the corresponding boundary scheduling states are re-determined according to the expanded incremental adjustment domain, and the incremental constraint model is reconstructed and solved. When a feasible result is obtained from the re-solution, the current scheduling result is updated based on the solution result. If the re-solution is still infeasible, it is determined whether new scheduling nodes outside the associated domain can be determined based on the infeasible constraints of the current round. If they can be determined, the incremental adjustment domain is further expanded; otherwise, constraint conflict data is generated based on the current infeasible constraint and its corresponding scheduling position.
[0034] For example, after a change in sample load, an adjustment source node is identified, and an initial incremental adjustment domain is formed accordingly. The first local solution returns to an infeasible state. Based on the current infeasible constraints, the corresponding constraint type is identified, and then relevant scheduling nodes outside the initial incremental adjustment domain are searched along the scheduling constraint relationship corresponding to that constraint type. These relevant scheduling nodes are added to the adjustment range, and the solution is re-solved. If the re-solution is feasible, the corresponding scheduling data is updated. If the re-solution is still infeasible, it is determined whether the adjustment range needs to be expanded based on the new infeasible constraints. If no scheduling nodes outside the associated domain can be added, constraint conflict data is generated. This process embodies the processing steps of "determining the initial incremental adjustment domain—local solution—identifying infeasible constraints—expanding the adjustment domain—re-solving".
[0035] This step uses the infeasible constraints obtained from the local solution to determine the subsequent expansion range, so that the initial incremental adjustment domain can be expanded according to the actual constraint conflicts, avoiding directly resolving the entire scheduling range after the first local solution is infeasible.
[0036] This embodiment uses specimen load data to form a dynamic workload matrix, and combines current employee attributes and historical schedules to form a cross-cycle scheduling status. When specimen load or scheduling status changes, the adjustment source node and initial incremental adjustment domain are determined. An incremental constraint model is established only for the local scheduling range related to the current change. If local solutions are infeasible, the adjustment range is expanded along the corresponding scheduling constraint relationship based on the constraint type of the infeasible constraint. Therefore, when the specimen load or scheduling status of the laboratory changes, the local scheduling range that needs adjustment can be determined, and when local scheduling is infeasible, the adjustment range can be expanded based on constraint conflicts. This reduces the repeated participation of scheduling data unrelated to the current change in the solution, while maintaining the constraint relationship between the local adjustment and the existing scheduling status.
[0037] As an example, the step of generating a cross-cycle scheduling status based on employee scheduling attribute data and historical scheduling data includes: determining the job skill status and certificate validity status of each employee based on the employee scheduling attribute data; determining the previous shift status, continuous work status, and job scheduling record of each employee before the current scheduling cycle based on the historical scheduling data; determining the shift connection status and continuous work acceptance status of each employee at the beginning of the current scheduling cycle based on the previous shift status and the continuous work status; and associating the job skill status, certificate validity status, shift connection status, continuous work acceptance status, and job scheduling record with the current scheduling cycle to generate a cross-cycle scheduling status.
[0038] It should be noted that: Job skill status refers to the employee's skill level for the corresponding job, which can be determined based on the employee's professional group, the job they can undertake, and their skill level; Certificate validity status refers to whether the employee has the valid certificate required for the job on the corresponding scheduled date; Previous shift status refers to the status of the most recent shift that is connected to the current scheduling cycle before the start of the current scheduling cycle; Continuous work status refers to the employee's status of having worked continuously up to the start of the current scheduling cycle; Job scheduling record refers to the record of the employee's historical job responsibilities, which can include the job, scheduling date, and shift type; Shift connection status refers to the status of shifts that can be arranged at the start time of the current scheduling cycle based on the previous shifts; Continuous work continuation status refers to the status formed by continuing the continuous work status that was not interrupted at the end of the previous scheduling cycle into the current scheduling cycle.
[0039] Understandably, the process begins by matching employees with corresponding job positions based on their professional groups, available roles, and skill levels from the employee scheduling attribute data. This yields each employee's skill status for different roles. Next, the certificate type and validity period are retrieved, and the required certificate type for each position is matched with the employee's existing certificate. The certificate validity status is then determined based on the relationship between the scheduling date and the certificate's expiration date. When a certificate's validity period spans the current scheduling cycle, the certificate validity status is updated separately for each scheduling date, ensuring that the same employee has the corresponding certificate status for scheduling dates both within and after the certificate's validity period.
[0040] Then, read historical scheduling data that has a connection with the current scheduling cycle. The scope of historical scheduling data reading should at least cover the historical interval required to determine the connection status of the starting shift and the continuous work continuity status of the current cycle. This includes the preceding shifts before the start of the current scheduling cycle, as well as the scheduling records from the cycle start date backward to the most recent rest date or the point where the continuous work continuity is interrupted. Based on the reading results, determine the preceding shift status and continuous work status of each employee, and retain the corresponding job scheduling records. Job scheduling records can save the job and shift that an employee was assigned on a historical date, and are used to retain historical job continuity information before the current scheduling cycle. If no scheduling restrictions related to historical jobs are configured, job scheduling records are not considered mandatory scheduling constraints.
[0041] Furthermore, the shift connection status corresponding to the start time of the current scheduling cycle is determined based on the status of the preceding shifts. Specifically, the permissible connection relationship between the preceding shift and the current shift can be queried according to the scheduling rule table. For example, if the scheduling rule adopted by the laboratory stipulates that a corresponding rest interval must be met after the night shift, subsequent shifts that meet the rest interval requirement are recorded as permissible connections, and subsequent shifts that do not meet the rest interval requirement are recorded as not permissible connections. For other preceding shifts, the available scheduling status of the start time of the current cycle is determined according to the corresponding shift connection rule. The shift connection rule can be pre-configured according to the actual scheduling system adopted by the laboratory and updated synchronously when the scheduling system is adjusted.
[0042] For continuous work status, the number of consecutive working days that were not interrupted by rest periods before the start of the current scheduling cycle is counted, and this number of consecutive working days is carried over to the start of the current scheduling cycle to form a continuous work carryover status. For example, if several consecutive working days were in a working state at the end of the previous scheduling cycle, the current scheduling cycle will continue to use this number of consecutive working days as the starting state when making scheduling decisions. If a rest period occurred at the end of the previous scheduling cycle, the continuous work status is interrupted at the corresponding position, and the current cycle will not continue to accumulate the previous consecutive working days. The scope of reading continuous work status is based on whether the start position of the current scheduling cycle has reached the configured continuous work limit, and it is not necessary to read earlier historical data that is unrelated to the current scheduling decision.
[0043] Finally, using employee identification and the current scheduling cycle as the association index, the job skill status, certificate validity status, shift connection status, continuous work acceptance status, and job scheduling records are linked to form the cross-cycle scheduling status for each employee. For certificate validity status, which changes with the scheduling date, the status change is saved according to the corresponding date within the current scheduling cycle; for shift connection status and continuous work acceptance status, they are used as historical acceptance information when making scheduling decisions at the beginning of the current scheduling cycle.
[0044] This example links an employee's current job skills and certificate status with the shifts, consecutive work, and job scheduling information left over from the previous scheduling cycle. This allows the current scheduling cycle to continue the scheduling status that was still valid in the previous cycle, avoiding the separation of previous shifts and consecutive work records after the cycle switch. At the same time, it can reflect changes in certificate status based on the scheduling date, providing a status basis for determining the availability of personnel and handling cross-cycle constraints in subsequent incremental scheduling.
[0045] As an example, the step of generating a dynamic workload matrix based on specimen load data, testing item data, instrument processing capacity data, and job configuration data includes: dividing the specimen load data according to a preset time granularity; aggregating the specimen load data for each time period according to the testing item data to obtain the specimen processing volume corresponding to different testing items in each time period; determining the testing instruments corresponding to each testing item based on the testing item data and the preset instrument relationship between testing items; determining the available processing capacity of the instruments corresponding to each time period based on the instrument processing capacity data; determining the job corresponding to each testing item based on the task-job relationship; determining the scheduling time period corresponding to each job based on the job configuration data; and determining the job processing load corresponding to each scheduling time period based on the specimen processing volume and the available processing capacity of the instruments; arranging the job processing load according to the job and scheduling time period to generate a dynamic workload matrix.
[0046] It should be noted that the preset time granularity refers to the data statistical interval used when dividing the specimen load data into time intervals. It can be set according to the shift schedule of the laboratory, the frequency of specimen arrival, and the frequency of changes in testing business, such as dividing it into 1 hour, 2 hours, or a shift. The preset item instrument relationship refers to the association between the test items and the test instruments that can perform the corresponding test tasks. It can be established in advance based on the existing test item catalog and instrument configuration records of the laboratory.
[0047] Instrument available processing capacity refers to the actual amount of specimens that the testing instrument can handle within a corresponding time period; job processing load refers to the amount of specimen processing work that a corresponding job needs to undertake within a scheduled shift. Both job processing load and available processing capacity use the same processing volume caliber. When the same job involves testing items with different processing complexities, the workload corresponding to different testing items can be converted to the same processing volume caliber and compared based on the existing standard processing time, job operation records, or historical processing records of the laboratory.
[0048] Understandably, the specimen load data is first divided into time periods according to a preset time granularity. Data with specimen reception times falling within the same time interval are grouped together. Then, the specimen load data of each group is aggregated based on the item identifier in the test item data, and the specimen processing volume corresponding to different test items in each time period is statistically analyzed. For example, when the time granularity is set to 1 hour, the number of specimens corresponding to each test item can be statistically analyzed hourly. The time granularity can also be directly adopted from the actual shift schedule such as morning shift, afternoon shift, and night shift. The specific setting is determined based on the rate of change of specimen volume in the laboratory and the time range required for shift adjustments. When the preset time granularity is shorter than a shift period, the workload corresponding to multiple time periods belonging to the same shift period is aggregated according to the same job position to obtain the job processing load corresponding to that shift period. When the preset time granularity is consistent with the shift period, the corresponding time period is directly used as the shift period.
[0049] Then, based on the test item data, the preset instrument relationships are queried to determine the corresponding test instruments for each test item. The relationships between test items, test instruments, professional groups, and positions can be stored using an association table. For example, an association record includes the test item identifier, the corresponding test instrument identifier, the professional group to which it belongs, and the position identifier that undertakes the relevant processing task. When a test item can be processed by multiple similar test instruments, multiple available test instrument identifiers are stored in the association table, and the processing capacity of each test instrument is statistically analyzed according to its actual availability within the corresponding time period.
[0050] For each testing instrument, the basic processing capacity is determined based on the throughput per unit time in the instrument's processing capacity data and the available runtime within the corresponding time period. Then, the remaining available time is determined by combining the equipment's occupancy status. The processing capacity corresponding to the throughput per unit time and the remaining available time is taken as the instrument's available processing capacity. If other testing tasks are scheduled for the testing instrument within a corresponding time period, the processing capacity corresponding to the already occupied time period is deducted. If the testing instrument is in a shutdown or maintenance state, it is not included in the available processing capacity for the corresponding time period. This yields the available processing capacity of the instruments that can be used for each testing item in different time periods.
[0051] Furthermore, the corresponding positions for each testing item are determined based on the task-position relationship, and the shift schedules covered by each position are determined based on the position configuration data. Then, the processing load of each position for each shift schedule is determined by combining the sample processing volume and the available instrument processing capacity. For different testing items, the workload can be calculated based on the processing steps that the personnel need to participate in in the actual testing process. For testing items that require sample pretreatment, instrument loading, and result verification, the personnel processing requirements generated in the corresponding steps are included in the corresponding positions. For testing items where the instrument processes continuously and personnel only participate in some steps, only the work requirements corresponding to the steps that personnel actually participate in are included, avoiding directly equating the sample quantity of different testing items with the same workload.
[0052] In this example, the available processing capacity of the instrument is used to determine the workload that can enter the corresponding processing stage in the testing process. For personnel processing stages that are located before instrument testing and can form a buffer of samples to be tested after processing, the workload of the personnel can be determined based on the actual amount of samples to be processed and the personnel involved, and should not be reduced in advance due to insufficient processing capacity of subsequent instruments; for personnel processing stages that are located after instrument testing, the workload entering the personnel processing stage can be determined based on the amount of samples that the preceding instruments can actually process during the corresponding shift.
[0053] For example, if the sample processing capacity for test item A during a certain shift is 120 samples, and the available processing capacity of the corresponding instrument during that shift is 100 samples, and if position A is required to handle the pretreatment and sample loading tasks before the instrument's testing, and the samples after pretreatment and loading can form a buffer for testing, then the personnel processing requirement for position A is still determined based on 120 samples, and is not reduced in advance because the subsequent instrument can only process 100 samples. For personnel processing tasks after the instrument's testing, the processing load of the corresponding position is determined based on the actual sample processing capacity of the preceding instrument during that shift.
[0054] Finally, using job position as one data dimension and shift scheduling time as another, the job processing load corresponding to each job position in different shift scheduling time periods is filled into the corresponding positions to form a dynamic workload matrix. When the sample load data or instrument processing capacity data is updated, the job processing load of the corresponding job position and shift scheduling time period is re-determined based on the updated data, and the corresponding positions in the dynamic workload matrix are updated without changing other positions unaffected by the updated data. For scheduling cycles containing multiple dates, a two-dimensional dynamic workload matrix corresponding to job positions and shift scheduling time periods can be established separately according to the date, or a date index can be added to the dynamic workload matrix. Figure 2 The dynamic workload matrix shown can be understood as a slice of a matrix corresponding to one of the dates.
[0055] Please refer to Figure 2 , Figure 2 This diagram illustrates the dynamic workload matrix formation process provided in the first embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments, as described in this application. The diagram shows the process of gradually associating multiple types of business data to form the dynamic workload matrix. Specimen load data and test item data are used together to aggregate the specimen processing volume corresponding to different test items according to a preset time granularity. Test item data is further combined with instrument processing capacity data to determine the testing instruments corresponding to each test item and the available processing capacity of the instruments within the corresponding time period. Based on this, job configuration data is combined to determine the job positions and scheduling periods corresponding to the testing tasks, and the job processing load of each position within different scheduling periods is calculated. Subsequently, the job processing loads are arranged according to the job positions and scheduling periods to form a dynamic workload matrix. The columns of the matrix correspond to job A, job B, and job C, and the rows correspond to time periods 1 to 4. Each intersection position records the job processing load of the corresponding job within the corresponding time period. The values in the figure are example values of the workload of each job, and are recorded according to the aforementioned unified workload standard. For example, the workloads of job A, job B and job C in time period 1 are 80, 60 and 45 respectively; in time period 2 they are 95, 70 and 50 respectively; in time period 3 they are 110, 85 and 55 respectively; and in time period 4 they are 90, 65 and 48 respectively. Thus, the workload of different jobs in each shift period is represented in matrix form.
[0056] This example aggregates the sample processing volume of different testing items according to a uniform time granularity, establishes a correspondence between testing items and testing instruments, professional groups, and positions, and then determines the processing load of positions by combining the actual available processing capacity of the instruments and the personnel participation in each testing item. This enables the dynamic workload matrix to reflect the actual processing needs faced by different positions in each scheduling period, providing a more specific data basis for judging the need for scheduling adjustments based on changes in sample load.
[0057] As an example, the steps of constructing and solving the incremental constraint model based on the scheduling variables, scheduling constraints, cross-period scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain include: establishing scheduling variables based on employees, dates, scheduling periods, and positions in the initial incremental adjustment domain; extracting position coverage constraints, certification constraints, shift connection constraints, and continuous work constraints related to the scheduling variables, and using the extracted constraints as scheduling constraints; determining the external scheduling nodes that participate in the scheduling constraints along with the scheduling variables, reading the scheduling states corresponding to the external scheduling nodes from the current scheduling results, and using the scheduling states as boundary scheduling states; and constructing and solving the incremental constraint model based on the scheduling variables, the scheduling constraints, the cross-period scheduling states, and the boundary scheduling states.
[0058] It should be noted that the scheduling variable refers to the data variable used to characterize the scheduling values of employees within the initial incremental adjustment domain on the corresponding date, scheduling period, and position; the position coverage constraint refers to the constraint that each position needs to meet the staffing requirements during the corresponding scheduling period; the certification constraint refers to the constraint that positions with certificate requirements need to be staffed with employees with valid certificates during the corresponding scheduling period; the shift connection constraint refers to the restriction on the allowed shift combinations between consecutive scheduling periods for the same employee; the continuous work constraint refers to the restriction that the number of scheduling periods or workdays in which an employee is continuously working needs to be met; and the external scheduling node refers to an existing scheduling node located outside the initial incremental adjustment domain but participating in the scheduling constraints together with the internal scheduling variables.
[0059] In this example, the cross-cycle scheduling state is mainly used to inherit the historical states that still constrain the current scheduling cycle before its start. The boundary scheduling state is mainly used to represent the existing scheduling states in the current scheduling result that are outside the current incremental adjustment domain but participate in scheduling constraints together with the scheduling variables within the domain. When the initial incremental adjustment domain reaches the starting boundary of the current scheduling cycle, the historical states before the start of the scheduling cycle are provided by the cross-cycle scheduling state and are not repeatedly used as the boundary scheduling state input in the current scheduling result.
[0060] Understandably, firstly, scheduling variables are established based on the employees, dates, shift times, and positions included in the initial incremental adjustment domain. Each scheduling variable can use a binary value to represent whether the corresponding employee is assigned to the corresponding position on the corresponding date and during the corresponding shift time, where a value of 1 indicates that the employee is assigned to the corresponding position, and a value of 0 indicates that the employee is not assigned to the corresponding position. For states such as rest or idle time that do not correspond to specific job positions, corresponding scheduling status variables can be set, or they can be represented by discrete status values together with the job position variables. Scheduling variables are only established for scheduling nodes within the initial incremental adjustment domain; existing scheduling nodes outside the initial incremental adjustment domain are not considered as scheduling variables that can be freely changed in this round.
[0061] Based on the employees, positions, dates, and scheduling periods corresponding to the scheduling variables, extract the relevant constraints from the current scheduling rules: position coverage constraints, certification constraints, shift continuity constraints, and continuous work constraints. Position coverage constraints limit the number of employees required for a given position within a given scheduling period based on position configuration data. Certification constraints limit the number of certified personnel for a given position based on certificate requirements and employee certificate validity status. Shift continuity constraints determine whether an employee can continue to be scheduled for a given shift based on the combination of shifts in adjacent scheduling periods. Continuous work constraints determine whether an employee's continuous work status meets the current scheduling rules based on cross-period scheduling status and the current scheduling variables. Other scheduling constraints unrelated to the scheduling variables within the initial incremental adjustment domain are not included in this round of incremental solution.
[0062] Next, it is checked whether the extracted scheduling constraints involve existing scheduling nodes outside the initial incremental adjustment domain. For constraints consisting only of scheduling variables within the domain, the corresponding scheduling variables are used directly for constraint solving. For constraints involving both scheduling variables within the domain and scheduling nodes outside the domain, the scheduling status corresponding to the scheduling nodes outside the domain is read from the current scheduling result, and the read result is used as the boundary scheduling status in constraint judgment. The scheduling nodes outside the domain retain their values in the current scheduling result during this round of solving and are not treated as variables that can be reassigned.
[0063] For example, if the initial incremental adjustment domain starts from the day shift on a certain day, and an employee's night shift in the previous scheduling period is outside the initial incremental adjustment domain, the boundary scheduling status corresponding to that night shift is read, and the scheduling variables corresponding to the day shift within the domain are used to determine the shift continuity constraints. When a continuous work status crosses the date boundary of the initial incremental adjustment domain, the existing work status before the boundary is read, and the continuous work constraints are determined by combining the cross-cycle scheduling status and the scheduling variables within the domain. Thus, although the local scheduling range does not include all historical and external scheduling nodes, it can still retain the constraint relationship with existing external scheduling.
[0064] Based on this, the scheduling variables within the initial incremental adjustment domain are used as the variables to be solved, the extracted scheduling constraints are used as the limiting conditions, and the cross-cycle scheduling states and boundary scheduling states are used as known state inputs to construct and solve the incremental constraint model. In one example, the CP-SAT (Constraint Programming-Satisfiability) solver can be used to handle the scheduling variables and corresponding constraints. When it is necessary to select from multiple feasible scheduling results, the number of scheduling variables that have changed relative to the current scheduling result can be used as an optimization term to prioritize feasible results with smaller scheduling change ranges. When using the CP-SAT solver, the OPTIMAL and FEASIBLE states are considered feasible states, and the INFEASIBLE state is considered infeasible states. For the UNKNOWN state, the solution can continue or the solution constraints can be adjusted and the solution can be solved again. For the MODEL_INVALID state, the incremental constraint model is validated, and the incremental adjustment domain expansion is not triggered based on the UNKNOWN or MODEL_INVALID states.
[0065] The main difference between incremental constraint models and full-cycle scheduling models lies in the range of scheduling variables involved in the solution. Full-cycle scheduling models require a large range of employees, dates, scheduling periods, and job positions within the scheduling cycle to be considered as variables to be solved. In contrast, incremental constraint models only set the scheduling states that are allowed to change within the initial incremental adjustment domain as variables to be solved. Existing scheduling states outside the domain are only read as boundary scheduling states when cross-domain constraints are required, thus preserving existing scheduling results that are not included in the initial incremental adjustment domain.
[0066] This example establishes scheduling variables only for the initial incremental adjustment domain and extracts scheduling constraints related to local scheduling. At the same time, it uses cross-cycle scheduling states and boundary scheduling states to maintain the constraint relationship between local scheduling and historical states, as well as existing scheduling outside the domain. This allows the incremental constraint model to avoid using the scheduling states of the entire scheduling cycle as free variables in the solution, reducing the scheduling variables and constraint range involved in this round of solution, and avoiding the separation between local adjustments and existing scheduling states outside the domain.
[0067] As an example, the steps of determining the off-domain scheduling nodes that participate in the scheduling constraints along with the scheduling variables, reading the scheduling status corresponding to the off-domain scheduling nodes from the current scheduling results, and using the scheduling status as the boundary scheduling status include: determining the boundary scheduling nodes located at the date boundary or scheduling time period boundary in the initial incremental adjustment domain; determining the off-domain scheduling nodes that participate in the corresponding constraints along with the boundary scheduling nodes and are located outside the initial incremental adjustment domain, based on the shift connection constraints and the continuous work constraints; reading the shift status and work status corresponding to the off-domain scheduling nodes from the current scheduling results to form a scheduling status; and determining the boundary scheduling status based on the scheduling status while keeping the current scheduling results corresponding to the off-domain scheduling nodes unchanged, using the boundary scheduling status as the constraint input for the shift connection constraints and the continuous work constraints.
[0068] It should be noted that the boundary scheduling node refers to the scheduling node in the initial incremental adjustment domain that is located at the edge of the date range or the edge of the scheduling period range and has a shift connection or continuous work relationship with the existing scheduling status outside the adjustment domain; the shift status refers to the type of shift that the employee undertakes in the corresponding scheduling period, which may include day shift, afternoon shift, night shift and rest; the work status refers to the historical status used to characterize whether the employee is in a working state on the corresponding date and related to continuous work, which may include the number of consecutive working days and rest status.
[0069] Understandably, the boundary locations are first determined based on the dates and scheduling periods covered by the initial incremental adjustment domain. For initial incremental adjustment domains that continuously cover multiple dates, the scheduling nodes with scheduling constraints related to dates outside the domain between the earliest and latest dates are determined as date boundary scheduling nodes. For cases covering only a portion of scheduling periods, the scheduling nodes with scheduling constraints related to the preceding or following scheduling period outside the domain are determined as scheduling period boundary scheduling nodes. The determination of boundary scheduling nodes is based on the existence of shift connection constraints or continuous work constraints that cross the boundary of the initial incremental adjustment domain; boundary locations unrelated to scheduling within the domain do not need to be included in the processing.
[0070] Then, based on shift connection constraints, the existing shift nodes adjacent to the boundary shift node are checked, and based on continuous work constraints, the existing shift nodes that are continuously working with the boundary shift node are checked. When the corresponding shift node is outside the initial incremental adjustment domain, the corresponding shift node is determined as an out-of-domain shift node. For example, if the initial incremental adjustment domain covers the 10th to the 12th of a month, the shift node corresponding to employee A's day shift on the 10th belongs to the initial incremental adjustment domain, while the night shift on the 9th is outside the adjustment domain. If the night shift on the 9th and the day shift on the 10th need to participate in the shift connection judgment together, then the shift node corresponding to the night shift on the 9th is designated as an out-of-domain shift node.
[0071] The shift status and work status corresponding to the shift nodes outside the current scheduling results are read from the current scheduling results to form the scheduling status. Taking the above situation as an example, the night shift status corresponding to employee A on the evening of the 9th is read, and the night shift status is used together with the scheduling variable corresponding to the 10th to determine the shift connection relationship; for continuous work constraints, if employee A has worked continuously for several days before the start of the initial incremental adjustment domain, the work status corresponding to the continuous work before the boundary is read, and the continuous work status is used together with the scheduling variable within the adjustment domain to determine whether the continuous work status meets the scheduling constraints.
[0072] External scheduling nodes are only used to provide existing scheduling information outside the initial incremental adjustment domain boundary. They maintain the current scheduling result unchanged in the current round and are not converted into scheduling variables that can be reassigned. Boundary scheduling states are formed based on the read shift status and work status, and these boundary scheduling states are used as known inputs for shift continuity constraints and continuous work constraints. This allows constraint judgment to simultaneously consider the undetermined scheduling status within the adjustment domain and the existing scheduling status outside the adjustment domain.
[0073] Regarding cross-week workday limits, if the initial incremental adjustment domain crosses a week boundary or is located in the middle of a natural week, existing work states outside the adjustment domain within the same natural week can be read and used as week boundary scheduling states in determining the number of workdays. For example, if the initial incremental adjustment domain starts on Wednesday, the work states already formed on Monday and Tuesday can be read and used together with scheduling variables after Wednesday to determine the number of workdays for the current natural week, while the existing scheduling states on Monday and Tuesday remain unchanged.
[0074] This example identifies the off-domain scheduling nodes at the boundary of the initial incremental adjustment domain that participate in the constraints together with the scheduling within the domain. It then uses the existing shift status and work status outside the domain as boundary scheduling status inputs for shift connection constraints and continuous work constraints. This allows the local scheduling solution to retain the constraints of the existing scheduling status on both sides of the adjustment domain on the current scheduling, while avoiding resolving the off-domain scheduling nodes as free variables, thus reducing the impact of local adjustments on the original scheduling results.
[0075] As an example, the steps of expanding the initial incremental adjustment domain along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint when the solution state is infeasible, resolving the incremental constraint model based on the expanded incremental adjustment domain, and updating the current scheduling result or generating constraint conflict data according to the solution result include: obtaining the infeasible constraint that causes the incremental constraint model to be infeasible, determining the constraint type and conflict node corresponding to the infeasible constraint; when the constraint type is a job resource restriction, determining the scheduling node outside the associated domain along the scheduling constraint relationship between the job and the candidate scheduling node according to the job corresponding to the conflict node. When the constraint type is a scheduling time limit, based on the employees corresponding to the conflict nodes, the scheduling nodes outside the associated domain are determined along the scheduling constraint relationship between different scheduling time periods of the same employee; the scheduling nodes outside the associated domain are added to the initial incremental adjustment domain to obtain the expanded incremental adjustment domain, and the incremental constraint model is resolved based on the expanded incremental adjustment domain; when the solution state of the resolved model is feasible, the current scheduling result is updated; when the solution state of the resolved model is infeasible and there are new scheduling nodes outside the associated domain, the incremental adjustment domain is expanded again; when there are no new scheduling nodes outside the associated domain, constraint conflict data is generated.
[0076] It should be noted that infeasible constraints refer to scheduling constraints directly related to the infeasible state when the incremental constraint model cannot obtain feasible scheduling results; conflict nodes refer to scheduling nodes corresponding to positions, employees, dates, or scheduling periods that participate in infeasible constraints; position resource constraints refer to constraints caused by insufficient number of personnel covered by the position or insufficient number of employees who meet the position's certification requirements; scheduling sequence constraints refer to constraints caused by continuous work or shift connections between different scheduling periods for the same employee; and scheduling nodes outside the associated domain refer to scheduling nodes located outside the current incremental adjustment domain that can be associated with conflict nodes along the corresponding scheduling constraint relationship and can be included in the subsequent re-solution scope.
[0077] Understandably, when the solution state of the incremental constraint model is infeasible, the constraints that cause the current model to be infeasible are first identified. When constructing the incremental constraint model, constraint identifiers are configured for scheduling constraints involved in conflict identification. These identifiers are associated with the corresponding constraint type and the positions, employees, dates, and scheduling periods involved in the constraint. After the solver returns an infeasible state, the conflict constraint information provided by the solver is read, the infeasible constraints are located based on the constraint identifiers, and the constraint type and conflict node are determined from the corresponding constraint records. When using the CP-SAT solver, hypothetical variables can be configured for scheduling constraints that require conflict identification. These hypothetical variables control whether the corresponding scheduling constraints are used as current feasibility judgment conditions. When the current incremental constraint model has optimization terms and infeasible constraints need to be identified, a feasibility solution model without optimization terms can be built based on the same scheduling variables and the scheduling constraints that must be satisfied. When this feasibility solution model returns an INFEASIBLE state, the corresponding unsatisfiable core is read, and the hypothetical variables in the unsatisfiable core are mapped to the corresponding constraint identifiers. The unsatisfiable core is used to determine a set of constraints sufficient to cause the current model to be infeasible; it is not required to correspond to a minimum set of unsatisfiable constraints. When using other constraint solvers, the identification can be completed using the set of conflicting constraints or equivalent infeasible constraint information returned by the solver.
[0078] After determining the constraint type, the scheduling nodes that need to be expanded are determined according to the association direction corresponding to different constraints. When the constraint type is a job resource constraint, based on the job and corresponding scheduling time in the conflicting node, the scheduling constraint relationship between the job and the candidate scheduling node is queried, and scheduling nodes outside the current incremental adjustment domain that can participate in the scheduling of the job are searched. For example, when the number of people covered by the job is insufficient or the number of valid certified employees is insufficient, the current infeasibility status reflects that the personnel resources available for reconfiguration of the conflicting job are insufficient. Therefore, it is necessary to expand the scope of personnel who can participate in the rescheduling along the "job - candidate scheduling node" direction, rather than prioritizing changing the scheduling status of the same employee in other time periods.
[0079] When the constraint type is a scheduling sequence constraint, based on the employee corresponding to the conflicting node, query the scheduling nodes of that employee before or after the conflicting scheduling period. Nodes that participate in continuous work constraints or shift connection constraints with the current conflict and are located outside the current incremental adjustment domain are identified as scheduling nodes outside the associated domain. Such infeasible states originate from the temporal relationship between the preceding and following scheduling states of the same employee. Therefore, expanding along the direction of "same employee - adjacent scheduling period" can include the preceding or subsequent scheduling states that caused the current time sequence conflict in the scope of resolving.
[0080] When the infeasible constraints identified in the current round include multiple constraint types, the scheduling nodes outside the associated domain are determined according to the scheduling constraint relationship corresponding to each constraint type. The obtained scheduling nodes outside the associated domain are deduplicated and merged before being added to the current incremental adjustment domain.
[0081] When a candidate employee corresponding to a job resource constraint has already taken on another job on the same date and during the same scheduling period, the scheduling node corresponding to the target job and the scheduling node corresponding to the current job are both included in the incremental adjustment domain. This allows the candidate employee's original job status and target job status to be reconfigured in the same round of incremental solution. The resulting original job coverage conflict can be further expanded in subsequent solutions according to the corresponding constraint type.
[0082] The obtained out-of-domain scheduling nodes are added to the current incremental adjustment domain to form an expanded incremental adjustment domain. Then, the scheduling variables, related scheduling constraints, and boundary scheduling states involved in the solution are updated according to the expanded scope, and the incremental constraint model is solved again. If a feasible state is obtained after resolving, the solution result is written into the current scheduling result; if the resolving is still infeasible, new infeasible constraints and constraint types are identified again according to the conflict constraint information of the current round. Therefore, the expansion direction can change in different rounds. For example, in the first round, due to the limitation of job resources, the expansion is along the direction of candidate employees. After the expansion, due to the shift connection limitation of the newly added employees, the second round can switch to expanding along the direction of the adjacent scheduling time of the employee.
[0083] For example, on the 12th of a certain month, due to increased sample load, the day shift position A needs to add more employees to participate in processing. The initial incremental adjustment domain only includes the scheduling nodes directly related to position A for the day shift on the 12th. During the first solution, it was found that the number of employees in the domain who meet the certificate requirements for position A is insufficient, and the model returned an infeasible state. Based on the infeasibility constraint, this round is determined to be a position resource constraint. By searching along the relationship between position A and candidate scheduling nodes, the scheduling node corresponding to employee B for the day shift on the 12th, which is outside the adjustment domain, is found. This node is added to the incremental adjustment domain, completing the first domain expansion. When solving again after the first domain expansion, although employee B meets the certificate requirements for position A, employee B has already been scheduled for a night shift on the evening of the 11th. The day shift on the 12th and the night shift on the evening of the 11th do not meet the current shift connection constraint, so the model returned to an infeasible state again. This round of infeasibility constraint is a scheduling time constraint. Based on querying employee B along adjacent scheduling time periods, the scheduling node corresponding to employee B for the evening of the 11th is added to the adjustment range, completing the second domain expansion. When solving again after the second domain expansion, if the staffing configuration on the evening of the 11th still meets the corresponding constraints after adjusting the scheduling status of employee B, then the scheduling status of employee B on the evening of the 11th and the day shift of the 12th can be reconfigured so that job A on the day shift of the 12th can obtain the personnel that meet the conditions and obtain a feasible solution result. This completes the process of "initial local solution - domain expansion in the direction of job resources - infeasibility again - domain expansion in the direction of scheduling time sequence - solving again".
[0084] Please refer to Figure 3 , Figure 3This diagram illustrates the constraint conflict-driven incremental adjustment domain expansion provided in the first embodiment of the scheduling incremental adjustment method for specimen load fluctuations in laboratory departments, as described in this application. The diagram shows the process of gradually expanding and resolving the initial incremental adjustment domain based on constraint conflicts when local solutions are infeasible. First, a local solution is performed based on the initial incremental adjustment domain. When a local solution fails to yield a feasible result, infeasible constraints and corresponding conflict nodes that cause the current solution to be infeasible are identified, and the subsequent expansion direction is determined based on the type of infeasible constraint. When the constraint type is a job resource constraint, the adjustment range is expanded along the scheduling constraint relationship between conflicting jobs and candidate scheduling nodes, incorporating candidate scheduling nodes related to the corresponding jobs but located outside the current adjustment domain into the incremental adjustment domain. When the constraint type is a scheduling time sequence constraint, the adjustment range is expanded along the conflicting personnel... The adjustment range of the scheduling constraint relationship between the employee and adjacent scheduling periods is expanded by including the off-domain scheduling nodes corresponding to the same employee in the relevant scheduling periods into the incremental adjustment domain. After the domain expansion is completed, the incremental constraint model is reconstructed and solved based on the expanded incremental adjustment domain, and branch processing is performed according to the state of the re-solved model. When the solution state is feasible, the current scheduling result is updated according to the solution result. When the solution state is still infeasible and a new related off-domain scheduling node can be identified, the process of identifying infeasible constraints and conflict nodes is returned. The adjustment range is expanded again according to the constraint type of the current round. When there is no new related off-domain scheduling node, the domain expansion is stopped and constraint conflict data is generated. This forms an iterative processing process with infeasible constraint identification, constraint type determination, corresponding direction domain expansion, and incremental model re-solved model as the core.
[0085] In this example, a new associated scheduling node outside the domain refers to an associated scheduling node that is located within the range jointly defined by the preset scheduling cycle boundary and the preset maximum expansion range, and has not yet been included in the incremental adjustment domain; scheduling nodes outside the corresponding range are not considered as new associated scheduling nodes outside the domain.
[0086] For multi-round domain expansion, each time infeasibility is re-solved, the infeasibility constraints of the current round are re-identified, and nodes are not added directly along the expansion direction of the previous round. When a new scheduling node outside the domain cannot be found from the existing scheduling constraint relationship based on the current infeasibility constraint, the expansion stops, and constraint conflict data is generated based on the infeasibility constraint, conflicting nodes, and corresponding constraint types. A preset scheduling cycle boundary can also be set to limit the domain expansion range. The preset scheduling cycle boundary can be the start and end dates covered by the current scheduling result, such as the start and end dates of the current monthly scheduling or the current rolling scheduling cycle. When the association continues to point outside this date range, the corresponding node is no longer added to the current incremental adjustment domain, and constraint conflict data is generated based on the current infeasibility constraint.
[0087] This example identifies infeasible constraints in the local solution and expands the incremental adjustment domain according to the different relationships corresponding to job resource constraints and scheduling time constraints. This allows new scheduling variables to be added to the solution scope round by round around the actual conflict. After each round of expansion, the current infeasible constraints are re-identified. It can also adjust the direction of subsequent domain expansion when the cause of the conflict changes, avoiding directly including the entire scheduling cycle in the solution after the local solution fails. At the same time, it retains the corresponding constraint conflict information when it is impossible to continue expanding.
[0088] As an example, the steps of updating the current scheduling result when the re-solved solution state is feasible, expanding the incremental adjustment domain again when the re-solved solution state is infeasible and there are new scheduling nodes outside the associated domain, and generating constraint conflict data when there are no new scheduling nodes outside the associated domain include: determining the corresponding solution result according to the re-solved solution state; updating the current scheduling result according to the solution result when the solution state is feasible; and re-obtaining the infeasible constraints that cause the incremental constraint model to be infeasible when the solution state is infeasible, and expanding the incremental adjustment domain again according to the infeasible constraints. The constraint type and conflict node determine the new scheduling node outside the associated domain; when the new scheduling node outside the associated domain exists, the new scheduling node outside the associated domain is added to the incremental adjustment domain to obtain a further expanded incremental adjustment domain, and the incremental constraint model is reconstructed and solved based on the further expanded incremental adjustment domain; the current scheduling result is updated or the incremental adjustment domain is expanded according to the solution state of the reconstructed incremental constraint model until a feasible solution state is obtained or no new scheduling node outside the associated domain exists, and constraint conflict data is generated when no new scheduling node outside the associated domain exists.
[0089] It should be noted that the expanded incremental adjustment domain refers to the scheduling adjustment range formed by adding new scheduling nodes outside the associated domain based on the infeasible constraints re-identified in the current round, on the basis of the previous round of incremental adjustment domain. The new scheduling nodes outside the associated domain retain the aforementioned meaning.
[0090] Understandably, after each round of re-solving, the corresponding solution status is read. When the solution status is feasible, the solution values of each scheduling variable in the current incremental adjustment domain are obtained, and the changed scheduling status is written to the corresponding position in the current scheduling result. Scheduling nodes that did not participate in the current round of solving continue to maintain their original status, thus ending this incremental adjustment.
[0091] When the solution status is infeasible, the infeasible constraints identified in the previous round are not reused. Instead, new infeasible constraints are obtained from the incremental constraint model reconstructed for the current round. Specifically, based on the conflict constraint information returned by the current solver and the constraint identifier, the constraint type and conflict node corresponding to the infeasible constraint in this round are determined. Then, new related off-domain scheduling nodes are determined according to the current constraint type. For example, if the job resource constraint indicates insufficient personnel resources for scheduling, new nodes are searched along the relationship between conflicting jobs and candidate scheduling nodes. If the scheduling sequence constraint indicates a conflict between the scheduling statuses of the same employee, new nodes are searched along the relationship between different scheduling periods of the conflicting employee.
[0092] When new scheduling nodes outside the associated domain exist, these nodes are added to the current incremental adjustment domain, forming a further expanded incremental adjustment domain. After the domain expansion, corresponding scheduling variables are added according to the new adjustment range, scheduling constraints related to the new variables are re-extracted, and the adjustment domain boundaries are re-identified. The new boundary scheduling status is then read from the current scheduling results. Nodes that were originally outside the domain but are now included in the adjustment domain change from boundary status to scheduling variables that can participate in the current round of reconfiguration. After completing the above updates, the incremental constraint model is reconstructed and solved.
[0093] The expansion direction in different rounds is not required to be consistent, but is determined by the infeasible constraints that actually appear after each round of resolving. For example, if there is a resource constraint for position A due to insufficient candidate employees who meet the certification requirements during the first round of resolving, then the scheduling node corresponding to employee B is added along the relationship between position A and the candidate scheduling nodes. After expanding the domain and resolving, if employee B already has a night shift scheduled in the previous period, causing the current shift to not meet the shift connection constraint with the previous shift, then the infeasible constraint obtained again in the second round becomes the scheduling time constraint. At this time, the node corresponding to the previous period is added to the incremental adjustment domain along the relationship between different scheduling periods of employee B, instead of continuing to add other candidate employees along position A.
[0094] The two previous examples of domain expansion are also applicable to this example. After each domain expansion, the scheduling variables, scheduling constraints, and boundary scheduling states are redefined based on the current increment of the domain, and the next round of processing is determined based on the infeasible constraints obtained from the re-solution.
[0095] During the iteration process, the basic termination condition is the absence of new scheduling nodes outside the associated domain. That is, when no scheduling node not yet included in the incremental adjustment domain can be found along the corresponding scheduling constraint relationship for the current infeasible constraint, the adjustment scope will no longer be expanded, and constraint conflict data will be generated based on the current infeasible constraint, constraint type, and conflicting nodes. Auxiliary termination conditions can also be set, such as the expansion domain reaching the start and end dates of the current scheduling cycle, or the expansion scope reaching a preset maximum expansion range. The preset maximum expansion range can be set according to the actual allowed date range or scheduling cycle length to limit the continuous outward expansion of local adjustments.
[0096] This example re-identifies the current infeasible constraints after each round of resolving infeasibility and determines the corresponding expansion direction based on the new constraint type, enabling the incremental adjustment range to expand round by round as the actual conflict causes change. After each expansion, the scheduling variables, scheduling constraints, and boundary scheduling status are updated synchronously to ensure that the reconstructed incremental constraint model is consistent with the current adjustment range. When the expansion cannot continue, constraint conflict data is output, thereby avoiding the continuous expansion of the scheduling adjustment range along already invalid conflict causes.
[0097] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to the first embodiment described above can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 4 , Figure 4 This is a flowchart illustrating the second embodiment of the scheduling increment adjustment method for fluctuations in the specimen load of laboratory departments according to this application. Step S30 of the scheduling increment adjustment method for fluctuations in the specimen load of laboratory departments includes steps S31 to S34: Step S31: Determine the available processing capacity for each position based on the status of the scheduled employees corresponding to the current scheduling results and the instrument processing capacity data; Step S32: Determine the processing load of each position according to the dynamic workload matrix, compare the processing load of the position with the available processing capacity of the position, and determine the load gap node according to the processing capacity gap. Step S33: Determine the status change node based on the scheduling status change data, and use the load gap node and the status change node as the adjustment source node; Step S34: Based on the task-job relationship and scheduling constraint relationship, determine the associated job node and associated scheduling node from the adjustment source node, and form an initial incremental adjustment domain.
[0098] It should be noted that: "Scheduled employee status" refers to the employees already assigned to the corresponding positions and shifts in the current scheduling results, along with their job skill status, certificate validity status, and current shift status; "Position available processing capacity" refers to the sample processing volume that the corresponding position can handle within the current shift, considering the processing capacity of available personnel and the available processing capacity of associated instruments; "Processing capacity gap" refers to the portion of a position's processing load that exceeds its available processing capacity; "Load gap node" refers to a scheduling position with a processing capacity gap, at least associated with the testing item, date, shift, position, and processing capacity gap; when a position corresponds to multiple testing items, the testing item identifier can be recorded separately in the load gap node, or an index information that can be traced back to the corresponding testing item's load data can be recorded; "Status change node" refers to the node corresponding to the employee, position, or shift that has changed in scheduling status and may affect the current scheduling results; "Associated position node" refers to the position node that forms a task association with the adjustment source node based on the task-position relationship; "Associated scheduling node" refers to the employee scheduling node that forms a scheduling association with the adjustment source node or associated position node based on scheduling constraints.
[0099] Understandably, the process begins by retrieving employees already assigned to each position for the corresponding date and time slot from the current scheduling results. Then, by associating employee scheduling attribute data with their identifiers, the system obtains the assigned employee's job skill status, certificate validity status, and current shift. Job skill status determines whether an employee is capable of fulfilling the current job responsibilities; certificate validity status determines whether the employee meets the certification requirements for the corresponding scheduling date; and the current shift determines whether the employee has already been assigned to the position and the corresponding time slot. Employees whose job skills do not match or whose certificates have expired on the corresponding date are not considered valid employees for that position during the current time slot.
[0100] Based on the available staff, determine the personnel processing capacity corresponding to each position, then read the instrument processing capacity data related to the tasks handled by that position to obtain the instrument processing capacity within the corresponding shift. Based on the position's location in the inspection process and the processing relationship between personnel processing and instrument processing, determine whether the instrument processing capacity constitutes a limiting condition for the position's processing capacity. When personnel processing and instrument processing together constitute the necessary serial processing flow for completing the corresponding position's task, determine the position's available processing capacity based on the step limiting the current processing volume. When personnel processing can be completed independently and form a buffer for inspection, determine the corresponding position's available processing capacity based on personnel processing capacity. When multiple instruments can handle the same inspection task in parallel, first summarize the processing capacity of each available instrument within the corresponding shift.
[0101] Next, the processing load for each date, shift, and position is read from the dynamic workload matrix and compared with the available processing capacity of the corresponding position. When the processing load of a position exceeds its available processing capacity, the excess is recorded as a processing capacity gap, and a load gap node is generated with the corresponding testing item, date, shift, and position. Load gap nodes can be stored using data records containing testing item identifiers, date identifiers, shift identifiers, position identifiers, and processing capacity gaps. When a position's processing capacity gap is formed by multiple testing items, the corresponding testing item identifiers can be recorded separately, or index information that can be traced back to the corresponding testing item's load data can be recorded. For example, if the processing load of position A corresponding to testing item A increases from 90 to 130 on a certain morning, while the available processing capacity of the position is 110, then position A forms a load gap node on that morning, with a corresponding processing capacity gap of 20.
[0102] For changes in scheduling status, the system reads the scheduling status change data and matches it with the current scheduling results based on the employee, date, scheduling time period, or job information to determine the scheduling positions affected by the change. Scheduling status change data can include changes in leave status, certificate status, skill status, and scheduling adjustment instructions. For example, if employee A is already scheduled for job B on a certain afternoon in the current scheduling results, and employee A adds a leave status on that afternoon, the scheduling position corresponding to employee A is determined as the status change node. Similarly, if an employee's certificate expires on a certain scheduling date, the scheduling position of that employee in the corresponding certified job is determined as the status change node. By unifying load gap nodes and status change nodes as adjustment source nodes, both changes in sample load and personnel scheduling status can trigger subsequent determination of the local scheduling scope.
[0103] Furthermore, the task-position relationship can be represented by an association record between the testing task identifier and the position identifier, used to determine the position undertaking the corresponding testing task; the scheduling constraint relationship can be represented by an association table or an adjacency relationship, which records the association between the position and the candidate employee who can undertake the position, as well as the association formed by the scheduling rules between different scheduling periods for the same employee. For adjustment source nodes caused by changes in sample load, the associated position nodes affected by the load change are determined according to the corresponding testing task and the task-position relationship, and then the scheduling nodes with scheduling association with the corresponding position are found according to the scheduling constraint relationship; for adjustment source nodes caused by changes in personnel status, the scheduling constraint relationship is queried according to the employee who changed, the corresponding position, and the scheduling period to determine the position node and scheduling node directly associated with the change.
[0104] Finally, the source node, associated job node, and associated scheduling node are organized according to date, scheduling period, job, and employee relationships to form an initial incremental adjustment domain. The initial incremental adjustment domain only includes the local scheduling nodes directly affected by the current change and those with scheduling relationships with it. For example, if the sample volume for a testing project increases on a certain morning, causing a load gap for job A, the initial incremental adjustment domain can be formed by expanding from the load gap node corresponding to job A to the scheduling nodes of associated jobs and related employees. If employee B takes a temporary leave of absence, a status change node is formed from employee B's original scheduling position, and then the local nodes that need to be adjusted are determined according to the corresponding job and related scheduling relationships.
[0105] This embodiment compares the processing load of a job with the available processing capacity of the job determined by combining personnel and instrument status. It can locate the change in sample load to the scheduling position where there is an actual processing capacity gap. At the same time, it locates the scheduling position corresponding to the change in personnel status based on the scheduling status change data. Then, it forms an initial incremental adjustment domain along the task-job relationship and scheduling constraint relationship. This allows subsequent scheduling adjustments to prioritize the jobs and scheduling nodes directly related to the current change, reducing the scope of irrelevant scheduling positions participating in the re-solution.
[0106] As an example, the step of determining the available processing capacity of each position based on the status of the scheduled employees corresponding to the current scheduling results and the instrument processing capacity data includes: determining the scheduled employees for each position within the corresponding scheduling time period based on the current scheduling results; determining the job skill status and certificate validity status of each scheduled employee based on employee scheduling attribute data to obtain the scheduled employee status; filtering valid employees who meet the requirements of the corresponding position based on the scheduled employee status; determining the available processing capacity of personnel based on the job skill status of the valid employees; determining the testing instruments associated with the corresponding position and the processing relationship between personnel processing and instrument processing based on the testing item data; determining the available processing capacity of the testing instruments within the corresponding scheduling time period based on the instrument processing capacity data; and determining the available processing capacity of the position based on the processing relationship, the available processing capacity of personnel, and the available processing capacity of the instrument.
[0107] It should be noted that the status of scheduled employees retains the aforementioned meaning, including at least the employee's current shift, job skill status, and certificate validity status within the corresponding scheduling period; valid employees refer to employees who have been assigned to the target position within the corresponding scheduling period, and whose job skills and certificate status meet the requirements of that position; available personnel processing capacity refers to the workload of personnel processing steps that valid employees can undertake within the corresponding time period; processing relationship refers to the sequential or collaborative relationship between personnel processing steps and instrument processing steps in a testing task, which can include serial processing, parallel processing, and multi-stage processing; available job processing capacity refers to the amount of specimens that can be processed by the corresponding job according to the actual testing process, given the current status of scheduled employees and testing instruments.
[0108] Understandably, the process begins by retrieving employees already assigned to each position within the corresponding time slot from the current scheduling results. Then, by associating employee scheduling attribute data with their identifiers, the system obtains the corresponding employee's job skill status and certificate validity status, thus establishing the assigned employee status. During the filtering process, employees whose job skills meet the current position requirements, whose certificates are valid on the corresponding date, and whose current shift corresponds to the target scheduling time slot are retained as valid employees. Employees who do not meet any of the necessary job requirements are excluded from the list of valid personnel for the current position.
[0109] When determining the available processing capacity based on the number of available employees, it can be determined by the number of available employees, the standard processing time for the corresponding processing step, or the processing volume per unit time obtained from historical statistics, combined with the actual working hours available during the current shift. Different skill levels are only used to distinguish the processing capacity of personnel when the laboratory already has job operation standards, historical processing records, or personnel processing capacity records showing that different skill levels correspond to different processing speeds; when the skill level is only used to indicate job authority, the skill level is used to determine whether an employee can undertake the corresponding job, and is not used to change the processing capacity per unit time.
[0110] Next, based on the testing project data, the testing projects undertaken by the corresponding positions are determined. Then, based on the correlation records between the projects and the instruments, the testing instruments participating in the corresponding testing tasks are determined. The throughput per unit time, the available runtime for the corresponding time period, the current occupancy status, and the maintenance status are read from the instrument processing capacity data. For instruments in a normal operating state, the number of samples that can be processed in the current time period is determined based on the remaining available runtime and throughput per unit time. Time periods already occupied by other testing tasks are not counted repeatedly. Instruments in maintenance, fault, or downtime states are not included in the available processing capacity during the corresponding unavailable time periods. When multiple instruments can process the same testing project in parallel, the processing capacity corresponding to each available instrument can be aggregated.
[0111] The processing relationship between personnel processing and instrument processing is determined based on the actual testing process. For example, when a specimen requires pretreatment and loading by personnel before instrument testing, these two processes are sequential. When multiple instruments process the same type of independent specimens, the corresponding instrument processing processes are parallel. When a test item includes pretreatment, instrument testing, and manual verification, it is a multi-stage process. For situations where tasks must be completed sequentially and the completion status of the corresponding personnel is directly limited by the instrument processing process, the available processing capacity of a position is limited by the insufficient processing capacity of the corresponding process. For processes that can handle the same processing task in parallel, the parallel processing capacity can be summarized first, and then combined with the sequential processes to determine the overall processing capacity. For pre-instrument personnel processing processes that can be completed independently and form a buffer for testing, the available processing capacity of a position can be determined based on the available personnel processing capacity, without using the subsequent instrument processing capacity as the upper limit of the position's capacity. Therefore, whether the available instrument processing capacity is included in the determination of the available processing capacity of a position needs to be determined based on the position's location in the actual testing process and the processing relationship between personnel processing and instrument processing.
[0112] For example, during a certain shift, employee A and employee B are already assigned to position A. Both employees meet the job skill and certification requirements. Based on the department's existing processing records, the two of them can collectively complete the pretreatment and loading of 120 specimens during this shift. The testing task corresponding to position A requires testing by instrument X. Under normal conditions, instrument X can process 150 specimens during this shift, but other testing tasks are already occupying the equivalent of 30 specimens of processing capacity. Therefore, the instrument's current available processing capacity is 120 specimens. If the current testing process requires specimens to undergo manual pretreatment and instrument testing sequentially, then the number of specimens that position A can complete completely during this shift is 120 specimens. Therefore, the available processing capacity for position A is 120 specimens. If instrument X's current available processing capacity drops to 90 units due to maintenance, and the personnel processing capacity remains at 120 units, then instrument testing becomes the limiting link in the current sequential process, and the available processing capacity of the work station is correspondingly 90 units. If there is another instrument Y that can perform the same testing task in parallel and can provide a processing capacity of 30 units, then the two instruments can process a total of 120 units, and the available processing capacity of the work station is re-determined to 120 units by the combined efforts of the personnel processing link and the parallel instrument processing link.
[0113] This example selects effective employees who actually meet the job skills and certification requirements from the current scheduling results, and determines the available processing capacity of the job by combining the personnel processing capacity with business basis, the actual available processing capacity of the testing instruments, and the actual processing relationship between personnel and instrument processes. The resulting available processing capacity reflects the common constraints between the current staffing, instrument operating status, and inspection process, providing a more reasonable basis for comparison in subsequent judgments on whether the job processing load exceeds the existing processing capacity.
[0114] As an example, the step of determining associated job nodes and associated scheduling nodes from the adjustment source node based on task-job relationships and scheduling constraints, and forming an initial incremental adjustment domain, includes: for load gap nodes in the adjustment source node, determining a first associated job node from the task-job relationships based on the detection items and scheduling periods corresponding to the load gap node; determining a first associated scheduling node that meets the corresponding job conditions from the scheduling constraints based on the skill requirements and certificate requirements corresponding to the first associated job node; for state change nodes in the adjustment source node, determining a second associated job node and a second associated scheduling node that have job or time-series association with the state change node based on the scheduling constraints; using the first associated job node and the second associated job node as associated job nodes, and using the first associated scheduling node and the second associated scheduling node as associated scheduling nodes, forming an initial incremental adjustment domain based on the adjustment source node, the associated job node, and the associated scheduling node.
[0115] It should be noted that the first associated job node refers to the job node determined by the detection items and scheduling periods corresponding to the load gap node through task-job relationships, and can be recorded in the form of "job - date - scheduling period"; the first associated scheduling node refers to the candidate scheduling node corresponding to the first associated job node and meeting the job scheduling conditions, and can be recorded in the form of "employee - date - scheduling period - job"; the second associated job node refers to the job node that has a job association with the status change node; the second associated scheduling node refers to the scheduling node that has a job association or time sequence association with the status change node. Job association refers to the scheduling association formed between an employee and the job they can undertake; time sequence association can include the continuous work association between adjacent dates for the same employee and the shift connection association between adjacent shifts.
[0116] Understandably, for load gap nodes in the source nodes, the detection items, dates, and shift schedules recorded in the load gap node records are read. Based on the task-job relationship, the job responsible for handling the corresponding detection item is queried, and the query results are combined with the corresponding date and shift schedule to form the first associated job node. For example, if a detection item creates a load gap on the morning of the 12th, and the task-job relationship record shows that the detection item is handled by job A, then the first associated job node corresponding to "job A—12th—morning" is formed. When a detection item requires multiple jobs to participate sequentially, corresponding job nodes can be formed separately for each job.
[0117] Then, based on the professional group requirements, job skill requirements, and certificate requirements of the corresponding job at the first associated job node, employees who can undertake the job are found from the scheduling constraints. This is then further filtered by considering the employee's current scheduling status on the corresponding date and during the scheduled time period. If an employee's professional group meets the job configuration requirements, they possess the corresponding job skills, and for jobs requiring certification, the certificate is valid on the corresponding date, and their current scheduling status allows them to participate in the scheduling for that time period, then the employee's corresponding "Employee—Date—Schedule Time Period—Job" node is determined as the first associated scheduling node. Employees with existing shifts incompatible with the target scheduling time period, or whose current status prevents them from participating in the corresponding job's scheduling, are not considered as the current first associated scheduling node.
[0118] For adjusting the status change node in the source node, first locate the current scheduling position based on the employee, date, scheduling period, and original job in the status change data, and then query the scheduling constraints. If the employee status change affects the job already being performed, such as the employee taking temporary leave, certificate expiring, or job skill status changing, then the node formed by the corresponding job on the current date and scheduling period is determined as the second associated job node, and a scheduling node that can replace the employee in the corresponding job is found; if the employee status change also affects the continuous work or shift connection between the preceding and following scheduling periods, then the adjacent scheduling nodes that have a direct temporal constraint relationship with the current node are determined as the second associated scheduling nodes.
[0119] For example, if employee A was originally scheduled to take on position B on the morning of the 15th, but the scheduling status change data shows that employee A is off work on the morning of the 15th, then employee A's original scheduling node for that period becomes a status change node, and position B becomes a second associated position node on the morning of the 15th. Based on the scheduling constraints between position B and candidate employees, the corresponding scheduling nodes for employees B and C who meet the position requirements can be further determined. If employee A's status change also affects the shift connection judgment between the evening of the 14th and the morning of the 15th, then the scheduling node that has a direct shift connection relationship with this status change node can be taken as the second associated scheduling node, but the recursive expansion along this node to more distant dates will not continue.
[0120] Finally, the first and second associated job nodes are grouped into the associated job node set, and the first and second associated scheduling nodes are grouped into the associated scheduling node set, forming the initial incremental adjustment domain together with the corresponding adjustment source node. The initial incremental adjustment domain can be represented by a set of nodes and the relationships between them, storing the date, scheduling period, job, and employee scheduling nodes required for the first local solution in this round. In the initial stage, only nodes with direct task, job, or temporal relationships with the adjustment source node are included; the relationships are not repeatedly propagated along newly added nodes to avoid expanding the initial incremental adjustment domain to the entire scheduling cycle before any solution conflicts occur. Whether further expansion of the adjustment scope is needed later is determined based on the local solution results.
[0121] Please refer to Figure 5 , Figure 5 This diagram illustrates the relationship between the adjustment source node and the initial incremental adjustment domain, provided in the second embodiment of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments according to this application. The diagram shows the process of determining associated job nodes and associated scheduling nodes for different types of adjustment source nodes, and forming the initial incremental adjustment domain accordingly. Employee B – 12th – Day Shift – Job B represents an example of job association; Employee A – 11th – Night Shift represents an example of time-series association. The adjustment source nodes include load gap nodes and status change nodes. For load gap nodes, the diagram uses the example of a load gap in job A during the 12th day shift for testing item A. Based on the task-job relationship, the first associated job node is determined, forming associated job nodes: Node 1 corresponds to "Job A – 12th – Day Shift", and Node 2 corresponds to "Job B – 12th – Day Shift". For status change nodes, the diagram uses the example of a status change in job B during the 12th day shift for employee A. Based on scheduling constraints, the second associated job node and the second associated scheduling node are determined. The second associated job node is merged into the associated job node, and the second associated scheduling node is merged into the associated scheduling node. Node 1 in the associated scheduling nodes corresponds to "Employee B - 12th - Day Shift - Position B", which is used to represent a candidate scheduling node that is associated with a position with the state change node. Node 2 corresponds to "Employee A - 11th - Night Shift", which is used to represent an adjacent scheduling node that is associated with a time sequence with the state change node. The load gap node, state change node, associated position node, and associated scheduling node together form the initial incremental adjustment domain, which provides the node range for subsequent incremental constraint model establishment and scheduling solution for this local range.
[0122] This example identifies directly related job nodes and scheduling nodes for load gap nodes and status change nodes respectively. This allows insufficient sample processing capacity and changes in personnel scheduling status to be mapped to specific local scheduling ranges according to their respective relationships. By limiting the scope of association propagation in the initial stage, it avoids employees, jobs, and scheduling periods with weak relationships to the current changes from entering incremental solution too early, thus providing a clearly defined initial incremental adjustment domain for subsequent local scheduling processing.
[0123] This application also provides a scheduling increment adjustment device for fluctuating specimen load in laboratory departments. Please refer to [reference needed]. Figure 6 The scheduling increment adjustment device for fluctuations in the specimen load of the laboratory includes: The load generation module 10 is used to generate a dynamic workload matrix based on specimen load data, test item data, instrument processing capacity data, and job configuration data. Status generation module 20 is used to generate cross-cycle scheduling status based on employee scheduling attribute data and historical scheduling data; The range determination module 30 is used to determine the adjustment source node based on the dynamic workload matrix, the current scheduling result and the scheduling status change data, and to determine the initial incremental adjustment domain based on the task-job relationship and scheduling constraint relationship; The incremental solution module 40 is used to construct and solve the incremental constraint model based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain within the initial incremental adjustment domain. The scheduling update module 50 is used to update the current scheduling result based on the solution result when the solution status is feasible. The conflict expansion module 60 is used to expand the initial incremental adjustment domain along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint when the solution state is infeasible, and re-solve the incremental constraint model based on the expanded incremental adjustment domain, and update the current scheduling result or generate constraint conflict data according to the solution result.
[0124] The scheduling increment adjustment device for laboratory specimen load fluctuations provided in this application adopts the scheduling increment adjustment method for laboratory specimen load fluctuations in the above embodiments. It solves the technical problem of determining the local scheduling range that needs adjustment when the laboratory specimen load or scheduling status changes, and expanding the adjustment range based on constraint conflicts when local scheduling is not feasible. Compared with the prior art, the beneficial effects of the scheduling increment adjustment device for laboratory specimen load fluctuations provided in this application are the same as those of the scheduling increment adjustment method for laboratory specimen load fluctuations provided in the above embodiments. Furthermore, other technical features of the scheduling increment adjustment device for laboratory specimen load fluctuations are the same as those disclosed in the above method embodiments, and will not be repeated here.
[0125] This application provides a scheduling incremental adjustment device for fluctuations in the specimen load of a laboratory department. The scheduling incremental adjustment device for fluctuations in the specimen load of a laboratory department includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the scheduling incremental adjustment method for fluctuations in the specimen load of a laboratory department as described in the first embodiment above.
[0126] The following is for reference. Figure 7 The diagram illustrates a structural schematic of a scheduling incremental adjustment device suitable for implementing the embodiments of this application to address fluctuations in the specimen load of a laboratory. The scheduling incremental adjustment device in the embodiments of this application can be a server, desktop computer, laptop computer, or other computing device capable of running scheduling programs and performing related data processing. Figure 7 The device structure shown is only one implementation method, and each hardware component can be configured according to the actual deployment environment.
[0127] like Figure 7As shown, the scheduling increment adjustment device for fluctuating specimen load in the laboratory department may include a processing unit 1001. The processing unit 1001 can perform corresponding data processing according to the program stored in ROM 1002 (Read Only Memory) or the program loaded from storage device 1003 into RAM 1004 (Random Access Memory). The processing unit 1001, ROM 1002, and RAM 1004 are connected via bus 1005, and I / O (Input / Output) interface 1006 is connected to bus 1005. Input device 1007 may include a keyboard, mouse, or touch input device; output device 1008 may include a display; storage device 1003 may include a hard disk or solid-state storage; and communication device 1009 is used for wired or wireless data communication with the scheduling database, laboratory business data source, or other computing devices.
[0128] The scheduling incremental adjustment device for laboratory specimen load fluctuations provided in this application adopts the scheduling incremental adjustment method for laboratory specimen load fluctuations in the above embodiments. It can solve the technical problem of how to determine the local scheduling range that needs to be adjusted when the laboratory specimen load or scheduling status changes, and how to expand the adjustment range according to constraint conflicts when local scheduling is not feasible. Compared with the prior art, the beneficial effects of the scheduling incremental adjustment device for laboratory specimen load fluctuations provided in this application are the same as the beneficial effects of the scheduling incremental adjustment method for laboratory specimen load fluctuations provided in the above embodiments. Moreover, other technical features of the scheduling incremental adjustment device for laboratory specimen load fluctuations are the same as those disclosed in the above method embodiments, and will not be repeated here.
[0129] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, which are used to execute the scheduling increment adjustment method for specimen load fluctuations in the laboratory department as described in the above embodiments.
[0130] The computer-readable storage medium provided in this application can be a tangible medium capable of storing computer programs, such as a hard disk, random access memory, read-only memory, flash memory, optical storage device, or magnetic storage device. When the computer program is executed by a processor, it implements the above-described method for adjusting shift increments to accommodate fluctuations in specimen load in the laboratory department.
[0131] The computer-readable storage medium provided in this application stores computer-readable program instructions (i.e., a computer program) for executing the above-described method for incremental adjustment of scheduling based on fluctuations in laboratory specimen load. This solves the technical problem of determining the local scheduling range that needs adjustment when changes occur in laboratory specimen load or scheduling status, and expanding the adjustment range based on constraint conflicts when local scheduling is not feasible. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the incremental adjustment method for incremental adjustment of laboratory specimen load provided in the above embodiments, and will not be elaborated upon here.
[0132] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A method for adjusting shift schedules to accommodate fluctuations in specimen load in laboratory departments, characterized in that, The method includes: A dynamic workload matrix is generated based on specimen load data, test item data, instrument processing capacity data, and job allocation data. Generate cross-cycle shift status based on employee shift attribute data and historical shift data; The adjustment source node is determined based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data, and the initial incremental adjustment domain is determined based on the task-job relationship and scheduling constraint relationship. Based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain, an incremental constraint model is constructed and solved. When the solution status is feasible, update the current shift schedule result based on the solution result; When the solution status is infeasible, the initial incremental adjustment domain is extended along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint, and the incremental constraint model is resolved based on the extended incremental adjustment domain. The current scheduling result is updated or constraint conflict data is generated according to the solution result.
2. The method as described in claim 1, characterized in that, The steps of determining the adjustment source node based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data, and determining the initial incremental adjustment domain based on task-job relationships and scheduling constraints, include: Based on the status of the scheduled employees corresponding to the current shift schedule and the instrument processing capacity data, determine the available processing capacity for each position. The processing load of each position is determined according to the dynamic workload matrix. The processing load of each position is compared with the available processing capacity of the position. The load gap node is determined according to the processing capacity gap. Based on the shift status change data, the status change node is determined, and the load gap node and the status change node are used as the adjustment source node; Based on the task-job relationship and scheduling constraint relationship, the associated job node and associated scheduling node are determined from the adjustment source node, and an initial incremental adjustment domain is formed.
3. The method as described in claim 2, characterized in that, The step of determining the associated job nodes and associated scheduling nodes from the adjustment source node based on the task-job relationship and scheduling constraint relationship, and forming the initial incremental adjustment domain, includes: For the load gap nodes in the adjustment source nodes, the first associated job node is determined from the task-job relationship based on the detection items and shift schedules corresponding to the load gap nodes. Based on the skill and certificate requirements corresponding to the first associated job node, determine the first associated scheduling node that meets the corresponding job conditions from the scheduling constraint relationship; For the status change node in the adjustment source node, determine the second associated job node and the second associated schedule node that have a job-related or time-related relationship with the status change node according to the scheduling constraint relationship; The first associated job node and the second associated job node are used as associated job nodes, and the first associated scheduling node and the second associated scheduling node are used as associated scheduling nodes. An initial incremental adjustment domain is formed based on the adjustment source node, the associated job node, and the associated scheduling node.
4. The method as described in claim 1, characterized in that, The steps of constructing and solving the incremental constraint model based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain include: Establish scheduling variables based on the employees, dates, shift times, and positions in the initial incremental adjustment domain; Extract the job coverage constraints, certification constraints, shift connection constraints, and continuous work constraints related to the aforementioned scheduling variables, and use the extracted constraints as scheduling constraints; Identify the off-domain scheduling nodes that participate in the scheduling constraints together with the scheduling variables, read the scheduling status corresponding to the off-domain scheduling nodes from the current scheduling results, and use the scheduling status as the boundary scheduling status; An incremental constraint model is constructed and solved based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states.
5. The method as described in claim 1, characterized in that, The steps of expanding the initial incremental adjustment domain along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint when the solution state is infeasible, resolving the incremental constraint model based on the expanded incremental adjustment domain, and updating the current scheduling result or generating constraint conflict data according to the solution result include: Obtain the infeasible constraints that make the incremental constraint model infeasible, and determine the constraint type and conflict node corresponding to the infeasible constraints; When the constraint type is a job resource restriction, the associated off-domain scheduling node is determined according to the job corresponding to the conflict node, along the scheduling constraint relationship between the job and the candidate scheduling node. When the constraint type is a scheduling time limit, the associated off-domain scheduling node is determined based on the employee corresponding to the conflict node, along the scheduling constraint relationship between different scheduling time periods of the same employee. The scheduling nodes outside the associated domain are added to the initial incremental adjustment domain to obtain the expanded incremental adjustment domain, and the incremental constraint model is resolved based on the expanded incremental adjustment domain. When the solution status after resolving is feasible, the current scheduling result is updated. When the solution status after resolving is infeasible and there are new scheduling nodes outside the associated domain, the incremental adjustment domain is expanded again. When there are no new scheduling nodes outside the associated domain, constraint conflict data is generated.
6. The method as described in claim 1, characterized in that, The step of generating a dynamic workload matrix based on specimen load data, testing item data, instrument processing capacity data, and job allocation data includes: The specimen load data is divided according to a preset time granularity. The specimen load data for each time period is aggregated according to the test item data to obtain the specimen processing volume corresponding to different test items in each time period. Based on the test item data and the preset item instrument relationship, determine the test instrument corresponding to each test item, and determine the available processing capacity of the instrument corresponding to each time period based on the instrument processing capacity data. The corresponding positions for each testing item are determined based on the task-position relationship. The corresponding shift time is determined based on the position configuration data. The processing load of each position is determined based on the sample processing volume and the available processing capacity of the instrument. The workload of each job position is arranged according to its job position and shift schedule to generate a dynamic workload matrix.
7. The method according to any one of claims 1 to 6, characterized in that, The steps for generating cross-cycle shift status based on employee shift attribute data and historical shift data include: Determine the job skill status and certificate validity status of each employee based on employee scheduling attribute data; Based on historical scheduling data, determine the previous shift status, continuous work status, and job scheduling records of each employee before the current scheduling cycle; Based on the previous shift status and the continuous work status, determine the shift connection status and continuous work acceptance status of each employee at the start of the current shift cycle. The job skill status, certificate validity status, shift connection status, continuous work acceptance status, and job scheduling record are associated with the current scheduling cycle to generate a cross-cycle scheduling status.
8. A scheduling increment adjustment device for fluctuating specimen load in laboratory departments, characterized in that, The device employs the scheduling increment adjustment method for fluctuating specimen load in laboratory departments as described in any one of claims 1 to 7, and the device comprises: The workload generation module is used to generate a dynamic workload matrix based on specimen workload data, test item data, instrument processing capacity data, and job configuration data. The status generation module is used to generate cross-cycle schedule status based on employee scheduling attribute data and historical scheduling data; The range determination module is used to determine the adjustment source node based on the dynamic workload matrix, the current scheduling results, and the scheduling status change data, and to determine the initial incremental adjustment domain based on the task-job relationship and scheduling constraint relationship. The incremental solution module is used to construct and solve the incremental constraint model based on the scheduling variables, scheduling constraints, cross-cycle scheduling states, and boundary scheduling states that have cross-domain constraint relationships with the initial incremental adjustment domain within the initial incremental adjustment domain. The scheduling update module is used to update the current scheduling result based on the solution result when the solution status is feasible; The conflict expansion module is used to expand the initial incremental adjustment domain along the corresponding scheduling constraint relationship according to the constraint type of the infeasible constraint when the solution state is infeasible, and resolve the incremental constraint model based on the expanded incremental adjustment domain, and update the current scheduling result or generate constraint conflict data according to the solution result.
9. A scheduling increment adjustment device for fluctuating specimen load in laboratory departments, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the scheduling increment adjustment method for specimen load fluctuations in laboratory departments as described in any one of claims 1 to 7.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the scheduling increment adjustment method for specimen load fluctuations in the laboratory department as described in any one of claims 1 to 7.