A Hierarchical Temporal Planning-Based Approach for Dynamic Hoist Scheduling Problems
Abstract
Hoist scheduling has become a bottleneck in electroplating industry applications with the development of autonomous devices. Although there are a few approaches proposed to target at the challenging problem, they generally cannot scale to large-scale scheduling problems. In this paper, we formulate the hoist scheduling problem as a new temporal planning problem in the form of adapted PDDL, and propose a novel hierarchical temporal planning approach to efficiently solve the scheduling problem. Additionally, we provide a collection of real-life benchmark instances that can be used to evaluate solution methods for the problem. We exhibit that the proposed approach is able to efficiently find solutions of high quality for large-scale real-life benchmark instances, with comparison to state-of-the-art baselines.
Introduction
New industrial paradigms, such as smart factories and the Internet of Things, are becoming increasingly important with the developments of big data and artificial intelligence, greatly improving the efficiency of manufacturing production processes. These advances allow real-time data to be collected for solving different industrial problems, such as the scheduling of hoists widely used for plating processing, printed circuit boards, etc. Scheduling plays a very important role in automated industrial applications of artificial intelligence (Kallrath 2002; Parente et al. 2020), aiming to reduce time costs and increase production efficiency.
One mainstream way to handle hoist scheduling problems is to build optimization models according to constraints, and solve them based on mathematical algorithms, e.g., Mixed-Integer Linear Programming (MILP) (Amraoui and Elhafsi 2016; Feng, Chu, and Che 2018; Laajili et al. 2021a). However, the uncertainties and large scales let constructing and solving mathematical models time-consuming and tedious due to relying on expert knowledge.
Although plenty of approaches have been proven to be effective, there are gaps between current hoist scheduling problems and real-world industrial problems. For instance, cyclic hoist scheduling problems aim at computing fixed moving sequences for hoists with the goal of minimizing cyclic times. However, they (Che and Chu 2004; Che et al. 2014) assume all jobs are available at the loading station waiting for being processed in the beginning, neglecting unexpected arrivals and unfamiliar types of new jobs. Real-time and dynamic hoist scheduling approaches (Amraoui and Elhafsi 2016; Yan et al. 2017; Zhao, Fu, and Xu 2013) are proposed to plan out even if facing unexpected disruptions. However, they have troubles in handling large-scale tasks. Therefore, approaches (Zhao, Fu, and Xu 2013; Yan et al. 2018a) made some assumptions to let problems easier to be modeled, such as the locations of the loading and unloading stations, single-track production lines, and a small number of hoists. Nevertheless, those assumptions are not applicable to all real-world industrial scheduling problems. In other words, mathematical models have to be rebuilt and optimized as long as environments change, intensifying contradictions in real-time scheduling problems between states used for calculations and actual states after running time. Those limitations restrict their real-world application.
Similar to hoist scheduling problems, Automated Planning (AI planning) is adept at computing valid plans with correct logic based on domain knowledge and instance descriptions (Zhuo and Kambhampati 2017; Jin et al. 2022a). Differently, AI planning relies on universal descriptions of domains, including preconditions and effects, focusing on logical relations and rules of updating between actions. Therefore, given initial assignments and achievable goals, planners can compute valid action sequences to guide agents to achieve goals, different from constructing mathematical models based on specified constraints done by previous hoist scheduling approaches. It is, however, challenging to complete large-scale tasks of real-world industrial scheduling with off-the-shelf planning techniques. A potential effective way is to integrate planning techniques into mathematical models-based scheduling framework, with planning techniques dealing with high-level logical relations and mathematical models-abased scheduling techniques dealing with low-level detailed constraints, which benefit from each other in solving the industrial scheduling problem effectively and efficiently.
To do this, we need to deal with three main issues:
-
•
The first issue is that products are dynamically added into production lines, incurring uncertain conflicts.
-
•
The second is that environments may unexpectedly change since some tanks may be broken, which means solutions have to be rebuilt with respect to both previously executed actions and current changed environments.
-
•
The last one is since we need to rebuild new solutions based on a starting state (i.e., a snapshot of the environment) while the production line is running based on old solutions, we need to estimate the starting state in which the production line starts to execute new solutions (after new solutions are successfully rebuilt).
Considering the above-mentioned issues, we propose a planning-based approach, Hierarchical Industrial Temporal Planner, a.k.a., HIT, to handle real-world real-time hoist scheduling problems. We regard hoist scheduling problems as temporal planning problems, with concurrent and durative actions. We design the domain model according to real-world electroplating production lines, where each action is to operate a hoist, such as moving a hoist from a tank to another one. Specifically, we first generate skeleton schedules by neglecting “detailed” constraints. With the skeleton schedules, we compute action sequences to complete tasks with a temporal planner. To generate reliable guidance, we construct a hierarchical framework, which constructs sub-goals for planning and estimates the time of recomputing sub-goals by an inference mechanism. The hierarchical framework allows HIT to react quickly when unexpected disruptions happen, and handle large-scale searching space.
Related Work
In this section, we introduce related works from three aspects: (1) cyclic hoist scheduling problems, (2) dynamic hoist scheduling problems, and (3) planning-based scheduling problems. We will describe those aspects in detail below.
Cyclic hoist scheduling problem
Cyclic hoist scheduling problems aim to find cyclic sequences of hoists that minimize the cycle time or resource usage, assuming that all products wait at loading stations in the beginning. Recently, numbers of approaches were proposed, based on two mainstream methods: mathematical models and searching algorithms. For example, researchers (Phillips and Unger 1976; Shapiro and Nuttle 1988; Liu, Jiang, and Zhou 2002; Zhou and Li 2003; Li and Fung 2013; Zhou, Che, and Yan 2012; Feng, Chu, and Che 2018) used mathematical models, such as mixed integer programming (MIP), to solve single hoist scheduling problems with multiple tanks. To make approaches closer to real-world production lines, researchers (Liu and Jiang 2005; Steneberg 2013; Mao et al. 2018; Laajili et al. 2019a) focused on multi-capacity tanks and multiple hoists. On the other hand, searching algorithms, such as branch-and-bound algorithms (Che and Chu 2004) and evolutionary algorithms (Lim 1997; Manier and Lamrous 2008; Laajili et al. 2019b, 2021b) are widely used in cyclic hoist scheduling problems. However, they can not handle unexpected situations and they are not extensible when facing products with new processing crafts.
Dynamic hoist scheduling problem
Compared with cyclic hoist scheduling problems, dynamic hoist scheduling problems assume that products randomly arrive at loading tanks, requiring approaches to reschedule for unexpected changes. Similarly, the mainstream approaches are mathematical models and searching algorithms. For example, researchers (Zhao, Fu, and Xu 2013; Feng, Che, and Chu 2015; Yan et al. 2018b) built mathematical models to handle dynamic single or multiple hoist scheduling problems. On the other hand, heuristic-based approaches (Yih 1994; Lamothe, Correge, and Delmas 1995; Yan et al. 2017), branch-and-bound approaches (Lamothe, Correge, and Delmas 1995; Yan et al. 2014; Kim et al. 2018) were proposed to search feasible solutions, aiming at higher productivity and better product quality. Considering real-world applications, researchers are interested in real-time hoist scheduling problems (Chauvet et al. 2000; Sand and Engell 2004; Reddy et al. 2018). However, dynamic hoist scheduling problems are trapped by large-scale searching space and complex reality constraints, limiting their real-world applications.
Planning-based scheduling problems
Automated Planning (AI planning) aims at synthesizing plans according to domain and problem models to transit initial states to goals. In recent years, there have been tremendous progress in making use of AI planning in real-world industrial applications, e.g., planning-based command understanding (Azaria, Krishnamurthy, and Mitchell 2016) and dialogue systems (Petrick and Foster 2016; Cohen 2020). In hoist scheduling problems, AI planning is one of helpful approaches to compute plans and make decisions (Dyner and Larsen 2001; Kallrath 2002; Abioye et al. 2021). For example, many approaches (Manier, Varnier, and Baptiste 2000; Liu, Jiang, and Zhou 2002; Riera and Yorke-Smith 2002) model hoist scheduling problems with the syntax of Constraint Logic Programming Scheme (CLP) (Jaffar and Lassez 1987), and then compute solutions abiding by the constraints. Micheli and Scala (2019) regarded industrial scheduling problems as temporal planning problems and made use of classical planning with temporal constraints to solve hoist scheduling problems by heuristic forward searching. However, similar to mathematical models, large-scale searching space limits the applications of planning-based approaches.
Problem Definition
In this paper, we define a real-time dynamic hoist scheduling problem by , aiming at computing plans to guide hoists running on rails beyond tanks to transport products between tanks.
is a set of hoists, each of which can perform three actions: move, load, and unload a product. Hoists run on rails beyond numbers of tanks. The location of is denoted by , which is a symbol, either “+” or “-”, joint with a tank, where “+” indicates that the hoist is above a tank and “-” indicates that the hoist is at a bottom position. A hoist is restricted to only move within () including a sequence of neighboring tanks. We denote the transportation time for a hoist moving from to by , and lifting time by , respectively.
is a set of tanks, each of which belongs to one of the three types: loading, unloading, and processing tanks. Specifically, loading tanks are used to store products waiting for being processed, processing tanks are used to process products, and unloading tanks are used for storing products which have completed all required procedures. The usage of tank is defined by , where . is a set of operations , e.g., water washing, loading, and exchanging.
is a set of products, which are in loading tanks, waiting for being dispatched to tanks according to their processing recipe. They will finally be put into unloading tanks after all procedures have been done. For a product , we define its location by , which can be a tank or a hoist, indicating a product is in a tank or grabbed by a hoist. The recipe is defined by . is an operation sequence which requires to be executed in order, where . and are two sequences constraining processing time of , where processing time of is required to be more than and less than .
Given as input, the goal in this paper is to compute a plan , guiding hoists to transport products between tanks such that products are processed according to their recipes within the required time limit. We define a plan by a sequence of triples , where is an action executed by hoist, including an action name and zero or more parameters. is a positive real-valued number indicating the starting time of action . is the duration of action .

Figure 1 shows an example in electroplating lines. As shown in Figure 1(a), the example includes 8 tanks, 3 hoists and 6 products. There are 6 types of operations, including loading and unloading. Tanks can be unavailable, such as , which can not accommodate any products. Partial description of the example is shown in Figure 1(b), and the goal is to complete recipes of products following the time requirements. For example, is going to put into , whose operation is , the processing time of the third procedure of is required to be less than 60 but larger than 45. An example plan in the form of action sequences is shown in Figure 1(c), where each action is composed of a starting time, an action with zero or more parameters, and a duration.
In this paper, according to the real application scenario, we assume the following requirements are satisfied:
-
1.
Tanks can be available or unavailable in the beginning.
-
2.
During scheduling, new products may be added to the task. Once they wait in loading tanks, their recipes and arriving time are known.
-
3.
A product only has one operation at a time.
-
4.
A processing tank only processes one product at a time, but loading and unloading tanks can contain several ones.
-
5.
A hoist only takes one product at a time.
-
6.
Tanks keep performing operations. Therefore, the duration of operation is timed as long the product is put into, and it stops when any hoist picks up the products.
-
7.
The lifting and transportation times are not negligible.
Our HIT Approach

An overview of HIT is shown in Figure 2. We first compute skeleton schedules from the whole, ignoring some detailed constraints such as hoist collisions. We then generate sub-goals to divide large-scale scheduling problems into small-scale sub-problems. In this paper, we regard sub-problems as temporal planning problems. We manually construct the temporal planning domain model and problem descriptions to represent sub-problems, and exploit a planner, such as TPSHE (Celorrio, Jonsson, and Palacios 2015), to solve them. To solve large-scale problems, we cut the plan and estimate appropriate times by an inference mechanism to recompute sub-goals. We repeat generating sub-goals and computing sub-plans until all products are finished successfully.
Generating Skeleton Schedules
Due to large searching space created by operations sequences, it is hard to solve the whole scheduling problems at once. Therefore, we divide large-scale problems into small-scale sub-problems with sub-goals. However, it is challenging to decide the sub-goals, including computing the order of loading products to be processed, determining the dispatches of hoists and tanks, and minimizing resource usage. To overcome those challenges, we first estimate skeleton schedules in the larger picture ignoring some detailed constraints, which offer the hierarchical framework a rationale to construct sub-goals, instead of forcibly separating the problems and transferring all pressure to a planner. Sketch-based search includes two parts: (1) estimating new schedules for new products; (2) updating old schedules based on detailed plan .
Skeleton schedules are defined by , recording the occupied time of dispatching hoists and tanks to products transportation and processing. is a set composed of tuples in the form of , where is a product and is either a hoist or a tank. A tuple indicates is occupied by or from to . We utilize a sequence to include all starting time in , from small to large.
New Skeleton Schedules Generation
When detecting new products not being included in the past estimated schedules , we first estimate new schedules with the premise of not disturbing , defined by .
As for a product , its recipe and location are defined by and respectively. We alternatively compute available hoists to transport the products and tanks to process them, ignoring detailed constraints according to the starting time in . Starting from , we compute all products which can join in the production lines, record them into , and update . When no more products could be dispatched at , we continue estimating whether the rest products could join at and repeat those procedures until all products joining. To compute and for at , we search following:
(1) |
subject to
(2) |
where is the least transportation and lifting time, and is a huge penalty if any following aspects are satisfied:
-
•
.
-
•
There is a tuple letting .
-
•
There is a tuple letting .
Otherwise, . Intuitively, we aim to locate the nearest unallocated hoists and tanks to transport products to be processed with required operations. We denote the occupied durations by and . Once we successfully schedule for all procedures, we add the computed occupied durations into and update by inserting new starting time. If we fail computing appropriate tanks and hoists, we continue scheduling for the other products and reschedule for this product next time.
Schedules Updating
Owing to ignoring collisions, predicted skeleton schedules could be different from final plans generated by planners. Therefore, given , we dynamically update estimated schedules to generate more accurate guidance for later sub-goals generation, defined by . Specifically, we update the starting and ending time of occupied durations in according to by executing actions in and deferring the occupied durations that are not related to . Noted that, compared to skeleton schedules, final plans involve unexpected movements of hoists based on constraint satisfactions, which results in differences in the starting time of dispatching hoists to transportation. Therefore, updating schedules focuses on the starting and ending times, instead of recomputing the whole schedules.
Given , according to the starting time and duration of each action, we first update the corresponding by . Then we update all tuples () by where . After executing , we utilize to include the tuples not updated by actions but deferred. Since the updated schedules may involve overlapping occupied durations, we use a metric to determine whether any two tuples overlap, defined by:
(3) |
If =1, we consider that their durations overlap, where the overlapping duration is denoted by . We extend the duration of products staying at tanks following the recipes to decrease . Specifically, we first filter out (, , , ) from . If , we update all starting time after and all ending time after by adding , where . We then update by . Otherwise, we let . We repeat the above-mentioned steps from until no more overlaps happen or no more durations can be extended.
Generating Final Plans
According to sub-goals, we regard them as temporal planning problems, and utilize an off-the-shelf temporal planner, such as TPSHE (Celorrio, Jonsson, and Palacios 2015) exploited in this paper, to compute detailed plans. The reason of using AI planners is that, when environments change, planners allow us to provide new assignments instead of rebuilding the whole models, because logical relations described in domain models are universal. However, it is challenging to directly utilize planners in real-world industrial production lines, because difficulties in large-scale searching space nag AI planners. To overcome those challenges, we first build a domain model describing common rules in hoist scheduling problems, e.g., a hoist will hold a product after picking it up. In this paper, we regard decomposed sub-problems as temporal planning problems, described by domain and problem models. Problem models are built based on sub-goals and , describing detailed assignments of the environment. Therefore, planner adapts to different environments by updating problem models. According to domain and problem models, we utilize the planner to compute detailed plans.
Specifically, domain models define universal descriptions made up by action models, where each one is an action taking an amount of time to complete, defined by a tuple of . is an action name with zero or more parameters. is either a fixed value or inequalities, indicating the time of executing action. is a set of preconditions, each of which is a logical and temporal expression which must be met in order. Similarly, is a set of effects, describing predicates which will be added into or deleted from current states, or how the variables will be updated. Problem models are composed of initial states and goals, where initial states include grounding predicates and initial assignments of variables. Goals are grounding predicates requiring to be achieved.

Figure 3(a) shows an example action model***For space limitations, the whole models are in the supplementary. “PickUp-Hoist(?h-hoist ?t-tank ?r-product)”. Its duration is defined by“(hoist_pickup_duration)”. Seven preconditions are required, such as the hoist must hold nothing at the beginning of executing the action (“(at start (hoist_empty ?h))”), and the hoist must stay at tank “?t” during execution (“(over all (hoist_position ?h ?t))”). During executing the action, six effects are added in or deleted from the state. For example, “(product_at ?r ?t)” will be deleted from the state once the action is executed, and “(hoist_have ?r ?t)” will be added into the state after executing the action. Figure 3(b) shows parts of initial states and goals, where preconditions of action “PickUp-Hoist(h0 t5 p1)” are involved, and its duration is 2. After executing it, “(hoist_have h0 p1)” will be achieved.
According to and , we utilize a temporal planner to plan out a solution , the running time is denoted by . To splice the sub-plans, we let all start time in be , where is the starting time of sub-plans.
Constructing Hierarchical Framework
To build bridges between skeleton schedules and detailed plans, we construct a hierarchical framework, exploring appropriate time to recompute sub-goals to guide refined searching. Therefore, building hierarchical framework includes two parts: (1) generating sub-goals according to skeleton schedules; (2) computing appropriate time to regenerate sub-goals.
Sub-Goals Generating
In real-world scheduling problems, searching solutions for a whole procedure sequence creates a huge searching space, which is hard to model and compute solutions. Therefore, we generate sub-goals to downsize the scale of problems for efficiency and increase quality of solutions. Specifically, given skeleton schedules , current processing time of products and , we build sub-goals for schedules which are estimated to be occupied early.
To generate sub-goals, we first select with the smallest starting time . Then, we construct sub-goals in the form of grounding predicates following:
-
•
If is a hoist, we regard “(hoist_have )” as a sub-goal, indicating that should pick up after executions.
-
•
If is a tank, we first seek out another tuple , where is the second smallest starting time:
-
–
if , where is the location of and is processing time of the product, we regard “(hoist_at )” as a sub-goal, indicating that should start to move to .
-
–
Otherwise, we use “(product_at )” as a sub-goal, indicating that should be put into after executions.
-
–
Plan Clipping
After computing sub-plans , a nature way is to repeat executing sub-plans and computing new sub-goals until all products are finished successfully. However, due to requirements of different action sequences of each sub-goal, hoists and products which have performed action sequences are asked to wait until all sub-goals are achieved. Therefore, we compute appropriate times to construct next sub-problems, including a regenerating time as the starting time of next sub-plan and a recomputing time for real-world applications to recompute sub-goals. Note that is to avoid errors created by running time. We then cut the plan according to and , deleting actions in executed after . At last, we update and according to the clipped plan .
Specifically, we first locate the action achieving the first sub-goal. We compute following:
-
•
If the achieved sub-goal is “(hoist_at )” or “(product_at )”, .
-
•
If the sub-goal is “(hoist_have )”, , where and are locations of and , aiming at letting reach target tanks in advance to avoid products waiting.
-
•
If two neighbor actions and exist, where , and they both move the same hoist , we let .
-
•
If the achieved sub-goal is to put the last product into an unloading tank, , where is a hyper-parameter.
Intuitively, we locate: (1) an action achieves the first sub-goal; (2) two actions move hoists but can not be stitched due to spare times existing. We keep actions whose starting time is less than or equal to , denote the sub-plan by , and update and according to . If a product is picked up from a tank, we let . If cutting the plan is because of the second reason, we replace the predicate “(hoist_start_moving )” with “(hoist_stop_moving )” after updating states to ensure planners to add the time of starting-up to move hoists. Given , we determine whether is valid by:
(4) |
Intuitively, if each satisfies requirements defined in recipes, where and are the lower and upper time requirements of the current operation for , we consider that the plan is valid. Otherwise, the plan is infeasible.
Next, we compute to apply HIT to real-world real-time industrial production lines, in order to avoid inapplicable solutions because of concurrent running of production lines and computations of HIT. To address the challenge, we get benefits from the ability of AI planning to inference future states, and compute a little bit earlier with future states. Specifically, given and , we can compute new and after executing . Given the starting time of the current sub-plan , and the next regenerating time , we invoke TPSHE a few seconds early to solve the next sub-problem. is computed by , where is a hyper-parameter. After computing new next sub-plan , we let all starting time of actions be to avoid errors when running time of planner is more than , where is exact running time of TPSHE. And we update . Note that is used in real-world applications to recompute sub-goals, and is the starting time of the next sub-plan.
Overview of HIT
Input: ,
Output: A plan
An overview of HIT is shown in Algorithm 1. First of all, we initialize two empty sets and to indicate plans and skeleton schedules. We initialize the starting time for plans , and the current processing time of each product . (Line 1). Secondly, we build a domain model composed of common rules (Line 2). Thirdly, we compute skeleton schedules to estimate occupied duration of products (Line 3). Then we generate sub-goals, model the sub-problem , and utilize a planner to generate (Lines 5 to 6). Next, given , we compute the time to recompute sub-goals , and use to compute and with the help of (Line 7). According to , we update and , compute (Line 8). If the plan is valid, we insert into (Lines 9 to 12). We repeat computing sub-goals, constructing problem models, and solving problems until , indicating all products have been finished successfully (Lines 3 to 13).
Properties of HIT
HIT can be shown to have the following properties:
Theorem 1: (Conditional Soundness) If the off-the-shelf planner exploited in Algorithm 1 is sound and is large enough, HIT is sound.
Idea of proof: According to Algorithm 1, HIT first builds skeleton schedules constrained by Equations (1 and 2) and computes sub-goals regarding the schedules as heuristics. The schedules dispatch available hoists and tanks without conflicts following the operations defined in recipes, and guarantee that generated sub-goals are valid. HIT then utilizes an off-the-shelf planner to complete the details ignored in schedules by solving problems represented by the domain model, initial and goal states, built based on real-world hoist scheduling scenarios and validated by domain experts. Next, according to computed plans, HIT computes appropriate time to recompute sub-goals following human-made rules which are validated by domain experts. According to recomputing time, HIT cuts the plan, updates states and computes new sub-goals asking HIT to push towards next operations. According to Equation (4), the output sub-plans are guaranteed to be feasible to satisfying the requirements of processing time. HIT repeats constructing sub-goals and solving them until all products are finished successfully, i.e., . That is to say, if a problem is solvable and the exploited planner has the ability to compute valid solution for each sub-problem, the output plan is a solution plan for the problem.
Theorem 2: (Conditional Completeness) If the off-the-shelf planner used in Step 6 of Algorithm 1 is complete and the maximal number of iterations is large enough, HIT is complete.
Idea of proof: Except Step 6 in Algorithm 1 that calls an off-the-shelf planner, all other steps can be executed polynomially. If the planner we use is complete, and the maximal number of iterations is large enough to ensure finishing the processing of all products, HIT will eventually output a solution to the input problem if there exist solutions to the problems, i.e., the conditional completeness holds.
Experiment
In this paper, we ran all of our experiments on a machine with 4.400GHz CPU and 16GB RAM. We set the cut-off time to be 180 seconds, and to be 2. In this section, we evaluate HIT with two state-of-the-art methods with different settings:
-
•
Feng, Che, and Chu (2015) constructed MIP models and solved them by CPLEX. We denote the approach by SHS and use the first computed feasible solutions.
-
•
We use SHS to compute locally optimal solutions within the cut-off time, denoted by SHS+.
-
•
TPP (Micheli and Scala 2019) is a planning-based temporal planner which models industrial problems by temporal planning problems.
In this paper, we evaluate approaches from four aspects: success rate, makespan, CPU time and waiting time. Success rate is the proportion of solved problems. Makespan is the time that elapses from the start of problems to all products completed. CPU time is the time of approaches computing solutions. Waiting time is the time of stopping production lines to wait for computation. We first define five recipes (“loading” and “unloading” are omitted), including operations and required processing time, as shown below:
A: , , ,
, , .
B: , , ,
, , , .
C: , , ,
, , .
D: , , ,
, , .
E: , , ,
.
Then we use to denote the number of hoists, tanks, and products, respectively. Next. we define operations of tanks by , except for and , which are regarded as the loading and unloading tanks. At last, we define lifting time , and transportation time .
-
•
To evaluate the performance of four methods, we first compared them on problems with different numbers of products based on recipe A.
-
•
To evaluate flexibility when facing unexpected events, we evaluated them on problems with new products randomly joining in. The experiments are built based on Feng, Che, and Chu (2015). We generated problems with and . We first define to randomly selected an integer from to . As for each , we randomly generated 10 problems, including two sets of products: and . is a set of products waiting at the loading tank in the beginning, where . is a set of products joining during running production lines, . The time to put at the loading tank is defined by , where is the makespan of finishing computed by SHS. The number of operations is computed by and we randomly match operations to tanks, the upper and lower bounds of duration requirements computed by randomly selecting one of the following cases: (1); (2); (3) .
-
•
To analysis the limitations, we compared makespan and running time on small-scale problems. We built 8 groups of problems with different , and , where each group included 20 random generated problems. Recipes were randomly selected from recipes B, C, D and E.
-
•
At last, to evaluate the performance of HIT in real-world industry, we did experiments with two recipes used in real-world electroplating production lines.
Experimental Results
Results of problems with different numbers of products
Figure 4 shows CPU time and makespan computed by four methods on problems with different numbers of products. As shown in Figure 4(a), compared with SHS, SHS+ and TPP, HIT performs the most steadily, indicating that the makespan is rarely affected by the increasing searching space. On the other hand, although SHS+ shows the best performance when , it can not solve problems with more products. Compared with SHS+, the performance of SHS is unstable. TPP shows the worst performance because that forward searching relies on the scale of problems, the growing searching space exponentially increases the difficulties in solving. Figure 4(b) shows the CPU time of four approaches. Similarly, the growth trend of HIT is linear, because the hierarchical framework divides large-scale problems into small ones with similar searching space. The running times of the others grow exponentially, indicating that their performances are extremely influenced by the scales. It is noted that, although the makespan of some plans computed by SHS+ are the least, SHS+ has a large running time in exchange.


Success Rate | Makespan | CPU time | Waiting time | ||
SHS | 8 | 1.00 | 2806.60 | 0.60 | 0.43 |
SHS+ | 1.00 | 2427.40 | 1.36 | 1.19 | |
HIT | 1.00 | 2720.60 | 26.37 | 0.00 | |
SHS | 10 | 1.00 | 33661.30 | 6.17 | 2.77 |
SHS+ | 1.00 | 3574.10 | 46.35 | 42.95 | |
HIT | 1.00 | 4396.90 | 47.65 | 0.00 | |
SHS | 12 | 0.60 | 69509.33 | 49.33 | 13.01 |
SHS+ | 0.60 | 4848.83 | 98.46 | 62.22 | |
HIT | 1.00 | 6409.33 | 71.22 | 0.00 | |
SHS | 14 | 0.20 | 59047.50 | 155.45 | 64.42 |
SHS+ | 0.20 | 12749.60 | 180.00 | 91.48 | |
HIT | 1.00 | 7130.00 | 78.21 | 0.00 |
SHS | SHS+ | TPP | HIT | |||||
Makespan | CPU time | Makespan | CPU time | Makespan | CPU time | Makespan | CPU time | |
(1,6,5) | 922.00 | 0.03 | 922.00 | 0.06 | 1365.00 | 1.64 | 932.50 | 6.94 |
(1,6,5) | 3341.50 | 8.70 | 2338.00 | 98.22 | 3686.00 | 59.61 | 2419.00 | 23.60 |
(1,9,5) | 1103.25 | 0.14 | 1051.10 | 0.12 | / | / | 1202.39 | 10.45 |
(1,9,5) | 6219.30 | 1.70 | 2324.50 | 97.18 | / | / | 2726.88 | 35.66 |
(2,6,5) | 880.00 | 0.10 | 880.00 | 0.16 | / | / | 881.00 | 5.90 |
(2,6,5) | 2170.00 | 1.01 | 2170.00 | 1.01 | / | / | 2179.00 | 19.16 |
(2,9,5) | 1013.22 | 0.17 | 1013.22 | 0.17 | / | / | 1091.10 | 9.63 |
(2,9,5) | 4855.60 | 1.85 | 2354.10 | 94.07 | / | / | 2502.65 | 31.98 |
Average | 2563.11 | 1.71 | 1631.62 | 36.38 | / | / | 1741.81 | 17.91 |
Results of problems with unexpected events
Then we evaluate the flexibility of HIT, SHS, and SHS+ when facing unexpected events. We do not compare with TPP because it can not solve problems with such scales. As shown in Table 1, HIT successfully compute plans for all problems, where SHS and SHS+ fail solving some problems when . Similarly, the CPU time and makespan of plans computed by SHS and SHS+ grow more rapidly. It is noted that, the makespan of plans computed by SHS are very large when , because SHS stops as long as finding feasible solutions, resulting in large starting time of some products. Differently, SHS+ takes more time to compute locally optimal solutions, resulting in larger running time. At last, owing to the inference mechanism of HIT, computation and execution are simultaneous without termination of production lines, where the other methods have to stop until new solutions.
Analyses
Next, we compared four methods on 8 groups of problems. As shown in Table 2, the performances of mathematical models (SHS and SHS+) depend on the scales of problems. The smaller the scales of problems are, the better performances they have. When , mathematical models show a combination of efficiency and high quality. However, SHS and SHS+ are influenced by enlarging problems scales. SHS outputs the first feasible solutions, sacrificing makespan for efficiency when solving larger-scale problems. Differently, it is hard for SHS+ to compute the optimal solutions within the cut-off time, which has to be terminated manually. Compared with SHS and SHS+, HIT are less influenced by changing scales of problems. Averagely, HIT is 6% larger than the makespan computed by SHS+, however the CPU time of running HIT is 51% less than running SHS+.
Case study
At last, we utilize two real-world electroplating production lines to evaluate HIT. The other methods are not experimented because of unacceptable searching space to them. We do not set a cut-off time because of the length of operations. It is noted that HIT can simultaneously solve and run production lines without waiting time. Therefore, it can be applied to reality no matter how much CPU time is.

The first production line includes 39 tanks, 3 hoists, and 34 operations. The hoists are required to keep safe distance to avoid collisions, where any two hoists should be separated by three tanks. For example, if , no hoists can locate at , , and . The second one includes 96 tanks, 11 hoists, 35 operations, and 2 exchanging carts, as shown in Figure 5. Exchanging carts are special hoists which only move forward and back between two tanks connecting two rails. The hoists are required not to locate at the same tank.


Figure 6(a) shows the average makespan of each product, where makespan of a product is defined by the time from loading it until putting it at an unloading tank. As shown Figure 6(a), the average makespan is stable, indicating that increasing the number of products rarely affects the quality of solutions. Figure 6(b) shows the running time of solving problems with growing scales, although HIT takes much time hierarchically to solve problems, it can simultaneously solve and run production lines without waiting time. Therefore, it can be applied to real-world industry. Partial plans computed for the second production line are shown as below:
2667.0 (Move-Hoist hoist11 tank104 tank105) 5.00
2667.0 (Move-Hoist hoist4 tank43 tank44) 5.00
2667.0 (Move-Hoist hoist5 tank44 tank45) 5.00
2672.0 (PutDown-Hoist hoist11 tank105 p0) 5.00
…
Conclusion
In this paper, we present a novel approach, HIT, to solve large-scale real-time dynamic hoist scheduling problems in reality. Specifically, we first generate skeleton schedules as a guide to compute sub-goals, aiming at dividing large-scale problems into small sub-problems. Then we utilize an off-the-shelf temporal planner to compute detailed sub-plans. Next, we compute appropriate times to recompute sub-goals and plan out for real-world industry. Finally, the hierarchical framework allows HIT to handle large-scale problems and rapidly respond to unexpected events. By conducting experiments on problems with different settings, the experimental results show the superiority of HIT. Currently, the domain model is built by domain experts. In the future, it would be interesting to investigate automatically learning domain models (Zhuo et al. 2010; Zhuo and Yang 2014; Zhuo, Muñoz-Avila, and Yang 2014; Jin et al. 2022b) from historical data collected from industry. Besides, it would be also interesting to consider combining skeleton schedules with more mathematical constraints to get less resource usage.
References
- Abioye et al. (2021) Abioye, S. O.; Oyedele, L. O.; Akanbi, L.; Ajayi, A.; Delgado, J. M. D.; Bilal, M.; Akinade, O. O.; and Ahmed, A. 2021. Artificial intelligence in the construction industry: A review of present status, opportunities and future challenges. Journal of Building Engineering, 44: 103299.
- Amraoui and Elhafsi (2016) Amraoui, A. E.; and Elhafsi, M. 2016. An efficient new heuristic for the hoist scheduling problem. Comput. Oper. Res., 67: 184–192.
- Azaria, Krishnamurthy, and Mitchell (2016) Azaria, A.; Krishnamurthy, J.; and Mitchell, T. M. 2016. Instructable Intelligent Personal Agent. In Schuurmans, D.; and Wellman, M. P., eds., Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, February 12-17, 2016, Phoenix, Arizona, USA, 2681–2689.
- Celorrio, Jonsson, and Palacios (2015) Celorrio, S. J.; Jonsson, A.; and Palacios, H. 2015. Temporal Planning With Required Concurrency Using Classical Planning. In Brafman, R. I.; Domshlak, C.; Haslum, P.; and Zilberstein, S., eds., Proceedings of the Twenty-Fifth International Conference on Automated Planning and Scheduling, ICAPS 2015, Jerusalem, Israel, June 7-11, 2015, 129–137. AAAI Press.
- Chauvet et al. (2000) Chauvet, F.; Levner, E.; Meyzin, L. K.; and Proth, J.-M. 2000. On-line scheduling in a surface treatment system. European Journal of Operational Research, 120(2): 382–392.
- Che and Chu (2004) Che, A.; and Chu, C. 2004. Single-track multi-hoist scheduling problem: a collision-free resolution based on a branch-and-bound approach. International Journal of Production Research, 42(12): 2435–2456.
- Che et al. (2014) Che, A.; Lei, W.; Feng, J.; and Chu, C. 2014. An Improved Mixed Integer Programming Approach for Multi-Hoist Cyclic Scheduling Problem. IEEE Trans Autom. Sci. Eng., 11(1): 302–309.
- Cohen (2020) Cohen, P. R. 2020. Back to the future for dialogue research. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, 13514–13519.
- Dyner and Larsen (2001) Dyner, I.; and Larsen, E. R. 2001. From planning to strategy in the electricity industry. Energy policy, 29(13): 1145–1154.
- Feng, Che, and Chu (2015) Feng, J.; Che, A.; and Chu, C. 2015. Dynamic hoist scheduling problem with multi-capacity reentrant machines: a mixed integer programming approach. Computers & Industrial Engineering, 87: 611–620.
- Feng, Chu, and Che (2018) Feng, J.; Chu, C.; and Che, A. 2018. Cyclic jobshop hoist scheduling with multi-capacity reentrant tanks and time-window constraints. Comput. Ind. Eng., 120: 382–391.
- Jaffar and Lassez (1987) Jaffar, J.; and Lassez, J.-L. 1987. Constraint logic programming. In Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, 111–119.
- Jin et al. (2022a) Jin, K.; Zhuo, H. H.; Xiao, Z.; Wan, H.; and Kambhampati, S. 2022a. Gradient-based mixed planning with symbolic and numeric action parameters. Artif. Intell., 313: 103789.
- Jin et al. (2022b) Jin, M.; Ma, Z.; Jin, K.; Zhuo, H. H.; Chen, C.; and Yu, C. 2022b. Creativity of AI: Automatic Symbolic Option Discovery for Facilitating Deep Reinforcement Learning. In Thirty-Sixth AAAI Conference on Artificial Intelligence, AAAI 2022, Thirty-Fourth Conference on Innovative Applications of Artificial Intelligence, IAAI 2022, The Twelveth Symposium on Educational Advances in Artificial Intelligence, EAAI 2022 Virtual Event, February 22 - March 1, 2022, 7042–7050. AAAI Press.
- Kallrath (2002) Kallrath, J. 2002. Planning and scheduling in the process industry. OR Spectr., 24(3): 219–250.
- Kim et al. (2018) Kim, B. S.; Logendran, R.; Lee, J.; and Koh, S. 2018. REAL-TIME HOIST SCHEDULING WITH A REDUCED BRANCH-AND-BOUND ALGORITHM. ICIC express letters. Part B, Applications: an international journal of research and surveys, 9(12): 1287–1294.
- Laajili et al. (2021a) Laajili, E.; Lamrous, S.; Manier, M.; and Nicod, J. 2021a. An Adapted Variable Neighborhood Search based algorithm for the cyclic multi-hoist design and scheduling problem. Comput. Ind. Eng., 157: 107225.
- Laajili et al. (2019a) Laajili, E.; Lamrous, S.; Manier, M.-A.; and Nicod, J.-M. 2019a. Collision-free based model for the cyclic multi-hoist scheduling problem. In 2019 IEEE International Conference on Systems, Man and Cybernetics (SMC), 873–878. IEEE.
- Laajili et al. (2021b) Laajili, E.; Lamrous, S.; Manier, M.-A.; and Nicod, J.-M. 2021b. An adapted variable neighborhood search based algorithm for the cyclic multi-hoist design and scheduling problem. Computers & Industrial Engineering, 157: 107225.
- Laajili et al. (2019b) Laajili, E.; Lamrous, S. A.; Manier, M.; and Nicod, J. 2019b. Genetic Algorithm Based Approach for the Multi-Hoist Design and Scheduling Problem. In International Conference on Industrial Engineering and Systems Management.
- Lamothe, Correge, and Delmas (1995) Lamothe, J.; Correge, M.; and Delmas, J. 1995. A dynamic heuristic for the real time hoist scheduling problem. In Proceedings 1995 INRIA/IEEE Symposium on Emerging Technologies and Factory Automation. ETFA’95, volume 2, 161–168. IEEE.
- Li and Fung (2013) Li, X.; and Fung, R. Y. 2013. A mixed integer linear programming approach for multi-degree cyclic multi-hoist scheduling problems without overlapping. In 2013 ieee international conference on automation science and engineering (case), 274–279. IEEE.
- Lim (1997) Lim, J.-M. 1997. A genetic algorithm for a single hoist scheduling in the printed-circuit-board electroplating line. Computers & industrial engineering, 33(3-4): 789–792.
- Liu and Jiang (2005) Liu, J.; and Jiang, Y. 2005. An efficient optimal solution to the two-hoist no-wait cyclic scheduling problem. Operations Research, 53(2): 313–327.
- Liu, Jiang, and Zhou (2002) Liu, J.; Jiang, Y.; and Zhou, Z. 2002. Cyclic scheduling of a single hoist in extended electroplating lines: a comprehensive integer programming solution. Iie Transactions, 34(10): 905–914.
- Manier and Lamrous (2008) Manier, M.-A.; and Lamrous, S. 2008. An evolutionary approach for the design and scheduling of electroplating facilities. Journal of Mathematical Modelling and Algorithms, 7(2): 197–215.
- Manier, Varnier, and Baptiste (2000) Manier, M.-a.; Varnier, C.; and Baptiste, P. 2000. Constraint-based model for the cyclic multi-hoists scheduling problem. Production Planning & Control, 11(3): 244–257.
- Mao et al. (2018) Mao, Y.-n.; Tang, Q.-h.; Li, Z.-x.; and Zhang, L.-p. 2018. Mixed-integer linear programming method for multi-degree and multi-hoist cyclic scheduling with time windows. Engineering Optimization, 50(11): 1978–1995.
- Micheli and Scala (2019) Micheli, A.; and Scala, E. 2019. Temporal planning with temporal metric trajectory constraints. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, 7675–7682.
- Parente et al. (2020) Parente, M.; Figueira, G.; Amorim, P.; and Marques, A. F. 2020. Production scheduling in the context of Industry 4.0: review and trends. Int. J. Prod. Res., 58(17): 5401–5431.
- Petrick and Foster (2016) Petrick, R. P.; and Foster, M. E. 2016. Using general-purpose planning for action selection in human-robot interaction. In 2016 AAAI Fall Symposium Series.
- Phillips and Unger (1976) Phillips, L. W.; and Unger, P. S. 1976. Mathematical programming solution of a hoist scheduling program. AIIE transactions, 8(2): 219–225.
- Reddy et al. (2018) Reddy, M. S.; Ratnam, C.; Rajyalakshmi, G.; and Manupati, V. 2018. An effective hybrid multi objective evolutionary algorithm for solving real time event in flexible job shop scheduling problem. Measurement, 114: 78–90.
- Riera and Yorke-Smith (2002) Riera, D.; and Yorke-Smith, N. 2002. An improved hybrid model for the generic hoist scheduling problem. Annals of Operations Research, 115(1): 173–191.
- Sand and Engell (2004) Sand, G.; and Engell, S. 2004. Modeling and solving real-time scheduling problems by stochastic integer programming. Computers & chemical engineering, 28(6-7): 1087–1103.
- Shapiro and Nuttle (1988) Shapiro, G. W.; and Nuttle, H. L. 1988. Hoist scheduling for a PCB electroplating facility. IIE transactions, 20(2): 157–167.
- Steneberg (2013) Steneberg, S. C. 2013. MILP model for multi-product, multi-part and multi-hoist cycle shops. In 2013 IEEE International Conference on Industrial Technology (ICIT), 1339–1346. IEEE.
- Yan et al. (2014) Yan, P.; Che, A.; Cai, X.; and Tang, X. 2014. Two-phase branch and bound algorithm for robotic cells rescheduling considering limited disturbance. Computers & operations research, 50: 128–140.
- Yan et al. (2017) Yan, P.; Che, A.; Levner, E.; and Liu, S. Q. 2017. A heuristic for inserting randomly arriving jobs into an existing hoist schedule. IEEE Transactions on Automation Science and Engineering, 15(3): 1423–1430.
- Yan et al. (2018a) Yan, P.; Liu, S. Q.; Sun, T.; and Ma, K. 2018a. A dynamic scheduling approach for optimizing the material handling operations in a robotic cell. Comput. Oper. Res., 99: 166–177.
- Yan et al. (2018b) Yan, P.; Liu, S. Q.; Sun, T.; and Ma, K. 2018b. A dynamic scheduling approach for optimizing the material handling operations in a robotic cell. Computers & Operations Research, 99: 166–177.
- Yih (1994) Yih, Y. 1994. An algorithm for hoist scheduling problems. The International Journal of Production Research, 32(3): 501–516.
- Zhao, Fu, and Xu (2013) Zhao, C.; Fu, J.; and Xu, Q. 2013. Real-time dynamic hoist scheduling for multistage material handling process under uncertainties. AIChE Journal, 59(2): 465–482.
- Zhou, Che, and Yan (2012) Zhou, Z.; Che, A.; and Yan, P. 2012. A mixed integer programming approach for multi-cyclic robotic flowshop scheduling with time window constraints. Applied Mathematical Modelling, 36(8): 3621–3629.
- Zhou and Li (2003) Zhou, Z.; and Li, L. 2003. Single hoist cyclic scheduling with multiple tanks: a material handling solution. Computers & Operations Research, 30(6): 811–819.
- Zhuo and Kambhampati (2017) Zhuo, H. H.; and Kambhampati, S. 2017. Model-lite planning: Case-based vs. model-based approaches. Artif. Intell., 246: 1–21.
- Zhuo, Muñoz-Avila, and Yang (2014) Zhuo, H. H.; Muñoz-Avila, H.; and Yang, Q. 2014. Learning hierarchical task network domains from partially observed plan traces. Artif. Intell., 212: 134–157.
- Zhuo and Yang (2014) Zhuo, H. H.; and Yang, Q. 2014. Action-model acquisition for planning via transfer learning. Artif. Intell., 212: 80–103.
- Zhuo et al. (2010) Zhuo, H. H.; Yang, Q.; Hu, D. H.; and Li, L. 2010. Learning complex action models with quantifiers and logical implications. Artif. Intell., 174(18): 1540–1569.