1 Introduction

The productivity of an AGV-served flow shop repetitively producing a set of different products depends on both the job flow sequencing and the material handling system’s ability to achieve a pre-specified throughput. Normally implemented modelling frameworks of this type assume a deterministic character of such systems, where demand is known in advance and the processing times of each job on each machine are known constants. In order to improve systems’ [e.g. Flexible Manufacturing Systems (FMS)] productivity the AGVs fleet size and the scheduling/dispatching influence on the system throughput are usually examined. More formally, such problems belong to a class of deterministic cyclic scheduling problems for which throughput rate targets are established and non-identical, multistage job routings and machine assignments are fixed. A goal is to sequence and position job operations in a cyclic fashion so as to minimize a weighted sum of the job flow times subject to transportation, blocking and time window constraints. The general problem is known to be NP-hard (Levner et al. 2010; Groenemeyer 2012).

In contrast to the above mentioned, the problem considered in this research assumes a given transportation system encompassing a network of AGVs periodically circulating along cyclic routes while servicing workpieces load/unload operations. The considered performance measures such as a production flow takt time, a flow time, a flow rate and a job shop productivity depend on uncertainty requirements caused by availability of workers employed for workstations servicing, e.g. for jig/tool fastening and pick and place operation performance. For the sake of further consideration the following definitions are used: production flow is defined as the movement of material through segregated stages of the workshop, flow rate (throughput) is the number of flow units (e.g. workpieces) going through the workshop (seen as the job-shop) per unit time, flow time (total processing time) is the amount of time a flow unit spends in the job shop from beginning to end, job shop productivity is the output of the workshop in a specific period of time, and takt time (production rate) is the rate at which a finished product needs to be completed.

In that context the investigated question concerns AGVs fleet match-up scheduling subject to productivity constraints with reference to the schedule of the production flow imposed by the uncertainty implied by workers’ availability for operation execution. Consequently it can be seen as an extension of the problems formulated within the framework of a grid-like multimodal transportation network in which an arbitrarily chosen Elementary Transport Networks (ETNs) supported by different transportation modes interact with each other via distinguished subsets of common shared workstations as to provide a variety of transportation/handling services (Bocewicz et al. 2014a, b), and then in (Bocewicz et al. 2015). Moreover, such commonly found regular structures, e.g. grid-like topology networks (Qiu et al. 2002; Balakrishnan and Chun 2007; Perera and Ratnayake 2015), are widely observed in different application domains (such as manufacturing, intercity freight transportation supply chains, multimodal passenger transport), provide additional motivation for this study.

The realistic examples supporting the adopted topological assumptions follow from numerous reports concerning mesh-like or grid-like as well as fractal-like structures of GMTNs. Such topologies have been considered for over twenty years see Qiu et al. (2002). At the same time fractal-like topologies are investigated as well see Silva (2010). Drawing upon the research listed above, our topological assumptions are motivated by the expected advantages gained from the GMTN layout flexibility being vital to improve manufacturing flexibility. This is especially the case when faced with shorter lead times, variable product mix and volumes.

Since, most manufacturing processes observed in their steady state are periodically recurring ones, cyclic scheduling methods can be considered. This kind of representation enables one to show which behaviours (consisting of many cyclic concurrent threads corresponding with routes of AGVs, routes of transported work pieces, etc.) can exist in any given structure (limited by the number of resources and their capacities). Many models and methods aimed at cyclic scheduling of concurrently flowing jobs have been considered to date. Among those, the mathematical programming approach (Von Kampmeyer 2006), max-plus algebra (Polak et al. 2004), Petri nets (Baruwa and Piera 2016), tabu search (Zheng et al. 2014) constraint logic programming (Bocewicz et al. 2014a, b) frameworks are the more frequently used. Most of these methods aim at finding a minimal cycle or maximal throughput while assuming deadlock-free processes flow. Very rarely, however, they concern production systems consisting of an AGV fleet arranged to transport workpieces between workstations (i.e. following a given production route) while moving in a carousel mode along cyclic path topologies. In that context the main question behind the study is: Can the AGV fleet assignment reach its goal subject to the constraints assumed on the concurrent multi-product manufacturing system?

The remainder of the paper is organized as follows: Sect. 2 provides a brief review of related works. Section 3 introduces a framework aimed at GMTN modeling in terms of System of Concurrently executed Cyclic Processes (SCCP) and provides the problem formulation concerning AGV fleet scheduling with a multi-product manufacturing flow schedule imposed by fuzzy operation time constraints. After discussion of some issues regarding multimodal processes prototyping, the solution to the considered constraint satisfaction problem is submitted in Sect. 4. An illustrative example providing results of computational experiments is given in Sect. 5. Concluding remarks and further work are presented in Sect. 6.

2 Literature review

Numerous papers have been published to address Vehicle Routing Problems (VRP) (Carić and Gold 2008), AGVs fleet assignment (Abara 1989; Hall et al. 2001), integrated machine scheduling and vehicle routing with time windows (Ullrich 2013) as well as multimodal network flow models (Haghani and Oh 1996). Because of the NP-hard nature of these problems, the proposed solution methods range from dynamic programming (Maneengam et al. 2012; Azi et al. 2012), through constraint programming (Kao and Chen 2013; Kilby and Urli 2016) to metaheuristic-driven evolutionary programming (Ullrich 2013; Reed et al. 2014).

Since VRPs assume searching for shortest job flows time subject to transportation, blocking and time window constraints it can be also seen as an extension of the Heterogeneous Fleet Vehicle Routing Problem with Time Windows (HFVRPTW), where workpieces transportation following production routes must occur in certain time windows, i.e. the interval is treated as part of the respective production takts, which varies from production order to production order. The goal of the HFVRPTW is to find transportation times for each AGV stream such that hard time window constraints on both kind of windows hold for a cyclic steady state of AGV flow.

Other perspectives provided by the integration of fleet assignment and maintenance planning (Moudani and Mora-Camino 2000; Lu et al. 2013) to AGV fleet scheduling is presented in Bzdyra et al. (2015) where a declarative framework enabling one to determine conditions employed in a decision support system aimed at small and medium size enterprises involved in a unique, multi project-like and mass customized oriented production is discussed. The unique production orders are grouped into a set of portfolio orders where each production order is treated as an activity network of common shared resources, known in advance, however imprecise operation times are allotted. The job routings may be arbitrary partial orders (i.e., they are not restricted to be serial), and the jobs may be re-entrant, meaning that the same machine may be visited multiple times before completion. The problem concerns scheduling a newly inserted project portfolio taking into account both: imprecise operations imposed by a multi-project environment and material handling constraints imposed by AGV availability. A declarative model is sought, enabling one to state a constraint satisfaction problem aimed at: Whether a given portfolio can be completed within the assumed time period in the given manufacturing system?

The material handling system of a flexible manufacturing system where vehicles serve workstations located along different modes of cyclic guided paths in a 3D environment composed of rails/lifts/hoists is considered in (Bocewicz et al. 2016). A production flow scheduling problem subject to fuzzy processing time constraints treated as a fuzzy constraint satisfaction problem is studied. The main objective is to provide sufficient conditions guaranteeing avoidance of time-consuming computer-simulation-based calculations of AGV fleet schedules, while keeping the throughput at the maximum achievable level.

Nielsen et al. (2016) provides some generalization of the problem, stating the resource-constrained multi-product scheduling problem for an AGV-served flow shop, where multiple material handling transport modes provide movement of workpieces between machining centers.

Consequently, the problem considered in this research can be seen as an extension and/or refining of the problems formulated in our former works (Bocewicz and Banaszak 2013; Bocewicz et al. 2014a, b, 2015, 2016; Nielsen et al. 2016) focused on a solution to a constraint satisfaction problem aimed at AGVs fleet match-up scheduling while taking into account fuzzy operation times constraints. In order to delimit the work addressed in this research we will first present contributions concerning some of the main issues. The schedulability analysis of the processes executed in the so-called systems of concurrent cyclic processes executed within a declarative modeling framework is provided in Bocewicz and Banaszak (2013). The considered representation provides a unified way for evaluating the performance of local cyclic processes as well as of the multimodal processes supported by these. We propose a recursive design approach to create sufficient conditions that guarantee the schedulability of both local and multimodal cyclic processes. In turn the solution to a constraint satisfaction problem aimed at AGV fleet match-up scheduling while taking into consideration the itineraries of concurrently manufactured product types is provided in Bocewicz et al. (2014b). An algebra-like driven approach to cyclic scheduling based on step-by-step composition of multimodal transportation network sub-structures is proposed.

The considered network of repetitively acting local transportation modes provides a framework for multimodal processes scheduling treated in terms of AGV fleet scheduling problems subject to fuzzy operation time constraints. The aim of the research is to show the universality of the employed declarative modeling driven approach. This approach makes it possible to treat the above mentioned scheduling problem in terms of the following two routine queries formulated either in: a direct way–What schedule of AGV fleet following a given set of operation times maximizes operation availability and productivity?, or a reverse way–What set of operation times guarantee that the resultant schedule of a given AGV fleet maximizes both operation availability and productivity?

3 Grid-like transportation network modelling

Note, that a specific network topology of GMTN, e.g. as shown in Fig. 1a), assumes that it can be considered as composed of multiple Elementary Transport Networks (ETNs). Each ETN can be seen as an autonomous cell (or grid) encompassing cyclically circulating AGVs transporting workpieces among workstations. Workpieces moved along different ETNs while following different production routes can be viewed as multimodal processes passing along locally used transportation paths and workpiece processing operations.

The assumption behind these statements supposes a regular composition of ETNs, encompassing local cyclic steady states, implies a cyclic steady state of whole GMTN, i.e. guaranteeing congestion and deadlock-free flow of AGVs. In a mixed floor and overhead material handling transport system equipped with many unidirectional AGV and overhead hoist transport modes guaranteeing congestion and deadlocks-free operations plays a pivotal role in achieving a well-organized material flow. Our approach focuses on GMTN steady state behaviour following assumed steady state task requirements, enables deadlock-free scheduling and routing of a great number of multimodal transport means.

3.1 Systems of concurrent cyclic processes modelled in GTN framework

Consider a set of workstations deployed along paths in the transportation network, where fleet of AGVs service workpiece movements between workstations. Due to the organization of material handling operations AGVs circulate along transportation paths, loops in the network composed of multiple AGV loops connected through common shared workstations. In order to guarantee each workstation can be solely serviced by exactly one AGV at the moment, a dispatching rule choosing a transportation mean among currently accessing ones has to be assigned. In that contexts the considered transportation system can be seen as composed of a set of concurrently executed cyclic process synchronized by mutual exclusion protocol, i.e. a System of Concurrently executed Cyclic Processes (SCCP). In turn, SCCP can be directly represented in terms of Petri nets formalism being a powerful formal model for the analysis and modelling of concurrent systems, hence a rich theory has developed around them so far can be also easily used. A way in which the GMTN from Fig. 1a can be modelled as a SCCP is shown in Fig. 1b (Bocewicz et al. 2015). In other words, each SCCP consists of a set of periodically performed processes composed of material handling and processing operations. Processes interact with each other via common used resources in the form of either transportation or processing operations. Dispatching rules allotted to common shared resources provide a mutual exclusion protocol synchronizing processes interaction (Bocewicz and Banaszak 2013).

The considered GMTN consists of ETNs with the structure presented in Fig. 2a. In terms of SCCP representation, it will be called a SCCP-driven model of ETN, (SETN) for short. As the considered GMTN consists of a set of ETNs, therefore to each a-th ETN the relevant a-th SETN denoted as \(^{\left( a \right) }{} \textit{SC}\) belongs as well, see Fig. 2b.

The SETN shown in Fig. 2b, is composed of four local cyclic processes : \(P_1 \), \(P_2 \), \(P_3 \), \(P_4 \) and their streams: \(P_1^1 \), \(P_2^1 \), \(P_3^1 \), \(P_4^1 \) (distinguished in Fig. 2 by \(^{\left( a \right) }P_1 \),\(^{\left( a \right) }P_2 \),\(^{\left( a \right) }P_3 \), \(^{\left( a \right) }P_4 \), respectively—superscript (a) indicates the number of SETNs), associated to four AGVs following their routes in the ETN. Apart from local processes, two multimodal processes: \(mP_1 \), \(mP_2 \) representing parts of manufacturing routes of two products \(W_1 \) and \(W_2 \) executed in the ETN, are considered. The processes follow given routes composed of workstations: \(R_1 -R_4 \) (resources \(^{\left( a \right) }R_c \) denoted by superscript \(\left( a \right) \) that refers to the number of the ETN) and resources representing transportation sectors \((R_5 -R_{13} )\).

Fig. 1
figure 1

An example of GMTN (a) and its SCCP model (b)

Formally, local P and multimodal mP processes are defined in the following way:

\(P=\left\{ {P_i |i=1,\ldots ,n} \right\} -\) the set of local processes described by sequences of operations executed on resources R, where each \(P_i \) is specified by the set of streams: \(P_i =\left\{ {P_i^1 ,P_i^2 ,\ldots ,P_i^k ,\ldots ,P_i^{ls\left( i \right) } } \right\} \),

\(mP=\left\{ {mP_i |i=1,\ldots ,w} \right\} -\) the set of multimodal processes described by sequences of some sub-sequences from local processes P, where each \(mP_i \) is specified by the set of streams: \(mP_i =\left\{ {mP_i^1 ,mP_i^2 ,\ldots ,mP_i^k ,\ldots ,mP_i^{lms\left( i \right) } } \right\} \) (processes \(^{\left( a \right) }mP_i \) in Fig. 2 denoted by a superscript \(\left( a \right) \) which indicates the number of ETNs).

Fig. 2
figure 2

The a-th ETN belonging to the GMTN from Fig. 1 (a), and its SETN’s representation specified by \(^{(a)}{} \textit{SC}\) (b)

The operations of multimodal processes’ streams require the execution of some local processes. For example, transport operations between resources in \(mP_1 \) (product \(W_1 \), see Fig. 2) require the two streams of local processes: \(P_1 \) and \(P_4 \). This means the routes of multimodal processes are also determined by the subsequences of routes of the local processes through which they have to be processed. It is assumed that processes are synchronized by a mutual exclusion protocol guaranteeing that only one process can be executed on a shared resource at a given time.

In order to describe the system shown in Fig. 1b and SETN in Fig. 2) let us introduce the following notations (Bocewicz et al. 2014a, b):

\(p_i^k =\left( {p_{i,1}^k ,p_{i,2}^k ,\ldots ,p_{i,j}^k ,\ldots ,p_{i,lr\left( i \right) }^k } \right) \) specifies the route of the stream of a local process \(P_i^k \) (the k-th stream of the i-th local process \(P_i )\), and its components define the resources used in course of process operations execution, where: \(p_{i,j}^k \in R\), and \(R=\left\{ {R_1 ,R_2 ,\ldots ,R_c ,\ldots ,R_m } \right\} \)—denotes the set of resources used for the j-th operation in the k-th stream of the i-th local process; in the remainder of the paper, thej-th operation executed on the resource \(p_{i,j}^k \)in the stream \(P_i^k \) will be denoted by \(o_{i,j}^k \); \(lr\left( i \right) \)—is the length of the cyclic process route. For example, in the SETN seen in Fig. 2b) the routes of streams of processes \(P_1 \), \(P_2 \), \(P_3 \) and \(P_4 \) (e.g. executed by relevant AGVs), are defined by the following sequences: \(p_1^1 =\left( {R_1 ,R_5 ,R_2 ,R_8 ,R_4 ,R_{14} ,R_3 ,R_7 } \right) \), \(p_2^1 =\left( {R_{16} ,R_9 ,R_{17} ,R_{15} ,R_4 ,R_8 ,R_2 ,R_6 } \right) \), \(p_3^1 =\left( {R_3 ,R_{12} ,R_4 ,R_{10} } \right) \), \(p_4^1 =\left( {R_{17} ,R_{11} ,R_4 ,R_{13} } \right) \). \(t_i^k =\left( {t_{i,1}^k ,t_{i,2}^k ,\ldots ,t_{i,j}^k ,\ldots ,t_{i,lr\left( i \right) }^k } \right) \)—specifies thei-thprocess operation times, where \(t_{i,j}^k \) denotes the time of execution of the j-th operation \(o_{i,j}^k \) in the stream \(P_i^k \). In the case of the SETN from Fig. 2b) \(t_{i,j}^k \) means either the transportation time assigned to the sector (i.e. resources \(R_5 -R_{15} )\) or the load/unload operation time assigned to the workstation (i.e. resources \(R_1 \), \(R_2 \), \(R_3 \), \(R_4 \), \(R_{16} \), \(R_{17} )\).).

\(x_{i,j}^k \left( l \right) \in {\mathbb {N}}-\) the moment of operation \(o_{i,j}^k \) beginning in the l-th cycle,

\(mp_i^k =\left( {mpr_{i_1 }^{q_1 } \left( {\beta _{i_1 } ,\gamma _{i_1 } } \right) \cap mpr_{i_2 }^{q_2 } \left( {\beta _{i_2 } ,\gamma _{i_2 } } \right) \cap \cdots \cap mpr_{i_y }^{q_y } \left( {\beta _{i_y } ,\gamma _{i_y } } \right) } \right) -\) specifies the route of the stream \(mP_i^k \)from the multimodal process\(mP_i \) (the k-th stream of the multimodal process \(mP_i\)), where:

$$\begin{aligned} mpr_i^q \left( {\beta ,\gamma } \right) =\left\{ {{\begin{array}{ll} {\left( {p_{i,\beta }^q ,p_{i,\beta +1}^q ,\ldots ,p_{i,\gamma }^q } \right) } \quad &{} {\beta \le \gamma } \\ {\left( {p_{i,\beta }^q ,p_{i,\beta +1}^q \ldots ,p_{i,lr\left( i \right) }^q ,p_{i,1}^q ,\hbox {}\ldots ,p_{i,\gamma -1}^q ,p_{i,\gamma }^q } \right) } \quad &{} {\beta >\gamma } \\ \end{array} }} \right. \end{aligned}$$

\(\beta ,\gamma \left\{ {1,2,\ldots ,lr\left( i \right) } \right\} , \quad u \cap v\quad \)—concatenation of sequences u and v. If \(u=\left( {u_1 ,\ldots ,u_\varphi } \right) \), \(v=\left( {v_1 ,\ldots ,v_\psi } \right) \) and \(u_a =v_1 \) then \(u \cap v=\left( {u_1 ,\ldots ,u_\varphi ,v_2 ,\ldots ,v_\psi } \right) \).

In the considered case of the SETN from Fig. 2b), streams of multimodal processes \(mP_1 \), \(mP_2 \) are specified by the following sequences: \(mp_1^k =( ( {R_1 ,R_5 ,R_2 ,R_8 ,R_4 } ) \cap ( {R_4 ,R_{13} ,R_{17} } ) )=\left( {R_1 ,R_5 ,R_2 ,R_8 ,R_4 ,R_{13} ,R_{17} } \right) \), \(mp_2^k =\left( {R_3 ,R_{12} ,R_4 ,R_8 ,R_2 ,R_6 ,R_{16} } \right) \), being the concatenation of subsequences \(p_1^1 \), \(p_4^1 \) and of \(p_3^1 \), \(p_2^1 \), respectively. In the remainder of the paper, the j-th operation of the stream\(mP_i^k \) will be denoted by \(mo_{i,j}^k \).

The operation times \(mt_{i,j}^k \) of multimodal processes are: the operation times of AGV moving between the workstations and operation times assigned to workstations \(R_1 -R_4 ,R_{16} ,R_{17} \) (in the model the setup times are included in the operation times). The operation time \(mt_{i,j}^k \) assigned to workstation \(R_g \) is equal to: \(mt_{i,j}^k =x_{\beta ,\gamma }^\delta \left( l \right) -x_{\varphi ,\phi }^\psi \left( l \right) \), where: \(x_{\beta ,\gamma }^\delta \left( l \right) \)—is the moment the process \(mP_i^k \) leaves \(R_g \)(taken by local the stream \(P_\beta ^\delta )\) and \(x_{\varphi ,\phi }^\psi \left( l \right) \)—is the moment the process \(mP_i^k \) enters \(R_g \) (delivered by the stream \(P_\varphi ^\psi )\).

\(mx_{i,j}^k \left( l \right) \in {\mathbb {N}}-\) moments of operation \(mo_{i,j}^k \) beginning in the l-th cycle,

\(\varTheta ^{v}=\left\{ {\sigma _1^v ,\sigma _2^v ,\ldots ,\sigma _c^v ,\ldots ,\sigma _m^v } \right\} -\) is the set of the priority dispatching rules of local \((v=0)\) and multimodal processes \((v=1)\), where \(\sigma _c^v \) is the sequence components which determine the order in which streams of processes can be executed on resource \(R_c \). Dispatching rules that determine the order in which vehicles access (streams of local processes) common shared resources \(R_2 \), \(R_8 \), \(R_4 \) are the following: \(\sigma _2^0 =\left( {P_1^1 ,P_2^1 } \right) \), \(\sigma _8^0 =\left( {P_1^1 ,P_2^1 } \right) \), \(\sigma _4^0 =\left( {P_1^1 ,P_4^1 ,P_3^1 ,P_2^1 } \right) \), in turn, dispatching rules synchronizing multimodal processes execution are as follows: \(\sigma _2^1 =\sigma _8^1 =\sigma _4^1 =\left( {mP_2^1 ,mP_1^1 } \right) \).

Therefore the structure of SCCP can be defined as the pair:

$$\begin{aligned} \textit{SC}=\left( {\left( {R,SL} \right) ,SM} \right) , \end{aligned}$$
(1)

where \(R=\left\{ {R_1 ,R_2 ,\ldots ,R_k ,\ldots ,R_m } \right\} \)—the set of resources,

\(SL=\left( {P,U,T,\varTheta ^{0}} \right) -\) :

—characterizes the structure of local processes of SCCP, i.e. P—the set of local processes, U—the set of local process routes, T—the set of local process operations times, \(\varTheta ^{0}\)—the set of dispatching priority rules.

\(SM=\left( {mP,m\varPi ,mT,\varTheta ^{1}} \right) \) :

—characterizes the structure of the multimodal processes of the SCCP, i.e. mP—the set of multimodal processes, M—the set of multimodal process routes, mT—the set of multimodal process operation times, \(\varTheta ^{1}\)—the set of dispatching priority rules.

In simple terms the structure of the SCCP can be treated as a set of pipeline cyclic processes (PmP) interacting via common shared resources R. Potential process conflicts are resolved in advance by the priority dispatching rules \((\varTheta ^{0}\), \(\varTheta ^{1})\). In that context, the pipeline-like processes typical for a straight-line production allows one to take into account both one-piece and variable batch/lot size flows.

In the case of GMTN (e.g. Fig. 1b) the structure \(\textit{SC}\) (1) can be seen as a result of multiple compositions of ETNs (Fig. 2b). Consequently, the structure \(\textit{SC}\) (1) consists of the set of SETNs \(\textit{SC}^{{*}}\) such that:

(a) each substructure\(^{\left( a \right) }{} \textit{SC}\in \textit{SC}^{{*}}\) of the structure \(\textit{SC}\) is defined similarly to (1):

$$\begin{aligned} ^{\left( a \right) }{} \textit{SC}=\left( {\left( {Rp_a ,SLp_a } \right) ,SMp_a } \right) , \end{aligned}$$
(2)

where: \(Rp_a \subset R\)—the set of resources of the substructure \(^{\left( a \right) }{} \textit{SC}\), \(SLp_a =\left( Pp_a ,Up_a ,Tp_a ,\varTheta _a^0 \right) \)—the structure of local processes of the substructure \(^{\left( a \right) }{} \textit{SC}\) including: the set of local processes \(Pp_a \subset P\), the set of processes routes \(Up_a \subset U\); the set of execution times \(Tp_a \subset T\) of operations belonging to processes \(Pp_a \); the set of dispatching rules \(\varTheta _a^0 \) assigned to resources belonging to \(Rp_a \); \(SMp_a \)—the structure of multimodal processes of substructure \(^{\left( a \right) }{} \textit{SC}\), including fragments of multimodal processes \(mP_j \left( {\beta ,\gamma } \right) \) forming the set \(mPp_a \) (Bocewicz et al. 2015).

(b) two sub-structures \(^{\left( a \right) }{} \textit{SC}\), \(^{\left( b \right) }{} \textit{SC}\in \textit{SC}^{{*}}\) are called isomorphic if:

  • each resource \(R_c \in Rp_a \) of the substructure \(^{\left( a \right) }{} \textit{SC}\) corresponds to exactly one resource \(R_\omega \in Rp_b \) of the structure \(^{\left( b \right) }{} \textit{SC}\),

  • each process \(P_i \in Pp_a /mP_i \in mPp_a \) (local as well as multimodal) of the substructure \(^{\left( a \right) }{} \textit{SC}\) corresponds to exactly one process \(P_\mu \in Pp_b /mP_\mu \in mPp_b \) of the structure \(^{\left( b \right) }{} \textit{SC}\),

  • routes \(p_i \in Up_a /mp_i \in mPp_a \) and \(p_\mu \in Up_b \)/\(mp_\mu \in mPp_b \) of the corresponding processes are sequences consisting of corresponding resources,

  • each operation \(o_{i,j}^k /mo_{i,j}^k \) executed within the substructure \(^{\left( a \right) }{} \textit{SC}\) corresponds to exactly one operation \(o_{\mu ,\nu }^\varphi /mo_{\mu ,\upsilon }^\varphi \) executed within the substructure \(^{\left( b \right) }{} \textit{SC}\),

  • dispatching rules \(\sigma _c^v \) of the resources are sequences consisting of elements \(s_{c,d}^v\) indicating the corresponding streams of processes.

Note that each ETN modelled in terms of a SCCP can be seen as an isomorphic substructure of SETN, i.e. \(^{\left( a \right) }{} \textit{SC}\) (see Fig. 2b) consisting of local processes \(^{\left( a \right) }P_1 \),\(^{\left( a \right) }P_2 \),\(^{\left( a \right) }P_3 \),\(^{\left( a \right) }P_4 \) and parts belonging to multimodal processes \(^{\left( a \right) }mP_1 \), \(^{\left( a \right) }mP_2 \).

3.2 Uncertainty requirements

Besides the parameters describing the \(\textit{SC}\) substructure \(^{\left( a \right) }{} \textit{SC}\)(2), such as sets of routes, processes, dispatching rules, workers availability etc., variables reflecting its performance (i.e. job shop productivity, flow time and takt time) are also considered. In order to specify the constraints assumed on operation times the following variables \({}^{\left( a \right) } s_{i,j} \), \({}^{\left( a \right) } sT_i \) have to be taken into account:

  • Operation time \({ }^{\left( a \right) } mt_{i,j} \) (the time the operation \({ }^{\left( a \right) } mo_{i,j}^k \) executed in \({ }^{\left( a \right) } \textit{SC})\) allocated to a workstation (resource) \({ }^{\left( a \right) } R_c \) from \({ }^{\left( a \right) } \textit{SC}\) is associated with the so called operation availability specified by the fuzzy set \({ }^{\left( a \right) } s_{i,j} =\mu \left( {mt_{i,j} } \right) \),\({ }^{\left( a \right) } s_{i,j} \in \left[ {0,1} \right] \). The membership function \(\mu \left( {{ }^{\left( a \right) } mt_{i,j} } \right) \) determines workers’ availability for operations handling on the resource \({ }^{\left( a \right) } R_c \). \({ }^{\left( a \right) } s_{i,j} =0\) indicates that the corresponding value \({ }^{\left( a \right) } mt_{i,j} \) is out of worker’s availability, while \({ }^{\left( a \right) } s_{i,j} =1\)—indicates availability, with acceptable operation time value \({ }^{\left( a \right) } mt_{i,j} \). The accepted production takt \({ }^{\left( a \right) } mTc_i \) of the i-th multimodal process has to follow the assumed Multimodal Process driven Awaited Productivity\({ }^{\left( a \right) } sT_i \) (MPAP \({ }^{\left( a \right) } sT_i \hbox {}\)- for short) measured along \(mP_i \) in the a-th SETN, i.e. in the \({ }^{\left( a \right) } \textit{SC}\).

  • The takt time of the process \(mP_i \), is the time between two consecutive moments of its subsequent streams completion: \({ }^{\left( a \right) } mTc_i =mx_{i,j}^k \left( l \right) -mx_{i,j}^{k-1} \left( l \right) \). Similar to the operation availability \({ }^{\left( a \right) } s_{i,j} \), the productivity \({ }^{\left( a \right) } sT_i \) is specified by the fuzzy set \({ }^{\left( a \right) } sT_i =\mu \left( {{ }^{\left( a \right) } mTc_i } \right) \), \({ }^{\left( a \right) } sT_i \in \left[ {0,1} \right] \). The membership function \(\mu \left( {{ }^{\left( a \right) } mTc_i } \right) \) determines productivity following \({ }^{\left( a \right) } mTc_i \) in \({ }^{\left( a \right) } \textit{SC}\). \({ }^{\left( a \right) } sT_i =0\) indicates that production performed with takt \({ }^{\left( a \right) } mTc_i \) is not profitable, while \({ }^{\left( a \right) } sT_i =1\) indicates that takt \({ }^{\left( a \right) } mTc_i \) ensures productivity.

The introduced variables can be illustrated on the following example limited to the SETN from Fig. 2b. Consider operation availability and productivity specified by the membership functions: \(\mu \left( {{ }^{\left( a \right) } mt_{i,j} } \right) \), \(\mu \left( {{ }^{\left( a \right) } mTc_i } \right) \) as shown in Tables 1 and 2. Following from these, uncertainty requirements as well as constraints guaranteeing deadlock-free processes execution contribute to a declarative model of SCCP behavior is considered in the next section.

Table 1 Resource operation availabilities for multimodal processes \({ }^{\left( a \right) } mP_1 \), \({ }^{\left( a \right) } mP_2 \) of SETN from Fig. 2b
Table 2 Awaited productivity measured along multimodal processes \({ }^{\left( a \right) } mP_1 \), \({ }^{\left( a \right) } mP_2\) in a production takt

3.3 Problem formulation

The majority of problems stated within a SCCP framework can be seen as concerning the relationship between its structure \(\textit{SC}\) and behavior (e.g. the schedule). In that context the main question concerns the SCCP’s cyclic behavior, following requirements imposed by operations availability and awaited productivity subject to a given \(\varTheta \)? Since these kind of problems are NP-hard in nature, i.e. computationally intractable, hence the optimal solutions can be obtained only for small scale instances that are quite far from real-life cases (Bocewicz et al. 2014a, b; Levner et al. 2010). However, this disadvantage can be removed in case of a SCCP (modelling a GMTN) which can be seen as composed of a set of SETNs. In order to show this let us note that the considered problem can be decomposed into the following two sub-problems. The first one can be reduced to finding the SETN and corresponding set of dispatching rules \(\varTheta \) allocation of which guarantees cyclic behavior of the SCCP (consisting of set of isomorphic SETNs). The second sub-problem comes down to the question of whether the assumed uncertainty requirements regarding workers’ availability and job shop productivity can be satisfied for the operation times T, mT specifying the considered SCCP?

The obtained pair: (a set of dispatching rules \(\varTheta \), a set of operation times T, mT) and determined by these, the system’s behaviour can be seen as a distributed control procedure provided to the spatially distributed common shared resources while imposing the right initial process allocations. These kinds of control procedures can then be directly implemented in SCADA (Supervisory Control And Data Acquisition) systems that tie together decentralized facilities such as shared by technological processes AGVs and machine tools (under the given uncertainty requirements).

Above problem can be reduced to the question of whether it is possible to extract the SETN such that there exists a set of dispatching rules which guarantees cyclic behavior of the considered SCCP (representing the GMTN) while following fuzzy constraints imposed by awaited productivity and assumed operations’ availability? Its graphical illustration is shown in Fig. 3. The research methodology used for this study consists of the following five stages (see Fig. 4).

Fig. 3
figure 3

Graphical illustration of idea standing behind problem formulation

Fig. 4
figure 4

Proposed research methodology

4 Multimodal processes prototyping

The main idea behind the proposed approach follows from the observation that the assessment of possible cyclic behaviors of GMTN (SCCP) can be replaced the by assessment of its ETN (SETN). Therefore, in order to consider possible deadlock-free/collision-free executions of processes executed in GMTN, let us focus on constraints of a Constraint Satisfaction Problem dedicated to its ETN.

4.1 Constraints

The \(\textit{SC}\) (1) model emphasizes the structural characteristics of the modeled SCCP. Due to deadlock occurrence caused by the condition of mutual exclusion, not all behaviors of SCCP are allowed in these kinds of structures. The behavioral characteristics guaranteeing deadlock-free execution of processes can be specified in terms of the admissible states reachability concept, i.e. either driven by both cyclic steady states and leading to transient states (Bocewicz et al. 2012) or by the cyclic steady state space only (Bocewicz and Banaszak 2013). The second approach, which does not take into account the initial states leading through the transient states to the cyclic steady states, seems to be quite close to the cyclic scheduling methods widely used in many real-life cases (Von Kampmeyer 2006). In that context, the behavioral characteristics guaranteeing deadlock-free execution of processes while following the above mentioned uncertainty requirements can be specified by the following cyclic schedule:

$$\begin{aligned} X_{\textit{SC}} =\left( {\left( {X,\alpha } \right) ,\left( {mX,m\alpha } \right) } \right) \end{aligned}$$
(3)

This kind of schedule \(X_{\textit{SC}}\) is defined as a sequence of ordered pairs describing the behavior of local \((X,\alpha )\) and multimodal \((mX,m\alpha )\) processes, where: \(X=\left\{ {x_{1,1}^1 ,\ldots ,x_{i,j}^k ,\ldots ,x_{n,lr\left( n \right) }^{ls\left( n \right) } } \right\} \)—is the set of moments \(x_{i,j}^k \) (for \(l=0\)-th cycle) of operations \(o_{i,j}^k \) beginning from the stream \(P_i^k \) and \(\alpha \)—is the period of the cyclic schedule X. By analogy the set \(mX= \left\{ {mx_{1,1}^1 ,\ldots ,mx_{i,j}^k \ldots .,mx_{w,lm\left( w \right) }^{lms\left( w \right) } } \right\} \) consists of moments of multimodal processes operations beginning, and \(m\alpha \)—is the period of the multimodal cyclic schedule mX.

Since each possible SCCP’s behaviour can be specified by a schedule as a sequence of vectors’ coordinates of which define resources currently allotted to operations over discrete time, hence any obtainable cyclic schedule \(X_{\textit{SC}} \) (3) can be seen as the representation of a cyclic steady state reachable in the state space generated by the SCCP structure (Bocewicz et al. 2012, 2015).

Variables \(x_{i,j}^k /mx_{i,j}^k \in {{\mathbb {Z}}}\) determine moments of operations beginning in the l-th cycle of the SCCP cyclic steady state: \(x_{i,j}^k \left( l \right) =x_{i,j}^k +l\cdot \alpha \, /\,mx_{i,j}^k \left( l \right) =mx_{i,j}^k +l\cdot m\alpha \).

Since values of \(x_{i,j}^k/mx_{i,j}^k \) follow the system structure parameters, the cyclic behavior \(X_{\textit{SC}} \) is determined by \(\textit{SC}\) (1). The constraints determining the admissible cyclic schedule \(X_{\textit{SC}} \) (3) are the following:

Uncertainty requirements (Tables 1 and 2): The level operations’ availability S and level of the productivity E (caused by \(X_{\textit{SC}} )\) for the whole SCCP, are determined as a minimal value \({ }^{\left( a \right) } s_{i,j} \) among all the operations availabilities and a minimal MPAP productivity \({ }^{\left( a \right) } sT_i \) among all the multimodal processes, respectively:

$$\begin{aligned} S=\mathop {\min }\nolimits _{i=1,2;j=1,\ldots ,4} \left\{ {{ }^{\left( a \right) } s_{i,j} } \right\} \quad \hbox {and} \quad E=\mathop {\min }\nolimits _{i=1,2;j=1,\ldots ,4} \left\{ {{ }{\left( a \right) } sT_i } \right\} \end{aligned}$$
(4)

Constraints describing the local processes execution: the moment of operation \(o_{i,j}^k \) beginning states for a maximum of both: the completion time of the operation \(o_{i,j-1}^k \) preceding \(o_{i,j}^k \), and the release time of the resource \(p_{i,j}^k \) awaiting for \(o_{i,j}^k \) execution:

$$\begin{aligned} \textit{Moment of operationo}_{i,j}^k\, \textit{begining}= & {} \textit{max}\left\{ {\left( \textit{moment of}\, p_{i,j}^k\, \textit{release}+\textit{lag time}\, \Delta t \right) },\right. \nonumber \\&\left. \left( {\textit{Moment of operation}\, o_{i,j-1}^k \textit{completion}} \right) \right\} \end{aligned}$$
(5)

Constraints describing multimodal processes execution: the moment of operation \(mo_{i,j}^k \) beginning is equal to the nearest admissible value (determined by set \({{{\mathcal {X}}}}_{i,j}^k \) of values \(mx_{i,j}^k )\) being a maximum of both: the completion time of operation \(mo_{i,j-1}^k \) preceding \(mo_{i,j} \), and the release time (lag time \(\Delta tm)\) of the resource \(mp_{i,j}^k \) awaiting \(mo_{i,j} \) execution.

$$\begin{aligned} \textit{Moment of operation mo}_{i,j}^k\, \textit{begining}= & {} \textit{max}\left\{ {\left( {\textit{moment of mp}_{i,j}^k\, \textit{release}+\textit{lag time}\, \Delta tm} \right) } \right. ,\nonumber \\&\left. {\left( {\textit{moment of operation mo}_{i,j-1}^k \textit{completion}} \right) } \right\} _{{{{\mathcal {X}}}}_{i,j}^k } \end{aligned}$$
(6)

where \({{\mathcal {X}}}_{i,j}^k =\left\{ {x_{\beta ,\gamma }^\delta \left( l \right) |x_{\beta ,\gamma }^\delta \left( l \right) =x_{\beta ,\gamma }^\delta +l\cdot \alpha ;l\in {{\mathbb {Z}}}} \right\} \)— the set of admissible values of \(mx_{i,j}^k \) determined by value of \(x_{\beta ,\gamma }^\delta \), where: \(x_{\beta ,\gamma }^\delta \)— the moment of operation \(o_{\beta ,\gamma } \) beginning enabling execution of the operation \(mo_{i,j}^k \), \(\lceil \beta \rceil _B =\hbox {min}\left\{ {\varphi \in B:\varphi \ge \beta } \right\} \).

Fig. 5
figure 5

Space of admissible schedules \({\mathbb {L}}\) including L instances following the SETN from Fig. 2b parameterized by S and E (a), “top-down view”—elevation of \({\mathbb {L}}\) onto plane \(S\times E\) (b)

Constraints (4), (5) and (6) describe conditions guaranteeing cyclic execution of the GMTN’s processes subject to arbitrary given uncertainty requirements. A number of admissible schedules \(X_{\textit{SC}} \) (3), denoted by L, depends on \(\textit{SC}\) (1), and especially on the assumed operations times T of local processes. In that context different values of operation times \(t_{i,j}^k \) (i.e., representing transportation and layover times) lead to schedules with different levels of operations’ availability S and productivity E (according to Tables 1 and 2).

An illustration of this fact can be seen in Fig. 5, where the number L of admissible schedules \(X_{\textit{SC}} \) is shown following from (5) and (6) for the SETN from Fig. 2b), while taking into account uncertainty requirements S and E (4). The results observed are obtained for operation times \(t_{i,j}^k \in \left\{ {1\ldots 6} \right\} \). Space \({\mathbb {L}}\) from Fig. 5 consists of 104,946 (among \(4\times 10^{5})\) cyclic schedules \(X_{\textit{SC}} \) following constraints \(S>0\) and \(E>0\).

4.2 CSP-driven multimodal processes scheduling

Figure 6 presents details specifying each substructure, \({ }^{\left( a \right) } \textit{SC}\), following the SCCP from Fig. 1b. Processes occurring in each substructure, e.g. \(^{\left( a \right) }{} \textit{SC}\),\(^{\left( b \right) }{} \textit{SC}\), \(^{\left( c \right) }{} \textit{SC}\), ...,\(^{\left( f \right) }{} \textit{SC}\) see Fig. 6b, are implemented in the same manner, this means the operations are performed along similar routes, the same dispatching rules are applied, etc.

In this context the introduced operator \({\small {\bigoplus }}\) of substructures \({}^{\left( a \right) }{} \textit{SC}\) composition can be used for the whole \(\textit{SC}\) reconstruction:

$$\begin{aligned} \textit{SC}={}^{\left( 1 \right) }{} \textit{SC} {\small {\bigoplus }}{}^{\left( 2 \right) }{} \textit{SC} {\small {\bigoplus }}\cdots {\small {\bigoplus }}{}^{\left( a \right) }{} \textit{SC}{\small {\bigoplus }}{}^{\left( b \right) }{} \textit{SC}{\small {\bigoplus }}{}^{\left( c \right) }{} \textit{SC}{\small {\bigoplus }}\cdots {\small {\bigoplus }}{}^{\left( {lc} \right) }{} \textit{SC} \end{aligned}$$
(7)

where:\({}^{\left( 1 \right) }{} \textit{SC}{\small {\bigoplus }}{}^{\left( 2 \right) }{} \textit{SC}{\small {\bigoplus }}{\cdots }{\small {\bigoplus }}{}^{\left( a \right) }{} \textit{SC}{\small {\bigoplus }}{}^{\left( b \right) }{} \textit{SC}{\small {\bigoplus }}{}^{\left( c \right) }{} \textit{SC}{\small {\bigoplus }}{\cdots }{\small {\bigoplus }}{}^{\left( {lc} \right) }{} \textit{SC}\)– indicates a composition following (5) and (6), i.e. each substructure\(^{\left( a \right) }{} \textit{SC}\) is linked with the others by means of integrating the resources belonging to the same set of corresponding resources. For example, the structure \(^{\left( a \right) }{} \textit{SC}\) from Fig. 6b) is linked with \(^{\left( e \right) }{} \textit{SC}\) by the resource \(^{\left( a \right) }R_{16} \), with \(^{\left( b \right) }{} \textit{SC}\) by the resource \(^{\left( a \right) }R_{17} \) and with \(^{\left( c \right) }{} \textit{SC}\) by the resources \(^{\left( a \right) }R_{14} \) and \(^{\left( a \right) }R_{15} \).

Fig. 6
figure 6

Part of the SCCP from Fig. 1b (a), the a-th SETN specified by \(^{\left( i \right) }{} \textit{SC}\) (b), the convoluted representation of \(^{\left( a \right) }{} \textit{SC}\) (c)

Due to the same manner of process execution as well as the same manner of substructures composition, the cyclic schedule \(X_{\textit{SC}} \) (3) representing the behavior of the whole structure can be perceived as a composition of corresponding cyclic schedules:

(8)

where: \(^{\left( a \right) }X^{\prime }-\hbox {}\)the cyclic schedule of the substructure \(^{\left( a \right) }{} \textit{SC}\):

$$\begin{aligned} ^{\left( a \right) }X^{\prime }=\left( {\left( {^{\left( a \right) }X,{}^{\left( a \right) }\alpha } \right) ,\left( {{}^{\left( a \right) }mX,{}^{\left( a \right) }m\alpha } \right) } \right) \end{aligned}$$
(9)

\(^{\left( a \right) }X/\, {}^{\left( a \right) }mX -\) the set of the moments of operations beginning of local/multimodal process operations occurring in the substructure \(^{\left( a \right) }{} \textit{SC};{}^{\left( a \right) }\alpha \, /\, {}^{\left( a \right) }m\alpha \)—the period of local/multimodal processes executions;

(10)

where: \(c\in {\mathbb {N}}^{+}\), \(lcm\left( {a,b} \right) \) – the least common multiple of a and b.

In the considered system (i.e. composed of one kind of SETN—see Fig. 6) it is enough to know the schedule \({}^{\left( a \right) }X^{{\prime }}\) of substructure \({}^{\left( a \right) }{} \textit{SC}\) to determine the schedule \({X}^{\prime }\). However, to make the composition (8) possible, it is necessary to ensure that the operations executed according to \({}^{\left( a \right) }X^{{\prime }}\), does not lead to deadlocks. Moreover, the schedule \({}^{\left( a \right) }X^{{\prime }}\) is calculated for the “convoluted” structure \({}^{\left( a \right) }{\overline{\textit{SC}}} \) (see example shown in Fig. 6c). The convoluted structure \({}^{\left( a \right) }{\overline{\textit{SC}}}\) is obtained from \({}^{\left( a \right) }{} \textit{SC}\) as a result of merging corresponding resources distinguished in neighbouring structures. In the example shown in Fig. 6c the structure \({}^{\left( a \right) }{\overline{\textit{SC}}} \) has been obtained by way of merging respectively: \({ }^{\left( a \right) } R_1 \) and \({ }^{\left( a \right) } R_{17} \); \({ }^{\left( a \right) } R_3 \) and \({ }^{\left( a \right) } R_{16} \); \({ }^{\left( a \right) } R_5 \) and \({ }^{\left( a \right) } R_{14} \); \({ }^{\left( a \right) } R_6 \) and \({ }^{\left( a \right) } R_{15} \). It should be noted, that local processes executed in the considered resource-consolidated structures \({}^{\left( a \right) }{} \textit{SC}\) are both collision-free and deadlock-free. This means the substructure \({}^{\left( a \right) }{} \textit{SC}\) from which the structure \({}^{\left( a \right) }{\overline{\textit{SC}}} \) was born also interact with its neighboring structures (e.g. \(^{\left( a \right) }{} \textit{SC}\),\(^{\left( b \right) }{} \textit{SC}\),\(^{\left( c \right) }{} \textit{SC}\),\(^{\left( e \right) }{} \textit{SC})\) in a deadlock-free way.

Consider the structure \(\textit{SC}\) (2) modeling a given GMTN, composed of ETNs specified by “convoluted” structures \({}^{\left( a \right) }{\overline{\textit{SC}}} \). The periodicity of SETN specified by cyclic, i.e. specified by cyclic schedule \(X_{\textit{SC}} \), behavior of the whole \(\textit{SC}\).

In that context the question corresponding with considered problem is reduced to the following: Which dispatching rules \({ }^{\left( a \right) } \varTheta \) and operation times \({ }^{\left( a \right) } T\), \({ }^{\left( a \right) } mT\), guarantee that in the relevant structure \({}^{\left( a \right) }{\overline{\textit{SC}}}\) there exists the cyclic schedule \({}^{\left( a \right) }X^{{\prime }}\) such that following conditions hold: \({ }^{\left( a \right) } S\ge S_{TH} \) and \({ }^{\left( a \right) } E\ge E_{TH} \)?

Consequently, the positive answer of this question allows one to determine \(\varTheta \, T\) and mT (based on \({ }^{\left( a \right) } \varTheta \),\({ }^{\left( a \right) } T\), \({ }^{\left( a \right) } mT)\) guaranteeing required values of S and E.

In order to determine \({ }^{\left( a \right) } \varTheta \),\({ }^{\left( a \right) } T\), \({ }^{\left( a \right) } mT\) guaranteeing the attainability of the cyclic schedule \({}^{\left( a \right) }X^{{\prime }}\) within the structure of \({}^{\left( a \right) }{\overline{\textit{SC}}}\), the following constraint satisfaction problem has to be considered (11):

$$\begin{aligned} \textit{PS}_{\textit{REX}_{a}}^{{\prime }} =\left( {\left( {\left\{ {{}^{\left( a \right) }X^{{\prime }},{ }^{\left( a \right) } \varTheta ,{}^{\left( a \right) }T^{\prime },{}^{\left( a \right) }\alpha ^ {{\prime }}} \right\} ,\left\{ {D_X ,D_{\Theta } ,D_T ,D_\alpha } \right\} } \right) ,} \right. \left. \hbox {C} \right) , \end{aligned}$$
(11)

where

\({}^{\left( a \right) }X^{{\prime }},{ }^{\left( a \right) } \varTheta ,{}^{\left( a \right) }T^{\prime },{}^{\left( a \right) }\alpha ^ {{\prime }}\)—decision variables, \(^{\left( a \right) }X^{\prime }\)—the cyclic schedule (8) of substructure \(^{\left( a \right) }{} \textit{SC}\), \({ }^{\left( a \right) } \varTheta \)— dispatching rules of \(^{\left( a \right) }{} \textit{SC}\),\({}^{\left( a \right) }T^{\prime }=\left( {{ }^{\left( a \right) } T,{ }^{\left( a \right) } mT} \right) \)—the sequence of local and multimodal operation times, \({}^{\left( a \right) }\alpha ^{\prime }=\left( {{}^{\left( a \right) }\alpha ,{}^{\left( a \right) }m\alpha } \right) \)—the period of local and multimodal processes for \(^{\left( a \right) }{} \textit{SC}\),

\(D_X ,D_{\Theta } ,D_T ,D_\alpha -\) domains determining admissible values of decision variables: \(D_X : mx_{i,j}^k \), \(x_{i,j}^k \in {{\mathbb {Z}}}\); \(D_T :mt_{i,j}^k \), \(t_{i,j}^k \in \left\{ {1\ldots 10} \right\} \),

\(\hbox {C}\)—the set of constraints describing SCCP behavior, the set C includes the constraints describing the execution of local and multimodal processes (4), (5), (6) as well as uncertainty requirements constraints \(S\ge S_{TH} \), \(E\ge E_{TH} \).

The schedule \(^{\left( a \right) }X^{\prime }\) that meets all the constraints from the given set \(\hbox {C}\) is the solution sought for the problem (11). It can be obtained using standard constraint programming driven software platforms such as ILOG, OzMozart, ECL\(^{\mathrm{i}}\)PSE (Sitek and Wikarek 2015).

5 Computational experiments

Consider GMTN from Fig. 1a where four different products \(W_1 -W_4 \), are manufactured along distinguished routes followed by multimodal processes \(mP_1 \)\(mP_4 \). The GMTN modeled in terms of SCCP (see Fig. 1b) reflects itself in the structure \(\textit{SC}\) (1).

In that context, taking into account the first stage of the search methodology sketched in Fig. 4, let us consider the SETN and its structure \(^{\left( a \right) }{} \textit{SC}\) as shown in Fig. 6b. The SETN consists of four local cyclic processes\({ }^{\left( a \right) } P_1 \),\({ }^{\left( a \right) } P_2 \),\({ }^{\left( a \right) } P_3 \),\({ }^{\left( a \right) } P_4 \) corresponding to the operations of four AGVs and two multimodal processes \({ }^{\left( a \right) } mP_1 \), \({ }^{\left( a \right) } mP_2 \) encompassing appropriate parts of \(mP_1 \)\(mP_4 \). In turn, due to the second stage of the search methodology sketched in Fig. 4, the dispatching rules allotted to shared resources in the convoluted representation of \(^{\left( a \right) }{} \textit{SC}\), i.e. \(^{\left( a \right) }{\overline{\textit{SC}}}\) as shown in Fig. 6c, are sought. Consequently, the third stage of the search methodology sketched in Fig. 4, the response to the question: Does there exist the dispatching rules \({ }^{\left( a \right) } \varTheta \) guaranteeing the cyclic schedule \({}^{\left( a \right) }X^{{\prime }}\)? is sought. Assuming all operation times \(t_{i,j}^k \) occurring in \({ }^{\left( a \right) } T\)are unit, i.e., \(t_{i,j}^k =1\) the \(\textit{PS}_{\textit{REX}_{i}}^{{\prime }} \) (11) has been implemented and then computed in the constraint programming environment OzMozart system (version 1.3.2, Dual Core 2.67, GHz, 2.0, GB RAM). The first solution obtained in less than 1 s is shown in the Table 3.

Table 3 Dispatching rules allotted to shared resources in \(^{\left( a \right) }{\overline{\textit{SC}}}\) from Fig. 6c

The obtained dispatching rules guarantee cyclic steady state execution of processes completing the convoluted representation \(^{\left( a \right) }{\overline{\textit{SC}}}\).

It should be noted, that obtained solution for operation times, assumed to be unique, is also valid for other values from \({\mathbb {N}}\). Since the state evolution observed in SCCP depends entirely on the occurrence of discrete events over time, the SCCP as well as \(^{\left( a \right) }{\overline{\textit{SC}}} \) can be treated in terms of discrete event systems (DES) (Cuninghame-Green and Butkovič 1995; Floudas and Lin 2005). Consequently, assuming an expected productivity measured by production takts \({ }^{\left( a \right) } mTc_1 \) and \({ }^{\left( a \right) } mTc_2 \) of multimodal processes \({ }^{\left( a \right) } mP_1 \), \({ }^{\left( a \right) } mP_2 \) (see Table 2) as well as expected operation times, (see Table 1) the fourth stage of search methodology sketched in Fig. 4, seeks the response to the question below:

Does there exist a plan of production flow (specified by \({ }^{\left( a \right) } T\), \(X_{\textit{SC}} )\), guaranteeing the following requirements hold:

      \(S\ge 0.7\) (level of operations’ availability is not less than \(S_{TH} = 0.7\)),

      \(E\ge 0.7,\) (level of job shop productivity, i.e. minimal level value among the all multimodal processes are not less than \(E_{TH} =\)0.7)?.

The response to this question depends on the parameters \({}^{\left( a \right) }X^{{\prime }}\)and \({}^{\left( a \right) }T^{\prime }\) specifying \({}^{\left( a \right) }{\overline{\textit{SC}}} \) (from Fig. 6b), i.e., on the solution to the problem \(\textit{PS}_{\textit{REX}_{i}}^{{\prime }} \) (11). This problem has been implemented and then computed in the constraint programming environment OzMozart system (version 1.3.2, Dual Core 2.67, GHz, 2.0, GB RAM). According to Fig. 5 the search process took into account the space \({\mathbb {L}}\) of admissible solutions (schedules) containing over \(4\times 10^{5}\) instances. The final solution was obtained in less than one second. The space \({\mathbb {L}}\) does not contain any admissible production flow plan following the assumed degrees S and E, see Fig. 7.

Therefore, the following request with lower values of \(S_{TH} \) and \(E_{TH} \) has been considered:

Does there exist a plan of production flow (specified by \({ }^{\left( a \right) } T\), \(X_{\textit{SC}} )\) guaranteeing the following requirements hold \(S\ge 0.6\), \(E\ge 0.6\)?

Fig. 7
figure 7

Space of admissible solutions for \(E\ge 0.7\) and \(S\ge 0.7\)

The final solution was obtained in less than one second as well. The set of admissible solutions \({\mathbb {L}}\) is shown in Fig. 8. The sample of schedule \({}^{\left( a \right) }X^{{\prime }}\), obtained for the convoluted structure \({}^{\left( a \right) }{\overline{\textit{SC}}} \) (from Fig. 6c), and following \({ }^{\left( a \right) } T=\left\{ {{ }^{\left( a \right) } t_1^1 ,{ }^{\left( a \right) } t_2^1 ,{ }^{\left( a \right) } t_3^1 ,{ }^{\left( a \right) } t_4^1 } \right\} \), where \({ }^{\left( a \right) } t_1^1 =\left( {3,2,3,2,2,2,2,2} \right) \), \({ }^{\left( a \right) } t_2^1 =\left( {3,2,2,2,3,2,4,2} \right) \), \({ }^{\left( a \right) } t_3^1 =\left( {3,2,2,2} \right) \), \({ }^{\left( a \right) } t_4^1 =\left( {2,2,2,2} \right) \) while leading to (0.66; 0.6), is shown in Fig. 9.

Fig. 8
figure 8

Space of admissible solutions for \(E\ge 0.6\) and \(S\ge 0.6\)

Fig. 9
figure 9

Admissible schedule for \(E=0.6\) and \(S=0.66\)

Fig. 10
figure 10

Bold-line distinguished part of the SCCP encompassing red-color depicted route of multimodal process Gantt’s chart of which is shown in Fig. 11

Fig. 11
figure 11

Cyclic schedule for multimodal process \(mP_2 \) from Fig. 10

In turn, the obtained schedule \({}^{\left( a \right) }X^{{\prime }}\) enables one to determine the final schedule \(X_{\textit{SC}} \) (8)—due to the fifth stage of the methodology shown in Fig. 4. The Gantt chart shown in Fig. 11 provides a graphical illustration of the process \(mP_2 \) (distinguished in Fig. 10) execution guaranteeing workers availability S on the level 0.66 and productivity E on the level 0.6 (production takt 24 u.t.). Summing up the space \({\mathbb {L}}\) contains an admissible production flow plan following assumed degrees S and E, see Fig. 8. The obtained schedule \(X_{\textit{SC}} \), (following \(S=0.66\) and \(E=0.6)\) is shown in Fig. 11.

The above discussed issues can be supplemented by evaluating the performance indexes, such as: flow rate, flow time, takt time and job shop productivity. The example results collected in Table 4 are obtained for \(^{\left( a \right) }{} \textit{SC}\) from Fig. 6b, and SCCP from Fig. 1b, and the schedule \(X_{\textit{SC}} \) following \(S=0.66\), \(E=0.6\) and depicted by the Gantt chart in Fig. 11.

Table 4 The values of the flow rate, the flow time, the takt time and the job shop productivity E achieved by \(^{\left( a \right) }{} \textit{SC}\) from Fig. 6b and SCCP from Fig. 1b for the schedule depicted by the Gantt chart in Fig. 11
Table 5 Resolution time of the cyclic steady state reachability problem for different scale SCCPs

The flow rate equal to 0,083(3) is calculated due to the observation that 2 workpieces can be completed per 24 u.t. within the ETN modeled by \(^{\left( a \right) }{} \textit{SC}\). This value is twice as small as the 0,16(6) observed in the SCCP from Fig. 1b where 4 workpieces can be completed in the 24 u.t. period. In turn, the flow time calculated due to the following formulae \(FT_i =lz\cdot { }^{\left( a \right) } mTc_i -{\Delta }T_i \) depends on a number lz of SETNs passed by multimodal processes and an amount of u.t. determining the faster completion of process performance \({\Delta }T_i <{ }^{\left( a \right) } mTc_i \). Therefore, in case of SCCP from Fig. 1b the flow times for \(mP_1 \) and \(mP_2 \) are equal to \(FT_1 =FT_2 =3\cdot 24-2=70\) and in case of \(mP_3 \) and \(mP_4 \) are equal to \(FT_3 =FT_4 =3\cdot 24-1=71\).

To summarize let us point out that computational experiments have been conducted for SCCP composed of 8 SETNs, i.e.\(^{\left( a \right) }{} \textit{SC}\), \(^{\left( b \right) }{} \textit{SC}\), ..., \(^{\left( h \right) }{} \textit{SC}\)—see Fig. 10, or in other words consisting 32 local and 4 multimodal processes as well as 118 resources. Due to proposed research methodology the set of priority dispatching rules \(\varTheta \) guaranteeing reachability of SCCP cyclic steady state have been obtained in less than 1 s. In order to evaluate benefits following from this GMTN decomposition driven approach many additional experiments have been conducted. Some results are collected in Table 5. It should be noted that in the case of SCCP from Fig. 10 (number of SETN \(=\) 8) the first solution, i.e. \(\varTheta \), providing cyclic steady state has been obtained after 5400 s, while in the case of SETN from Fig. 6b, the first solution, i.e. \({ }^{\left( a \right) } \varTheta \), has been obtained in time less than 1 s.

6 Conclusions

The proposed declarative approach, aimed at AGV fleet scheduling stated in terms of constraint satisfaction problem representation, provides a unified framework for performance evaluation of local as well as multimodal processes supported by these. The considered problem is reduced to searching for a multimodal processes schedule that guarantee the requirements of workers’ availability S and productivity E hold while taking into account a set of priority dispatching rules synchronizing local processes execution.

The proposed approach leads to solutions based on sufficient conditions that allow the network designer to compose ETNs in such a way as to obtain the final AGV scheduling system with required quantitative and qualitative behavior features. This provides a step towards a method to replace the exhaustive search for the admissible control by an iterative structural feature transportation system design guaranteeing its required behavior.

In our model setup times are included in the processing times, i.e. similar as in most of classical machine scheduling research where setup times are considered either as negligible or as parts of the processing times of jobs. Of course, since interest about scheduling problems with setup times has grown significantly during the last four decades, see: (Yang and Liao 1999), this issue will be taken into account in our further work as well.

Future research will be aimed at grid communication networks, while devoted to scalability extensions of the proposed declarative-model-driven approach. Since the regularity of grid transportation networks provide a modelling framework enabling significant simplification of the evaluation of the overall network performance the ordered fuzzy numbers concept (Kosiński et al. 2013) and hybrid techniques (Sitek and Wikarek 2015) joining MLP and CP may dramatically decrease computation time requirements. Coupling both the grid-like structure based methodology of transportation networks and a new problem modelling concepts may result in a new generation of DSS providing online solutions to real-life-sized communication transportation problems.