A multi-elevator dynamic scheduling method and device
Patent Information
- Application Number
- CN202611507354.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-28
- Publication Date
- 2026-10-30
Smart Images

Figure CN123014634A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of warehousing and logistics technology, specifically to a method and equipment for dynamic scheduling of multiple hoists. Background Technology
[0002] Multi-level shuttle systems are widely used in e-commerce, retail, and manufacturing, among other scenarios involving diverse product types and small batches. Upon order arrival, the order management system batches and merges these orders to determine the target set of boxes that need to be shipped out in this batch. These boxes are located on different floors and in different aisles, requiring the shuttle and elevator to work together to complete the outbound operation, thus creating a series of "elevator outbound tasks" to be executed at the system level.
[0003] In a typical multi-level shuttle system, the inbound process is as follows: an external conveyor line delivers boxes to the ground-level temporary storage area. When the elevator is idle and located on the ground level, it receives the inbound boxes and vertically transports them to the target floor, where the shuttle on that floor completes the horizontal transport and shelving. The outbound process is the reverse: the shuttle first retrieves a box from the target location and delivers it to the ground-level temporary storage area. The elevator then transports the box to the ground level, where it is delivered out of the warehouse by the conveyor line. The system typically uses multiple independent elevators, each corresponding to a separate temporary storage area, conveyor line, and vertical aisle. The shuttle only operates on its own floor and does not engage in cross-floor transport.
[0004] However, existing scheduling systems are mostly concentrated in static scenarios or single-machine systems, assuming that all tasks are known before planning. In some application scenarios, such as pharmaceutical logistics and warehousing, there are often real-time task scenarios such as emergency orders and dynamic replenishment. Existing scheduling models often cannot cope with the plan disturbances caused by the random insertion of emergency orders. Summary of the Invention
[0005] In view of this, the purpose of the present invention is to provide a method and device for dynamic scheduling of multiple hoists, so as to solve the problem that the scheduling system in the prior art is difficult to adapt to the real-time operation environment where tasks arrive dynamically.
[0006] According to a first aspect of the present invention, a method for dynamic scheduling of multiple hoists is provided, comprising: S11. Based on the actual working conditions of the multi-lift system, construct a mathematical model architecture for mixed integer programming with the goal of minimizing the maximum completion time of the system. S12. When the multi-lifter system starts up, it receives the regular outbound static task, substitutes the regular outbound static task into the mathematical model architecture, constructs the mathematical model as a constraint framework, and solves to obtain the initial scheduling scheme. S13. Control the multi-lift system to operate according to the current scheduling plan, and monitor trigger events in real time. The trigger events include: receiving a dynamic task or an idle lift module appearing in the multi-lift system. S14. When a triggering event occurs, fix the task nodes that have started service in the current scheduling scheme, and substitute the task nodes that have not started service in the current scheduling scheme and the newly received dynamic tasks into the mathematical model architecture to construct a mathematical model as a constraint framework and solve for a new scheduling scheme. S15. Use the new scheduling scheme as the current scheduling scheme, and re-execute steps S13 to S15 until all tasks are completed.
[0007] Preferably, the constraints of the mathematical model include: The mathematical model inherits the state of the multi-lift system when the triggering event occurs, and fixes the task nodes that have already started serving in the current scheduling scheme; Each task can only be performed by one hoist. The pickup and delivery nodes of each task node are accessed by the assigned elevator, and the service time of the pickup node is before the service time of the delivery node. The elevator starts from a virtual starting point and eventually returns to a virtual ending point. The intermediate node between the virtual starting point and the virtual ending point satisfies flow balance. The service time of the hoist between nodes is continuous; The load on the hoist is within its capacity range; The service time for dynamic tasks is after the arrival time of the dynamic task; The maximum system completion time is the maximum of the completion times of all hoists, and the hoist completion time is the moment when the hoist reaches the virtual endpoint; Each task is completed within the maximum allowed response time; Regular outbound static tasks are executed in wave order.
[0008] Preferably, a mathematical model serves as a constraint framework, and the scheduling scheme is solved, including: Integrate the task nodes that have not yet started service in the current scheduling scheme with the newly received dynamic tasks into a set of tasks to be scheduled; For each hoist, a service node sequence is constructed, and the task nodes that have started service in the current scheduling scheme corresponding to that hoist are inserted into the service node sequence to form a frozen prefix; Insert the pickup node and delivery node of each task in the set of tasks to be scheduled into the service node sequence of the elevator to obtain the initial solution; Within the time budget, perform LNS destruction-repair iteration on the initial solution and output the optimal solution as a new scheduling scheme.
[0009] Preferably, the pickup node and delivery node of each task in the set of tasks to be scheduled are inserted into the service node sequence of the elevator, including: S21. Calculate the urgency value of each task based on the maximum allowed total duration, task arrival time, and arrival time of the current triggering event. S22. For each service node sequence of the elevator, enumerate the pickup insertion position and the delivery insertion position to obtain multiple candidate paths for the elevator. S23. For each candidate path, perform forward simulation constraint verification and retain the candidate paths that pass the verification. S24. Calculate the incremental cost of each candidate path that passes the verification. S25. For each task, calculate the regret value, which is the difference between the optimal incremental cost and the second-best incremental cost; S26. Insert the pickup and delivery nodes of the task with the highest regret value into the service node sequence of the elevator according to the candidate path corresponding to the optimal incremental cost. S27. Remove the inserted tasks from the set of tasks to be scheduled. Repeat steps S21 to S27 until all tasks have been inserted. Obtain and output the initial solution.
[0010] Preferably, the incremental cost of each candidate path that passes the verification is calculated, including: Calculate the completion time of the hoist after the insertion of the candidate path; Calculate the original path completion time of the original service node sequence of the hoist operation; The difference between the completion time after insertion and the completion time of the original path is used as the incremental cost of the candidate path.
[0011] Preferably, within the time budget, the initial solution is subjected to a destruction-repair iteration of the LNS, including: S31. Take the initial solution as the current iteration solution, and take the initial solution as the current historical best solution; S32. Remove a preset number of pickup and delivery nodes corresponding to tasks from the current iterative solution to obtain an incomplete solution; S33. Sort the removed tasks according to their urgency value, and repeat steps S22 to S26 until the removed tasks are reinserted to obtain a complete new solution as the current iteration solution. S34. Use the simulated annealing criterion to determine whether to accept the current iteration solution. If yes, determine whether the current iteration solution is the historical best solution. If yes, then take the current iteration solution as the historical best solution. S35. Repeat steps S32 to S35 until the iteration duration reaches the set time budget. S36. Output the historical best solution.
[0012] Preferably, a predetermined number of pickup and delivery nodes corresponding to tasks are removed from the current iterative solution, including: From the current iterative solution, randomly select and remove a preset number of pickup and delivery nodes corresponding to the tasks; or, Sort by urgency value, and remove the pickup and delivery nodes corresponding to the preset number of tasks with the smallest urgency value from the current iterative solution.
[0013] According to a second aspect of the present invention, a multi-lifter dynamic scheduling device is provided, comprising: The main controller and the memory connected to the main controller; The memory stores program instructions; The main controller is used to execute program instructions stored in the memory and perform any of the methods described above.
[0014] The technical solution provided by this invention may include the following beneficial effects: Understandably, this technical solution allows a multi-lift system to first generate a scheduling plan for routine outbound static tasks. During execution according to this plan, it monitors trigger events in real time. When a trigger event occurs, it freezes task nodes already in service. A mathematical model is then constructed using the task nodes not yet in service and newly received dynamic tasks as a constraint framework to derive a new scheduling plan. The multi-lift system then operates according to this new plan. This technical solution employs an event-triggered rolling scheduling and task freezing mechanism, which can simultaneously adapt to both routine outbound static tasks and dynamic, sudden task scenarios. It ensures that started tasks remain stable and uninterrupted, quickly responds to trigger events related to dynamic tasks and equipment idleness, and rationally allocates lift resources, significantly improving scheduling real-time performance, equipment utilization, and overall system operational efficiency.
[0015] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description
[0016] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0017] Figure 1 This is a schematic diagram illustrating the steps of a dynamic scheduling method for multiple lifts according to an exemplary embodiment; Figure 2 This is a flowchart illustrating an improved large neighborhood search algorithm according to an exemplary embodiment; Figure 3 This is a stability test diagram illustrated according to an exemplary embodiment. Detailed Implementation
[0018] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the invention as detailed in the appended claims.
[0019] To simultaneously handle both the known routine tasks at the start of scheduling and the dynamic tasks arriving continuously during operation, this technical solution employs an event-triggered multi-cycle rolling rescheduling mechanism to dynamically optimize the multi-lift system. During operation, the system does not generate a complete scheduling plan all at once; instead, it performs local re-optimization on tasks that have not yet started executing when critical events occur, while ensuring that ongoing operations are not interrupted.
[0020] In one embodiment, Figure 1 This is a schematic diagram illustrating the steps of a dynamic scheduling method for multiple lifts according to an exemplary embodiment. See also: Figure 1 A method for dynamic scheduling of multiple hoists is provided, including: S11. Based on the actual working conditions of the multi-lift system, construct a mathematical model architecture for mixed integer programming with the goal of minimizing the maximum completion time of the system.
[0021] This step combines the actual working conditions of a multi-lift system, such as parallel operation of multiple lifts, coexistence of regular outbound static tasks and dynamic multi-priority tasks, dual-load capacity limitations, pick-up and delivery timing constraints, and wave priority control. With minimizing the overall maximum completion time of the system as the optimization objective, a mixed integer programming mathematical model architecture adapted to this scheduling scenario is built. This architecture provides a unified goal orientation and constraint rules for task allocation, execution sorting, and service time planning in subsequent scheduling cycles.
[0022] S12. When the multi-lift system starts, it receives regular outbound static tasks, substitutes the regular outbound static tasks into the mathematical model architecture, constructs a mathematical model as a constraint framework, and solves to obtain the initial scheduling scheme.
[0023] This step involves scheduling and planning the routine outbound static tasks. In the initial cycle of the multi-lift system startup, there are only the routine outbound static tasks that were determined before scheduling began. These tasks are substituted into the mathematical model architecture to construct the mathematical model for this cycle, and then solved to obtain the initial scheduling scheme so that the multi-lift system can execute tasks according to the initial scheduling scheme.
[0024] S13. Control the multi-lift system to operate according to the current scheduling plan, and monitor trigger events in real time. The trigger events include: receiving a dynamic task or an idle lift module appearing in the multi-lift system.
[0025] Preferably, each event-triggered scheduling update can be considered as an independent period T, where: , It is the set of cycles consisting of all rolling rescheduling cycles in the entire scheduling process.
[0026] Triggering events fall into two categories: first, new dynamic tasks arriving in the system; and second, batch releases triggered by the availability of idle modules in the system. Whenever either of these events occurs, the system initiates a rescheduling process to re-optimize currently adjustable tasks.
[0027] S14. When a triggering event occurs, fix the task nodes that have started service in the current scheduling scheme, and substitute the task nodes that have not started service in the current scheduling scheme and the newly received dynamic tasks into the mathematical model architecture to construct a mathematical model as a constraint framework, and solve to obtain a new scheduling scheme.
[0028] Let the rescheduling time sequence be: .
[0029] in Indicates the first The start time of a scheduling cycle. Cycle For the initial planning phase, only included Regular outbound static tasks that have already been released; for any ,cycle The generation corresponds to the first triggering event that occurs after the end of the previous cycle, that is: within the time window. Within the system, a new dynamic task arrives, or the system detects the presence of an available lift, thus triggering the release of the next batch to be released.
[0030] During the scheduling period The beginning moment Define the set of tasks that can be re-optimized. for:
[0031] Let e be the arrival time of task i, and e be the hoist e. This represents the start time of service provided by elevator e to pickup node P(i) of task i in the previous cycle (T-1); the formula is expressed as the start time of service for all tasks in the previous cycle (T-1). Tasks that arrived earlier but whose pickup nodes have not yet started service.
[0032] The set filters out two categories of tasks that meet the criteria: ① tasks that arrived in the system before the start of the current cycle; ② tasks that have not started providing services to their pickup nodes; tasks that have already started pickup are frozen and will not participate in this re-optimization.
[0033] The scheduling model within period T uses the lift state at the beginning of the period as the initial condition, and, based on the decision results of the previous period, only applies the set... The tasks in the process are reassigned and sorted.
[0034] In the The start time of each scheduling cycle The previous cycle's scheduling plan up to Task nodes that have already started service and their predetermined execution order are considered frozen and remain unchanged within this cycle; only tasks that have arrived but have not yet started service and have not been frozen are reassigned and reordered. Number the scheduling cycle. This marks the start of the cycle.
[0035] To ensure the feasibility of rolling scheduling between adjacent periods, all in Nodes that have already started providing services, their service start time and corresponding path decisions are within the cycle. The period remains unchanged; therefore, the period Scheduling optimization only takes place after these executed nodes, and adjustments to currently executing jobs are not allowed. Based on this, the cycle... The feasible solution space is determined by two parts: on the one hand, the nodes that have started service and their paths are fixed; on the other hand, decision variables are only opened for tasks that have not yet started service, thus forming a locally adjustable scheduling space under the constraints of a given execution state.
[0036] Under this rolling scheduling framework, all within the interval Newly arrived dynamic tasks, and in Tasks that have been released but not yet started service are all identified by their arrival time parameter. The updates were uniformly incorporated into the set. And optimize them in the same scheduling model.
[0037] For example, in At any moment, if the hoist Currently performing a task The delivery nodes, and the task If the goods have arrived in the system but their pickup node has not yet started service, then within the cycle... In the middle, the task The service time and execution path remain unchanged; the task Then and interval Newly arrived dynamic tasks together form a set , and participate in new scheduling optimization.
[0038] S15. Use the new scheduling scheme as the current scheduling scheme, and re-execute steps S13 to S15 until all tasks are completed.
[0039] In practice, the mathematical model in the above technical solution can be constructed based on the actual operating conditions of the multi-lift system. For example, to facilitate modeling and solving, the following assumptions are made: System Structure Assumptions: The system consists of several independent hoist modules. Each module contains a dual-position hoist and its corresponding vertical aisle and racking. Each vertical aisle interacts with only one hoist, and the modules are physically independent of each other. The ground conveyor line and temporary storage area are independent. Shuttle Car Handling Assumptions: Shuttle cars only operate on their assigned floor, do not cross floors, and serve only one hopper at a time. Task Type and Arrival Assumptions: The task set consists of regular outbound tasks and dynamic tasks. Regular outbound tasks are known at the beginning of the scheduling cycle, forming a static task set; emergency picking, replenishment, and ordinary replenishment / return tasks arrive randomly during system operation, forming a dynamic task set, and their arrival time is considered a known parameter. Time Assumptions: The vertical travel time of the hoist between floors is proportional to the floor height difference. Factors such as hoist acceleration / deceleration and downtime losses are ignored, as are queuing conditions on the ground and floors.
[0040] The objective function of the mathematical model is as follows:
[0041] This is the maximum value among the completion times of all tasks and all hoists within this cycle; Let be the objective function value for the T-th rolling scheduling cycle, used to measure the quality of the scheduling scheme in this cycle.
[0042] The overall meaning of the objective function is to minimize the maximum completion time of the system in the T-th scheduling cycle, while satisfying all constraints, to make the overall completion time of the entire multi-lift system as short as possible, and at the same time achieve load balancing among the multiple lifts.
[0043] The constraints of the mathematical model include: (1) State inheritance and task fixed constraints: The mathematical model inherits the state of the multi-lift system when the triggering event occurs, and fixes the task nodes that have started service in the current scheduling scheme.
[0044] For any period T≥1, the model needs to inherit the system state of the previous period, as shown below:
[0045] in For hoist The virtual starting node is used to characterize the hoist during the scheduling cycle. The initial state at the beginning. During the cycle. In the middle, the virtual starting node The service start time is fixed as This serves as the time reference for the subsequent service sequence of the elevator. In the T-th scheduling cycle, lift e is at the virtual starting node. The start time of service.
[0046] Nodes have already been fixed: Let In the cycle The set of nodes that have already started serving before the start. Let be the moment when hoist e begins service at node n in period (T-1). For all Its service time and execution path are in the cycle The middle remains unchanged.
[0047]
[0048] And if arc In the period (T) 1) The path contains nodes Then the corresponding arc variable in the period The middle is fixed as:
[0049] in, This means that if, during period T, the lift e immediately travels to node v after serving node u, then... .
[0050] (2) Task allocation constraint: Each task can only be executed by one hoist:
[0051] For the assembly of hoists; This indicates that if task i in period T is executed by the lift e, then =1; This is a set of tasks, including regular outbound, emergency picking, emergency replenishment, general replenishment, and return-to-warehouse tasks that are involved in scheduling.
[0052] (3) Node access constraints: the pickup node of each task node and delivery nodes All were accessed by the assigned elevators, and the pickup nodes Service time at delivery node Before the service hours.
[0053] Consistency between pickup nodes and task allocation:
[0054] This indicates that in period T, the elevator e immediately travels to node u after serving node u. The same applies to others; This is a set of task service nodes, consisting of pickup and delivery nodes for all tasks. and Tasks Pick-up and delivery points; The set consisting of all pickup nodes. The set consisting of all delivery nodes. A set of service nodes for the task.
[0055] Consistency between delivery nodes and task allocation:
[0056] For each task, the service of pickup node P(i) must be completed before delivery node D(i) (i.e., "pick up first, then deliver").
[0057]
[0058] when At that time, the above formula degenerates into a strict "take first, send later" constraint.
[0059] (4) Flow balance constraint: The hoist starts from the virtual starting point Departure, and eventual return to the virtual endpoint. The intermediate nodes satisfy flow balance (i.e., the number of arcs entering the node is equal to the number of arcs leaving the node).
[0060] Each hoist starts from the starting point and returns to the ending point:
[0061] Intermediate node flow balancing:
[0062] Hoists cannot return directly to themselves from the same node; self-looping is prohibited.
[0063] To ensure continuous service time for the lift between nodes, the lift starts from the virtual starting point and eventually returns to the virtual ending point, and the intermediate nodes between the virtual starting point and the virtual ending point satisfy flow balance.
[0064] in, For hoist The extended set of nodes; The set of service nodes consisting of all task pickup and delivery nodes. and Elevator The virtual start and virtual end points. Constraints This indicates that the hoist cannot move from the node. Return directly to the node, thus preventing self-loops.
[0065] (5) Time continuity constraint: The service time of the hoist between nodes is continuous.
[0066] When the hoist is at the node Move to node At the node Start time of service Must be greater than or equal to the node Start time of service In addition Service Hours and running time .
[0067] when The pickup node is a temporary storage location on this floor, and the service time includes the time it takes for the shuttle to travel from the storage location to the temporary storage location. :
[0068] This is a routine outbound task (statically known). For urgent picking tasks, This refers to the loading, unloading, and handover time between the temporary storage area on each floor and the hoist. Let be the horizontal transport time of the shuttle corresponding to task i. Let be the horizontal transport distance of the shuttle in task i. This is the time required for the shuttle to transport a unit distance; therefore... For the task The shuttle car horizontal transport time.
[0069] Delivery point is on the ground floor:
[0070] This refers to the loading, unloading, and handover time between the ground floor and the hoist.
[0071] when Pickup point is on the ground floor:
[0072] For the urgent replenishment task, This is a non-urgent replenishment task (normal replenishment). This is a task to return the data to the warehouse.
[0073] The delivery node consists of temporary storage space on this floor plus shuttle delivery to the storage location:
[0074] Along the arc Time constraints during travel:
[0075] (6) Capacity and load constraints: The load of the hoist is within the capacity range.
[0076] The load of the hoist (number of hoppers on the vehicle) cannot exceed the capacity limit (double load position, Q=2); the initial load is 0 (the vehicle is empty when starting from the virtual starting point); the load is updated between nodes: the load increases by 1 when accessing the pickup node, and decreases by 1 when accessing the delivery node.
[0077] Initial load:
[0078] The load (number of hoppers on the vehicle) of the hoist e after completing the service at node n in cycle T.
[0079] Load update (linearization):
[0080]
[0081] The "load change" of the node, where ; . It is a large M constant.
[0082]
[0083] in, This is the set of all task pickup nodes. A collection of all task delivery nodes; and Tasks Pick-up and delivery nodes.
[0084] Upper limit of capacity:
[0085] Q represents the booster capacity.
[0086] (7) Dynamic task arrival constraint: The service time of dynamic tasks (such as emergency orders and replenishment tasks) is after the arrival time of dynamic tasks.
[0087]
[0088] (8) Definition of task and hoist completion time: The maximum completion time of the system is the maximum value of the completion time of all hoists, and the completion time of the hoist is the moment when the hoist reaches the virtual endpoint.
[0089] Task completion time Defined as a delivery node Service end time (i.e., start time) Plus service hours ).
[0090] Hoist completion time Defined as reaching the virtual endpoint At that moment.
[0091] Maximum system completion time It is the maximum completion time of all hoists, used for load balancing.
[0092] Task completion time:
[0093] For period Medium task The completion time (the end time of the delivery node service). .
[0094] Hoist completion time:
[0095] For period Medium hoist Completion time (to the finish line) (moment) .
[0096] Maximum system completion time:
[0097] For period The maximum completion time for all hoists.
[0098] (9) Task time constraints: Each task must be completed within the maximum allowed response time.
[0099]
[0100] in, For the first Tasks in each scheduling cycle The completion time; For the task The arrival time; For the task The maximum allowable time interval from completion to completion, i.e., the maximum allowable response time.
[0101] (10) Wave priority constraint: Regular outbound static tasks are executed in wave order.
[0102] For the same module Any two tasks within ,like ,but:
[0103] (11) Range of variable values, i.e., non-negativity constraint:
[0104]
[0105]
[0106] In a preferred embodiment, the mathematical model serves as a constraint framework, and the scheduling scheme is derived by solving it using an improved large neighborhood search algorithm. See the flowchart below. Figure 2 Specifically, it includes: Integrate the task nodes that have not yet started service in the current scheduling scheme with the newly received dynamic tasks into a set of tasks to be scheduled; for each hoist, construct a service node sequence, and insert the task nodes that have started service in the current scheduling scheme corresponding to that hoist into the service node sequence to form a frozen prefix; insert the pickup node and delivery node of each task in the set of tasks to be scheduled into the service node sequence of the hoist to obtain an initial solution; within the time budget, perform LNS destruction-repair iteration on the initial solution, and output the optimal solution as a new scheduling scheme.
[0107] In this embodiment, the algorithm constructs pickup and delivery paths only for the set of unfrozen tasks in each rolling cycle T. A feasible initial solution is generated using regret insertion: for each task, pickup and delivery insertion position pairs are enumerated, and constraints such as pickup / delivery order and capacity are verified simultaneously through forward time-load recursion. The insertion scheme with the minimum incremental cost is selected. Subsequently, within the time budget, LNS destruction-repair iterations are performed to improve the solution quality. Finally, the cycle-optimal solution is output, and the prefix to be executed is frozen and passed to the next cycle.
[0108] At the rolling moment (At the start of this cycle), the system will collect a "set of tasks to be decided": } in This is the time the task arrives. Each task... It is split into two nodes: pickup node Delivery nodes .
[0109] For each hoist A service node sequence must be determined within the period:
[0110] in It is the starting state node of the cycle (containing the current floor / location and the earliest available time). It is the virtual endpoint node at the end of the cycle.
[0111] To ensure the feasibility of rolling scheduling, the period Inherit the execution state from the previous cycle: for each resource The started but unfinished parts form a frozen prefix (the order cannot be changed), which only applies to... Then, the node segments that have not yet been executed are rearranged and inserted. For any resource path... In addition to the constraints of the mathematical model mentioned above, the following must also be satisfied during forward execution: (1) Order of pickup and delivery constraints:
[0112] This is the position number of the node in the sequence of service nodes of the hoist.
[0113] (2) Temporal continuity (travel + service recursion): Let node The start time of service is Service duration is The travel time is ,but:
[0114] in, This indicates the time when the hoist arrives at node v. Indicates the earliest time when the node can be served. For the hoist at the node The start time of service.
[0115] (3) Capacity constraints: Order the load Delivery load The load along the path is recursively calculated as follows:
[0116] After the hoist completes node v service, the real-time load on the vehicle, The load that node v's predecessor node pred(v) has completed its service, i.e., the load before the hoist reaches node v. Let V be the load change at node v.
[0117] In a preferred embodiment, the technical solution shown in this embodiment includes an initial solution construction stage and an improvement stage.
[0118] In the initial solution construction phase, the pickup node and delivery node of each task in the set of tasks to be scheduled are inserted into the service node sequence of the elevator, including: S21. Calculate the urgency value of each task based on the maximum allowed total duration, task arrival time, and arrival time of the current triggering event.
[0119] This step sorts the tasks by "priority - urgency," where the urgency value can be defined using Slack.
[0120] in, The maximum allowed total duration for task i is the maximum time window from when the task arrives until it must be completed.
[0121] S22. For each elevator's service node sequence, enumerate the pickup insertion position and delivery insertion position to obtain multiple candidate paths for that elevator.
[0122] This step involves enumerating the insertion position pairs.
[0123] For each hoist, the service node sequence (path) Pick-up insertion position Delivery insertion location Candidate paths are obtained. .
[0124] S23. For each candidate path, perform forward simulation constraint verification and retain the candidate paths that pass the verification.
[0125] After enumerating the candidate insertion positions for each hoist, this step recursively verifies the feasibility of each candidate path node by node through forward simulation. It checks whether each candidate path meets the constraints in the above mathematical model, retains only the candidate paths that meet all the constraints, and removes invalid paths that violate the rules.
[0126] S24. Calculate the incremental cost of each candidate path that passes the verification.
[0127] In a preferred embodiment, calculating the incremental cost of each candidate path that passes verification includes: calculating the post-insertion completion time of the elevator running the candidate path; calculating the original path completion time of the elevator running the original service node sequence; and using the difference between the post-insertion completion time and the original path completion time as the incremental cost of the candidate path. This is expressed as:
[0128] in, For incremental costs, The completion time of the candidate path after inserting a new task. To improve the original path completion time of the original service node sequence running on the machine.
[0129] S25. For each task, calculate the regret value, which is the difference between the optimal incremental cost and the suboptimal incremental cost.
[0130] This step utilizes the Regret-2 selection rule to determine the optimal incremental cost for each task to be scheduled. With suboptimal incremental cost The difference between the two is used to obtain the regret value of the task. :
[0131] The regret value is used to quantify the scheduling performance loss when a task does not select the optimal insertion position. The larger the value, the more sensitive the task is to the insertion position and the higher its urgency. This provides a quantitative judgment standard for selecting the highest priority task to be inserted in each subsequent round.
[0132] S26. Insert the pickup and delivery nodes of the task with the highest regret value into the service node sequence of the elevator according to the candidate path corresponding to the optimal incremental cost.
[0133] After calculating the regret values of all tasks to be scheduled, this step selects the task with the highest regret value as the priority task to be inserted in this round, because this task has the most critical impact on scheduling efficiency. Then, based on the feasible candidate paths corresponding to the optimal incremental cost of this task, its pickup and delivery nodes are inserted into the service node sequence of the corresponding elevator in the order of pickup first and delivery second. Under the premise of satisfying various constraints, the task allocation in this round is completed, ensuring the optimality and feasibility of the insertion scheme.
[0134] S27. Remove the inserted tasks from the set of tasks to be scheduled. Repeat steps S21 to S27 until all tasks have been inserted. Obtain and output the initial solution.
[0135] During the improvement phase, within the time budget, the initial solution undergoes a destruction-repair iteration of the LNS, including: S31. Take the initial solution as the current iteration solution and take the initial solution as the current historical best solution.
[0136] This step is an initialization operation, which assigns the high-quality initial solution obtained in the previous stage to both the current iteration solution and the historical best solution, thus serving as the starting scheme for the entire large neighborhood search iteration process.
[0137] S32. Remove a preset number of pickup and delivery nodes corresponding to tasks from the current iterative solution to obtain an incomplete solution.
[0138] This step performs a large neighborhood search disruption operation, removing the pickup and delivery nodes of the corresponding tasks from the elevator service sequence corresponding to the current iterative solution according to a preset number, while retaining the execution paths and status information of the remaining tasks, forming an incomplete scheduling solution to be repaired, leaving room for adjustment for local re-optimization.
[0139] In a preferred embodiment, there are two removal methods: one is to randomly select and remove a preset number of pickup and delivery nodes corresponding to tasks from the current iterative solution; the other is to sort by urgency value and remove the preset number of pickup and delivery nodes corresponding to tasks with the lowest urgency value from the current iterative solution.
[0140] S33. Sort the removed tasks according to their urgency value, and repeat steps S22 to S26 until the removed tasks are reinserted to obtain a complete new solution as the current iteration solution.
[0141] This step is an iterative repair phase. First, the tasks that were removed due to the destructive operation are sorted according to their urgency. Then, the task priority determination, candidate path enumeration, constraint verification, incremental cost calculation, and regret value selection insertion methods from the initial solution construction are reused to reinsert all the removed tasks into the elevator service sequence, forming a complete and feasible new scheduling scheme, which is then used as the current iterative solution.
[0142] S34. Use the simulated annealing criterion to determine whether to accept the current iteration solution. If yes, determine whether the current iteration solution is the historical best solution. If yes, then take the current iteration solution as the historical best solution.
[0143] This step uses the simulated annealing criterion to judge whether the newly generated current iterative solution is acceptable. While avoiding the algorithm from getting stuck in local optima, if the solution is accepted and it is better than the existing historical best solution, the historical best solution is updated as the current iterative solution, ensuring that the iterative process continues to converge towards a better direction.
[0144] S35. Repeat steps S32 to S35 until the iteration duration reaches the set time budget.
[0145] This step involves loop control logic, repeatedly executing the process of destruction, repair, and judgment of the merits of the solution until the iteration runtime reaches the preset time budget limit, thus completing full optimization while meeting the real-time requirements of online dynamic scheduling.
[0146] S36. Output the historical best solution.
[0147] After the iteration terminates, the historical best solution obtained throughout the optimization process is taken as the final output. This solution is the scheduling scheme that satisfies all constraints and has the optimal maximum completion time within the current rolling scheduling cycle.
[0148] This technical solution triggers rescheduling when dynamic tasks arrive or the system is idle. It introduces a freezing mechanism to fix already executed task nodes and their path decisions, re-optimizing only newly arrived tasks and waiting tasks that haven't started service. This significantly reduces the size of a single solution while ensuring scheduling stability, achieving efficient response and real-time online optimization for dynamic task arrivals. Differentiated maximum response time constraints are set for five task types: emergency picking, emergency replenishment, regular outbound, general replenishment, and return to inventory. With the goal of minimizing system completion time, it integrates pickup and delivery timing constraints, dual-load capacity constraints, time window constraints, and multi-machine load balancing constraints to ensure high-priority tasks are completed within a specified time, improving order fulfillment timeliness and overall system efficiency. A high-quality initial solution is generated using a "priority-urgency" sorting method and the Regret-2 insertion rule. A destruction-repair iteration mechanism locally rearranges the task sequence within a limited time, and simulated annealing is introduced to control solution acceptance and updates. This approach approximates the optimal solution while ensuring solution efficiency, meeting the dual requirements of real-time performance and optimization in dynamic scheduling scenarios.
[0149] Existing hoist scheduling methods typically assume that all tasks are known before planning, making them ill-suited to the dynamic task arrival environment of real-world warehousing systems. This application constructs an event-triggered multi-cycle rolling rescheduling framework. When the system detects the arrival of a new dynamic task or a change in system resource status, a new scheduling cycle is triggered, re-optimizing tasks that have not yet begun execution. This rolling optimization mechanism enables the system to continuously update the scheduling scheme during operation, effectively improving the adaptability of the scheduling strategy to dynamic task environments and achieving real-time scheduling optimization for multi-hoist systems.
[0150] Existing scheduling methods typically lack differentiated priorities for different task types, easily leading to urgent tasks being blocked by ordinary tasks. This application introduces a task priority and maximum response time constraint mechanism into the scheduling model, setting different response time limits for different task types such as urgent picking, urgent replenishment, regular outbound, regular replenishment, and return to inventory. A "priority-urgency" sorting strategy is then used for task insertion and scheduling. Through these technical means, high-priority tasks can receive resource services first, effectively reducing the waiting time for urgent tasks and improving the system's responsiveness to urgent orders.
[0151] Existing technologies for multi-device scheduling often focus on local scheduling efficiency, which can easily lead to some devices being overloaded while others are idle. This application optimizes the scheduling model by minimizing the maximum system completion time and comprehensively considers the collaborative relationship between multiple hoists during task allocation and sequencing. By simultaneously optimizing task allocation and service order within the same model, the workload among each hoist is more balanced, thereby reducing equipment waiting time and local congestion, and improving the overall operating efficiency of the multi-hoist system.
[0152] In dynamic scheduling environments, performing global re-optimization for each task arrival leads to a rapid increase in computational scale, making it difficult to meet real-time decision-making requirements. This application introduces a freezing mechanism into the rolling scheduling framework, fixing task nodes that have already started execution or whose execution order has been determined, and only re-optimizing tasks that have not yet started execution. By reducing the number of tasks involved in optimization, the scale of decision variables in the scheduling model is effectively reduced, thereby significantly reducing computational complexity and improving the system's online solution capability in dynamic environments.
[0153] To address the NP-hard combinatorial optimization problem of scheduling multiple lifter pick-up and drop-off tasks, this application proposes an improved large neighborhood search algorithm. The algorithm first constructs a high-quality initial solution using a Regret-2 insertion strategy. Then, it locally rearranges the task sequence through a destruction-repair iterative mechanism and incorporates simulated annealing to control the acceptance probability of new solutions. These techniques expand the search space while maintaining computational efficiency, thereby obtaining a near-optimal scheduling scheme within a limited computation time and improving the overall quality of the scheduling solution.
[0154] The following is an evaluation of this technical solution: To comprehensively evaluate the solution performance and engineering usability of the proposed improved large neighborhood search algorithm in a multi-lifter dynamic scheduling scenario, two sets of experiments were constructed based on randomized examples: the first was a comparison with the branch and bound algorithm under different task scales, using the output of the branch and bound algorithm as a high-quality benchmark to examine the solution quality loss and time gain of the algorithm of the present invention; the second was repeated independent runs under a fixed scale to verify the stability of the algorithm. Ten urgent picking tasks (arriving at t=34.48) were used, with different test cases set up and given operation and motion parameters: time for the bin lift to pick up and deliver goods inbound 1.5, time for the bin lift to pick up and deliver goods outbound 1.5, time for the lift to move one floor 0.25, time for the shuttle to move one storage location 0.31, and capacity 2.
[0155] In the comparison of multiple sets of examples, the table presents the objective function value Objective(s) and running time RT(s) of the two algorithms under different numbers of tasks, and calculates the GAP of the proposed algorithm relative to the branch and bound algorithm. The results show that in small-scale examples (35, 54, and 185 tasks), both methods can complete the solution in a short time with no significant difference in efficiency. Furthermore, the objective function value and the GAP of the branch and bound algorithm of this invention are both below 0.7%, indicating that when the task scale is small, the proposed algorithm can stably approximate the exact baseline solution through the search mechanism of "priority / urgency sorting + insertion construction + destruction repair iteration," essentially without sacrificing solution quality for solution speed.
[0156] When the task size increases to a medium range (331 tasks), the branch and bound algorithm's runtime rises to 157.05 seconds, while the algorithm of this invention can still solve the problem within 6.5 seconds, reducing the runtime by more than an order of magnitude. Furthermore, the GAP (Gross Average Optimal Plane) between the two algorithms is only 0.0578%. This phenomenon indicates that in a scale where the combinatorial space expands significantly and the costs of precise enumeration and pruning accumulate rapidly, the algorithm of this invention can quickly explore high-quality feasible solutions within a finite time, better meeting the online decision-making requirement of "rapid replanning" when dynamic tasks arrive. Further, when the task size continues to increase to 416, the runtime of the branch and bound algorithm shows an almost exponential increase (1385.13 seconds), while the algorithm of this invention takes 59.65 seconds, still maintaining a significant time advantage. The GAP between the two algorithms rises to 2.1688%, reflecting that at larger scales, the approximation of optimality by heuristic algorithms decreases, but they can still output high-quality feasible solutions.
[0157] In large-scale task scenarios (684, 1890, and 3053 tasks), branch-and-bound algorithms can no longer return results within a reasonable time, while the algorithm of this invention can still provide feasible solutions and output corresponding target values within 113.45 seconds, 132.46 seconds, and 591.02 seconds, respectively. Through large neighborhood perturbation and repair, the algorithm tends to perform more thorough local rearrangement of the task sequence without compromising the established executability, ultimately approaching the exact solution within the required engineering time. See Table 1 for specific data comparison. Table 1
[0158] For algorithm stability testing, the algorithm of this invention was run independently 100 times with a task scale of 54 to verify its stability. Figure 3 The distribution of the objective function value (Objective) and running time (Seconds) of the algorithm in 100 independent runs is shown. It can be observed that the objective value is highly concentrated around 3100, with the curve fluctuating only slightly within a narrow range, and the extreme values roughly falling between 3085 and 3160, indicating strong consistency in the solution quality obtained from multiple repeated runs. Meanwhile, the single run time is mainly concentrated in the range of 0.10–0.15s, with most runs stabilizing around 0.11–0.13s, indicating strong consistency in the time of multiple repeated runs. In summary, the algorithm exhibits stability in both solution quality and running time under repeated running conditions, demonstrating good search stability and consistency, and can provide reliable decision support for online rescheduling scenarios.
[0159] In another embodiment, a multi-lifter dynamic scheduling device is provided, comprising: The main controller and the memory connected to the main controller; The memory stores program instructions; The main controller is used to execute program instructions stored in the memory and perform any of the methods described above.
[0160] It is understood that the same or similar parts in the above embodiments can be referred to each other, and the contents not described in detail in some embodiments can be referred to the same or similar contents in other embodiments.
[0161] It should be noted that in the description of this invention, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this invention, unless otherwise stated, "a plurality of" means at least two.
[0162] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.
[0163] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0164] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0165] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0166] The storage media mentioned above can be read-only memory, disk, or optical disk, etc.
[0167] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0168] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A dynamic scheduling method for multiple hoists, characterized in that, include: S11. Based on the actual working conditions of the multi-lift system, construct a mathematical model architecture for mixed integer programming with the goal of minimizing the maximum completion time of the system. S12. When the multi-lifter system starts up, it receives the regular outbound static task, substitutes the regular outbound static task into the mathematical model architecture, constructs the mathematical model as a constraint framework, and solves to obtain the initial scheduling scheme. S13. Control the multi-lift system to operate according to the current scheduling plan, and monitor trigger events in real time. The trigger events include: receiving a dynamic task or an idle lift module appearing in the multi-lift system. S14. When a triggering event occurs, fix the task nodes that have started service in the current scheduling scheme, and substitute the task nodes that have not started service in the current scheduling scheme and the newly received dynamic tasks into the mathematical model architecture to construct a mathematical model as a constraint framework and solve for a new scheduling scheme. S15. Use the new scheduling scheme as the current scheduling scheme, and re-execute steps S13 to S15 until all tasks are completed.
2. The multi-lift dynamic scheduling method according to claim 1, characterized in that, The constraints of the mathematical model include: The mathematical model inherits the state of the multi-lift system when the triggering event occurs, and fixes the task nodes that have already started serving in the current scheduling scheme; Each task can only be performed by one hoist. The pickup and delivery nodes of each task node are accessed by the assigned elevator, and the service time of the pickup node is before the service time of the delivery node. The elevator starts from a virtual starting point and eventually returns to a virtual ending point. The intermediate node between the virtual starting point and the virtual ending point satisfies flow balance. The service time of the hoist between nodes is continuous; The load on the hoist is within its capacity range; The service time for dynamic tasks is after the arrival time of the dynamic task; The maximum system completion time is the maximum of the completion times of all hoists, and the hoist completion time is the moment when the hoist reaches the virtual endpoint; Each task is completed within the maximum allowed response time; Regular outbound static tasks are executed in wave order.
3. The multi-lift dynamic scheduling method according to claim 2, characterized in that, The mathematical model serves as a constraint framework, and the scheduling scheme is solved, including: Integrate the task nodes that have not yet started service in the current scheduling scheme with the newly received dynamic tasks into a set of tasks to be scheduled; For each hoist, a service node sequence is constructed, and the task nodes that have started service in the current scheduling scheme corresponding to that hoist are inserted into the service node sequence to form a frozen prefix; Insert the pickup node and delivery node of each task in the set of tasks to be scheduled into the service node sequence of the elevator to obtain the initial solution; Within the time budget, perform LNS destruction-repair iteration on the initial solution and output the optimal solution as a new scheduling scheme.
4. The multi-lift dynamic scheduling method according to claim 3, characterized in that, Insert the pickup node and delivery node of each task in the set of tasks to be scheduled into the service node sequence of the elevator, including: S21. Calculate the urgency value of each task based on the maximum allowed total duration, task arrival time, and arrival time of the current triggering event. S22. For each service node sequence of the elevator, enumerate the pickup insertion position and the delivery insertion position to obtain multiple candidate paths for the elevator. S23. For each candidate path, perform forward simulation constraint verification and retain the candidate paths that pass the verification. S24. Calculate the incremental cost of each candidate path that passes the verification. S25. For each task, calculate the regret value, which is the difference between the optimal incremental cost and the second-best incremental cost; S26. Insert the pickup and delivery nodes of the task with the highest regret value into the service node sequence of the elevator according to the candidate path corresponding to the optimal incremental cost. S27. Remove the inserted tasks from the set of tasks to be scheduled. Repeat steps S21 to S27 until all tasks have been inserted. Obtain and output the initial solution.
5. The multi-lift dynamic scheduling method according to claim 4, characterized in that, Calculate the incremental cost of each candidate path that passes the verification, including: Calculate the completion time of the hoist after the insertion of the candidate path; Calculate the original path completion time of the original service node sequence of the hoist operation; The difference between the completion time after insertion and the completion time of the original path is used as the incremental cost of the candidate path.
6. The multi-lift dynamic scheduling method according to claim 4, characterized in that, Within the time budget, perform LNS destruction-repair iterations on the initial solution, including: S31. Take the initial solution as the current iteration solution, and take the initial solution as the current historical best solution; S32. Remove a preset number of pickup and delivery nodes corresponding to tasks from the current iterative solution to obtain an incomplete solution; S33. Sort the removed tasks according to their urgency value, and repeat steps S22 to S26 until the removed tasks are reinserted to obtain a complete new solution as the current iteration solution. S34. Use the simulated annealing criterion to determine whether to accept the current iteration solution. If yes, determine whether the current iteration solution is the historical best solution. If yes, then take the current iteration solution as the historical best solution. S35. Repeat steps S32 to S35 until the iteration duration reaches the set time budget. S36. Output the historical best solution.
7. The multi-lift dynamic scheduling method according to claim 6, characterized in that, Remove a predetermined number of pickup and delivery nodes corresponding to tasks from the current iterative solution, including: From the current iterative solution, randomly select and remove a preset number of pickup and delivery nodes corresponding to the tasks; or, Sort by urgency value, and remove the pickup and delivery nodes corresponding to the preset number of tasks with the smallest urgency value from the current iterative solution.
8. A dynamic scheduling device for multiple hoists, characterized in that, include: The main controller and the memory connected to the main controller; The memory stores program instructions; The master controller is used to execute program instructions stored in the memory to perform the method as described in any one of claims 1 to 7.