This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Hierarchical Temporal Planning-Based Approach for Dynamic Hoist Scheduling Problems

Kebing Jin1, Yingkai Xiao1, Hankz Hankui Zhuo1,Renyong Ma2 Corresponding author
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 s0s_{0} (i.e., a snapshot of the environment) while the production line is running based on old solutions, we need to estimate the starting state s0s_{0} 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 =,𝒯,𝒪,ρ,ϕ,l,lρ\mathcal{M}=\langle\mathcal{H},\mathcal{T},\mathcal{O},\rho,\phi,l^{\mathcal{H}},l^{\rho}\rangle, aiming at computing plans to guide hoists \mathcal{H} running on rails beyond tanks 𝒯\mathcal{T} to transport products ρ\rho between tanks.

={0,,m}\mathcal{H}=\{\mathcal{H}_{0},\dots,\mathcal{H}_{m}\} 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 i\mathcal{H}_{i} is denoted by lil^{\mathcal{H}}_{i}, 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 i\mathcal{H}_{i} is restricted to only move within i=𝒯x,,𝒯y\mathcal{R}_{i}=\langle\mathcal{T}_{x},\dots,\mathcal{T}_{y}\rangle (x<yx<y) including a sequence of neighboring tanks. We denote the transportation time for a hoist moving from 𝒯m\mathcal{T}_{m} to 𝒯n\mathcal{T}_{n} by 𝐦(m,n)\mathbf{m}(m,n), and lifting time by 𝐭˘\breve{\mathbf{t}}, respectively.

𝒯={𝒯0,𝒯1,,𝒯n}\mathcal{T}=\{\mathcal{T}_{0},\mathcal{T}_{1},\dots,\mathcal{T}_{n}\} 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 𝐏(𝒯i)=𝒪x\mathbf{P}(\mathcal{T}_{i})=\mathcal{O}_{x}, where 𝒪x𝒪\mathcal{O}_{x}\in\mathcal{O}. 𝒪\mathcal{O} is a set of operations 𝒪={𝒪0,𝒪1,,𝒪k}\mathcal{O}=\{\mathcal{O}_{0},\mathcal{O}_{1},\dots,\mathcal{O}_{k}\}, e.g., water washing, loading, and exchanging.

ρ={ρ0,,ρz}\rho=\{\rho_{0},\dots,\rho_{z}\} 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 ρi\rho_{i}, we define its location by liρl^{\rho}_{i}, 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 ϕi=σi,τi¯,τi¯\phi_{i}=\langle\sigma_{i},\underline{\tau_{i}},\overline{\tau_{i}}\rangle. σi=σi0,σi1,\sigma_{i}=\langle\sigma_{i}^{0},\sigma_{i}^{1},\dots\rangle is an operation sequence which requires to be executed in order, where σij𝒪\sigma_{i}^{j}\in\mathcal{O}. τi¯\underline{\tau_{i}} and τi¯\overline{\tau_{i}} are two sequences constraining processing time of σ\sigma, where processing time of σij\sigma_{i}^{j} is required to be more than τi¯j\underline{\tau_{i}}^{j} and less than τi¯j\overline{\tau_{i}}^{j}.

Given \mathcal{M} as input, the goal in this paper is to compute a plan Π\Pi, 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 Π\Pi by a sequence of triples a,γ,τ\langle a,\gamma,\tau\rangle, where aa is an action executed by hoist, including an action name and zero or more parameters. γ𝐑0+\gamma\in\mathbf{R}^{0+} is a positive real-valued number indicating the starting time of action aa . τ\tau is the duration of action aa.

Refer to caption
Figure 1: An example hoist scheduling problem.

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 𝒯3\mathcal{T}_{3}, 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, 1\mathcal{H}_{1} is going to put ρ1\rho_{1} into 𝒯5\mathcal{T}_{5}, whose operation is 𝒪3\mathcal{O}_{3}, the processing time of the third procedure of ρ1\rho_{1} 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. 1.

    Tanks can be available or unavailable in the beginning.

  2. 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. 3.

    A product only has one operation at a time.

  4. 4.

    A processing tank only processes one product at a time, but loading and unloading tanks can contain several ones.

  5. 5.

    A hoist only takes one product at a time.

  6. 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. 7.

    The lifting and transportation times are not negligible.

Our HIT Approach

Refer to caption
Figure 2: A framework of HIT.

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 ζ\zeta for new products; (2) updating old schedules ζ^\hat{\zeta} based on detailed plan π^\hat{\pi}.

Skeleton schedules are defined by ζ=ζ0,ζ1,\zeta=\langle\zeta_{0},\zeta_{1},\dots\rangle, recording the occupied time of dispatching hoists and tanks to products transportation and processing. ζ\zeta is a set composed of tuples in the form of ρ,θ,t¯,t¯\langle\rho,\theta,\underline{t},\overline{t}\rangle, where ρ\rho is a product and θ\theta is either a hoist or a tank. A tuple indicates ρ\rho is occupied by \mathcal{H} or 𝒯\mathcal{T} from t¯\underline{t} to t¯\overline{t}. We utilize a sequence ψ\psi to include all starting time t¯\underline{t} in ζ\zeta, from small to large.

New Skeleton Schedules Generation

When detecting new products not being included in the past estimated schedules ζ^\hat{\zeta}, we first estimate new schedules with the premise of not disturbing ζ^\hat{\zeta}, defined by ζ=Schedule(,ζ^)\zeta=\texttt{Schedule}(\mathcal{M},\hat{\zeta}).

As for a product ρ\rho, its recipe and location are defined by ϕ=σ,τ¯,τ¯\phi=\langle\sigma,\underline{\tau},\overline{\tau}\rangle and lρl^{\rho} respectively. We alternatively compute available hoists to transport the products and tanks to process them, ignoring detailed constraints according to the starting time in ψ\psi. Starting from ψ0\psi_{0}, we compute all products which can join in the production lines, record them into ζ^\hat{\zeta}, and update ψ\psi. When no more products could be dispatched at ψ0\psi_{0}, we continue estimating whether the rest products could join at ψ1\psi_{1} and repeat those procedures until all products joining. To compute \mathcal{H} and 𝒯\mathcal{T} for σi\sigma^{i} at ψi\psi_{i}, we search following:

Minimize (1+m)ω\displaystyle\text{Minimize }(1+m)\omega (1)

subject to

ω=𝐦(l,lρ)+𝐭˘+𝐦(lρ,𝒯)\displaystyle\omega=\mathbf{m}(l^{\mathcal{H}},l^{\rho})+\breve{\mathbf{t}}+\mathbf{m}(l^{\rho},\mathcal{T}) (2)

where ω\omega is the least transportation and lifting time, and mm is a huge penalty if any following aspects are satisfied:

  • 𝐏(𝒯)σi\mathbf{P}(\mathcal{T})\neq\sigma^{i}.

  • There is a tuple ρ,,t¯,t¯ζ\langle\rho^{\prime},\mathcal{H},\underline{t}^{\prime},\overline{t}^{\prime}\rangle\in\zeta letting {y1|t¯y1t¯}{y2|ψiy2ψi+ω}\{y_{1}|\underline{t}^{\prime}\leq y_{1}\leq\overline{t}^{\prime}\}\cap\{y_{2}|\psi_{i}\leq y_{2}\leq\psi_{i}+\omega\}\neq\emptyset.

  • There is a tuple ρ,𝒯,t¯,t¯ζ\langle\rho^{\prime},\mathcal{T},\underline{t}^{\prime},\overline{t}^{\prime}\rangle\in\zeta letting {y1|ψiy1ψi+ω}{y2|ψi+ωy2ψi+ω+τ¯i}\{y_{1}|\psi_{i}\leq y_{1}\leq\psi_{i}+\omega\}\cap\{y_{2}|\psi_{i}+\omega\leq y_{2}\leq\psi_{i}+\omega+\underline{\tau}_{i}\}\neq\emptyset.

Otherwise, m=0m=0. 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 ρ,,ψi,ψi+ω\langle\rho,\mathcal{H},\psi_{i},\psi_{i}+\omega\rangle and ρ,𝒯,ψi+ω,ψi+ω+τ¯i\langle\rho,\mathcal{T},\psi_{i}+\omega,\psi_{i}+\omega+\underline{\tau}_{i}\rangle. Once we successfully schedule for all procedures, we add the computed occupied durations into ζ\zeta and update ψ\psi 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 π^\hat{\pi}, we dynamically update estimated schedules ζ\zeta to generate more accurate guidance for later sub-goals generation, defined by ζ^=Update(ζ,π^)\hat{\zeta}=\texttt{Update}(\zeta,\hat{\pi}). Specifically, we update the starting and ending time of occupied durations in ζ\zeta according to π^\hat{\pi} by executing actions in π^\hat{\pi} and deferring the occupied durations that are not related to π^\hat{\pi}. 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 π^\hat{\pi}, according to the starting time γ\gamma and duration τ\tau of each action, we first update the corresponding ρ,θ,t¯,t¯\langle\rho,\theta,\underline{t},\overline{t}\rangle by ρ,θ,γ,γ+τ\langle\rho,\theta,\gamma,\gamma+\tau\rangle. Then we update all tuples ρ,θ,t¯,t¯\langle\rho,\theta^{\prime},\underline{t}^{\prime},\overline{t}^{\prime}\rangle (t¯>t¯\underline{t}^{\prime}>\underline{t}) by ρ,θ,t¯+Δt,t¯+Δt\langle\rho,\theta^{\prime},\underline{t}^{\prime}+\Delta t,\overline{t}^{\prime}+\Delta t\rangle where Δt=γ+τt¯\Delta t=\gamma+\tau-\overline{t}. After executing π^\hat{\pi}, we utilize ζ^\hat{\zeta} to include the tuples not updated by actions but deferred. Since the updated schedules may involve overlapping occupied durations, we use a metric ν\nu to determine whether any two tuples overlap, defined by:

ν\displaystyle\nu =Overlap(ρ,θ,t¯,t¯,ρ′′,θ′′,t¯′′,t¯′′)\displaystyle=\texttt{Overlap}(\langle\rho^{\prime},\theta^{\prime},\underline{t}^{\prime},\overline{t}^{\prime}\rangle,\langle\rho^{\prime\prime},\theta^{\prime\prime},\underline{t}^{\prime\prime},\overline{t}^{\prime\prime}\rangle)
={1if t¯t¯′′>0,ρ=ρ′′ or t¯t¯′′>0,θ=θ′′0Otherwise.\displaystyle=\begin{cases}1&\mbox{if $\overline{t}^{\prime}-\underline{t}^{\prime\prime}>0,\rho^{\prime}=\rho^{\prime\prime}$ or}\\ &\mbox{ $\overline{t}^{\prime}-\underline{t}^{\prime\prime}>0,\theta^{\prime}=\theta^{\prime\prime}$, }\\ 0&\mbox{Otherwise. }\\ \end{cases} (3)

If ν\nu=1, we consider that their durations overlap, where the overlapping duration is denoted by δ=t¯′′t¯\delta=\overline{t}^{\prime\prime}-\underline{t}^{\prime}. We extend the duration of products staying at tanks following the recipes to decrease δ\delta. Specifically, we first filter out [X0,,[X_{0},\dots, Xm,Xm+1,]X_{m},X_{m+1},\dots] (Xi=ρ′′,θi,t¯i,t¯iX_{i}=\langle\rho^{\prime\prime},\theta_{i},\underline{t}_{i},\overline{t}_{i}\rangle, θi𝒯\theta_{i}\in\mathcal{T}, t¯it¯i+1\underline{t}_{i}\leq\underline{t}_{i+1}, t¯m=t¯′′\underline{t}_{m}=\underline{t}^{\prime\prime}) from ζ^\hat{\zeta}. If 0<t¯mjt¯mjτ¯j0<\overline{t}_{m-j}-\underline{t}_{m-j}\leq\overline{\tau}_{j}, we update all starting time after Xmj+1X_{m-j+1} and all ending time after XmjX_{m-j} by adding Δt\Delta t, where Δt=min(δ,τ¯mj(t¯mjt¯mj))\Delta t=min(\delta,\overline{\tau}_{m-j}-(\overline{t}_{m-j}-\underline{t}_{m-j})). We then update δ\delta by δ=δΔt\delta=\delta-\Delta t. Otherwise, we let j=j+1j=j+1. We repeat the above-mentioned steps from j=0j=0 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 𝒟\mathcal{D} 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 \mathcal{I} are built based on sub-goals and \mathcal{M}, 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 a,d(a),pre(a),eff(a)\langle a,d(a),\textit{pre}(a),\textit{eff}(a)\rangle. aa is an action name with zero or more parameters. d(a)d(a) is either a fixed value or inequalities, indicating the time of executing action. pre(a)\textit{pre}(a) is a set of preconditions, each of which is a logical and temporal expression which must be met in order. Similarly, eff(a)\textit{eff}(a) 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.

Refer to caption
Figure 3: An example of the domain and problem model

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 𝒟\mathcal{D} and \mathcal{I}, we utilize a temporal planner to plan out a solution π\pi, the running time is denoted by ϵr\epsilon_{r}. To splice the sub-plans, we let all start time in π\pi be γ=γ+ϵ\gamma=\gamma+\epsilon, where ϵ\epsilon 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 ζ\zeta, current processing time of products ι\iota and \mathcal{M}, we build sub-goals for schedules which are estimated to be occupied early.

To generate sub-goals, we first select ρ,θ,t¯,t¯ζ^\langle\rho,\theta,\underline{t},\overline{t}\rangle\in\hat{\zeta} with the smallest starting time t¯\underline{t}. Then, we construct sub-goals in the form of grounding predicates following:

  • If θ\theta is a hoist, we regard “(hoist_have \mathcal{H} ρ\rho)” as a sub-goal, indicating that \mathcal{H} should pick up ρ\rho after executions.

  • If θ\theta is a tank, we first seek out another tuple ρ,,t¯,t¯\langle\rho,\mathcal{H},\underline{t}^{\prime},\overline{t}^{\prime}\rangle, where t¯\underline{t}^{\prime} is the second smallest starting time:

    • if t¯<t¯+ι+𝐦(l,𝒯)\overline{t}^{\prime}<\underline{t}^{\prime}+\iota+\mathbf{m}(l^{\mathcal{H}},\mathcal{T}), where ll^{\mathcal{H}} is the location of \mathcal{H} and ι\iota is processing time of the product, we regard “(hoist_at \mathcal{H} 𝒯\mathcal{T})” as a sub-goal, indicating that \mathcal{H} should start to move to 𝒯\mathcal{T}.

    • Otherwise, we use “(product_at ρ\rho 𝒯\mathcal{T})” as a sub-goal, indicating that ρ\rho should be put into 𝒯\mathcal{T} after executions.

Plan Clipping

After computing sub-plans π\pi, 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 ϵ\epsilon as the starting time of next sub-plan and a recomputing time ϵ^\hat{\epsilon} for real-world applications to recompute sub-goals. Note that ϵ^\hat{\epsilon} is to avoid errors created by running time. We then cut the plan according to ϵ\epsilon and ι\iota, deleting actions in π\pi executed after ϵ\epsilon. At last, we update \mathcal{M} and ι\iota according to the clipped plan π^\hat{\pi}.

Specifically, we first locate the action a,γ,τ\langle a^{\prime},\gamma^{\prime},\tau^{\prime}\rangle achieving the first sub-goal. We compute ϵ\epsilon following:

  • If the achieved sub-goal is “(hoist_at \mathcal{H} 𝒯\mathcal{T})” or “(product_at ρ\rho 𝒯\mathcal{T})”, ϵ=γ+τ\epsilon=\gamma^{\prime}+\tau^{\prime}.

  • If the sub-goal is “(hoist_have \mathcal{H} ρ\rho)”, ϵ=γ𝐦(l,lρ)\epsilon=\gamma^{\prime}-\mathbf{m}(l^{\mathcal{H}},l^{\rho}), where ll^{\mathcal{H}} and lρl^{\rho} are locations of \mathcal{H} and ρ\rho, aiming at letting \mathcal{H} reach target tanks in advance to avoid products waiting.

  • If two neighbor actions a1,γ1,τ1\langle a_{1},\gamma_{1},\tau_{1}\rangle and a2,γ2,τ2\langle a_{2},\gamma_{2},\tau_{2}\rangle exist, where γ1<γ2<γ\gamma_{1}<\gamma_{2}<\gamma^{\prime}, γ2γ1+τ1\gamma_{2}\neq\gamma_{1}+\tau_{1} and they both move the same hoist \mathcal{H}, we let ϵ=γ1+τ1+𝐭˘\epsilon=\gamma_{1}+\tau_{1}+\breve{\mathbf{t}}.

  • If the achieved sub-goal is to put the last product into an unloading tank, ϵ=MAX\epsilon=MAX, where MAXMAX 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 ϵ\epsilon, denote the sub-plan by π^\hat{\pi}, and update \mathcal{M} and ι\iota according to π^\hat{\pi}. If a product ρi\rho_{i} is picked up from a tank, we let ιi=0\iota_{i}=0. If cutting the plan is because of the second reason, we replace the predicate “(hoist_start_moving \mathcal{H})” with “(hoist_stop_moving \mathcal{H})” after updating states to ensure planners to add the time of starting-up to move hoists. Given ι\iota, we determine whether π^\hat{\pi} is valid by:

Validate(ι,ϕ)={1if ιiι,τ¯ijιiτ¯ij 0Otherwise\displaystyle\texttt{Validate}(\iota,\phi)=\begin{cases}1&\mbox{if~{}$\forall\iota_{i}\in\iota,\underline{\tau}^{j}_{i}\leq\iota_{i}\leq\overline{\tau}^{j}_{i}$ }\\ 0&\mbox{Otherwise}\end{cases} (4)

Intuitively, if each ιi\iota_{i} satisfies requirements defined in recipes, where τ¯ij\underline{\tau}^{j}_{i} and τ¯ij\overline{\tau}^{j}_{i} are the lower and upper time requirements of the current operation for ρi\rho_{i}, we consider that the plan is valid. Otherwise, the plan is infeasible.

Next, we compute ϵ^\hat{\epsilon} 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 π^\hat{\pi} and \mathcal{M}, we can compute new \mathcal{M} and ι\iota after executing π^\hat{\pi}. Given the starting time γ0\gamma_{0} of the current sub-plan π^\hat{\pi}, and the next regenerating time ϵ\epsilon, we invoke TPSHE a few seconds early to solve the next sub-problem. ϵ^\hat{\epsilon} is computed by ϵ^=max(γ0,ϵα)\hat{\epsilon}=max(\gamma_{0},\epsilon-\alpha), where α\alpha is a hyper-parameter. After computing new next sub-plan π^\hat{\pi}^{\prime}, we let all starting time of actions be γ=γ+min(0,ϵrα)\gamma=\gamma+min(0,\epsilon_{r}-\alpha) to avoid errors when running time of planner is more than α\alpha, where ϵr\epsilon_{r} is exact running time of TPSHE. And we update ϵ=ϵ+min(0,ϵrα)\epsilon=\epsilon+min(0,\epsilon_{r}-\alpha). Note that ϵ^\hat{\epsilon} is used in real-world applications to recompute sub-goals, and ϵ\epsilon is the starting time of the next sub-plan.

Overview of HIT

Algorithm 1 An overview of our Hierarchical Temporal Planning

Input: =,𝒯,𝒪,ρ,ϕ,l,lρ\mathcal{M}=\langle\mathcal{H},\mathcal{T},\mathcal{O},\rho,\phi,l^{\mathcal{H}},l^{\rho}\rangle, α\alpha
Output: A plan Π\Pi

1:  Π=,ζ^={},ϵ=0,ι=0\Pi=\langle\rangle,\hat{\zeta}=\{\},\epsilon=0,\iota=\vec{\textbf{0}}
2:  Build the domain model 𝒟\mathcal{D}
3:  while ϵ<MAX\epsilon<MAX do
4:     Compute skeleton schedule ζ\zeta
5:     Generate sub-goals gg and model a sub-problem \mathcal{I} according to ϵ\epsilon, ι\iota, ζ\zeta and \mathcal{M}
6:     Utilize a planner to solve 𝒟{\mathcal{D}} and \mathcal{I}, denoted by π\pi
7:     Compute next starting time ϵ\epsilon of sub-plans and the clipped plan π^\hat{\pi}, and next recomputing time ϵ^\hat{\epsilon} according to α\alpha and π\pi
8:     According to π^\hat{\pi}, update \mathcal{M} and ι\iota, and compute ζ^\hat{\zeta}
9:     if Validate(ι,ϕ)=0\texttt{Validate}(\iota,\phi)=0 then
10:        return  False
11:     end if
12:     Π=Π|π^\Pi=\langle\Pi|\hat{\pi}\rangle
13:  end while
14:  return  Π\Pi

An overview of HIT is shown in Algorithm 1. First of all, we initialize two empty sets Π\Pi and ζ^\hat{\zeta} to indicate plans and skeleton schedules. We initialize the starting time for plans ϵ=0\epsilon=0, and the current processing time of each product ι=o\iota=\vec{\textbf{o}}. (Line 1). Secondly, we build a domain model 𝒟\mathcal{D} composed of common rules (Line 2). Thirdly, we compute skeleton schedules ζ\zeta to estimate occupied duration of products (Line 3). Then we generate sub-goals, model the sub-problem \mathcal{I}, and utilize a planner to generate π\pi (Lines 5 to 6). Next, given π\pi, we compute the time to recompute sub-goals ϵ\epsilon, and use ϵ\epsilon to compute π^\hat{\pi} and ϵ^\hat{\epsilon} with the help of α\alpha (Line 7). According to π^\hat{\pi}, we update \mathcal{M} and ι\iota, compute ζ^\hat{\zeta} (Line 8). If the plan is valid, we insert π^\hat{\pi} into Π\Pi (Lines 9 to 12). We repeat computing sub-goals, constructing problem models, and solving problems until ϵ=MAX\epsilon=MAX, 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 MAXMAX 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 \mathcal{M} satisfying the requirements of processing time. HIT repeats constructing sub-goals and solving them until all products are finished successfully, i.e., ϵ=MAX\epsilon=MAX. 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 MAXMAX 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 MAXMAX 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 α\alpha 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: 𝒪1,25,55\langle\mathcal{O}_{1},25,55\rangle, 𝒪2,200,550\langle\mathcal{O}_{2},200,550\rangle, 𝒪3,80,150\langle\mathcal{O}_{3},80,150\rangle, 𝒪4,70,\langle\mathcal{O}_{4},70,

200200\rangle, 𝒪5,90,160\langle\mathcal{O}_{5},90,160\rangle, 𝒪6,200,400\langle\mathcal{O}_{6},200,400\rangle.

B: 𝒪1,30,60\langle\mathcal{O}_{1},30,60\rangle, 𝒪2,60,90\langle\mathcal{O}_{2},60,90\rangle, 𝒪3,200,400\langle\mathcal{O}_{3},200,400\rangle, 𝒪4,60,\langle\mathcal{O}_{4},60,

120120\rangle, 𝒪5,200,400\langle\mathcal{O}_{5},200,400\rangle, 𝒪6,30,120\langle\mathcal{O}_{6},30,120\rangle, 𝒪7,35,75\langle\mathcal{O}_{7},35,75\rangle.

C: 𝒪1,20,50\langle\mathcal{O}_{1},20,50\rangle, 𝒪2,400,800\langle\mathcal{O}_{2},400,800\rangle, 𝒪3,70,120\langle\mathcal{O}_{3},70,120\rangle, 𝒪4,90,\langle\mathcal{O}_{4},90,

160160\rangle, 𝒪5,100,120\langle\mathcal{O}_{5},100,120\rangle, 𝒪6,70,200\langle\mathcal{O}_{6},70,200\rangle.

D: 𝒪1,25,55\langle\mathcal{O}_{1},25,55\rangle, 𝒪2,90,160\langle\mathcal{O}_{2},90,160\rangle, 𝒪4,80,150\langle\mathcal{O}_{4},80,150\rangle, 𝒪5,70,\langle\mathcal{O}_{5},70,

200200\rangle, 𝒪6,90,160\langle\mathcal{O}_{6},90,160\rangle, 𝒪7,150,300\langle\mathcal{O}_{7},150,300\rangle.

E: 𝒪1,25,55\langle\mathcal{O}_{1},25,55\rangle, 𝒪2,200,500\langle\mathcal{O}_{2},200,500\rangle, 𝒪3,80,150\langle\mathcal{O}_{3},80,150\rangle, 𝒪4,70,\langle\mathcal{O}_{4},70,

200200\rangle.

Then we use 𝒩,𝒩𝒯,𝒩ρ\mathcal{N}_{\mathcal{H}},\mathcal{N}_{\mathcal{T}},\mathcal{N}_{\rho} to denote the number of hoists, tanks, and products, respectively. Next. we define operations of tanks by 𝐏(𝒯i)=𝒪i\mathbf{P}(\mathcal{T}_{i})=\mathcal{O}_{i}, except for 𝒯0\mathcal{T}_{0} and 𝒯𝒩1\mathcal{T}_{\mathcal{N}_{\mathcal{H}}-1}, which are regarded as the loading and unloading tanks. At last, we define lifting time 𝐭˘=5\breve{\mathbf{t}}=5, and transportation time 𝐦(𝒯i,𝒯j)=|ji|+4\mathbf{m}(\mathcal{T}_{i},\mathcal{T}_{j})=|j-i|+4.

  • 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 𝒩𝒯{8,10,12,14}\mathcal{N}_{\mathcal{T}}\in\{8,10,12,14\} and 𝒩=1\mathcal{N}_{\mathcal{H}}=1. We first define n=U(y1,y2)n=U(y_{1},y_{2}) to randomly selected an integer from y1y_{1} to y2y_{2}. As for each 𝒩𝒯\mathcal{N}_{\mathcal{T}}, we randomly generated 10 problems, including two sets of products: ρ\rho and ρ\rho^{\prime}. ρ\rho is a set of products waiting at the loading tank in the beginning, where 𝒩ρ=U(K/2,K)\mathcal{N}_{\rho}=U(K/2,K). ρ\rho^{\prime} is a set of products joining during running production lines, 𝒩ρ=U(K/2,K)\mathcal{N}_{\rho^{\prime}}=U(K/2,K). The time to put ρ\rho^{\prime} at the loading tank is defined by U(0,T0)U(0,T_{0}), where T0T_{0} is the makespan of finishing ρ\rho computed by SHS. The number of operations is computed by U(K/2,K)U(K/2,K) 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)τ¯ij=U(30,90),τ¯ij=τ¯ij+U(0,90)\underline{\tau}_{i}^{j}=U(30,90),\overline{\tau}_{i}^{j}=\underline{\tau}_{i}^{j}+U(0,90); (2)τ¯ij=U(90,150),τ¯ij=τ¯ij+U(0,60)\underline{\tau}_{i}^{j}=U(90,150),\overline{\tau}_{i}^{j}=\underline{\tau}_{i}^{j}+U(0,60); (3) τ¯ij=U(150,270),τ¯ij=τ¯ij+U(0,150)\underline{\tau}_{i}^{j}=U(150,270),\overline{\tau}_{i}^{j}=\underline{\tau}_{i}^{j}+U(0,150).

  • To analysis the limitations, we compared makespan and running time on small-scale problems. We built 8 groups of problems with different 𝒩,𝒩𝒯\mathcal{N}_{\mathcal{H}},\mathcal{N}_{\mathcal{T}}, and 𝒩ρ\mathcal{N}_{\rho}, 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 𝒩ρ<16\mathcal{N}_{\rho}<16, 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.

Refer to caption
(a) Makespan
Refer to caption
(b) CPU times
Figure 4: Makespan and CPU time of plans computed on problems with different number of products.
Table 1: Results of problems with new products randomly joining in.
𝒩𝒯\mathcal{N}_{\mathcal{T}} 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
Table 2: Results of makespan and running time of plans computed by different methods (𝒩ρ10\mathcal{N}_{\rho}\leq 10).
(𝒩,𝒩𝒯,𝒩ρ)(\mathcal{N}_{\mathcal{H}},\mathcal{N}_{\mathcal{T}},\mathcal{N}_{\rho}) 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,\geq5) 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,\geq5) 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,\geq5) 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,\geq5) 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 𝒩𝒯12\mathcal{N}_{\mathcal{T}}\geq 12. 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 𝒩𝒯10\mathcal{N}_{\mathcal{T}}\geq 10, 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 𝒩𝒯<5\mathcal{N}_{\mathcal{T}}<5, 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.

Refer to caption
Figure 5: Real-world production lines with 96 tanks.

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 l1=+𝒯1l^{\mathcal{H}}_{1}=+\mathcal{T}_{1}, no hoists can locate at 𝒯2\mathcal{T}_{2}, 𝒯3\mathcal{T}_{3}, and 𝒯4\mathcal{T}_{4}. 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.

Refer to caption
(a) Average makespan
Refer to caption
(b) CPU time
Figure 6: Average makespan and CPU time of plans on problems with 39 and 96 tanks.

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.