Declarative Models of Concurrent Cyclic Processes (Studies in Systems, Decision and Control, 438) 303140551X, 9783031405518

This monograph presents a new declarative approach dedicated to the analysis of behaviors and synthesis of structures of

121 58 11MB

English Pages 197 [194] Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Declarative Models of Concurrent Cyclic Processes (Studies in Systems, Decision and Control, 438)
 303140551X, 9783031405518

Table of contents :
Introduction
References
Contents
Acronyms
Symbols
1 Concurrent Cyclic Processes
1.1 Cyclic Scheduling Problems
1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)
1.3 Mesh-like SCCMP Structures
1.4 Notes
References
2 Performance Modeling
2.1 State Space
2.2 Declarative Modeling Framework
2.3 Synthesis of Mesh-Like SCCMP Structures
2.4 Notes
References
3 Cyclic Steady States Reachability
3.1 Reachability Conditions
3.2 Cyclic Steady States Space
3.3 Notes
References
4 Modeling the Uncertainty of Concurrent Cyclic Processes
4.1 Ordered Fuzzy Numbers Algebra-Based Framework
4.2 Performance Uncertainty Assessment
4.3 Notes
References
5 Concluding Remarks
References

Citation preview

Studies in Systems, Decision and Control 438

Grzegorz Bocewicz

Declarative Models of Concurrent Cyclic Processes

Studies in Systems, Decision and Control Volume 438

Series Editor Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland

The series “Studies in Systems, Decision and Control” (SSDC) covers both new developments and advances, as well as the state of the art, in the various areas of broadly perceived systems, decision making and control–quickly, up to date and with a high quality. The intent is to cover the theory, applications, and perspectives on the state of the art and future developments relevant to systems, decision making, control, complex processes and related areas, as embedded in the fields of engineering, computer science, physics, economics, social and life sciences, as well as the paradigms and methodologies behind them. The series contains monographs, textbooks, lecture notes and edited volumes in systems, decision making and control spanning the areas of Cyber-Physical Systems, Autonomous Systems, Sensor Networks, Control Systems, Energy Systems, Automotive Systems, Biological Systems, Vehicular Networking and Connected Vehicles, Aerospace Systems, Automation, Manufacturing, Smart Grids, Nonlinear Systems, Power Systems, Robotics, Social Systems, Economic Systems and other. Of particular value to both the contributors and the readership are the short publication timeframe and the world-wide distribution and exposure which enable both a wide and rapid dissemination of research output. Indexed by SCOPUS, DBLP, WTI Frankfurt eG, zbMATH, SCImago. All books published in the series are submitted for consideration in Web of Science.

Grzegorz Bocewicz

Declarative Models of Concurrent Cyclic Processes

Grzegorz Bocewicz Faculty of Electronics and Computer Science Koszalin University of Technology Koszalin, Poland

ISSN 2198-4182 ISSN 2198-4190 (electronic) Studies in Systems, Decision and Control ISBN 978-3-031-40551-8 ISBN 978-3-031-40552-5 (eBook) https://doi.org/10.1007/978-3-031-40552-5 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland Paper in this product is recyclable.

To my lovely wife, Bogusia

Introduction

Analysis of the behaviors and synthesis of the structures of Systems of Cyclic Concurrent Multimodal Processes (SCCMP) are some of the most difficult cyclic scheduling problems—both computationally and in terms of the complexity of the models used. Due to their growing practical importance, these problems have lately received much interest from researchers. They model the functioning of numerous systems encountered in practical settings and which are characterized by cyclic (periodic) behavior. A typical example is the passenger railway system, such as the Polish State Railways. The individual, cyclically repeating processes running in this system are trains, which stop, according to a pre-set timetable, at stations located along a route marked out in the available network of connections. Passengers who use the available connections between trains moving along various routes (and who transfer between trains) can be interpreted as specific multimodal processes, i.e., processes that “surf” along local cyclic routes. It is easy to notice that the cyclic nature of the local processes (trains) when understood in this way determines the periodicity of the multimodal processes (passengers) executed using them. In this approach, an SCCMP is understood as a set of processes (in particular, multimodal processes) which execute operations cyclically on a set of jointly used (shared) resources (processors, machines, means of transport, etc.). An SCCMP defined like this can be analyzed both from the perspective of its structure and its behavior. The structure of a system is intuitively understood as a set of variables characterizing the system’s topological features (topology of the connections network), resource conflict resolution rules (rules of access to shared resources), resource capacity, and/or throughput (type of means of transport used), etc. In turn, the behaviors of an SCCMP (especially periodic behaviors) are characterized by variables which determine the Cyclic Steady State (CSS) reachable in this system, which reflects the cyclic schedule of the processes executed in the system (e.g., public transport timetables, duty hours, etc.). The most important topics of research on SCCMP include:

vii

viii

Introduction

• Analysis of SCCMP behaviors related to the assessment of the existence of a specific behavior (CSS) in a given structure, e.g., searching for an answer to the question of which public transport schedule is reachable in the given structure of road connections. • Synthesis of SCCMP structures related to the assessment of the existence of structure parameters that guarantee the reachability of a specific behavior, e.g., searching for an answer to the question of which network of connections guarantees continuous “green wave” traffic flow. A separate class of SCCMP problems addresses the issue of mutual reachability of the various CSSs occurring in those systems. These problems are solved by ascertaining whether the system’s current behavior can be changed to another potentially available cyclic behavior (e.g., a change from a timetable “favoring” route direction A to a timetable “favoring” route direction B). It is worth noting that the problems considered, i.e., the behavior analysis problem, the structure prototyping problem, and the problem of mutual reachability of various SCCMP behaviors, are NP-hard. This feature implies that computationally efficient algorithms need to be sought. They would enable the evaluation of selected aspects of the considered system’s functions, such as service costs and transport time, in real-time mode. When reviewing the literature on the analysis and/or synthesis of distribution networks, one notes that researchers have so far been focused mainly on Cyclic Scheduling Problems–extensions of the Basic Cyclic Scheduling Problem (BCSP), which approach does not take into account mutual interactions between the processes being executed (which may give rise to such adverse phenomena as starvation, collisions, or deadlocks). The most common approaches include mathematical programming methods [1], formalisms of (max,+) algebra [2, 3], Petri net theory [4, 5], etc. The nature of typical cyclic scheduling problems is such that the various approaches assume the existence of a non-empty solution space, which is searched in order to find the optimal solution (relative to a given criterion) [6, 7, 8]. In the case of problems related to SCCMP, in particular those embedded in the integer domain, the space of solutions is often empty or so “sparse” that finding even one admissible solution requires significant computational effort. It can be shown that the problems of SCCMP behavior analysis and structure synthesis come down to solving (establishing the existence of a solution to) non-linear systems of Diophantine equations [9, 10]. The approaches commonly (and successfully) used to solve cyclic scheduling problems are either very time-consuming (they do not guarantee that an admissible solution will be reached) or provide ready-made relationships that allow direct determination of admissible solutions. However, SCCMP behavior analysis and structure synthesis problems can be naturally formulated as Constraint Satisfaction Problems (based on the declarative modeling paradigm). In this context, the present monograph fills the gap in the field of SCCMP modeling. Its aim is to present declarative models of systems of cyclic multimodal

Introduction

ix

processes. Such models allow developing computationally efficient methods of analysis of the behavior and synthesis of the structure of SCCMP. The particular questions raised in this study concern: • Modeling of SCCMP with regular/fractal structures, i.e., structures composed of repeating fragments. • Determining the conditions of mutual reachability of various SCCMP behaviors, in particular CSS. • Modeling of SCCMP described by fuzzy variables. The monograph consists of five chapters. Chapter 1 presents the basic concepts related to cyclic scheduling problems and SCCMP. More specifically, it discusses systems with regular structures and describes the principles of their composition. Chapter 2 defines the state space which determines the behavior of SCCMP and formulates the problems of SCCMP behavior analysis and SCCMP structure synthesis. It presents a new model (an operation digraph) for this class of problems, which allows representing them as constraint satisfaction problems. This model has been generalized for regular structures, for which conditions guaranteeing their composition have been determined (conditions guaranteeing that a system with a structure composed of many cyclic system substructures will display a cyclic behavior). Chapter 3 discusses the problem of mutual reachability of cyclic steady-state behaviors of SCCMP. It presents a generalized concept of a CSS, which allows formulating the problem of mutual reachability of cyclic behaviors of SCCMP as a constraint satisfaction problem. The model developed in this study makes it possible to determine the conditions that guarantee the transition between selected cyclic behaviors of a system without the need to relocate the processes executed in it. Chapter 4 presents a declarative model of a SCCMP that takes into account fuzzy variables. This model is based on the algebra of ordered fuzzy numbers, which allows avoiding the undesirable effect of the “increasing uncertainty” of results when multiple algebraic operations are performed one after another, i.e., Zadeh’s extension principle. This property can be achieved by formulating fuzzy problems of SCCMP behavior analysis and structure synthesis in declarative programming environments. Chapter 5 summarizes the results of the study and discusses some problems that remain open. To increase clarity, various formatting features have been used. Major findings and concepts are highlighted in bold upon first mention. The formulations of the problems and the related questions, properties, and theorems are italicized. The end of a proof of a theorem and property is marked with the symbol . In writing this monograph, the author has used his experiences gathered during the last 10 years of research. The monograph is addressed to researchers, practitioners, and graduate students in operations management, operations research, computer science, and industrial engineering. Declarative models of concurrent cyclic processes will serve as an essential reference for professionals working on cyclic scheduling problems in computer science,

x

Introduction

manufacturing, communication, and transportation services, as well as in many other areas. The author welcomes any critical comments and remarks regarding this monograph. Please send them to the following address: [email protected].

References 1. Kampmeyer, T.: Cyclic scheduling problems. Fachbereich Mathematik/Informatik Universitat Osnabruck (2006) 2. Polak, M., Majdzik, P., Banaszak, Z., Wójcik, R.: The performance evaluation tool for automated prototyping of concurrent cyclic processes. Fundam. Inform. 60, 269–289 (2004) 3. Stanczyk, J.: Max-Plus algebraic modelling of cyclical multi-assortment manufacturing system. In: Bo˙zejko, W., Bocewicz, G. (eds.) Modelling and Performance Analysis of Cyclic Systems. Studies in Systems, Decision and Control, pp. 159–172. Springer International Publishing (2020) 4. Yalcin, A., Boucher, T.O.: Deadlock avoidance in flexible manufacturing systems using finite automata. IEEE Trans. Robot. Autom. 16, 424–429 (2000). https://doi.org/10.1109/70.864237 5. Fanti, M.P., Zhou, M.C.: Deadlock control methods in automated manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 34, 5–22 (2004). https://doi.org/10.1109/ TSMCA.2003.820590 6. Smutnicki, C.: Cyclic scheduling of lots with setup times. In: 2019 24th International Conference on Methods and Models in Automation and Robotics, MMAR 2019, pp. 164–169 (2019). https://doi.org/10.1109/MMAR.2019.8864627 7. Smutnicki, C.: Landscape imaging of the discrete solution space. In: Zamojski, W., Mazurkiewicz, J., Sugier, J., et al. (eds.) Theory and Applications of Dependable Computer Systems. DepCoS-RELCOMEX 2020. Advances in Intelligent Systems and Computing, pp. 565–574. Springer (2020) 8. Bozejko, W., Pempera, J., Smutnicki, C., Wodecki, M.: Cyclic scheduling in the manufacturing cell. Stud. Syst. Decis. Control 241, 49–62 (2020). https://doi.org/10.1007/978-3-030-276 52-2_3 9. Bocewicz, G., Muszy´nski, W., Banaszak, Z.: Cyclic scheduling: diophantine problems perspective. IFAC Proc. Vol. (IFAC-PapersOnline) 43, 338–343 (2010). https://doi.org/10. 3182/20100701-2-pt-4011.00058 10. Bocewicz, G., Nielsen, I., Banaszak, Z., Majdzik, P.: A cyclic scheduling approach to maintaining production flow robustness. Adv. Mech. Eng. 10 (2018). https://doi.org/10.1177/168 7814017746245

Contents

1 Concurrent Cyclic Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Cyclic Scheduling Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Mesh-like SCCMP Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 10 23 31 32

2 Performance Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.1 State Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2 Declarative Modeling Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.3 Synthesis of Mesh-Like SCCMP Structures . . . . . . . . . . . . . . . . . . . . 77 2.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3 Cyclic Steady States Reachability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Reachability Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Cyclic Steady States Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

103 103 114 133 134

4 Modeling the Uncertainty of Concurrent Cyclic Processes . . . . . . . . . . 4.1 Ordered Fuzzy Numbers Algebra-Based Framework . . . . . . . . . . . . . 4.2 Performance Uncertainty Assessment . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

137 137 149 167 169

5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

xi

Acronyms

AGV BCSP CFP CJP COP CPSP CRFP CRJP CROP CRPSP CSS FES FMS NP OFN P PERT SCCMP u.t. WIP

Automated Guided Vehicles Basic Cyclic Scheduling Problem Cyclic Flow-shop Problem Cyclic Job-shop Problem Cyclic Open-shop Problem Cyclic PERT-Shop Problem Cyclic Robotic Flow-shop Problem Cyclic Robotic Job-shop Problem Cyclic Robotic Open-shop Problem Cyclic Robotic PERT-Shop Problem Cyclic Steady State Folded Elementary Structure Flexible Manufacturing System Nondeterministic Polynomial Ordered Fuzzy Number Deterministic Polynomial Program Evaluation and Review Technique System of Cyclic Concurrent Multimodal Processes Unit of time Work In Process

xiii

Symbols

N N+ C R R+ |A| A×B A∪B A∩B A\B AB mod(a, b) div(a, b) LC M(a, b) GC D(a, b) O oi ti xi (k) xi X T X X α M Z Zi Oi oi, j

Set of natural numbers N = {0, 1, 2 . . . } Set of positive natural numbers N+ = {1, 2, 3 . . . } Set of integers C = {. . . , −2, −1, 0, 1, 2, . . . } Set of real numbers Set of positive real numbers R+ = {a|a ∈ R, a > 0} Cardinality of a set A Cartesian product of sets A and B Union of sets A, B Intersection of sets A, B Difference of sets A, B A is subgraph of B Modulo division of numbers a ∈ N and b ∈ N+ Integer division of numbers a ∈ N and b ∈ N+ Least common multiple of numbers a ∈ N+ and b ∈ N+ Greatest common divisor of numbers a ∈ N+ and b ∈ N+ Set of operations for a BCSP i-th operation for a BCSP Execution time of operation oi Start time of the k-th execution of operation oi Start time of the 0-th execution of operation oi : xi = x i (0) Cyclic synchronous schedule Sequence of operation execution times for a BCSP Cyclic schedule for BCSP, CJP, CFP, COP, CPSP, CRJP, CRPSP, CRFP Sequence of start times xi Period of schedule X Set of machines (for a CJP) Set of jobs (for a CJP) i-th job Sequence of operations of job Z i j-th operation of job Z i xv

xvi

Symbols

ti, j P Pl lp Pil lp(l) Oil Ol oli, j lr (l, i) Rl C Rl pil pl 

Execution time of operation oi, j Family of sets P l Set of processes of the l-th level Number of levels of multimodal processes i-th process of set P l Number of processes of the l-th level Sequence of operations run by process Pil Set of sequences Oil j-th operation of process Pil Number of operations of process Pil Set of resources of the l-th level Subset of shared resources from set R l Route of process Pil Set of routes pil

C oi,l−1 j

l Capacity of resource ol−1 i, j ∈ R

ti,l j Tl l

Execution time of operation oli, j Set of operation execution times ti,l j Set of dispatching rules used to synchronize processes of set P l during Dispatching rule for resource oi,l−1 j Number of processes of the l-th level sharing resource oi,l−1 j Structure of an SCCMP Cyclic schedule for an SCCMP Cyclic schedule for processes of the l-th level Sequence of start times of the operations of process Pil Start time of operation oli, j Period of schedule X l Time interval in which operation oli, j is executed q-th elementary structure q-th structure of the l-th level Set of elementary structures Set of pairs of resources “merged” as a result of combining structures (a) S E,(b) S E Set of resources obtained as a result of “merging” elements of each pair from set a,b Cyclic schedule reachable in the elementary structure (q) S E Coupling operator of substructures (q) S E Time delay caused by the reaction of a process to a resource release signal r -th state of an SCCMP r -th state of the processes of set P l Allocation sequence for processes of the l-th level in the r -th state k-th element of sequence Al,r

σi,l−1 j lh(i, j, l) SC X Xl X il xi,l j αl E X li, j (q) SE (q) S Pl SE a,b Ra,b (q)

X ⊕ t Sr S l,r Al,r akl,r

Symbols

Z l,r z l,r k l,r ϕkl,r S E P δ SB SD DC DT W (DC ) T r (S ∗ ) Pl Sl El δl LOP LDP g GP OP EP ED EK EW   N AS oli,m   P O P olm,n   P O T olm,n X(DC ) X l (DC ) C S AN V AN

xvii

Sequence of semaphores of the r -th state for processes of the l-th level k-th semaphore of sequence Z l,r Sequence of indexes of the semaphores of the r -th state for processes of the l-th level k-th index of sequence l,r Set of admissible states Set of arcs connecting the states of set S State space: P = (S, E) A transition function between the states of set S Set of predicates defining the conditions for transition between states Set of initial states Set of deadlock states Cyclic steady state Transient period “Whirlpool” digraph containing all transient periods DT leading to a cyclic state DC “Tree” digraph containing all transient periods DT leading to a deadlock state S ∗ State space for the processes of the l-th level Set of the admissible states of the processes of the l-th level Set of arcs connecting the states of set Sl Transition function between the states of set Sl Number of all operations of SCCMP processes Number of SCCMP dispatching rules Density of structure SC Operations digraph Set of all operations of SCCMP processes Set of arcs representing relations between the operations of set O P Set of arcs representing resource utilization relationships Set of arcs representing precedence relationships Set of arcs representing exclusion relationships Function that returns the start time of an operation that occurs in the sequence of Oil directly after the operation oli,m Function that returns the start time of an operation that occurs in the sequence of Oil before operation olm,n Function that returns the execution time of an operation that occurs in the sequence of Oil before operation olm,n Cyclic schedule corresponding to cyclic steady state DC Cyclic schedule for processes of the l-th level (corresponding to cyclic steady state DC ) SCCMP behavior analysis oriented constraint satisfaction problem Set of decision variables of problem C S AN

xviii

D AN C AN C S SY N VSY N D SY N C SY N l−1 Ma,b (ab) l−1 omc,nd (a) l ωi (b) l ωi l ηa,b Yla,b λ (a)

P liq ,ig

→ (q) ←

Symbols

Set of decision-variable domains of problem C S AN Set of constraints of problem C S AN SCCMP structure synthesis oriented constraint satisfaction problem Set of decision variables of problem C S SY N Set of decision-variable domains of problem C S SY N Set of constraints of problem C S SY N l−1 Matrix mapping the order of dispatching rule σa,b (b) l−1 Resource obtained by merging resources (a) ol−1 oc,d m,n , Start time of operation of processes (a) Pil on the resource (ab) ol−1 mc,nd Start time of operation of processes (a) Pil on the resource (ab) ol−1 mc,nd Shift in the operation of process (b) Pul (executed on the resource (ab) l−1 omc,nd ) relative to the cycle of process (a) Pil Occupancy of the cycle of process (a) Pil by process (b) Pul Number of process executions (b) Pul during one cycle of process (a) l Pi Time between the start of (a) Pilq and (a) Pilg process operations, executed on a shared resource (ab) ol−1 mc,nd

σi,l−1 j (k)

Folded elementary structure obtained from a structure (q) S E ← → Set of dispatching rules for structure (q) S E Cyclic schedule for structure (q) S E Cyclic asynchronous schedule l-th level processes schedule for the k-th SCCMP cycle Start time of operation oli, j for the k-th SCCMP cycle Distance (difference) between the start time of oli, j operation in subsequent SCCMP cycles: xi,l j (k) = xi,l j (k) − xi,l j (k − 1) k-th state of an SCCMP (time-state representation) Standardized form of XA(k) schedule Set of distances between the start times of operations of the state X S k and the state X S k−1 State space (time-state representation) Length of transient period Constraint satisfaction problem representing the problem of mutual reachability of two cyclic steady states reachable in SCCMP Set of decision variables of problem C S O SY Set of decision-variable domains of problem C S SY N Set of constraints of problem C S O SY Set of dispatching rules used to synchronize processes of set P l during the k-th SCCMP cycle l−1 Dispatching rule σi,l−1 j of resource oi, j for the k-th SCCMP cycle

A fA gA

Ordered fuzzy number A Function called the up part of the OFN Aˆ Function called the down part of the OFN Aˆ

SE →l (q) ← Θ → (q) ← X (DC ) XA(k) X Al (k) xi,l j (k) xi,l j (k) X Sk XA(k) XA(k) XP lt C S O SY VO SY D O SY C O SY l (k) 

Symbols

U PA DOW N A supp A X(DC ) X l (DC )

xix

xi,l j

Domain of function f A Domain of function g A Support of OFN A Fuzzy cyclic schedule corresponding to cyclic steady state DC Fuzzy cyclic schedule for processes of the l-th level (corresponding to cyclic steady state DC ) Fuzzy start time of operation oli, j (OFN representation)

ti,l j

Fuzzy execution time of operation oli, j (OFN representation)

wi,l j

Fuzzy process laytimes after oli, j operation is completed (OFN representation) SCCMP behavior analysis oriented fuzzy constraint satisfaction problem Set of fuzzy decision variables of problem FC S AN Set of fuzzy decision-variable domains of problem FC S AN Set of constraints of problem FC S AN Function that returns the fuzzy start time of an operation that occurs in the sequence of Oil directly after the operation oli,m Function that returns the fuzzy start time of an operation that occurs in the sequence of Oil before the operation olm,n Function that returns the fuzzy execution time of an operation that occurs in the sequence of Oil before the operation olm,n Function that returns the fuzzy laytime of an operation that occurs in the sequence of Oil before operation olm,n SCCMP structure synthesis oriented fuzzy constraint satisfaction problem Set of fuzzy decision variables of problem FC S SY N Set of fuzzy decision-variable domains of problem FC S SY N Set of constraints of problem FC S SY N













FC S AN 

F V AN F D AN FC AN   N AS oli,m







  P O P olm,n



  P O T olm,n



  P O W olm,n





FC S SY N 

F V SY N F D SY N FC SY N



















Chapter 1

Concurrent Cyclic Processes

1.1 Cyclic Scheduling Problems Many problems, such as project planning, production flow control, packaging, cutting, distribution of goods, and staff scheduling can be seen as cyclic scheduling problems [1–6]. In solving these problems, one looks for cyclic schedules understood as successive iterations of time events (operations) of the same type [7]. Variations of these problems differ from one another in the sets of parameters/ variables they take into consideration (resources, processes, operations, etc.), the assumptions/constraints they adopt (non-preemptiveness, finite resource capacity, mutual exclusion, etc.), as well as the type of issues they address (optimization problems, decision-making problems, etc.). Figure 1.1a shows the simplest case of a set of three cyclic operations executed in a given order: o1 , o2 , o3 (the operations are assumed to be executed in unit time t1 = t2 = t3 = 1 u.t.—units of time) and are repeated with a period α = 3 u.t. The cyclic schedule for the execution of these operations is shown in Fig. 1.1b. The problems encountered in reality are obviously more complex and involve mutually interdependent operations (e.g., operations sharing the same resources). A relevant example is given in Fig. 1.1c. It is a cyclic system of Automated Guided Vehicles (AGV). In this system, AGV moves along cyclic trajectories to execute the operations of transporting elements between workstations. There must be no collisions or downtimes, i.e., the operations which use the same sectors/workstations cannot be executed in the same time intervals. Different cyclic scheduling problems are associated with different concepts of cyclic execution of operations. In particular, the following types of cyclic schedules are distinguished: • Synchronous: – repeated, – interleaved. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 G. Bocewicz, Declarative Models of Concurrent Cyclic Processes, Studies in Systems, Decision and Control 438, https://doi.org/10.1007/978-3-031-40552-5_1

1

2

1 Concurrent Cyclic Processes

Fig. 1.1 a) An example of three cyclically executed operations o1 , o2 , o3 , b) a cyclic system of AGV

• Asynchronous. The concept of a synchronous schedule is shown in Fig. 1.2a. This approach assumes that events (operations) are repeated infinitely, many times, at fixed intervals called the schedule period. A special case of the synchronous schedule is the repeated schedule (Fig. 1.2b), which assumes that all jobs of a given cycle must be completed before the next cycle begins. Since the time intervals in which the individual cycles are executed are disjointed, the schedule of the first cycle can be repeated many times. A schedule constructed in this way is usually far from optimal and often does not live up to expectations. The most complex variant of the synchronous schedule is the interleaved schedule (Fig. 1.2c). In schedules of this type, successively executed operations may belong to different cycles—there is an interleaving of operations between cycles. A separate group of cyclic schedules are asynchronous schedules, in which operations of a given set are executed in a specific order within one cycle. The order of execution of the operations is the same in each cycle, but different (non-cyclic) operation start times are allowed. In other words, the sequence of operations remains cyclic, but the time schedules are not necessarily so; see Fig. 1.3. The problems discussed in this work are mostly limited to those related to assessing and determining synchronous schedules (except for Chap. 3). An elementary problem

1.1 Cyclic Scheduling Problems

3

Fig. 1.2 Cyclic schedules: a) synchronous, b) repeated, c) interleaved [8]

Fig. 1.3 An asynchronous cyclic schedule

in this class is the so-called Basic Cyclic Scheduling Problem (BCSP) [9–11]. BCSP is defined as follows. Given is a finite set of operations: O = {o1 , . . . , oi , . . . , on }. Each operation oi is assigned an execution time ti ∈ N+ (times ti are elements of a sequence T =

4

1 Concurrent Cyclic Processes

(t1 , . . . , ti , . . . , tn ). Operations oi are repeated infinitely many times, and each (k-th) execution has a corresponding starting time (unlike in the problems discussed later, it is assumed that the execution of the operation oi does not require any resources). Moreover, it is assumed that both operation execution times and operation start times take on natural values. In general, in cyclic scheduling problems, these values belong to R + U{0}[10]. Set X = {xi (k)|i = 1 . . . n; k ∈ C} is called a cyclic schedule when the following condition holds: xi (k) = xi (0) + α × k, i = 1 . . . n; k ∈ C,

(1.1)

where variable α ∈ N+ describes the period of the schedule. Every cyclic schedule can be represented graphically—an example is shown in Fig. 1.4. It is worth adding that understanding a schedule in this way is one of the methods of representing the behavior of a system consisting of cyclically executed operations O (various representations of the behaviors of cyclic systems are described in more detail in Chap. 2). Due to the repeatability of the operations (in accordance with (1.1) operations are repeated at fixed intervals), a schedule can also be presented as a pair of sequence X , and period α [10]: ( ) X = X ,, α ,

(1.2)

where X , = (x1 , . . . , xi , . . . , xn ) is a sequence whose elements describe the start times of the first execution of the operation oi (k = 0): xi = xi (0). In a graphic representation, sequence X , corresponds to a fragment of the schedule that is repeated cyclically with period α (Fig. 1.4). This means that when the values of the elements of sequence X , and the value of period α are given, it is possible to trace (in accordance with (1.1)) the value of the starting point xi (k) for any k-th execution of the operation oi .

Fig. 1.4 An example of a cyclic schedule for a BCSP

1.1 Cyclic Scheduling Problems

5

Apart from constraints (1.1) related to the periodic execution of operations, there are also constraints imposed by operation execution times: xi (k + 1) ≥ xi (k) + ti , ti ∈ N+ ,

(1.3)

and sequence constraints determining the order of execution of operations. These constraints can be described in the form of a directed graph (digraph) G = (O, E) where the vertices correspond to the elements of the operations set O and(the arcs ) (i.e., directed edges) correspond to the elements of set E ⊆ O × O. Every arc oi , o j ∈ E has two values assigned to it: L i, j and Hi, j . And L i, j ≥ 0 is a quantity that defines the distance between operations oi , o j (for example, operation execution time ti ). In turn, quantity Hi, j ∈ N describes the distance between operations oi , o j executed in different( cycles) (cycle k and cycle k + Hi, j , respectively). The constraint associated with arc oi , o j has the following form: ( ) x j k + Hi, j ≥ xi (k) + L i, j ,

(1.4)

A cyclic BCSP is defined as follows using the notation adopted in this work: Given is a set of operations O = {o1 , . . . , oi , . . . , on }; their execution times T = (t1 , . . . , ti , . . . , tn ) are known, and known is the digraph of precedence relationships G = (O, E) along with values L i, j , Hi, j . The goal is to find cyclic schedule X (1.2) which minimizes period α. To solve a problem defined in this way, it is sufficient to determine the values of the operation start times xi (k) which satisfy constraints (1.1), (1.3), (1.4) and minimize period α. It should be noted that a BCSP is a linear problem (i.e., constraints (1.1)– (1.4) are linear inequalities) and can be solved using classical linear programming methods (e.g., the simplex method). Thus, the problem falls within the class of deterministic polynomials P. The literature [12] also offers algorithms ( ) for solving BCSP which have a computational complexity of the order of O n 4 . It is assumed that operations executed as part of a BCSP do not require resources (machines, means of transport, tools, etc.) or that the resources are available in a quantity that eliminates the need for processes to compete for access to them. Of course, situations like this are relatively rare in practice. Typically, resources are limited, which means multiple requests for access have to be resolved simultaneously—for instance, in situations in which an assembly operation requires access to multiple tools and/or employees. In such cases, cyclic scheduling involves the need to allocate the available resources to individual operations. An example of such a problem ( is shown in) groups of operations have been distinguished: O = o1,1 , o1,2 , o1,3 Fig. 1.5. Two 1 ) ( and O2 = o2,1 , o2,2 , o2,3 . The operations are repeated cyclically in the sequence shown in the figure. Unlike in a BCSP, each operation requires an appropriate means/ resource, e.g., a machine, to be completed. Operation o1,1 requires access to machine m 1 , operation o1,2 to machine m 2 , operation o1,3 to machine m 4 , and, similarly, operations o2,1 , o2,2 , o2,3 require access to machines m 3 , m 4 , m 2 , respectively. Machines m 4 , m 2 are used to execute both groups of operations: o1,2 , o2,3 and o2,2 , o1,3 . Since

6

1 Concurrent Cyclic Processes

Fig. 1.5 Examples of a) a cyclic job-shop problem and b) an operations execution schedule

each machine can only process one operation at a time, operations o1,2 , o2,3 and o2,2 , o1,3 are mutually exclusive. This means that a cyclic schedule must be sought which does not allow these operations to be executed simultaneously (Fig. 1.5b). The presented well-known problem is usually called a Cyclic Job-shop Problem (CJP) [2, 13]. In contrast to BCSP, in CJP, operations are divided into groups of cyclically Each job Z i ∈ Z has executed jobs Z = {Z 1 , . . . , Z i , . . . , Z n } [2, 13–15]. ) a sequence ( of (also cyclically repeated) operations Oi = oi,1 , . . . , oi, j , . . . oi,l(i) , where oi, j stands for the j-th operation of the i-th job and l(i) is the number of operations of the i-th job Z i . Every operation oi, j is assigned a completion time ti, j ∈ N+ and a start time for the k-th execution of xi, j (k) ∈ N. Operations oi, j are completed in the order indicated by the sequence Oi . { Each operation oi, j} is assigned to a machine m k ∈ M (M = m 1 , . . . , m k , . . . , m l(M) is a finite set of machines on which this operation is completed). It is assumed that only one operation can be executed on a given machine at a time. Machines are non-preemptive (i.e., a resource is not available until the operation has been completed), and the machine currently in use is released only when the operation processed on it has been completed. In general, cyclic scheduling for a CJP requires much more computational effort than cyclic scheduling for a BCSP, because a CJP belongs to the class of NP-hard problems [3, 16].

1.1 Cyclic Scheduling Problems

7

Both simplifications and extensions of the CJP have been discussed on numerous occasions in the literature [10, 17]. Some of the most popular variants include: • The Cyclic Flow-shop Problem (CFP) [18, 19], in which all jobs from set Z follow the same sequence of operations O on all machines from set M. • The Cyclic Open-shop Problem (COP), in which the order of operations of the individual jobs is arbitrary, i.e., every job Z i is assigned a set of operations Oi but not an operations sequence [5, 20–22]. These problems have been applied in scheduling school/university classes (for example, planning a weekly timetable for students) [23]). • The Cyclic PERT-shop Problem CPSP [24–26], which takes into account the partial order of the operations (precedence constraints are represented by a digraph). Like CJP, problems such as CFP, COP, and CPSP are also NP-hard. In this class of problems, there are special variants (containing a maximum of two machines) of polynomial complexity [27, 28] With the continuous development of industry and the methods for planning the production flow, special attention has started to be paid not only to technological operations, but also to operations related to parts transported between workstations. The integration of technological and transport processes has contributed to the development of Cyclic Robotic Scheduling Problems. These problems extend CFP, CJP, COP, and CPSP with the possibility of transporting parts between operations by devices such as robots, transporters, AGV, tugger trains, and overhead cranes. They include: • • • •

The Cyclic Robotic Flow-shop Problem CRFP [29, 30]. The Cyclic Robotic Job-shop Problem CRJP [31, 32]. The Cyclic Robotic PERT-shop Problem CRFP [3, 33]. The Cyclic Robotic Open-shop Problem CROP [34, 35].

To solve a Cyclic Robotic Scheduling Problem, one needs to find operation start times (which determine the order in which operations are completed on machines) and robot routes (sequences which determine the order in which robots move between machines) which minimize the production cycle (sought is the minimum period α of schedule X ). Autonomous transport robots should be treated as a special type of machines M. They can be defined in many ways. What parameters are taken into account (the robot’s motion speed, transport capacity, mobility, structure, etc.) strongly affects the form of the solution and the time required to find it (the computational complexity of the problem). CRFP, CRJP, CROP, and CRPSP are all NP-hard problems. A comprehensive review of cyclic scheduling problems (BSCP, CFP, CJP, COP, CPSP, CRFP, CRJP, CROP, CRPSP) discussing computational complexity issues can be found in [3]. Those authors distinguish only 24 instances of polynomial complexity (type P) problems. They are mainly small-scale problems with a maximum of two robots (two cyclic robotic scheduling) and/or two machines (multiple parttype production in two-machine cyclic robotic no-wait cells). The rest are NP-hard

8

1 Concurrent Cyclic Processes

problems. They are all listed in Table 1.1 and classified using the α|β|γ notation [36]. As one can see, the problems under discussion are optimization problems. Their main focus is to find an effective method (algorithm) to arrive at a solution; the conditions guaranteeing the existence of admissible solutions are presumed to be met. In most cases, the assumptions made above (e.g., the possibility of the presence of buffers) make the existence of a non-empty set of admissible solutions obvious. This is mainly due to the nature of the problems in question, and more precisely the nature of the constraints they involve. In CJP, CFP, and COP, it is always possible to propose a schedule in which only one operation is performed at any one time. The situation is similar with CPSP—in the extreme case, the operations of each implementation of a project can be executed serially (as if each of them required the same machine). Therefore, they are best solved with methods using population algorithms (e.g., genetic algorithms, ant colony algorithms), which work well when the solution space contains many admissible solutions [37]. Things become more complicated when a problem has no-wait, no-idle and/or nobuffer constraints. Figure 1.6 shows an example of a CJP with a no-buffer constraint and the condition of mutual exclusion of the machines used. These constraints prevent jobs from releasing the machines they are currently holding before the next (requested) machine can be accessed. In special situations of this type, numerous jobs waiting for access to machines may block one another. Figure 1.6 shows a situation in which operations o1,1 , o2,1 , o3,1 are waiting for one another to release the resources they are holding. This gives rise to the so-called resource request cycle. When there are no buffers, the successive operations cannot be executed since none of the jobs receives access to the requested resources, and so they cannot release the currently held resources. This phenomenon is called a deadlock. The awareness that situations of this type may occur is crucial in solving optimization problems. The search for an optimal solution in a space that does not contain admissible solutions basically requires going through the entire space. Of course, for many problems (for instance, the basic formulations of CJP, CFP, or CPSP) the question of whether there exists at least one admissible solution can be answered positively in advance. However, the models used in formulating the problems presented above (BSCP, CFP, CJP, COP, CPSP, CRFP, CRJP, CROP, and CRPSP) do not include the numerous constraints encountered in practical settings, such as mutual interactions between operations (the execution of one operation depends on the result of another operation), the possible occurrence of deadlocks, starvation, collisions, the uncertainty of system parameters, or interference. More complex problems represent real-life systems, such as production, transport, or logistic systems. An example of this type of problems is the problems of cyclic scheduling for systems of concurrent processes. They are extensions of the jobshop problems CJP/CRJP and the flowshop problems CFP/CRFP (see Fig. 1.7). They take into account many interdependent levels of cyclically completed operations (which make up concurrent multimodal processes). The remaining part of this work is devoted to the description and analysis of this type of problems.

1.1 Cyclic Scheduling Problems

9

Table 1.1 NP-hard cyclic scheduling problems [3] Cyclic (no-robot) flowshop problems

Cyclic robotic problems

*F2 |min T|Wt F3 |no-wait|T F3 |no-buffer|T; F3 |no-wait|T F3 |no-wait(1,2), wait(2,3)|T F3 |no-buffer(1,2), waist(2,3)|T F3 |wait(1,2), no-wait(2,3)|T F3 |wait(1,2), no-buffer(2,3)|T F3 |no-wait(1,2), no-buffer(2,3)|T F3 |no-buffer(1,2), no-wait(2,3)|T Permutation non-identical-jobs 3-machine no-buffer flowshop F|no-buffer, ti,j = 0 or 1|T Fm (m fixed m > 2)|no-buffer|T

Cyclic 1-robot flowshop (non-Euclidean case) Min-makespan 1-robot flowshop Cyclic 1-robot flowshop 1-robot flowshop (Euclidian case) 3-machine m-product flowshop 3-machine no-wait flowshop 1-robot 2-parallel-machine makespan 1-robot 2-parallel-machine maximum lateness 2-machine gripper cyclic robotic Single product, identical parts, 1-cycle robotic cells with general travel times 2-machine, 1-robot, single product, 1-unit cycles, two criteria: min cycle time and min total manufacturing cost Single-gripper, 1-cycle and 2-cycle robotic cells with travel times

Cyclic jobshop problems

Cyclic PERT-shop problems

J2 |min T|Wt J2 |no-wait|T J2 |no-buffer|T The (no-robot) jobshop with disjunctive resources The cyclic jobshop with limited number of operations Cyclic 2-machine jobshop with fixed number of operations Cyclic 3-machine jobshop with fixed number of operations 3-machine re-entrant jobshop

Cyclic jobshop/PERT-shop with m machines and disjunctive resources Cyclic PERT-shop when the underlying graph is a circuit Cyclic PERT with unit durations A single machine cycling scheduling with fixed durations and precedence

Other related cyclic scheduling problems Traveling salesman problem Cyclic lot size 1-machine scheduling Cyclic staffing problem Cyclic knapsack A single machine cycling scheduling with fixed durations Cyclic open shop Cyclic resource allocation problem

Cycling graph chromatic scheduling Cyclic vehicle routing problem O2 |no-wait|T O2 |no-buffer|T O2 |min T|Wt FMS scheduling with two criteria: throughput rate and WIP

* The first letter stands for problem type: F—Flow-shop Problem, J—Job-shop Problem, O—Open-

shop Problem; the optional subscript represents the number of machines The second letter denotes the constraints of the problem: β = no-wait means that each job must be performed without waiting for access to the machines, no-wait(a, b) means that the constraint applies only to machines a and b, between which there can be no downtime; β = no-buffer means there is no-buffer between machines, and so a job does not leave a machine until the next machine can be accessed; no-buffer (a, b) means there is no-buffer between machines a and b. The third letter represents objective functions. γ = Wt means that a schedule with a minimum execution time for jobs of set Z is sought; γ = T a schedule with a minimum period α is sought

10

1 Concurrent Cyclic Processes

Fig. 1.6 An example of an operation deadlock

Fig. 1.7 A taxonomy of cyclic scheduling problems

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP) SCCMP are a subclass of Discrete Event Systems [38–40]. “Process” is the basic concept of SCCMP. A process is understood as a time-ordered series of changes/ events/states (hereinafter referred to as “states”) occurring one after another— changes in properties or values of the variables describing a given object. Each subsequent state of a system is caused either by the previous state or by an external

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

11

influence [38, 41–43]. A cyclic process is a process whose every state is repeated at constant time intervals an infinite number of times. In addition to the division presented above, processes are also categorized into continuous and discrete processes [41, 44, 45]. Continuous processes are those in which an infinite number of states can be discerned over any finite period of time, with the differences between those states sometimes being infinitely small. Discrete processes, on the other hand, are those in which only a finite number of states can be distinguished. Further discussion is limited to the class of cyclic sequential discrete processes, in which the relationship that determines the order of occurrence of states is the linear order relationship. An example of a cyclic sequential process is a single metro line on which a train moves sequentially between successive stations, i.e., only one operation is performed at any one time [42]. In cyclic-process systems, processes can run in parallel or concurrently. Two processes are parallel [43], if one of them (each subsequent operation/action of this process) starts before the other has finished, and the processes are executed simultaneously using separate resources. On the other hand, concurrent execution of processes means that one process starts before the completion of another, with the processes having limited access to shared resources [38, 44]. In other words, two processes are considered concurrent if their execution requires mutual interaction. An example is trains (processes) sharing platforms at railway stations. The objective of simultaneously running multiple processes (jobs) using shared resources is to increase the efficiency of systems, in particular reducing job completion time [43]. Unlike the classical approach [46–49] this alternative paradigm assumes that processes are multimodal, i.e., to be completed, they require other processes as resources [50, 51]. More precisely, the operations of one process are executed simultaneously with the operations of another process. To cast more light on the concept of multimodal processes, let us consider the example of a public transport system (light rail) shown in Fig. 1.8. In this system, multimodal processes are passengers who use different trains. Trains are represented by cyclic processes which execute the operations of moving and stopping at stations. Resources include stations and travel sections. A passenger, in turn, is represented by a process whose operations are related to travel and to board/exit operations. However, for a passenger to be able to travel, they need a train, which is viewed as a moving resource. The “passenger process”, then, requires the “train process” to complete its operations. Multimodality, in this case, means that a passenger can change trains multiple times during his/her journey, i.e., they can change the process required to implement their travel plan numerous times. Additionally, it should be emphasized that the processes representing a passenger’s journey are also completed in cycles, although unlike the processes representing trains, they do not form closed loops (closed routes). A passenger’s journey ends at station 5 and then starts again (with another group of passengers) as soon as the trains reach stations 1 and 2— such processes are hereinafter referred to as open-route processes. They are usually executed serially in a pipeline mode, i.e., each successive group of passengers can

12

1 Concurrent Cyclic Processes

Fig. 1.8 An example of a multimodal public transport system (light rail)

start its journey as soon as the trains reach stations 1 and 2 (the previous journey does not have to be completed). Figure 1.8 shows two passenger travel routes: P12 and P22 . Passengers traveling on route P12 use trains P11 and P31 while passengers who ride along route P22 use trains P21 and P31 . In a system like this, there are three levels of multimodal processes: the level of railway lines and stations, the level of trains, and the level of passengers (generally, there may be more levels in a system). The fact that the i-th process operates at level l is denoted by a superscript above the letter P: Pil . The completion of processes from a given level depends on synchronization mechanisms and the behavior of lower level processes. For instance, whether or not a passenger can travel between stations depends on whether or not they have a train ticket (synchronization rules), whether or not there is a train on the platform (the possibility of using the process), and whether or not the passenger has access to a railway station (station opening hours). In other words, the behavior of second-level multimodal processes (P12 , P22 ) depends on the behavior of first-level processes (P11 , P21 and P31 ), which in turn depends on the accessibility and parameters of zerolevel resources (accessibility and capacity of stations 1–5 and accessibility of travel sections 6–11).

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

13

Multimodality understood in this way is a concept frequently used in supply distribution logistics, and it is associated with so-called multimodal transport, i.e., the conveyance of goods and/or people using different transport modes [50, 52–54]. Apart from transportation, multimodal processes are found in production systems, where they are executed along goods production routes [55–58]. It is worth adding that in the same way as we speak of Systems of Concurrent Cyclic Processes—SCCP [38, 47, 59, 60] we can consider Systems of Concurrent Cyclic Multimodal Processes SCCMP. For the sake of simplicity, it is assumed that the processes are arranged in a multi-level (hierarchical) structure. In accordance with this assumption, multimodal processes are divided into subsets of processes belonging to the same level: P = } { l P |l = 0 . . . lp , where P l denotes a set of processes of the l-th level (where lp is the number of system levels). Level P l should be understood as a set of processes that are completed using lower level processes (l − 1). In keeping with this principle, processes of level P 2 use processes of level P 1 , and these in turn use processes of level P 0 . Level P 0 is the zero level, which contains processes that do not require resources to complete their operations. In the situation shown in Fig. 1.8, there are three levels of multimodal processes: } { • Level P 2 , which consists of processes representing travel routes: P{2 = P12 , P2}2 . • Level P 1 , which consists of processes representing trains: P 1 = P11 , P21 , P31 . • Level P 0 , which consists of processes representing stations and travel sections. It is assumed that SCCMP is additionally characterized by: { } • P l = Pil |i = 1 . . . lp(l) being a set of processes of the l-th level, where lp(l) stands(for the number of processes ) of the l-th level. l l l l l • Oi = oi,1 , oi,2 , ..., oi, j , ..., oi,lr (l,i) being a sequence of operations performed by process Pil ∈ P l , where oli, j denotes the j-th operation of process Pil and lr (l, i ) is the number of operations of process Pil . Sequences of operations Oil of level P{l processes make up set O l : Oil ∈ O l .}

• R l = ol−1 i, j |i = 1 . . . lp(l); j = 1 . . . lr (l, i ) being a set of l-th level resources,

which consists of the operations of processes from set P l−1 used by the operations of processes from set P l , for l > 0. Further in this monograph, the term “resource” is used to refer to operations (of processes of set P l−1 ) required for the execution of operations of higher-level processes, i.e., operations at the level of the set of processes P l . Set R l contains subset C R l of resources which are shared by multiple processes: C R l ⊆( R l . ) l l l • pil = pi,1 , pi,2 , ..., pi,l j , ..., pi,lr (l,i ) is a route that is a sequence of resources (operations of processes of set P l−1 ) used by process Pil during its execution, where pi,l j ∈ R l , for l > 0 (operations oli, j of l-th level processes use operations of level l − 1 processes). The set of routes of level P l processes is denoted by pl : pil ∈ pl . It is further assumed that route pil is a closed route if, having

14

1 Concurrent Cyclic Processes

l l l completed operation on the resource pi,lr (l,i) , process Pi locks resource pi,1 again. An example of such processes is the means of transport moving along routes that form loops (trains, trams, etc.). Processes that do not meet this condition are called open-route processes. An example of such processes is passengers (traveling from A to B). These processes are executed serially in a pipeline mode, i.e., for a given process Pil to start running, the previous one does not have to be completed (several )flows can be executed simultaneously in one cycle). ( l−1 l • C oi, j is the number of available units of resource oi,l−1 j ∈ R , the so-called ) ( l−1 ∈ N+ is the number resource capacity (of operation ol−1 i, j ). Capacity C oi, j of indivisible units that processes running on the resource can use. For ) ( resource l−1 example, C oi, j = 3 means that resource ol−1 i, j can be used simultaneously by ) ( = 1. three processes. Unless stated otherwise, it is assumed that C oi,l−1 j

• ti,l j ∈ N+ is the execution time of operation oli, j . Execution times ti,l j of operations of level P l processes make up set T l : ti,l j ∈ T l . } { • Θl = σi,l−1 {1 {1 j ∈ . . . lr i)} |i ∈ . . . lp(l)}; is a set of dispatching rules (l, j which synchronize l-th level processes. All mutually exclusive processes are synchronized by dispatching rules Θl . It is assumed that rule σi,l−1 j defines the synchronization mechanism for a shared resource (shared operation of process of l l set P l−1 ) ol−1 i, j ∈ C R . Once defined, rules Θ do not change while an SCCMP is operating, although one exception is the change of rules that allows an alteration to be made in the cyclic steady state, as described in detail in Chap. 3. A dispatching rule σi,l−1 j is defined as a sequence whose elements determine l the order in which processes receive access to a shared resource oi,l−1 j ∈ CR : ) ( l−1 l−1 l−1 l−1 l−1 l σi,l−1 j = si, j,1 , ..., si, j,d , ..., si, j,lh(i, j,l) , where: si, j,d denotes process si, j,d ∈ P which uses operation ol−1 i, j and is executed as the d-th process; lh(i, j, l) denotes the number of l-th level processes which share resource ol−1 i, j . It is assumed that any process that uses resource ol−1 receives access to it at least once per i, j system cycle. An example of this type of dispatching rules is given in Fig. 1.9, which shows an instance in which two processes (P11 and P21 ) compete for access to a shared 0 . resource (shared operation) o1,2 ) ( 1 1 1 0 Rule σ1,2 = P1 , P2 means that the processes access resource (operation) o1,2 1 1 1 1 in the following order . . . , P1 , P2 , P1 , P2 , . . .. Figure 1.9 shows the successive stages of the execution of process operations on the requested resources. These stages include: – A request for access to resource pi,l j , which is required for the execution of operation oli, j ; access is requested immediately after the current operation oli,( j−1) l (preceding oli, j ), which uses resource pi,( j−1) ), has been completed.

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

15

Fig. 1.9 The successive stages of execution of operations of two processes sharing one operation

– Process waits for access to the requested resource; the waiting process does not release resource pi,( j−1) ; access to the resource is obtained in accordance with the adopted dispatching rule. – Process gets access to the requested resource pi,l j , process waits for time Δt (a time delay caused by the reaction of the process to the resource release signal), and operation oli, j is executed.

16

1 Concurrent Cyclic Processes

To sum up, an SCCMP consists of multimodal processes of different levels, i.e., processes that are completed using other (lower level P l ) processes. It is assumed that the processes are executed concurrently, i.e., • They get access to shared resources (operations of level l − 1 processes) in accordance with the principle of mutual exclusion (processes are synchronized in keeping with the adopted dispatching rules Θl ). • Resources R l (operations of level l − 1 processes) are non-preemptive and cannot be taken away from a process before the operations have been completed. • A process holds a resource (an operation of a level l − 1 process) until the next resource, on which the next operation is to be executed, has been reserved. In the context of the above, an SCCMP structure is understood as a set of parameters that characterize the processes being executed (the operations, routes, dispatching rules, etc. associated with them). It is formally defined as follows: ) ( SC = S P 0 , . . . , S P l , . . . , S P lp ,

(1.5)

) ( where: S P l is a structure of the l-th level: S P l = P l , O l , R l , pl , T l , Θl , which consists of multimodal processes of set P l which execute the operations defined in set O l . The operations are executed using resources (operations of level l − 1 processes) from set R l . Processes are executed along routes of set pl . Operation execution times are defined by set T l . Dispatching rules Θl define the synchronization mechanism for all shared resources C R l . In turn, the cyclic behavior of an SCCMP is understood as a set of values which define its activities, i.e., ways in which the operations of its component processes (operation start times, allocation states, etc.) are executed. The behavior of an SCCMP, represented as a cyclic schedule X, is defined as follows: { } X = X l |l = 0 . . . lp , Xl =

((

) l) l ,α , X 1l , . . . , X il , . . . , X lp(l)

(1.6) (1.7)

where: • • • •

X l is the cyclic schedule of l-th level processes. lp is the number of levels of multimodal processes. lp(l) is( the number of l-th level processes. ) l l l X il = xi,1 , . . . , xi,l j , . . . , xi,lr (l,i) is the sequence of start times of process Pi ∈

P l operations, where lr (l, i ) is the number of process Pil operations. • xi,l j = xi,l j (0) is the start time of operation oli, j for k = 0 execution (k-th cycle) of process Pil , xi,l j (k) = xi,l j (0) + α × k, k ∈ C, αl is a period of schedule X l . Under the assumption that operations of level l (for l > 0) use operations of level l − 1, it is required that they be executed simultaneously. When operation oli, j uses

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

17

operation ol−1 m,n , this condition is expressed as follows: l−1 E X i,l j ⊆ E X m,n ,

(1.8)

where:

] [ • E X i,l j = xi,l j , xi,l j + ti,l j is the time interval in which operation oli, j is executed. ] [ l−1 l−1 l−1 l−1 • E X m,n = xm,n , xm,n + tm,n is the time interval in which operation ol−1 m,n is executed. Relationship (1.8) ensures that operations oli, j of level l are executed alongside operations of level l − 1 (operations ol−1 m,n ), which are required for the execution of the former. Depending on the assumptions one makes, the intuitions about structure and cyclic behavior presented above can be formulated in different ways. An example of a structure and behavior of the system from Fig. 1.8 is shown in Figs. 1.10 and 1.11. This system consists of three levels of multimodal processes: P 0 , P 1 and 2 P . Figure 1.10 shows process level P 1 , which includes three cyclic multimodal processes: P11 , P21 , P31 , representing trains. The operations run by these processes are described by the following sequences: ( 1 ) 1 ( 1 ) 1 1 1 1 1 1 O11 = o1,1 , o1,2 , o1,3 , o1,4 , o2,3 , o2,4 , O2 = o2,1 , o2,2 , ) ( 1 1 1 1 1 1 1 O3 = o3,1 , o3,2 , o3,3 , o3,4 , o3,5 , o3,6 . 1 1 These operations include the operations of running (e.g., o1,1 , o1,1 of process P11 ) 1 1 1 and stopping at stations (e.g., o1,2 , o1,4 of process P1 ). Flow of processes corresponds 0 0 to closed routes composed of level P 0 operations. Operations o1,1 − o1,5 represent 0 0 stations (their availability in time), and resources o1,6 −o1,11 represent travel sections.

) 1 ( 0 ) ( 0 0 0 0 0 0 0 , p2 = o1,2 , o1,8 , p11 = o1,6 , o1,1 , o1,7 , o1,4 , o1,3 , o1,7 ) ( 0 1 0 0 0 0 0 p3 = o1,9 , o1,3 , o1,10 , o1,4 , o1,11 , o1,5 . Operations are executed under the condition of mutual exclusion and nonpreemptiveness of the operations used. Shared resources (operations of the processes 0 0 (an operation shared by trains P21 and P31 ), o1,4 (an operation of set P 1 ) include o1,3 1 1 0 shared by trains P1 and P3 ) and o1,7 (an operation shared by trains P11 and P21 ). To each of the shared resources, the following dispatching rules have been assigned: } { 0 0 0 , θ 1 = σ1,3 , σ1,4 , σ1,7 where: ) 0 ) 0 ) ( ( ( 0 σ1,3 = P21 , P31 , σ1,4 = P11 , P31 , σ1,7 = P11 , P21 .

18

1 Concurrent Cyclic Processes

Fig. 1.10 The first level (l = 1) of the system shown in Fig. 1.8: a) a diagram showing the structure of the SCCMP, b) a schedule for the operations of set P 1 processes

Each rule defines the order in which a process accesses a shared resource. The dispatching rules do not determine which process is executed first; they only deter0 the order of mine the order of access to the shared resource. For instance, for o1,3 0 1 1 1 1 access of the processes defined by σ1,3 is as follows . . . , P2 , P3 , P2 , P3 , P21 , P31 . . .. Figure 1.10b shows a cyclic schedule X 1 for processes P11 , P21 , P31 , which represents the behavior of the SCCMP. In the case under discussion, it was assumed that the times of execution of operations on resources representing stations (operations 0 0 o1,1 − o1,5 ) are unitary (ti,1 j = 1 u.t.). For the remaining resources, operation execution times are either ti,1 j = 2 u.t. or ti,1 j = 3 u.t. As one can see, the period of the

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

19

Fig. 1.11 Level two (l = 2) of the system shown in Fig. 1.8: a) schematic of the structure of the SCCMP, b) schedule for the operations of processes from set P 1

schedule is α 1 = 10 u.t. During this time, all trains have completed a full travel cycle. Figure 1.11 shows level P 2 , which includes two cyclic multimodal processes: P12 , P22 , representing passengers. It should be emphasized that processes of this level use operations of level P 1 processes as resources to complete their own operations. For 2 (journey between stations example, a passenger journey related to the operation o1,2 1 1 ). 1 and 4—see Fig. 1.8) requires train P1 running in sector 7 (operation o1,3 2 In other words, the execution of the operation o1,2 is conditioned by the execution 1 1 . From this point of view, operation o1,3 is treated of a lower level operation o1,3

20

1 Concurrent Cyclic Processes

2 1 as a resource necessary for the execution of the operation o1,2 . Operation o1,3 is available only at times specified in the schedule X 1 (Fig. 1.10b). Train P11 runs through sector 7 in the time windows [4, 7],[14, 17], [20, 27], and it is only in these 2 can be completed (condition (1.8)). In other words, intervals that operation o1,2 1 schedule X determines the admissible variants of execution of level P 2 processes (admissible variants of schedule X 2 ). Operations executed by processes P12 and P22 are described by the following sequences:

( ( ) ) 2 , o2 , o2 , o2 , o2 , o2 2 2 2 2 2 2 2 2 2 O12 = o1,1 1,2 1,3 1,4 1,5 1,6 , O2 = o2,1 , o2,2 , o2,3 , o2,4 , o2,5 , o2,6 , o2,7 , o2,8 . 2 2 2 2 2 2 Among them, o1,1 , o1,4 and o2,1 , o2,4 are passenger boarding operations, o1,3 ,o1,6 2 2 and o2,3 , o2,8 are passenger disembarking operations, and the rest are passenger travel operations. The processes are executed along the following open routes (passengers do not return to the starting point):

( ( ) ) 1 , o1 , o1 , o1 , o1 , o1 2 1 1 1 1 1 1 1 1 p12 = o1,2 1,3 1,4 3,4 3,5 3,6 , p2 = o2,1 , o2,2 , o2,3 , o3,2 , o3,3 , o3,4 , o3,5 , o3,6 .

Routes contain level P 1 operations, which are required for the execution of processes P12 , P22 . They represent the trains used by passengers: P11 — 1 1 1 1 1 1 , o1,3 , o1,4 ; P12 —operations o2,1 , o2,2 , o2,3 ; and P13 —operations operations o1,2 1 1 1 1 1 o3,2 , o3,3 , o3,4 , o3,5 , o3,6 . 1 1 1 Operations o3,4 , o3,5 , o3,6 are shared by both processes. Similarly to level P 1 , the operations are executed under the principle of mutual exclusion. The operations of the processes, however, can be executed simultaneously because it has been (assumed ) 1 1 1 1 = , o3,5 , o3,6 ) is C o3,4 that the capacity of the shared resources (operations o3,4 ( 1 ) ( 1 ) C o3,5 = C o3,6 = 2. In practice, this means that passengers of processes P12 and P22 can travel together by train P13 . Figure 1.11b shows a cyclic schedule X 2 for the execution of processes P12 and 2 P2 . It is assumed that operation execution times are equal to the availability times 2 1 = t1,2 = 1 u.t.). Similarly as before, the period of of the operations used (e.g., t1,1 the schedule is α 2 = 10 u.t. The processes are executed serially in a pipeline mode, and the travel time in both cases (between stations 1–5 and 2–5) is 12 u.t. This example of a SCCMP consists of only three levels of multimodal processes. In general, many more levels can be defined for this type of systems. For example, they may include processes representing traveling passengers, various modes of transport (e.g., trams, buses), parcels transported by passengers, transmission of information (so-called “memes”) in social networks, transport of elements in production systems, etc. For each of these levels, a separate set of assumptions and constraints can be adopted. The large number of possible variants of SCCMP makes the problems of evaluating their behavior very complex (they are NP-hard problems). It should be emphasized that the structure and behavior of a system are dependent on one another. In the example presented above, the structure of railway connections determines the train timetable (schedule X 1 ), which in turn determines the

1.2 Systems of Cyclic Concurrent Multimodal Processes (SCCMP)

21

admissible variants of passenger travel (schedule X 2 ). Thus, a specific structure determines the potential behavior of a system, while a specific behavior may be reachable in systems with different structures. In special cases, an SCCMP behavior that meets given expectations may not be reachable. The limited availability of shared system resources (operations of level l − 1 processes) makes it necessary to synchronize (coordinate) the processes in such a way as to prevent unfavorable interactions between them (e.g., simultaneous access to shared resources). A lack of proper synchronization of processes (that run to a given cyclic schedule X) may lead to the suspension of the system’s operation—the so-called deadlocks (impasses). An example of such a situation is presented in Fig. 1.12a. Figure 1.12a shows a system with three levels of multimodal processes: P 0 , P 1 , and P 2 . Level P 2 contains one multimodal process P12 (marked in red). This process is executed 1 1 1 1 1 , o1,2 , o2,1 , o2,2 , o3,1 , using level P 1 processes (in particular, it uses operations: o1,1 1 1 1 1 1 o3,2 ). Level P , in turn, consists of three processes: P1 , P2 , P3 , which are executed 0 0 0 0 − o1,6 , of which operations: o1,1 , o0 , o1,3 using the operations from level P 0 : o1,1 ( 1 1 ) ( 1 1 ) ( 1 1,2 ) 1 are shared by the respective P3 . The 2 , P3( , P1 ,)) ( 0 pairs ) 0 ( of processes: ( P1 , P2 ) , P 0 = P21 , P11 , σ1,2 = P31 , P21 , σ1,3 = P11 , P31 and the synchronization rules σ1,1 2 1 , P11 starts with o1,2 , P21 starts with initial state (process P12 starts with operation o1,6 1 1 1 o2,2 , and P3 starts with o3,2 ) adopted for this process create a situation that puts the processes into a deadlock state—Fig. 1.12a. At time t = 4 u.t., there forms a closed loop of requests for resources, in which processes are waiting for the release 0 held by P31 ; P21 of resources held by one another: P11 is waiting to get access to o1,3 0 0 is waiting to get access to o1,1 held by P11 ; and P31 is waiting to get access to o1,2 held 1 1 by P2 . The deadlock of processes of level P also makes it impossible to complete process P12 (there is no access to level P 1 resources). This means that cyclic behavior is not reachable in the given structure. However, it can ( )) reachable by changing the operation dispatching2 rules1 ( be made 0 0 rule σ1,3 o1,3 = P31 , P11 and adopting a new initial state (P12 starts with o1,6 , P1 1 1 1 starts with o1,3 , P21 starts with o2,2 and P31 starts with o3,1 )—see Fig. 1.12b. Both level P 1 processes and level P 2 processes run their operations cyclically with a period of α 1 = α 2 = 9. This does not mean, however, that in the general case there exist rules that allow reaching any expected behavior of a system. In the system under discussion, for example, it is impossible (regardless of what rules one adopts) to reach no-wait behavior (i.e., behavior in which processes do not wait for access to resources [15, 40, 61, 62] or no-idle behavior (i.e., behavior in which there are no downtimes on resources while the processes are being executed). As the examples above demonstrate, deadlocks can lead to a situation in which the set of admissible solutions is empty. It is also worth noting that, in the general case, there are systems in which, no matter what synchronization rules and initial state is adopted, the reachable behaviors always lead to a deadlock. An example of such a system is shown in Fig. 1.13. Since there is no guarantee that there exist admissible solutions to problems of evaluation of the behavior of SCCMP (determination of a cyclic schedule for the

22

1 Concurrent Cyclic Processes

Fig. 1.12 a) An example of an SCCMP which reaches a deadlock state, b) a cyclic behavior

execution of the processes) or synthesis of their structure, these problems become decision-making problems, the goal for which is to find methods to determine admissible solutions or conditions guaranteeing their existence. From this point of view, two approaches to constructing decision-making problems related to SCCMP can be distinguished [54, 63]:

1.3 Mesh-like SCCMP Structures

23

Fig. 1.13 An example of an SCCMP whose behavior leads to a deadlock for any initial state and any synchronization mechanism (any dispatching rules)

1 The “forward” approach, in which the problem hereinafter referred to as the analysis problem can be formulated as the following question: Does there exist a behavior of an SCCMP (cyclic schedule X ) which guarantees cyclic (deadlock-free) execution of its multimodal processes? 2 The “reverse” approach, in which the problem hereinafter referred to as the synthesis problem is solved by answering the following question: Does there exist an SCCMP structure (described as SC (1.5)), which guarantees the reachability of a given behavior (cyclic schedule X which meets the given constraints)? Since these problems are NP-hard, the available methods of solving them [50, 55, 64] have low time efficiency and can only be used in practice to analyze small-scale systems. For this reason, methods dedicated to regular structures, and enabling their decomposition have been developed in recent years.

1.3 Mesh-like SCCMP Structures SCCMP plays a special role in the modeling of transport systems. Transport systems and the processes executed in them, which involve the movement of cargo, people, goods, energy, financial capital, data, etc. from a point of origin to a destination, determine the competitiveness of the companies and institutions which use those systems.

24

1 Concurrent Cyclic Processes

As in the case of SCCMP, a commonly accepted definition of a system describes it as being characterized, regardless of its specific nature and character, by a structure (the component subsystems and the relations between them) and a behavior that determines the responses of the system to changes in the environment. In these systems, the transportation processes associated with the movement of objects are multimodal. Numerous studies [65–67] draw attention to the fact that the development of urban agglomerations (and their transport systems) is subject to the laws of recursion (regular or fractal structures; see Fig. 1.14). The consequences of this fact can be used both in predicting the needs related to the expansion of the existing transport infrastructure, as well as planning new industrial and/or urban agglomerations. Regular mesh structures can be found in the street layout of Manhattan (Fig. 1.14a), while the street layout of Brasilia, the capital of Brazil, is an example of a tree-like structure. The benefits of a transport system network with a regular structure include flexibility (the possibility of adapting traffic to current needs), resistance to disturbances (e.g., accidents, congestion, structure damage), uniform loading, and a high throughput (e.g., the possibility of taking advantage of the so-called “green wave” traffic flow). A special benefit, however, is the fact that the behavior of a system of this type (cyclic execution of processes that make up the regular system) can be assessed solely on the basis of the behavior of a fragment of the system. This property allows

Fig. 1.14 Communication structures with: a) a mesh topology (gostreetmaps.com), b) a fractal topology—the white shape on the black background is a map of communication routes and the black edges on the white background are a graph model of the route map (www.behance.net) [68], and c) a tree-like topology

1.3 Mesh-like SCCMP Structures

25

analyzing (and synthesizing) large-scale systems whose structures are so complex that they are hard to assess “as a whole”. Figure 1.15 shows three types of communication infrastructures of transport systems with fractal structures of the following type: a +—like, b Δ —like, and c o—like. In the graph, theoretical models of these structures’ vertices model network resources, i.e., stations, stops, and shared route sections, while edges represent connections between resources. In each system, two multimodal processes representing passengers (level l = 2 processes marked in red and blue) were distinguished.

Fig. 1.15 Examples of transport systems generated in the course of growing fractal structures from repeating elementary structures: a +—like, b Δ —like, and c o—like

26

1 Concurrent Cyclic Processes

They use various local modes of transport (level l = 1 processes) to move between stops and stations. All three systems were created by “expanding” (adding new fragments to) the existing communication infrastructure. The structures obtained in this way consist of repeating substructures, hereinafter referred to as elementary structures [39, 69, 70]. These elementary structures can be coupled multiple times to recreate the entire transport system. Figure 1.16 shows an example of an SCCMP modeling the elementary structure of the system in Fig. 1.15a. The components of the system are marked with the left superscript (q) which denotes that a component belongs to the q-th elementary structure. The system shown in the figure has three levels of multimodal processes: • Level (q) P 0 with process (q) P10 , whose operations represent stations (operations: 0 0 0 0 0 0 (q) 0 o1,1 , (q) o1,10 , (q) o1,11 , (q) o1,12 , (q) o1,13 .) and travel sections ((q) o1,2 –(q) o1,9 ) (q)

O10 =

((q)

) 0 0 o1,1 , . . . , (q) o1,13 .

• Level (q) {P 1 , which consists of processes representing the travel modes used: } (q) 1 P = (q) P11 , (q) P21 , (q) P31 , (q) P41 . The operations run by these processes are described by the following sequences: (

)

(

)

(

)

(

)

(q) O 1 = (q) o1 , (q) o1 , (q) o1 , (q) o1 (q) O 1 = (q) o1 , (q) o1 , (q) o1 , (q) o1 1 1,1 1,2 1,3 1,4 , 2 2,1 2,2 2,3 2,4 , (q) O 1 = (q) o1 , (q) o1 , (q) o1 , (q) o1 (q) O 1 = (q) o1 , (q) o1 , (q) o1 , (q) o1 3 3,1 3,2 3,3 3,4 , 2 4,1 4,2 4,3 4,4 .

Processes are executed along closed routes composed of level (q) P 0 operations: (

)

(

)

(

)

(

)

(q) p 1 = (q) o0 , (q) o0 , (q) o0 , (q) o0 (q) p 1 = (q) o0 , (q) o0 , (q) o0 , (q) o0 1 1,3 1,10 1,2 1,1 , 2 1,4 1,1 1,11 , 1,5 (q) p 1 = (q) o0 , (q) o0 , (q) o0 , (q) o0 (q) p 1 = (q) o0 , (q) o0 , (q) o0 , (q) o0 3 1,6 1,1 1,7 1,12 , 4 1,9 1,13 1,8 1,1 .

All processes share one resource (operation) dispatching rule has been adopted: (q)

0 σ1,1 =

((q)

(q) 0 o1,1

for which the following

) P11 , (q) P31 , (q) P21 , (q) P41 .

(q) 2 • Level consists of two processes representing passengers: (q) P 2 = } {(q) 2 (q)P ,2 which P1 , P2 . The operations run by these processes are described by the following sequences:

) 2 2 2 2 2 2 , o1,1 , (q) o1,2 , (q) o1,3 , (q) o1,4 , (q) o1,5 , (q) o1,6 ((q) 2 (q) 2 (q) 2 (q) 2 (q) 2 (q) 2 ) (q) 2 O2 = o2,1 , o2,2 , o2,3 , o2,4 , o2,3 , o2,4 . (q)

O12 =

((q)

1.3 Mesh-like SCCMP Structures

27

Fig. 1.16 An elementary structure of the system shown in Fig. 1.15a

The processes are executed along open routes composed of level operations (passengers using the available modes of transport): (q) 2 p1 (q) 2 p2

) 1 1 1 1 1 1 , o2,4 , (q) o2,1 , (q) o2,2 , (q) o4,4 , (q) o4,1 , (q) o4,2 ((q) 1 (q) 1 (q) 1 (q) 1 (q) 1 (q) 1 ) = o1,2 , o1,3 , o1,4 , o3,2 , o3,3 , o3,4 . =

((q)

(q)

P1

28

1 Concurrent Cyclic Processes

These processes do not share any resource, and so no dispatching rules are used at this level. This system describes the relations between the transport structure and the structures of the processes executed in it (means of transport and passengers) only for a small fragment of the transport system (encompassing only four processes representing means of transport and two processes representing passengers). The behavior of the entire system can be evaluated through multi-stage coupling (combining) of the elementary structures. Coupling, understood in this way, generally boils down to searching in a given set for a configuration of structures that guarantees cyclic execution of the multimodal processes. In the special case, the topology of the resulting structure is known (as in Fig. 1.15), and the structure can be reconstructed using the repeating elementary structures. The final cyclic system is obtained by “collision-free” coupling (not leading to a collision of operations) of multimodal processes and appropriately selecting the methods for their synchronization. An elementary structure is formally defined (similarly to (1.5)) as follows: (q)

SE =

((q)

) S P 0 , . . . , (q) S P l , . . . , (q) S P lp ,

(1.9)

where: • (q) S E is the q-th elementary structure. l (q) • (q) of ) the l-th level: S Pl = ((q)S Pl (q) isl (q) a l (q)structure l (q) l (q) l P , O , R , p , T , Θ , which is composed of multimodal processes (q) Pil ∈ (q) P l executing operations (q) Oil ∈ (q) O l . The operations are executed using resources (operations of level l − 1 processes) from set (q) R l . The processes are executed along routes (q) pl ∈ (q) pl . Operation execution times are defined by set (q) T l . Dispatching rules (q) Θl define the synchronization mechanism for all shared resources. { } In this approach, SE = (1) S E, . . . , (q) S E, . . . , (lc) S E, is a set of elementary structures that make up a regular SCCMP (e.g., a +—like type). Since it is assumed that the system has a regular structure, it is also assumed that the elementary structures that comprise it are isomorphic. Two elementary structures (a) S E, (b) S E ∈ SE are isomorphic if: • Every process (a) Pil of structure (a) S E corresponds to exactly one process (b) Pil of structure (b) S E: (a) Pil ≡ (b) Pil . Corresponding processes are executed along corresponding routes ((a) pil ≡ (b) pil ) which use corresponding shared resources ((a) R l ≡ (b) R l ). (b) l−1 • Dispatching rules (a) σi,l−1 j / σi, j assigned to corresponding shared resources consist of corresponding processes. The operation of structures (a) SE,(b) SE ∈ SE coupling (marked with the operator ⊕ ) by merging resources from the set Φa,b is defined as follows: (a) S E ⊕ (b) S E = (c) S E [69–71] where (c) S E is the resulting structure of the form (1.9), in which:

1.3 Mesh-like SCCMP Structures

29

• Set (c) R l (for l = 0 . . . lp) contains the resources of each of the coupled structures along with the new, shared resources obtained as an effect of combining the resources of set Φa,b ⊆ (a) R l × (b) R l (where: A ×(B—the cartesian ) product of (a) l (b) l sets A and B). Set Φa,b contains pairs of resources oi, j , ou,v “merged” as a result of combining structures (a) S E, (b) S E. Set RΦa,b contains the resources obtained by “merging” the resources of each pair from set Φa,b . To each resource from set RΦa,b is assigned a dispatching rule which defines the way in which the processes sharing this resource are to be synchronized. • Processes with closed routes are described by quantities obtained as follows: (c) l P = (a) P l ∪ (b) P l ; (c) O l = (a) O l ∪ (b) O l ; (c) pl = (a) pl ∪ (b) pl ; (c) T l = (a) l T ∪ (b) T l . • When open-route processes are executed using resources from set Φa,b , these processes are integrated (merged into one process). It is worth noting that this definition allows combining elementary structures of different types, e.g., (a) +—like, (b) Δ —like, (c) o—like, etc. An example of two Fig. 1.16 being coupled by merging resources from substructures{((a) S E, (b) S E in)} 0 0 , (b) o1,11 is shown in Fig. 1.17. Structures (a) SE and (b) SE set Φa,b = (a) o1,13 0 0 were coupled vertically by merging operations (a) o1,13 , (b) o1,11 . As an effect, a new (a,b) 0 resource was created (operation of level l = 0) o1,(13,11) to be shared by processes (a) 1 P4 and (b) P21 . As a result of combining these structures, a new process (a,b) P12 (red line) consisting of (open-route) processes (a) P12 and (b) P12 was also generated. By further combining the structures from Fig. 1.16, one can obtain a system with the structure shown in Fig. 1.15a. The characteristic feature of the coupling operation defined in this way is that it can be performed for certain specific substructures only, i.e., not every pair (a) S E, (b) S E can be combined together. Each of the coupled elementary structures (a) S E, (b) S E is associated with a behavior represented by a cyclic schedule: (a) X, (b) X (defined analogously to (1.5)). Since structures (a) S E, (b) S E are isomorphic, the schedules assume that corresponding processes are executed in the same way (i.e., schedules (a) X, (b) X are also isomorphic). From this point of view, cyclic schedule X representing the behavior of a regular SCCMP (composed of elementary structures of set SE) can be conceived of as a combination of corresponding (isomorphic) schedules (q) X (for q = 1 . . . lc). Coupling of elementary structures with known cyclic behaviors: (b) X, (b) X, should generate a system structure that also displays cyclic behavior: (c) X. What becomes important in the process of combining structures are the parameters of elementary structures (q) S E and the adopted dispatching rules (for merged resources). These rules determine the order in which processes access the resources from set RΦa,b thus enabling cyclic (i.e., deadlock-free) execution of these processes. ) ( 0 In the example provided in Fig. 1.17, rule (a,b) σ1,(13,11) = (a) P41 , (b) P21 ensures 1 1 + (b) t2,4 ≤ that processes will be executed cyclically only on the condition that (a) t4,2 (a) 1 (b) 1 (a) 1 (a) 1 (b) 1 α , where: t4,2 , t2,4 are the execution times of operations o4,2 , o2,4 completed on merged resources, and (a) α 1 is the schedule period (q) X 1 . Otherwise

30

1 Concurrent Cyclic Processes

Fig. 1.17 An example of coupling two substructures (a) S E ⊕ (b) S E from Fig. 1.16

1.4 Notes

31

(when the given inequality is not met), processes (a) P41 and (b) P21 collide on resource (a,b) 0 o1,(13,11) . So, this condition guarantees that the time of a resource is held by the processes will not exceed the period (a) α 1 of the schedule. With appropriately selected operation start times, it enables cyclic (collision-free) execution of these processes. These types of conditions are described in more detail in Chap. 2. The search for conditions that guarantee cyclic behavior of regular-structure SCCMP can be viewed as a case of a synthesis problem which is solved by answering the followings question: Does there exist an elementary structure (q) S E ∈ SE (described by variables such as dispatching rules and operation execution times), which guarantees the reachability of cyclic behavior (represented by a cyclic schedule X) in an SCCMP with a structure composed of structures from set SE? Methods of solving the problems defined in this way are currently the main focus of research on the synthesis of SCCMP [40].

1.4 Notes The problems most often encountered in the literature are problems regarding the optimization of cyclic scheduling (e.g., jobshop problems). The low complexity of these problems follows from the assumptions of: • • • •

Lack of mutual exclusion. Presence of infinite buffers. Lack of interactions between operations, e.g., no-idle or no-wait requests Etc.

This means that these problems do not require testing the search space for the existence of admissible solutions. When additional constraints (commonly found in practical settings), such as the use of discrete (e.g., integer) variables, a lack of buffers (no-buffer), or the need to synchronize operations executed on shared resources, are taken into consideration, these problems can be viewed as one of the two types of decision-making problems: • Forward problems: the goal is to find a behavior (a cyclic schedule) that is reachable for the given problem parameters. • Reverse problems: the goal is to look for the values of decision variables that guarantee the reachability of the expected cyclic behavior (a cyclic schedule that meets specific assumptions). It is worth noting that the relationships which describe these types of problems, whose variables have integer values, generally take the form of Diophantine equalities and/or inequalities. As it is known [72–74], not every system of such relationships has admissible solutions.

32

1 Concurrent Cyclic Processes

As there are no general methods for solving such problems, each case requires an individualized approach, dedicated to specific sets of assumptions. For example, assumptions for SCCMP (which are an extension of CJP/CRJP and CFP/CRFP) require taking into account the possibility of deadlocking. The occurrence of deadlocks may lead to situations in which the set of admissible solutions is empty. SCCMP can be viewed as consisting of multiple levels of multimodal processes (e.g., trains moving along given routes, passengers being transported by trains, parcels being transported by passengers, etc.). For each of these levels, one can adopt a separate set of assumptions and constraints. The SCCMP model proposed here allows the consideration of numerous variants of this type of systems, among which systems with regular structures deserve special attention. They make it possible to model the transport systems of existing communication infrastructures (e.g., urban agglomerations). The behavior of such systems can be assessed by analyzing the behavior of their fragments (the so-called elementary structures). The distinction that the proposed model draws between system structure (SC described by variables such as dispatching rules Θl , process routes pil ) and system behavior (cyclic schedule X) allows one to consider the following questions: • Does there exist a behavior of an SCCMP which guarantees cyclic (deadlock-free) execution of multimodal processes? • Does there exist a structure of the SCCMP (in particular a regular structure) which guarantees the system will reach the given behavior? These questions are related to SCCMP analysis and synthesis problems, which can be naturally formulated as Constraint Satisfaction Problems (CSP). Being declarative in nature, CSP can be solved using commercially available programming environments. Decision-making problems formulated within these environments are decidable and NP-hard. The declarative approach will be used in the following chapters to describe the problems of SCCMP behavior analysis and SCCMP structure synthesis.

References 1. Pinedo, M., Hadavi, K.: Scheduling: theory, algorithms and systems development. Oper. Res. Proc. 1991, 35–42 (1992). https://doi.org/10.1007/978-3-642-46773-8_5 2. Bła˙zewicz, J., Ecker, K.H., Pesch, E., et al.: Handbook on Scheduling: from Theory to Applications. Springer (2007) 3. Levner, E., Kats, V., Alcaide López De Pablo, D., Cheng, T.C.E.: Complexity of cyclic scheduling problems: a state-of-the-art survey. Comput. Ind. Eng. 59, 352–361 (2010). https:// doi.org/10.1016/J.CIE.2010.03.013 4. Smutnicki, C.: Landscape imaging of the discrete solution space. In: Zamojski, W., Mazurkiewicz, J., Sugier, J., et al. (eds.) Theory and Applications of Dependable Computer Systems. DepCoS-RELCOMEX 2020. Advances in Intelligent Systems and Computing, pp. 565–574. Springer (2020)

References

33

5. Kubiak, W.: A Book of Open Shop Scheduling—Algorithms, Complexity and Applications. Springer International Publishing, Cham (2022) 6. Pinedo, M.L.: Scheduling—Theory, Algorithms, and Systems. Springer International Publishing, Cham (2022) 7. Smutnicki, C.: Cyclic scheduling of lots with setup times. In: 2019 24th International Conference on Methods and Models in Automation and Robotics, MMAR 2019, pp. 164–169 (2019). https://doi.org/10.1109/MMAR.2019.8864627 8. Bo˙zejko, W., Pempera, J., Smutnicki, C., Wodecki, M.: Zaawansowane modele i algorytmy optymalizacji w systemach cyklicznych. Akademicka Oficyna Wydawnicza EXIT (2017) 9. Romanovskil, I.V.: Optimization of stationary control of a discrete deterministic process. Kybernetika (Cybernetics) 3, 66–78 (1967) 10. Kampmeyer, T.: Cyclic scheduling problems. Fachbereich Mathematik/Informatik Universitat Osnabruck (2006) 11. Hamaz, I., Houssin, L., Cafieri, S.: A robust basic cyclic scheduling problem. EURO J. Comput. Optim. 6(3), 291–313 (2018). https://doi.org/10.1007/S13675-018-0100-3 12. Gupta, R., Dasdan, A., Corresponding, S.S.I., Gupta, R.K.: An experimental study of minimum mean cycle algorithms. In: 2009 Proceedings of the Workshop on Algorithm Engineering, pp. 1–13 (1998) 13. Bozejko, W., Wodecki, M.: On cyclic job shop scheduling problem. IN: INES 2018—IEEE 22nd International Conference on Intelligent Engineering Systems, Proceedings, pp. 000265– 000270 (2018). https://doi.org/10.1109/INES.2018.8523910 14. Quinton, F., Hamaz, I., Houssin, L.: Algorithms for the flexible cyclic jobshop problem. In: 2018 IEEE 14th International Conference on Automation Science and Engineering (CASE), pp. 945–950 (2018). https://doi.org/10.1109/COASE.2018.8560449 15. Romanova, A., Servakh, V.: Complexity of cyclic job shop scheduling problems for identical jobs with no-wait constraints. J. Appl. Ind. Math. 13(4), 706–716 (2019). https://doi.org/10. 1134/S1990478919040136 16. Hall, N.G., Lee, T.E., Posner, M.E.: The complexity of cyclic shop scheduling problems. J. Sched. 5, 307–327 (2002). https://doi.org/10.1002/JOS.100 17. Hanen, C.: Study of a NP-hard cyclic scheduling problem: the recurrent job-shop. Eur. J. Oper. Res. 72, 82–101 (1997) 18. Bozejko, W., Uchro´nski, M., Wodecki, M.: Block approach to the cyclic flow shop scheduling. Comput. Ind. Eng. 81, 158–166 (2015). https://doi.org/10.1016/J.CIE.2015.01.004 19. Elmi, A., Topaloglu, S.: Multi-degree cyclic flow shop robotic cell scheduling problem: Ant colony optimization. Comput. Oper. Res. 73, 67–83 (2016). https://doi.org/10.1016/J.COR. 2016.03.007 20. Kubale, M., Nadolski, A.: Chromatic scheduling in a cyclic open shop. Eur. J. Oper. Res. 164, 585–591 (2005). https://doi.org/10.1016/J.EJOR.2003.06.047 21. Anand, E., Panneerselvam, R.: Literature review of open shop scheduling problems. Intell. Inf. Manag. 07, 33–52 (2015). https://doi.org/10.4236/IIM.2015.71004 22. Pempera, J., Smutnicki, C.: Open shop cyclic scheduling. Eur. J. Oper. Res. 269, 773–781 (2018). https://doi.org/10.1016/J.EJOR.2018.02.021 23. Post, G., Ahmadi, S., Geertsema, F.: Cyclic transfers in school timetabling. OR Spectr. 34(1), 133–154 (2010). https://doi.org/10.1007/S00291-010-0227-Y 24. Benoit, A., Catalyurek, U., Robert, Y., Saule, E.: A survey of pipelined workflow scheduling. ACM Comput. Surv. (CSUR) 45, 1–36 (2013). https://doi.org/10.1145/2501654.2501664 25. Shirvani, N., Shadrokh, S.: Coordination of a cyclic three-stage supply chain for fast moving consumer goods. Iran. J. Oper. Res. 4, 175–190 (2013) 26. Flamini, M., Nicosia, G., Pacifici, A.: Cyclic schedules for pipeline assembly processes. In: Proceedings—UKSim-AMSS 16th International Conference on Computer Modelling and Simulation, UKSim, pp. 221–226 (2014). https://doi.org/10.1109/UKSIM.2014.41 27. Munier, A.: The basic cyclic scheduling problem with linear precedence constraints. Discrete Appl. Math. (1979) 64, 219–238 (1996). https://doi.org/10.1016/0166-218X(94)00126-X

34

1 Concurrent Cyclic Processes

28. Hall, N.G., Potts, C.N., Sriskandarajah, C.: Parallel machine scheduling with a common server. Discrete Appl. Math. (1979) 102, 223–243 (2000). https://doi.org/10.1016/S0166-218 X(99)00206-1 29. Elmi, A., Nazari, A., Thiruvady, D., Durmusoglu, A.: Cyclic flow shop robotic cell scheduling problem with multiple part types. IEEE Trans. Eng. Manag. 69, 3240–3252 (2020). https://doi. org/10.1109/TEM.2020.3037371 30. Li, W., Chen, X., Li, J., et al.: An improved iterated greedy algorithm for distributed robotic flowshop scheduling with order constraints. Comput. Ind. Eng. 164, 107907 (2022). https:// doi.org/10.1016/J.CIE.2021.107907 31. Quinton, F., Hamaz, I., Houssin, L.: A mixed integer linear programming modelling for the flexible cyclic jobshop problem. Ann. Oper. Res. 285(1), 335–352 (2019). https://doi.org/10. 1007/S10479-019-03387-9 32. Li, X., Yang, X., Zhao, Y., et al.: Metaheuristic for solving multi-objective job shop scheduling problem in a robotic cell. IEEE Access 8, 147015–147028 (2020). https://doi.org/10.1109/ ACCESS.2020.3015796 33. Crama, Y., Kats, V., van de Klundert, J., Levner, E.: Cyclic scheduling in robotic flowshops. Ann. Oper. Res. 96(1), 97–124 (2000). https://doi.org/10.1023/A:1018995317468 34. Kats, V., Levner, E.: Cyclic scheduling in a robotic production line. J. Sched. 5, 23–41 (2002). https://doi.org/10.1002/JOS.92 35. Ghadiri Nejad, M., Güden, H., Vizvári, B., Vatankhah Barenji, R.: A mathematical model and simulated annealing algorithm for solving the cyclic scheduling problem of a flexible robotic cell. Adv. Mech. Eng. 10, 2018 (2018). https://doi.org/10.1177/1687814017753912 36. Dawande, M.W., Geismar, H., Sethi, S., Sriskandarajah, C.: Throughput Optimization in Robotic Cells. Springer, New York, NY (2007) 37. Dang, Q.V., Nielsen, I.E., Bocewicz, G.: A genetic algorithm-based heuristic for part-feeding mobile robot scheduling problem. Adv. Intel. Soft Comput. AISC 157, 85–92 (2012). https:// doi.org/10.1007/978-3-642-28795-4_10/COVER 38. Banaszak, Z., Wójcik, R., Muszy´nski, W.: A logic-algebraic method based and CLP-driven approach to control of concourrently competing cyclic processes. IFAC Proc. Vol. (IFACPapersOnline) 39, 491–496 (2006). https://doi.org/10.3182/20060517-3-FR-2903.00257 39. Banaszak, Z.: Declarative modeling for multimodal processes driven distribution networks. In: Kijima, K., Iijima, J., Sato, R., et al. (eds.) Systems Research I. Translational Systems Sciences, pp. 191–219. Springer, Singapore (2022) 40. Wójcik, R., Pempera, J., Bocewicz, G., Banaszak, Z.: The no-wait cyclic scheduling of delivery traffic in the grid distribution network. ISA Trans. 131, 282–298 (2022). https://doi.org/10.1016/ J.ISATRA.2022.05.031 41. Fokkink, W.: Distributed Algorithms: An Intuitive Approach. Springer (1999) 42. Silberschatz, A., Galvin, P., Gagne, G.: Operating Systems Concepts. Wiley (2004) 43. Ben-Ari, M.: Principles of Concurrent and Distributed Programming. Addison Wesley (2005) 44. Banaszak, Z.: Modelling and Control of FMS: Petri Net Approach. Wrocław Technical University Press (1991) 45. Reveliotis, S.: Real-time Management of Resource Allocation Systems: A Discrete-event Systems Approach. Springer, New York (2005) 46. Majdzik, P., Obuchowicz, A.: Prototyping of concurrent cyclic processes. IFAC Proc. Vol. (IFAC-PapersOnline) 3, 257–262 (2006). https://doi.org/10.3182/20060926-3-PL-4904.00043 47. Wójcik, R., Bocewicz, G., Banaszak, Z.: Knowledge engineering approach to concurrently competng cyclic processes control. In: 3rd International IEEE Conference Intelligent Systems, pp. 77–82 (2006) 48. Seybold, L., Witczak, P., Majdzik, P.: Modeling discrete-event systems with constraints. In: 2013 18th International Conference on Methods and Models in Automation and Robotics, MMAR 2013, pp. 789–793 (2013). https://doi.org/10.1109/MMAR.2013.6670013 49. Pempera, J., Smutnicki, C., Wójcik, R.: Minimizing the cycle time in the distributed flow shop scheduling problem. IFAC-PapersOnLine 54, 1081–1086 (2021). https://doi.org/10.1016/j.ifa col.2021.08.203

References

35

50. Bocewicz, G., Muszy´nski, W., Banaszak, Z.: Models of multimodal networks and transport processes. Bull. Pol. Acad. Sci. Tech. Sci. 63, 635–650 (2015). https://doi.org/10.1515/bpasts2015-0075 51. Bocewicz, G., Nielsen, I., Banaszak, Z., Majdzik, P.: A cyclic scheduling approach to maintaining production flow robustness. Adv. Mech. Eng. 10 (2018). https://doi.org/10.1177/168 7814017746245 52. Horn, M.E.T.: Multi-modal and demand-responsive passenger transport systems: a modelling framework with embedded control systems. Transp. Res. Part A Policy Pract. 36, 167–188 (2002). https://doi.org/10.1016/S0965-8564(00)00043-4 53. Bielli, M., Boulmakoul, A., Mouncif, H.: Object modeling and path computation for multimodal travel systems. Eur. J. Oper. Res. 175, 1705–1730 (2006). https://doi.org/10.1016/J.EJOR.2005. 02.036 54. Bocewicz, G., Banaszak, Z., Nielsen, I.: Robustness of multimodal processes itin-eraries. IFAC Proc. Vol. (IFAC-PapersOnline) 46, 2092–2097 (2013). https://doi.org/10.3182/20130619-3RU-3018.00236 55. Bocewicz, G., Muszy´nski, W., Banaszak, Z.: Cyclic scheduling of multimodal processes in mesh-like environment. In: IEEE International Conference on Emerging Technologies and Factory Automation, ETFA, pp. 1–6 (2013) 56. Bocewicz, G., Banaszak, Z., Nielsen, I.: Multimodal processes prototyping subject to fuzzy operation time constraints. IFAC-PapersOnLine 48, 2103–2108 (2015). https://doi.org/10. 1016/j.ifacol.2015.06.399 57. Bocewicz, G., Nielsen, I., Smutnicki, C., Banaszak, Z.: Towards the leveling of multi-product batch production flows. A multimodal networks perspective. IFAC-PapersOnLine 51, 1434– 1441 (2018). https://doi.org/10.1016/j.ifacol.2018.08.313 58. Bocewicz, G., Banaszak, Z., Nielsen, I.: Multimodal processes prototyping subject to grid-like network and fuzzy operation time constraints. Ann. Oper. Res. 273, 561–585 (2019). https:// doi.org/10.1007/s10479-017-2468-5 59. Majdzik, P., Wójcik, R., Banaszak, Z.: An automatic synthesis of performance models for systems of concurrent cyclic processes. In: Proceedings of the International Conference on Systems Science, pp. 281–292 (2004) 60. Bocewicz, G., Wójcik, R., Banaszak, Z.A.: Reachability of cyclic steady states space: Declarative modeling approach. In: Nguyen, N.T., Hoang, K., J¸edrzejowicz, P. (eds.) Computational Collective Intelligence. Technologies and Applications. ICCCI 2012. Lecture Notes in Computer Science, pp. 233–243(2012) 61. Wójcik, R., Bocewicz, G., Banaszak, Z.: Synthesis of no-wait cyclic schedules for cascade-like ´ atek, J., Borzemski, L., Wilimowska, systems of repetitive processes with fixed periods. In: Swi˛ Z. (eds.) Information Systems Architecture and Technology: Proceedings of 40th Anniversary International Conference on Information Systems Architecture and Technology – ISAT 2019. ISAT 2019, pp. 3–15 (2020) 62. Smutnicki, C., Pempera, J., Bocewicz, G., Banaszak, Z.: Cyclic flow-shop scheduling with no-wait constraints and missing operations. Eur. J. Oper. Res. 302 (2022). https://doi.org/10. 1016/j.ejor.2021.12.049 63. Bocewicz, G., Banaszak, Z.: Abductive reasoning driven approach to project - like production flow prototyping. Found. Manag. 1, 43–62 (2009). https://doi.org/10.2478/v10238-012-0004-0 64. Bocewicz, G., Pawlewski, P., Banaszak, Z.: Cyclic steady-state approach to modelling of multimodal processes flow levelling. In: Hamrol, A., Ciszak, O., Legutko, S.J.M. (eds.) Advances in Manufacturing. Lecture Notes in Mechanical Engineering, pp. 215–225 (2018) 65. Zhang, J., Liao, F., Arentze, T., Timmermans, H.: A multimodal transport network model for advanced traveler information systems. Proc. Soc. Behav. Sci. 20, 313–322 (2011). https://doi. org/10.1016/J.SBSPRO.2011.08.037 66. Courtat, T.: Walk on city maps - mathematical and physical phenomenology of the city, a geometrical approach (2012) 67. Sun, Y., Lang, M., Wang, D.: Optimization models and solution algorithms for freight routing planning problem in the multi-modal transportation networks: a review of the state-of-the-art. Open Civil Eng. J. 9, 714–723 (2015). https://doi.org/10.2174/1874149501509010714

36

1 Concurrent Cyclic Processes

68. Buhl, J., Gautrais, J., Reeves, N., et al.: Topological patterns in street networks of self-organized urban settlements. Eur. Phys. J. B Condens. Matter Complex Syst. 49(4), 513–522 (2006). https://doi.org/10.1140/EPJB/E2006-00085-1 69. Bocewicz, G., Banaszak, Z., Nielsen, I.: Travel itinerary planning for fractal-like multimodal transportation networks. IFAC-PapersOnLine 49, 1644–1649 (2016). https://doi.org/10.1016/ j.ifacol.2016.07.816 70. Bocewicz, G., Banaszak, Z., Nielsen, I.: Delivery-flow routing and scheduling subject to constraints imposed by vehicle flows in fractal-like networks. Arch. Control Sci. 27 (2017). https://doi.org/10.1515/acsc-2017-0008 71. Bocewicz, G., Banaszak, Z., Nielsen, I.: Reduction of congestion in transport net-works with ´ atek, J., Wilimowska, Z., Borzemski, L.G.A. (eds.) Information a fractal structure. In: Swi˛ Systems Architecture and Technology: Proceedings of 37th In-ternational Conference on Information Systems Architecture and Technology—ISAT 2016—Part III, pp. 189–201 (2017) 72. Mordell, L.J.: Diophantine Equations. Academic Press Inc (1969) 73. Bocewicz, G., Muszy´nski, W., Banaszak, Z.: Cyclic scheduling: diophantine problems perspective. IFAC Proc. Vol. (IFAC-PapersOnline) 43, 338–343 (2010). https://doi.org/10.3182/201 00701-2-pt-4011.00058 74. Bocewicz, G., Nielsen, I., Banaszak, Z.: A diophantine set-driven approach to part sets cycle time scheduling and repetitive flow balancing. In: Szewczyk, R., Zieli´nski, C., Kaliczy´nska, M. (eds.) Automation 2018. Advances in Intelligent Systems and Computing, pp. 233–243 (2018)

Chapter 2

Performance Modeling

2.1 State Space The approach to the problems of scheduling SCCMP processes (i.e., problems of analysis and synthesis) proposed in the previous chapter makes it possible to view a model of an SCCMP in terms of its structure and behavior. The relationship between structure and behavior is evident in the way these problems are formulated. The analysis problem, which involves a search for a cyclic schedule with given parameters (e.g., those defining the number of executions of the individual processes in a cycle) is an example of a problem in which an expected admissible behavior is sought for a given system structure. In turn, the search for the structure of a system (e.g., process routes, resource capacity, synchronization mechanisms), in which the given cyclic behavior is reachable, is related to the structure synthesis problem. The representation of the behavior of an SCCMP is not limited to cyclic schedules. In general, the behavior of a system is understood as the value of the variables describing the system, which changes over time. Very often, behavior is identified with time functions representing the signals at the output (i.e., output variables) of the system, which are the result of a disturbance. An output signal in this case is only a certain manifestation of behavior or, to put it differently, an effect of an action that is admissible in the system in question. Behavior itself should therefore be understood as a set of potential actions that can be taken in this system. In further discussion, the behavior of SCCMP is understood in precisely this way. The behavior of the processes run in an SCCMP is understood as a succession (sequence) of states occurring in time, describing currently executed processes for each level of behavior (i.e., what operations are being currently executed, what resources are being currently used to complete these operations, what are the current rights of access, etc.). A set of this type of states constitutes the behavior of an SCCMP. In all the examples discussed so far, only behaviors represented by a cyclic schedule, as defined by relationships (1.1), (1.2), were considered. A cyclic schedule can be thought of as a special representation of the Cyclic Steady State (CSS). © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 G. Bocewicz, Declarative Models of Concurrent Cyclic Processes, Studies in Systems, Decision and Control 438, https://doi.org/10.1007/978-3-031-40552-5_2

37

38

2 Performance Modeling

An example of such a representation is the schedule in Fig. 2.1a that shows the execution of the processes P11 , P21 , P31 of level P 1 and process P12 of level P 2 for the system in Fig. 1.12. In the case under consideration, it was assumed 1 1 1 that the execution times are 2 u.t., i.e., t1,3 = t2,3 = t3,3 = 2 u.t. for level P 1 process operations executed on non-shared resources and 1 u.t. for other operations: 1 1 1 1 1 1 t1,1 = t1,2 = t2,1 = t2,2 = t3,1 = t3,2 = 1 u.t. In turn, the execution times of oper2 2 2 ations of process P1 are: t1,1 = · · · = t1,6 = 1 u.t. The time delay caused by the reaction of a process to a resource release signal is Δt = 1 u.t. ) ( The initial allocation of level P 1 processes is represented by sequence A1,0 = Δ, Δ, Δ, P11 , P21 , P31 , which means that out of the six resources (level P 0 operations) used by these 0 0 0 0 0 0 , o1,2 , o1,3 , o1,4 , o1,5 , o1,6 the first three are not held by any processes processes: o1,1 (as denoted by the symbol Δ) and the remaining ones are held by processes P11 , P21 , P31 , respectively. allocation of process P12 of level P 2 ( 2 Similarly, the initial ) 2,0 is given by: A = P1 , Δ, Δ, Δ, Δ, Δ —out of all the resources that are in use: 1 1 1 1 1 1 o1,1 , o1,2 , o3,1 , o3,2 , o2,1 , o2,2 the first one is held by P12 . A system state is understood as the current allocation of the processes of levels P 1 and P 2 to the operations (of levels P 0 and P 1 , respectively) used to execute these processes. A state understood in this way contains information about where (i.e., on which resources) each process is running (is being executed) at a given moment. For example, in Fig. 2.1a, states correspond to the columns of the schedule that represent time slots with a length of 1 u.t. In the subsequent units of time, the allocation of the processes is changed, i.e., there is a change in state. States are represented symbolically: S l,r (where: l—denotes the level of multimodal processes, and r —is the number of a state), and graphically: O. A schedule like this illustrates both the execution of operations in time and the successively reachable states of the system. This means that the schedule can be used to recreate a cyclic steady state, as well as the transient period leading to it—Fig. 2.1b. A graphic illustration of the states reachable by the system is shown in Fig. 2.1b. They include the following states: S 0 −S 14 , where each state S r is defined as a pair of states, S 1,r and S 2,r that contain about the allocation of the processes from levels P 1 and ) ( 1,r information 2 r 1,r P : S = S , S . Every state S l,r has an associated allocation of processes Al,r . The allocations that are successively reachable by the system are shown in Table 2.1. As it can easily be seen, allocations A1,0 − A1,5 (and A2,0 − A2,5 , respectively) make up a transient period leading to a cyclic steady state that consists of allocations A1,6 − A1,14 (A2,6 − A2,14 ) repeated cyclically with a period of α 1 = α 2 = 9 u.t. Allocation of processes to resources is the simplest way of representing the state of a system. However, in more complex situations, e.g., ones in which 0 = (the same) processes occur multiple times in dispatching rules (e.g., σ1,2 ( 1 1 1 1 1) P3 , P2 , P3 , P3 , P2 ), such a representation leads to ambiguities in distinguishing between states (for example, in cases where the same allocations are made at different times, e.g., A2,6 = A2,5 ). For this reason, states are also described using other variables, such as semaphores and indexes. In this context, the concept of a state of a system can be explained by analogy to road intersections. An intersection can be viewed as a resource on which

2.1 State Space

39

Fig. 2.1 a) Cyclic schedules for the execution of the processes of levels P 1 and P 2 of the system in Fig. 1.12, and b) the same schedules represented as SCCMP flows

40

2 Performance Modeling

( ) Table 2.1 The sequence of processes allocation derived from the initial allocation A1,0 , A2,0

a limited number (determined by the intersection’s capacity) of vehicles (processes) may be present at any given moment in time. Access to an intersection is limited by the traffic light system, in which the sequence of lights:—red—amber—green— amber—…, models a static (independent of what is happening at the intersection) dispatching rule. The state of such an intersection associated with a certain moment in time is characterized by variables that describe the allocation of vehicles (i.e., what vehicles there are in the intersection) and the current color of the traffic lights. In other words, this state includes both variables describing the current location of processes (on each level P l ) and the current rights of access to resources (lower level operations P l−1 ). Formally, a state of an SCCMP is defined as follows [1, 2]: ) ( S r = S 1,r , . . . , S l,r , . . . , S lp,r ,

(2.1)

where: • S r is the r -th state of an SCCMP. • lp is the number of levels of the multimodal processes executed in the SCCMP. • S l,r is the r -th state of the processes of set P l (a set of the l-th level processes): S l,r = (Al,r , Z l,r , Q l,r ), where:

(2.2)

) ( l,r a1l,r , a2l,r , . . . , akl,r , . . . , alm(l) is an allocation sequence for the | | l-th level processes, in the r -th state, where: lm(l) = | R l | is the number of resources of the|l-th| level of processes, akl,r means that resource corresponding to the lm(l) = | R l |-th element of sequence is held by process Pil . Resource l l ol−1 i, j ∈ R is said to be held by process P i when this process is using at least one unit of this resource (in other words, the operation of process Pil is

– Al,r =

2.1 State Space

41

l,r executed simultaneously with operation ol−1 i, j ). ak = Δ means that resource ol−1 R l is not held by any of the processes from set Pil . i, j ∈ ( ) l,r l,r l,r – Z l,r = z l,r , z , . . . , z , . . . , z 1 2 k lm(l) is a sequence of semaphores of the r -th l state for l-th level processes, z l,r k ∈ P is a semaphore indicating the (next) l process that has the right to access resource oi,l−1 j ∈ R corresponding to the l l k-th element of the sequence Al,r ; i.e., z l,r k = Pi means that process Pi has the l−1 right, in the r -th state, to access resource oi, j (as the next process) when the resource( has been released (by the current ) process). l,r – Φl,r = ϕ1l,r , ϕ2l,r , . . . , ϕkl,r , . . . , ϕlm(l) is a sequence of semaphore indexes

of the r -th state for processes of the l-th level, ϕkl,r is an index determining the l,r l−1 position of the value of semaphore z l,r k in the dispatching rule σk , ϕk ∈ N. 2,r 2,r 2 For example, ϕk = 2 means that value P1 of semaphore ϕk is the second element of the dispatching rule assigned to resource rk . Definition (2.1) assumes that state S r is treated as a composition of states S , S 2,r , …, S lp,r of the successive levels of multimodal processes. Each state S l,r corresponding to the l-th level of multimodal processes consists of three elements: process allocation, semaphores, and semaphore indexes. Sequences of semaphores and indexes are a new concept that has not been discussed so far within the classic approach [3–6]. While allocations define the current location of processes on resources (which use lower level operations), semaphores and indexes determine the current right of access to shared resources (in compliance with the given dispatching rules). Semaphore values determine which processes are allowed to access resources at any given moment in time (provided the resources remain unoccupied). Indexes, in turn, determine the position of the process indicated by a semaphore in the dispatching rule (indexes were introduced because the same processes may occur multiple times in a rule). Returning to the example of traffic, the state of an intersection at a certain moment in time can be described by two quantities: vehicle allocation (the positions of vehicles at the intersection) and the current color of the traffic lights (semaphore value). A vehicle can enter the intersection (i.e., hold the resource) provided that the intersection is free and the vehicle has the right to enter it (green semaphore). To illustrate this, Fig. 2.2 shows two successive states reached by the system of Fig. 1.12b. They are states S 12 and S 13 , occurring in the cyclic state in Fig. 2.1. Using the terminology introduced above, these states can be represented in the form of a triple of values: allocation Al,r , semaphore Z l,r , and semaphore indexes Φl,r . The system under consideration consists of three levels of multimodal processes: 0 0 − o1,6 used by level P 1 processes: P11 , P21 , P31 . Level P 0 contains operations o1,1 1 1 1 1 1 1 In turn, level P 1 contains operations o1,1 , o1,2 , o3,1 , o3,2 , o2,1 , o2,2 used by a process 2 2 state of the system consists of the first and of level P : P1 . In a case (like this, each ) second-level states: S r = S 1,r , S 2,r . Both states of level P 1 and states of level P 2 have a six-element allocation sequence. The elements of these sequences determine the occupancy of operations: 1,r

42

2 Performance Modeling

Fig. 2.2 States S 12 , S 13 of the system in Fig. 1.12b 0 0 • o1,1 − o1,6 by processes: P11 , P21 , P31 of level P 1 . 1 1 1 1 1 1 • o1,1 , o1,2 , o3,1 , o3,2 , o2,1 , o2,2 by process P12 of level P 1 . ( ) For example, sequence A1,12 = Δ, P31 , Δ, P11 , P21 , Δ means that in state S 12 0 0 process P31 uses operation (resource) o1,2 , process P11 uses operation o1,4 , while ) ( 1 0 2 2,12 = Δ, Δ, Δ, Δ, Δ, P1 means that process P5 uses operation o1,5 . Sequence A 1 in state S 12 process P12 occupies operation o2,2 (as shown in Fig. 2.2). It is worth noting that the allocation does not specify whether a process is performing an operation or is waiting for access to the next resource (like process P12 in state S 12 ). Similar to the elements of the allocation sequence, semaphore, and index six ) elements each. For example, sequence Z 1,12 = sequences ( 1 1 1contain 1 1 P1 , P2 , P1 , P1 , P2 , P31 means that the following processes will have priority of 0 0 − o1,6 in the successive states: P11 , P21 , P11 , P11 , P21 , P31 . access to the operation o1,1 1,11 Index sequence values: Φ = (2, 2, 2, 1, 1, 1) determine the position of the

2.1 State Space

43

semaphore in the dispatching rules (for operations that are not shared, the default 1 1,12 is the value is 1). For example, the first element ( 1 1 )(process P1 ) of semaphore Z 0 second element of the rule: σ1,1 = P2 , P1 . Both the sequence of semaphores and their indexes change their values after the system transitions from state S 12 to state S 13 : S 12 → S 13 i.e., 0 1 • Process P11 . will release o1,4 and start to execute operation o1,1 using operation 0 o1,1 . 0 1 • Process P31 will release o1,2 and start to execute operation o3,3 using operation 0 o1,6 . 1 2 • Process P12 will release o2,2 and start to execute operation o1,1 using operation 1 o1,1 .

Iis worth noting that not every potentially possible state is an admissible state in a system with a given structure. One example is a state in which a process executes two operations simultaneously—process P11 (see Fig. 2.19) simultaneously executes 1 1 and o1,2 . operations o1,1 For the purposes of further discussion, it is assumed that state S r (2.1) is an admissible state if and only if: • Each process Pil holds only one operation of set R l . • Each process Pil can only occupy the operations occurring in its route pil . l • The number of processes holding operation ol−1 i, j ∈ R cannot exceed the capacity ) ( of the resource C ol−1 i, j . • The elements of a semaphore sequence indicate the processes occurring in the dispatching rule of a given resource. • Semaphore index sequence values are the numbers assigned to the processes in a dispatching rule. The set of the admissible states of the given SCCMP is marked with the symbol S. This set is divided into subsets of states occurring in the system’s cyclic steady states and transient periods. These states make up the state space P. When given a graph-theoretic interpretation, the state space P is represented by a digraph of the form: P = (S, E). Figure 2.1b shows a part (encompassing one cyclic state and one transient period) of the state space P of the system in Fig. 1.12b. Admissible states are represented as vertices of the digraph (set S), while the arcs represent possible transitions between the successive states (set E). The way in which the states are interconnected is described by the so-called transition relation. This relation determines the set of arcs E connecting the states of set S (E ⊆ S × S). The assumptions adopted above (e.g., the adopted method of synchronization using dispatching rules) render transitions between states deterministic, i.e., for a given state S e ∈ S, there is at most one state S f ∈ S that the system can transition to. In other words, state Se can have only one “child”, but it can have many “parents” (e.g., such a state is shown in Fig. 2.1b). In such a situation,

44

2 Performance Modeling

it is said that state Sf is reachable directly from state Se , which is expressed as: Se → S f . The determinism of the transitions between admissible states of the SCCMPf e makes it possible to describe them with the transition function ( e f S) = δ(S ), e f where S , S ∈ S. Function δ is mapped by a set of pairs S , S satisfying ( e f )a Ʌ S ,S : given{(set of transition conditions (predicates), hereinafter denoted as ) )} ) ( ( δ = S e , S f |S e , S f ∈ S, S e /= S f , Ʌ S e , S f . Set Ʌ S e , S f defines the conditions (rules) that must be met for the system to transition from state S e to S f : S e → S f . For example, one such condition is the rule that says that a(process) can start an operation if the resource required for its execution is free. Set Ʌ S e , S f can be defined in many ways e.g., [3, 4] and it can include various rules for the execution of the processes of the SCCMP. However, regardless of the conditions adopted for transitions between states of the SCCMP, function δ is not an injective (one-to-one) or a surjective (onto) function. This means that in set S there may exist states S f that are unreachable from any other states as well as states S e from which no other state is reachable. Assuming further that argument S e of function: S f = δ(S e ) is called an ancestor (parent) of state S f and the value S f of the function is called a descendant (child) S e , one can distinguish, in space P, special types of admissible states [7]: • The initial state—an admissible state S r ∈ S B ⊆ S for which the set of ancestors is empty. Such states do not have incoming arcs; S B ⊆ S is a set of initial states. • A deadlock state—an admissible state S r ∈ S D ⊆ S for which the set of descendants is empty. Such states have no outgoing arcs; S D is a set of deadlock states. These states make up the various behaviors represented by SCCMP flows.) ( Formally, the flow of an SCCMP is a sequence D = S d1 , . . . , S di , S di+1 , . . . , S dld of various admissible states: S di ,(S di+1) ∈ S, in which each successive pair of states satisfies the expression: S di+1 = δ S di , i = 1 . . . (ld − 1). There are two basic types of SCCMP flows: d1 • Cyclic steady states D ) which the first state S is reachable from the last ( Cd—in dld d1 state S , i.e., S = δ S ld —see Fig. 2.1b. d1 • Transient periods DT —in which the first state the ) initial state S ∈ S B, and ( is dld ∈ S D or to any state of the the last one is a state( leading to a deadlock δ S ) cyclic steady state: δ S dld ∈ V (DC ), where: V (DC ) is a set of states of the cyclic steady state.

Elements of sequences DC and DT , are called component states. Thus, initial states start transient periods, and deadlock states end them (provided, of course, that the system does not reach a cyclic steady state). Deadlock states are characterized by the fact that they do not have outgoing arcs, i.e., they are states that do not have descendants. A deadlock state is considered to be a state without descendants because the processes are blocked, which prevents the system from reaching a new state (descendant). An example of such a situation is illustrated by the schedule shown in Fig. 1.12a.

2.1 State Space

45

Fig. 2.3 State-space P representing an SCCMP behavior

To recapitulate, each state in set S is an element of one of the following manifestations of system behavior: a transient period, a cyclic steady state, or a deadlock state. Of course, different transient periods can lead to one cyclic steady state or a common deadlock state. Such states can be combined to create the so-called behavior digraphs. There are two types of behavior digraphs: • A whirlpool W (DC )—a digraph containing all transient periods DT leading to a cyclic steady state DC (see Fig. 2.3). • A tree T r (S ∗ )—a digraph containing all transient periods DT leading to a common state of deadlock S ∗ ∈ S (see Fig. 2.3). Space P = (S, E) is thus a composition of various types of behavior digraphs (whirlpools and trees) that encompass all the states (instances of behavior) reachable in the system. For example, the state shown in Fig. 2.3 contains one whirlpool W (DC ) and five trees T r (S ∗ ). Adoption of any state that is part of the whirlpool W (DC ) as the initial state leads to a cyclic steady state DC . Any other state (that is part of the trees T r (S ∗ )) leads to a deadlock state. In such a system, only one cyclic behavior is possible. The fact that space P contains only whirlpool or tree digraphs means that in practice the behavior of an SCCMP may look like this: • If processes are initiated from a state belonging to the cyclic steady state DC then the system immediately reaches cyclic behavior. • If the processes are initiated from outside the cyclic steady state DC this leads to cyclic behavior or a deadlock. In other words, this means that transient periods lead either to cyclic processes or to deadlocks.

46

2 Performance Modeling

Fig. 2.4 State spaces P 1 , P 2 for SCCMP in Fig. 2.12b

The space W ⊑ P contains{ the whirlpools to cyclic steady states ) relating } ( consisting of the set DC = DC,i |W DC,i ⊑ W , where ⊑ means a relation connecting cyclic steady states with cyclic sub-digraphs (whirlpools) containing them (i.e., A⊑B means A is subgraph of B) and DC,i is the i-th cyclic steady state reachable in the SCCMP. In other words, a set DC contains all cyclic steady states representing cyclic behaviors reachable in SCCMP. The definition of SCCMP adopted in this monograph makes it possible to consider the structure of system SC (2.5) at different levels. It should be noted that the proposed definition of state S r (2.1) also “provides for” this type of multi-level behavior. This means that the state space can also be formulated for each level separately: P 1 , . . . , P l , . . . , P lp where P 1 stands for the state space for the l-th level. Examples of spaces P 1 , P 2 , which describe the behavior of processes of levels P 1 and P 2 of the system shown in Fig. 1.12b, are presented in Fig. 2.4. P l =) ) general case, the state space of the ll-th level is definedr as a(digraph: ( l In the l 1,r S , E in which the set of admissible states S consists of states S = S , . . . , S l,r (in accordance with (2.1)), and the set of arcs El ⊆ Sl ×Sl is determined by a transition function δl (described by the given set of predicates Ʌl ). It should be remembered that the states of set Sl contain information about the processes of level l and all the processes from lower levels (1 . . . l − 1). In other words, the states of the set Sl are determined by lower level states. The multi-level definition of a state space P makes it possible to analyze system behavior at any level P l . In this approach, the SCCMP behavior analysis problem formulated in the previous chapter is related to the reachability of cyclic steady states in state space P. More specifically, the questions connected with this problem may include the following:

2.1 State Space

47

• Are cyclic steady states (e.g., whirlpool-type behaviors) reachable in a system with a given structure SC ? • What kind of behavior initiated in state S r is reachable in a system with structure SC? • What state S r guarantees that the requested cyclic steady state will be reached? Similar questions can also be asked with regard to the problem of synthesis of structure SC that determines a given (expected) behavior: • Do the adopted dispatching rules guarantee the existence of a space P containing cyclic steady states (whirlpool-type behaviors)? • Does there exist a form of the dispatching rules for which the system will reach a cyclic steady state regardless of the state from which it is initiated? • Which forms of the dispatching rules guarantee the existence of a space P containing cyclic steady states (whirlpool-type behaviors)? • Which structure parameter values guarantee the existence of a space P containing cyclic steady states (whirlpool-type behaviors)? It should be noted that one of the most important features of SCCMP behavior is the invariability of a cyclic steady state once reached. This means that once a system starts displaying whirlpool-type behavior, it will continue to do so. The way out of this situation is to stop the processes and start them again, from a different initial state outside the range of the whirlpool. This type of isolation of behaviors raises the following questions: • What parameters of the structure SC should be changed to change the current cyclic steady state to another one? • In what state S r of the cyclic state do the parameters of the structure SC need to be altered to change the cyclic steady state to another one? • Is it possible to change the cyclic steady state without having to reach a transient period? • Is the requested/desired state reachable from the given cyclic steady states? The above questions are related to a separate class of problems known as problems of mutual reachability of SCCMP behaviors (cyclic steady states) [8, 9]. In solving those problems, one needs to assess the possibility of changing the system’s current behavior to one of the other potentially available cyclic behaviors. This problem is the subject of Chap. 3. To be able to answer the above questions, it is necessary to know the state space P. When the state space is known, one can determine the number and type of reachable system behaviors and the initial state from which a given cyclic state can be reached, as well as assess the execution of processes at any level P l , etc. Currently, however, determination of the state space P for large-scale systems encountered in everyday practice is beyond the possibilities of existing computational methods [4, 10–13]. Figure 2.5 shows function curves of the time of determining the state space P for systems with different numbers of operations (i.e., operations that make up multimodal processes): L O P = 5 . . . 45 and different structure densities (defined as the

48

2 Performance Modeling

Fig. 2.5 State-space determination times for structures with different densities g

ratio of the number of processes to the number of operations): g = 0.33; 0.5; 0.66. The graphs representing exponential functions were determined experimentally using a constraint programming environment (IBM ILOG). As it is easy to see, a solving time not exceeding 60 min is achievable in structures where the number of operations is not larger than 35. The study also showed that the calculated state spaces contained a small number of cyclic behaviors. On average, 95% of the admissible states were transient periods, of which only 5% led to cyclic states. A small number of cyclic states is a characteristic feature of SCCMP. It is also a manifestation of the Diophantine nature of the cyclic scheduling problems under discussion. In this light, the assumption that the assessment of system behavior should focus exclusively on cyclic steady states suggests the need for some simplification. In omitting all transient periods in system behavior evaluation, one ignores more than 95% of the potential instances of this behavior. While states leading to a deadlock may indeed be unimportant, knowledge of the transient periods leading to a cyclic steady state may have practical significance. For example, awareness of the existence of transient periods is especially important when the operation of the system needs to be changed. It is rare for systems to transition from one cyclic steady state to another (e.g., as a result of a change in production plans) directly without a transition period. Similarly, any randomly occurring change (related to a disturbance, failure, accident, a change of structure parameters, etc.) that “knocks” the system out of its cyclic steady state requires the activation of appropriate synchronization (e.g., control) mechanisms allowing the system to return to this state again. Alternative methods in which only cyclic steady states are determined show much greater time efficiency. The next section presents a method of determining cyclic steady states based on the graph model concept.

2.2 Declarative Modeling Framework

49

2.2 Declarative Modeling Framework Algorithms for solving cyclic steady-state determination problems work by determining whirlpools in space P. This is usually done by multiple removals of initial states from space P [4, 10, 14]. However, due to the size of the state space, this is a computationally costly process. One of the alternative methods is to determine cyclic steady states by determining the start times of the operations of the processes executed in a given SCCMP (i.e., the moments of time that make up the cyclic schedule X). In other words, instead of determining the cyclic steady state DC (described by the states successively reachable in the system), the search in this method is focused on finding an operations execution schedule (a sequence of operation start times) that meets the conditions of cyclic processes execution. For illustration, Fig. 2.6 shows an example of a transport subsystem of a production system. In the considered case, four AGVs (labeled: P11 , P21 , P31 , P41 ) move along cyclic trajectories. The trucks are used to transport parts in accordance with the given production flow. In this system, two products are manufactured serially in a pipeline mode; their production routes are marked with P12 (red line) and P22 (blue line). In this system, it is assumed that the width of the sectors along which parts are transported is so small that they can accommodate only one AGV at a time. This means that when one AGV occupies a given sector, another is waiting for it to become unoccupied. In such a system, what is sought is a production schedule determined by the cyclic (i.e., deadlock-free) transport of product parts. In other words, what is sought is a cyclic steady state and the associated cyclic schedule of the operations of the processes executed in the system. The system presented above can be modeled as an SCCMP with a structure SC containing three levels of multimodal processes: P 0 , P 1 , P 2 : • Level P 0 consists of process P10 , whose operations represent zones (fragments) of the system marked in Fig. 2.23 with numbers 1–10. The zones contain transport sectors and loading/unloading stations. For instance, a loading station and the zone 0 . The remaining 1 transport sector assigned to it are represented by operation o1,1 zones of the system are modeled in a similar way: ) ( 0 0 . O10 = o1,1 , . . . , o1,11 } { • Level P 1 consists of four processes representing AGV: P 1 = P11 , P21 , P31 , P41 . The operations (transport/loading/unloading) run by these processes are described by the sequences: ) 1 ( 1 ) ( 1 1 1 1 1 1 1 , O2 = o2,1 , o2,2 , O11 = o1,1 , o1,2 , o1,3 , o1,4 , o2,3 , o2,4 ) 1 ( 1 ) ( 1 1 1 1 1 1 O3 = o3,1 , o3,2 , o3,3 , O4 = o4,1 , o4,2 , o4,3 .

50

2 Performance Modeling

Fig. 2.6 An example of a production system’s transport subsystem

The processes have corresponding closed routes composed of level P 0 operations: ( 0 ) 1 ( 0 ) 0 0 0 0 0 0 p11 = o1,1 , o1,2 , o1,3 , o1,4 , o1,5 , o1,6 , p2 = o1,7 , o1,8 , ) 1 ( 0 ) ( 0 1 0 0 0 0 p3 = o1,9 , o1,7 , o1,2 , p4 = o1,10 , o1,2 , o1,3 . 0 0 0 0 Processes share four operations (resources): o1,2 , o1,3 , o1,7 , o1,6 , for which the following dispatching rules have been adopted:

) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 = P11 , P31 , σ1,3 = P11 , P41 , σ1,7 = P21 , P31 , σ1,6 = P41 , P21 . • Level P 2 consists of two processes }representing the production flow of the manu{ factured products: P 2 = P12 , P22 . The operations run by these processes are described by the following sequences:

2.2 Declarative Modeling Framework

51

) ( 2 2 2 2 2 2 2 2 , O12 = o1,1 , o1,2 , o1,3 , o1,4 , o1,5 , o1,6 , o1,7 , o1,8 ) ( 2 2 2 2 2 2 O2 = o2,1 , o2,2 , o2,3 , o2,4 , o2,5 . These processes have corresponding closed routes composed of level P 1 operations: ) ( 1 1 1 1 1 1 1 1 , p11 = o1,1 , o1,2 , o1,3 , o4,2 , o4,3 , o2,4 , o2,1 , o2,1 ) ( 1 1 1 1 1 1 p2 = o4,1 , o4,2 , o4,3 , o2,4 , o2,1 . 1 1 1 1 Processes share four operations (resources):o4,2 , o4,3 , o2,4 , o2,1 , for which the following dispatching rules have been adopted:

) 1 ) 1 ) 1 ) ( ( ( ( 1 σ4,2 = P12 , P22 , σ4,3 = P12 , P22 , σ2,4 = P12 , P22 , σ2,1 = P12 , P22 . A graphic illustration of the structure SC of the system under consideration is shown in Fig. 2.7. In the example discussed here, the following assumptions are additionally made:

Fig. 2.7 Structure SC for the SCCMP in Fig. 2.6

52

2 Performance Modeling

• Operation execution times larger than one unit Table 2.2. ( (>1 ) u.t.) are ( allowed—see ) 0 1 • Resource capacities are equal to one: C oi, j = C oi, j = 1. This means that the resources used (transport sectors, AGV trucks) can only be held by one multimodal process at a given time. • Both level P 1 processes and level P 2 processes are synchronized using a mutual exclusion protocol. Access to shared resources is granted in accordance with the 0 0 0 0 1 1 1 1 , σ1,3 , σ1,7 , σ1,6 and σ4,2 , σ4,3 , σ2,4 , σ2,1 . given dispatching rules: σ1,1 • Process downtime on resources is allowed only in situations when the requested resource is occupied. • Level P 0 operations (used as resources by operations of level P 1 processes) are accessible over the entire time horizon. For a system given in this way, the answer to the following question is sought: Are cyclic steady states reachable in the state space P of the system with the structure SC shown in Fig. 2.7? The answer to this question can be obtained in a state space model based on the concept of the operation digraph. This approach uses a property [2, 14] according to which if a cyclic steady state DC is reachable in a system, then the whirlpool W (DC ) associated with DC can be represented by a cyclic schedule X(DC ) (defined analogously to (2.6)). The methods used so far [2] come down to designing schedules X(DC ) by combining schedules determined separately for each level of multimodal processes. The multi-stage procedure of “assembling” a cyclic schedule X(DC ), however, is a “greedy” one, and as such makes it impossible to take into account the relationships between operations from different levels P l . For example, in the same way as the operation of delivering products to a given workstation is dependent on the availability of this workstation (i.e., level P 1 operations are dependent on level P 0 operations), also the availability of the workstation can be adjusted to the given delivery deadline (i.e., level P 0 operations are dependent on level P 1 operations). A digraph of operations allows taking Table 2.2 Operation execution times [u.t.] for the SCCMP in Fig. 2.7

2.2 Declarative Modeling Framework

53

such relationships into account. An example of an operations digraph is shown in Fig. 2.8. An operations digraph shows all the relationships between the operations of the multimodal processes executed in an SCCMP. For example, the digraph of Fig. 2.8 shows relationships between the operations of each level (i.e., which determine the order in which the operations are performed), as well as relationships between the levels P 1 and P 2 (i.e., which determines the availability of the resources used). Formally, an operations digraph G P is defined as a pair:

Fig. 2.8 Operations digraph for the SCCMP in Fig. 2.7

54

2 Performance Modeling

G P = (O P, E P),

(2.3)

where: • {O P is the set of all operations of SCCMP processes: O P = } oli, j |l = 1 . . . lp; i = 1 . . . lp(l); j = 1 . . . lr (l, i ) . • E P is the set of arcs representing relationships between the operations of set O P: E P ⊆ O P × O P. There are three types of arcs of set E P representing: • Resource utilization relationships. In accordance with assumption (2.8), operl ations oli, j and ol−1 m,n (which is a resource required by operation oi, j ) should be executed simultaneously. A relationship like this is described by the following constraints (taking the form of inequalities): l−1 xi,l j ≥ xm,n + k × αl−1 ,

(2.4)

l−1 l−1 xi,l j + ti,l j ≤ xm,n + tm,n + k × αl−1 ,

(2.5)

l−1 where: k ∈ N is any natural number; xi,l j , xm,n denote the start times of operations l l l−1 l−1 oi, j and om,n , respectively; and ti, j , tm,n are their execution times. Constraints (2.4) and (2.5) can be said to have been met if operation oli, j begins l−1 after the start of operation ol−1 m,n and ends before the completion of operation om,n . Most commonly (just as in the case of the system in Fig. 2.7), execution times l l−1 of operations oli, j and ol−1 m,n are same: ti, j = tm,n . For instance, the execution time of the operation of transporting a given product to a workstation is equal to the travel time of the AGV transporting the product. ( ) In digraph G P, this relationship is represented by oli, j , ol−1 m,n ∈ E D ⊆ E P marked with a dashed line: (where E D is a set of arcs representing resource utilization relationships). Figure 2.9 shows a fragment of Fig. 2.8 illustrating the relationship in question. 2 2 , o1,2 represent the successive production operations for product Operations o1,1 2 P1 (Figs. 2.6 and 2.7). Their execution is conditioned by the delivery of the product (transport/loading/unloading) first to the workstations of zone 1 and then 1 1 , o1,2 ). This means that these operations should be executed zone 2 (resources o1,1 2 1 simultaneously, i.e., operation o1,1 should be executed alongside operation o1,1 , 1 1 and operation o1,2 alongside operation o1,2 . Thus, set E D contains two arcs: ( 2 ) ( 2 ) 1 1 o1,1 , o1,1 and o1,2 , o1,2 , as illustrated in Fig. 2.9. As can be seen, each arc has a corresponding pair of constraints (2.4), (2.5). An analogous relationship connects the operations of level P 1 with the 1 0 requires access to operation o1,1 ). resources of level P 0 (e.g., operation o1,1 0 However, since it has been assumed that the resources of level P are available at any time (i.e., E X = R+ ), relationships of this type are omitted.

2.2 Declarative Modeling Framework

55

Fig. 2.9 An example of a resource utilization relationship

• Precedence relationships. Operations of each process (at each level P l ) should be executed in the order specified by the operations sequence O l . In the case of processes with closed routes (such as the routes of processes P11 , P21 , P31 , P41 ), operations should be performed cyclically (with a period αl ). A relationship that describes the order in which two consecutive operations oli, j , oli,m of process Pil are executed as described by the following constraints: l l xi,m ≥ xi,l j + ti,l j − ψi,l j , when pi,m ∈ C Rl ,

(2.6)

EX

l xi,m

~~~~ l l ∈ / C Rl , = xi, j + ti,l j − ψi,l j , when pi,m

(2.7)

where: l – xi,l j , xi,m are the start times of operations oli, j , oli,m. l – ti,l j , ti,m are the execution times of operations oli, j , oli,m . l – pi,m is a resource (operation of a process of level l − 1) used by operation oli,m . } { – ψi,l j ∈ 0, αl is a value that ensures cyclic execution of operations of process Pil (ψi,l j = αl for the last operation of route pil ). – C R l ⊆ R l is a subset of shared resources of set R l . EX EX ~~~~ ~~~~ – = is an operator of the relationship x = y, defined in the following way: x = min{a|a ∈ E X, a ≥ y}. For instance, for X = {5, 6, . . . , 10}, EX

EX

~~~~ ~~~~ expression x = 6 means x = 6, while expression x = 4 means x = 5. l – E X is an availability interval of resource pi,m used by operation oli,m . Satisfaction of constraint (2.6) or (2.7) means that operation oli,m will start after operation oli, j has been completed. When operation oli,m uses a shared l resource ( pi,m ∈ C R l ), the possibility is allowed that the operation will wait

56

2 Performance Modeling

for this resource to be released by another process—hence expression (2.6) is an inequality. EX

~~~~ The adoption of the operator = in Eq. (2.7) (and in further expressions also the operator max) follows from the fact that the downtime (waiting) of the processes is caused solely by the lack of access to the requested resource [2, 14]. It is assumed that a process will occupy the requested resource as soon as possible (within the minimum resource availability time E X ). If the requested resource is EX

~~~~ available in the entire time horizon, i.e., E X = R+ , operator “ = ” is equivalent to the classic “ = ” operator. ( ) In digraph G P, this relationship is represented by an arc oli, j , oli,m ∈ E K ⊆ E P marked with an arrow: ( → (where ) E K is a set of arcs representing precedence l l relationships). Every arc oi, j , oi,m ∈ E K has two values assigned to it: ti,l j and ψi,i j where ti,l j is the execution time of operation oli, j , whereas ψi,i j specifies whether operation oli, j is executed in the preceding k − 1 cycle (then, ψi,i j = αl ). Figure 2.10 shows a part of Fig. 2.8 and illustrates the relationship in question for an operation of process P11 . Operations are performed cyclically in the 1 1 1 1 1 1 , o1,2 , o1,3 , o1,4 , o1,1 , o1,2 ,…. following order: …, o1,1 ( 1 ) ( 1 ) 1 1 As can be seen, inequality (2.6) corresponds to arcs: o1,1 , o1,2 and o1,2 , o1,3 , ( 1 ) ( 1 ) 1 1 while Eq. (2.7) corresponds to arcs o1,3 , o1,4 and o1,4 , o1,1 . Since the resources 1 1 used by o1,1 , o1,4 are available in the entire time horizon, equations related to them ( 1 ) 1 , o1,1 represents a “transition” to the next use the classic operator “ = ”. Arc o1,4 i l cycle, as implied by ψi, j = α . Satisfaction of constraints (2.6), (2.7) for all operations of process Pil makes it possible to determine operation start times that guarantee that the operations will be executed cyclically (with a period of αl ). For open routes (such as the routes of processes P12 , P22 ), it is assumed that operations should be performed serially in a pipeline mode, i.e., once released, a

Fig. 2.10 An example of precedence relationships for a process with a closed route P11

2.2 Declarative Modeling Framework

57

resource is immediately occupied (if it is the only resource available) for the next stream of the process. A stream is hereinafter understood as a single process that, along with other similar processes, is streamed in pipeline mode. In a case like this, the relationship describing the order in which two consecutive operations oli, j , oli,m of process Pil are executed is given by: ( ( ) ) l l xi,m ≥ max xi,l j + ti,l j ; N AS oli,m − αl + Δt , when pi,m ∈ C Rl ,

(2.8)

EX

) ( ) ( l ~~~~ l xi,m ∈ / C Rl , = max xi,l j + ti,l j ; N AS oli,m − αl + Δt , when pi,m

(2.9)

where: l • xi,l j , xi,m are the start times of operations oli, j , oli,m . l l • ti, j , ti,m are the execution times of operations oli, j , oli,m . • Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . • C R l+1 ⊆ R l+1 is a subset of shared resources of set R l+1 . l • pi,m is a resource (operation of a level l − 1 process) used by operation oli,m . ) ( • N AS oli,m is a function that returns the start time of the operation in sequence ) ( Oil which is executed directly after operation oli,m For example, N AS oli,m = ( ) l when Oil = . . . , oli,m , oli,u , . . . . If oli,m is the last operation of process Pil , xi,u ( l ) then N AS oi,m = 0. l • E X is an availability interval of resource pi,m used by operation oli,m . l Constraint (2.8) (and constraint (2.9) when resource pi,m is shared) ensure that l l operation oi,m will start after operation oi, j has been completed (at the moment: l xi,l j + ti,l j ) and after resource pi,m has been released by the preceding stream of ) ( l process Pi (moment in time: N AS oli,m − αl + Δt). As before, this relationship ( ) is represented by an arc oli, j , oli,m ∈ E K ⊆ E P to which value ti,l j is assigned. Figure 2.11 shows a fragment of Fig. 2.8 and illustrates the relationship in question for an operation of process P22 . The operations of each stream (i.e., a 2 , process stream carried out serially in pipeline mode) are executed in the order: o2,1 2 2 2 2 o2,2 , o2,3 , o2,4 , o2,5 and are not repeated again. Since the process is executed serially in a pipeline mode, the start time of each operation oli, j depends on the completion of its predecessor and the completion of an operation oli, j of the preceding stream. 2 2 can start after the completion of operation o2,3 and For example, operation o2,4 2 2 2 the completion of operation o2,4 of the preceding stream (x2,5 − α ). To make graph G P in Fig. 2.8 clearer, the successive streams of the given process Pil have been omitted. It is worth noting that the literature [15–20] offers extensive discussions of cases in which the constraints used to have the form of an inequality (replacing

58

2 Performance Modeling

Fig. 2.11 An example of precedence relationships for a process with an open-route P22 (executed serially in a pipeline mode)

the max operator). Such cases admit of an arbitrarily long waiting time for a process on the resource it currently occupies. • Operation exclusion relationships. Operations that share a resource should be synchronized to ensure that they are mutually exclusive. The dispatching rules used for this purpose will determine the order of access of the operations to the shared resource. According to the definition presented in Chap. 1, a dispatching ) ( l−1 l−1 l−1 , . . . , s rule is a sequence of processes: σi, j = si, j,1 , . . . , si,l−1 j,d i, j,lh(i, j,l) l−1 l (where: si,l−1 j,d ∈ P ) using a shared resource oi, j . In other words, every dispatching rule determines the mutual order of execution( of operations repre) 0 = P11 , P31 means that senting different processes. For example, rule σ1,2 1 1 0 and o3,3 (which share resource o1,2 ) should be mutually excluoperations o1,2 1 1 1 1 , o3,3 , o1,2 , o3,3 , …. sive and should be executed in the following order …, o1,2 1 0 In practice, this means that operation o3,3 can occupy resource o1,2 when that 1 , i.e., when the next operation of process resource is released by operation o1,2 1 1 1 0 P1 : o1,3 starts. Similarly, operation o1,2 can occupy resource o1,2 when it is 1 1 released by operation o3,3 , i.e., when the next operation of process P31 : o3,4 0 starts. Although generally rule σ1,2 does not determine the first operation, it

2.2 Declarative Modeling Framework

59

is assumed, for simplicity’s sake, that the first operation is the operation of the process indicated by the first element of the rule: si,l−1 j,1 . In the example 1 shown, this means that operation o1,2 is the first to receive the right of access 0 . to resource o1,2 l−1 If processes Pil , Pml are the successive elements of the rule: σa,b = ) ( l l . . . , Pi , Pm , . . . , then the relationship specifying the order in which operations oli, j , olm,n (executed on a shared resource) are completed is described by the following constraint: EX

) ( ) ( ) ) ( ( ~~~~ l l xm,n + Δt , = max P O P olm,n + P O T olm,n ; N A P oli, j − χm,n (2.10) where: l – xi,l j , xm,n are the start times of operations oli, j , olm,n . l l – ti, j , tm,n are the execution times of operations oli, j , olm,n . } { l – χm,n ∈ 0, αl is a value specifying whether operation olm,n is the first one (in each cycle) to receive the right of access to the shared resource l−1 l = αl when Pml is the first element of rule σa,b ). (χm,n – Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . – E X is an interval of availability of the resource used by operation olm,n . ) ( – P O P olm,n is the function that returns the start time of the operation that ) ( l occurs in sequence Oil before operation olm,n : P O P olm,n = xi,u when ( ) l l l l Om = . . . , oi,u , om,n , . . . . If om,n is the first operation of process Pml then ) ( l l P O P olm,n = xm,lr (l,m) − α . ( l ) – P O T om,n is the function that returns the start time of the operation that ( ) l occurs in sequence Oil before operation olm,n : P O T olm,n = ti,u when ( ) l l l Om = . . . , oi,u , om,n , . . . . ( ) – N A P oli, j is the function that returns the start time of the operation

that occurs in sequence Oil directly after operation oli, j . For example, ( ) ( ) l N A P oli, j = xi,u when Oil = . . . , oli, j , oli,u , . . . . If oli, j is the last ( ) l operation of process Pil , then N A P oli, j = xi,1 + αl . Constraint (2.10) ensures that operation olm,n will start after the completion of the ) ( ) ( preceding operation (time:P O P olm,n + P O T olm,n ) and after the release of the ( ) l resource shared by the process Pil (N A P oli, j − χm,n + Δt). This relationship ( ) is represented by an arc oli, j , olm,n ∈ E W ⊆ E P, marked with the arrow: (where relationships). Each arc ( ) E W is a set of arcs representing exclusion { } l oli, j , olm,n ∈ E W has an assigned value χm,n ∈ 0, αl .

60

2 Performance Modeling

Fig. 2.12 An example of an operation exclusion relationship for processes P11 , P21 sharing a 0 resource o1,2

Figure 2.12 shows a fragment of Fig. 2.8 and illustrates the exclusion rela0 . The following rule of access of the tionship for operations sharing resource o1,2 ) ( 0 = P11 , P31 . The operations processes to this resource has been adopted σ1,2 ( ) execution order determined by this rule is represented by two arcs: ol3,4 , ol1,2 ( l ) 0 and o1,3 , ol3,3 , which corresponds to constraint (2.10). Because resource o1,2 is available in the entire time horizon, the equations use the classic “=” operator. Satisfaction of constraint (2.10), for all the processes Pil sharing one resource, makes it possible to determine the start times of their operations that guarantee mutual exclusion of these processes (access to the resource is granted in accordance with the order specified by the adopted dispatching rule). The operations digraph G P shown (2.3) can be used to reproduce the execution of the operations of each cyclic steady state DC of a state space P. Different cyclic steady states (determined by different sets of dispatching rules) have distinct corresponding digraphs, which differ mainly in the set of operation exclusion edges E W . Each digraph G P determines a different set of constraints of the type (2.4)–(2.10), which define the mutual order of operations of a multimodal process. The times xi,l j , which meet such constraints, make up a cyclic schedule X(DC ): { } X(DC ) = X l (DC )|l = 0 . . . lp , X l (DC ) =

((

) ) l X 1l (DC ), . . . , X il (DC ), . . . , X lp(l) (DC ) , αl ,

) ( X il (DC ) = xi,l j | j = 1 . . . lr (l, i ); (13) − (19) ,

(2.11) (2.12) (2.13)

where: • X l (DC ) is the cyclic schedule for processes of the l-th level (which corresponds to a state DC ).

2.2 Declarative Modeling Framework

61

• lp is the number of levels of multimodal processes. • lp(l) is the number of l-th level processes. • X il (DC ) is the sequence of start times of the operations of process Pil ∈ P l for which constraints (2.4)–(2.10) are satisfied. • lr (l, i ) is the number of operations of process Pil . • xi,l j is the start time of operation oli, j . • αl is the period of schedule X l , αl ∈ N+ . A schedule X(DC ) consists of a set of operation start times xi,l j for which constraints (2.4)–(2.10) are satisifed. An operations digraph G P should therefore be treated as a graphical representation of a schedule X(DC ). A digraph G P takes into account operation execution times, the order of operations determined by the adopted routes, as well as the order of operations determined by the adopted dispatching rules. In the case of operations digraphs, the following theorem holds true: Theorem 2.1 If, in a system with structure SC, a deadlock state is reachable, then constraints (2.4)–(2.10), which determine the operations digraph G P (corresponding to this behavior), are mutually contradictory. Proof The proof follows directly from the properties of a deadlock state. As shown in Fig. 1.6, a deadlock occurs when a resource request cycle arises. Figure 2.13a shows l , Pnl —these a cycle of resource requests for n multimodal processes: P1l , P2l ,…, Pn−1 processes are in a deadlock state. For simplicity, it was assumed that the resources which these processes request access are available in the entire time horizon (i.e., E X = R+ ). An operations digraph G P that corresponds to this situation is shown in Fig. 2.13b. It presents the following operations (marked by a dashed line box): ol1,2 , ol2,2 , …, oln−1,2 , oln,2 , access to which is being requested by the waiting processes. The operations form a cycle (consisting of operation exclusion arcs), which is given by a system of n type (2.10) equations. As shown in Fig. 2.13b, this system is contradictory (for Δt ∈ N+ ). The existence of a resource request cycle (for any number n of processes) leads to a contradiction in the corresponding Eqs. (2.10). A deadlock of processes manifests itself as a contradiction of constraints (2.4)–(2.10) describing system behavior. □ It follows from the above theorem that for there to exist a cyclic schedule X(DC ) (2.11), the structure of the corresponding operations digraph G P must imply a noncontradictory set of constraints (2.4)–(2.10). The digraph G P shown in Fig. 2.8 is a good example. It follows from Theorem 2.1 that the consistency (non-contradiction) of constraints (2.4)–(2.10) of a digraph G P is a condition for the existence of a cyclic steady state DC (a deadlock-free system). The relationship between a cyclic schedule X(DC ), an operations digraph G P, and a cyclic steady state DC of a state space P, as understood in this approach, is illustrated in Fig. 2.14.

62

2 Performance Modeling

Fig. 2.13 a) A resource request cycle for n multimodal processes, and b) its representation as an operations digraph G P

In the context of Theorem 2.1, it is natural to ask the question of whether there exist conditions that ensure consistency of the constraints (2.4)–(2.10). A positive answer (Fig. 2.14) means that a cyclic schedule X(DC ) and thus also a cyclic steady state DC , are reachable in the SCCMP under consideration. The questions shown in Fig. 2.14 are related to the problem of analysis of SCCMP behavior for three different representations of this behavior: the state space, the operations digraph, and the cyclic schedule. When one adopts the proposed digraph G P representation, the behavior analysis problem can be solved by determining the values of the operation start times xi,l j , for which the constraints (2.4)–(2.10) determined by this digraph, are satisfied. In the instance under discussion, the SCCMP behavior analysis problem can be solved by solving the following Constraint Satisfaction Problem: C S AN = ((V AN , D AN ), C AN ), where:

(2.14)

2.2 Declarative Modeling Framework

63

Fig. 2.14 Relationships connecting a cyclic steady state DC , an operations digraph G P, and a cyclic schedule X(DC )

• V AN is a set of decision variables containing the start times xi,l j of the operations oli, j ∈ O P that make up the digraph G P and the periods αl of the cyclic steady states of the processes of levels P l . • D AN is a set of decision-variable domains, which defines the admissible values of the start times xi,l j of operations and periods αl : xi,h j ∈ N, αl ∈ N+ . • C AN is a set of constraints defining the relationships between times xi,l j and periods αl expressed as (2.4)–(2.10). In the general case, to solve a constraint satisfaction problem means to determine the values of the decision variables for which all the constraints adopted in the problem are satisfied . In the case of problem (2.14), such a solution is a set of values of the operation start times xi,l j (of a schedule X(DC ) (2.11)) that meet the conditions of reachability of cyclic steady states expressed by constraints (2.4)–(2.10).

64

2 Performance Modeling

Formulating an SCCMP behavior analysis problem as a constraint satisfaction problem (2.14) C S AN naturally fits within the larger framework of representations used in declarative programming approaches, in which the main focus is on the way a problem is formulated rather than the way it is solved. In this approach, a C S AN problem (2.14) can be solved using constraint programming techniques implemented in such environments as IBM ILOG, Oz Mozart, ECLi PSe , etc. These environments are the most commonly used tools for solving constraint satisfaction problems. Although the procedures implemented in these environments may differ from one another (for example, the IBM ILOG and ECLi PSe environments use different computing engines), their overall performance, as observed in practice, is very similar (in other words, they are of the same order of magnitude O). The examples presented further in this monograph are solved using the IBM ILOG environment (Windows 10, Intel Corei5-7400 3.00 GHz, 8 GB RAM). To answer the question posed at the beginning of this chapter (related to the determination of a schedule for the system of Fig. 2.7, the problem under consideration was formulated as a C S AN (2.14). The set of decision variables V AN of this problem is as follows: { 1 1 1 1 1 1 1 1 1 1 V AN = x1,1 , . . . , x1,4 , x2,1 , . . . , x2,4 , x3,1 , x3,2 , x3,3 , x3,1 , x3,2 , x3,3 , } 2 2 2 2 1 2 x1,1 , . . . , x1,8 , x2,1 , . . . , x2,5 , α , α , (2.15) whereas the set of constraints C AN has the form given in Table 2.3. The first admissible solution to the problem (2.14) C S AN (the IBM ILOG constraint programming environment) for the case under discussion is presented in Table 2.4 and Fig. 2.15. As it is easy to note (the schedule of Fig. 2.15), all the processes are executed cyclically in a deadlock-free and a collision-free manner. Level P 1 processes, which represent four AGVs used for transporting elements between workstations, repeat their operations with period α 1 = 15 u.t. In turn, level P 2 processes, which represent the production flow, are executed serially in a pipeline mode with a period α 2 = 30 u.t. This means that the production system operates at a takt time of 15 u.t., with one of the products being manufactured in each system operation cycle (the products are manufactured in turns). It is worth noting that the time of production (execution of level P 2 processes) is different for each product. Process P12 takes 31 u.t. to complete while the process P22 is completed in 23 u.t. In the general case, various variants of the execution of multimodal processes can be considered. They may regard the analysis of multi-flow serial production, mass customization, and the organization of in-plant transport (milk-run systems) and out-of-plant transport (UAVs planning). The concept of multimodal processes has been used numerous times to model such systems [2, 21–27]. The model proposed in this monograph is based on the idea of representing relationships between the operations of multimodal processes with an operations digraph G P and is a generalization of the models used in the studies cited above. From this

2.2 Declarative Modeling Framework

65

Table 2.3 Constraints (2.4)–(2.10) for the digraph G P in Fig. 2.8 Resource utilization constraints (2.4), (2.5) Process P22

Process P12 2 x1,1



1 x1,1

+k

× α1

2 ≥ x 1 + k × α1 x2,1 4,1

2 + t 2 ≤ x 1 + t 1 + k × α1 x1,1 1,1 1,1 1,1

2 + t 2 ≤ x 1 + t 1 + k × α1 x2,1 2,1 4,1 4,1

2 ≥ x 1 + k × α1 x1,2 1,2

2 ≥ x 1 + k × α1 x2,2 4,2

2 + t 2 ≤ x 1 + t 1 + k × α1 x1,2 1,2 1,2 1,2

2 + t 2 ≤ x 1 + t 1 + k × α1 x2,2 2,2 4,2 4,2

2 ≥ x 1 + k × α1 x1,3 1,3

2 ≥ x 1 + k × α1 x2,3 4,3

2 + t 2 ≤ x 1 + t 1 + k × α1 x1,3 1,3 1,3 1,3

2 + t 2 ≤ x 1 + t 1 + k × α1 x2,3 2,3 4,3 4,3

2 1 x1,4 ≥ x4,2 + k × α1

2 ≥ x 1 + k × α1 x2,4 2,4 2 + t 2 ≤ x 1 + t 1 + k × α1 x2,4 2,4 2,4 2,4

... 2 ≥ x 1 + k × α1 x1,7 2,1

2 ≥ x 1 + k × α1 x2,5 2,4

2 + t 2 ≤ x 1 + t 1 + k × α1 x1,7 1,7 2,1 2,1

2 + t 2 ≤ x 1 + t 1 + k × α1 x2,5 2,1 2,1 2,5

2 ≥ x 1 + k × α1 x1,8 2,2 2 + t 2 ≤ x 1 + t 1 + k × α1 x1,8 1,8 2,2 2,2

Precedence constraints (2.6)–(2.9) Process P11

Process P11 1 x1,1

=

1 x1,4

1 + t1,4

− αl

1 = x 1 + t 1 − αl x2,1 2,4 2,4

1 ≥ x1 + t1 x1,2 1,1 1,1

1 ≥ x1 + t1 x2,2 2,1 2,1

1 ≥ x1 + t1 x1,3 1,2 1,2

1 ≥ x1 + t1 x2,3 2,2 2,2

1 = x1 + t1 x1,4 1,3 1,3

1 = x1 + t1 x2,4 2,3 2,3

Process P41

Process P31 1 x3,1

=

1 x3,3

1 + t3,3

− αl

1 = x 1 + t 1 − αl x4,1 4,3 4,3

1 ≥ x1 + t1 x3,2 3,1 3,1

1 ≥ x1 + t1 x4,2 4,1 4,1

1 ≥ x1 + t1 x3,3 3,2 3,2

1 ≥ x1 + t1 x4,3 4,2 4,2

Process P12

Process P22 (continued)

66

2 Performance Modeling

Table 2.3 (continued) EX ( ) 2 ~~~~ 2 − α 2 + Δt = max 0; x1,2 x1,1 EX ) ( 2 ~~~~ 2 + t 2 ; x 2 − α 2 + Δt x1,2 = max x1,1 1,1 1,3 EX ) ( 2 ~~~~ 2 + t 2 ; x 2 − α 2 + Δt x1,3 = max x1,2 1,2 1,4

( ) 2 ≥ max x 2 + t 2 ; x 2 − α 2 + Δt x1,4 1,3 1,3 1,5 ... ( ) 2 ≥ max x 2 + t 2 ; 0 − α 2 + Δt x1,8 1,7 1,7

( ) 2 ~~~~ 2 − α 2 + Δt = max 0; x2,2 x2,1 EX

( ) 2 ≥ max x 2 + t 2 ; x 2 − α 2 + Δt x2,2 2,1 2,1 2,3 ( ) 2 ≥ max x 2 + t 2 ; x 2 − α 2 + Δt x2,3 2,2 2,2 2,4 ( ) 2 ≥ max x 2 + t 2 ; x 2 − α 2 + Δt x2,4 2,3 2,3 2,5 ( ) 2 ≥ max x 2 + t 2 ; 0 − α 2 + Δt x2,5 2,4 2,4

Operation exclusion constant (2.10) 0 Resource o1,2 ( ) 1 = max x 1 + t 1 ; x 1 − α 1 + Δt x1,2 1,1 1,1 3,4

0 Resource o1,3 ( ) 1 = max x 1 + t 1 ; x 1 − α 1 + Δt x1,3 1,2 1,2 4,3

( ) 1 = max x 1 + t 1 ; x 1 + Δt x3,3 3,2 3,2 1,3

( ) 1 = max x 1 + t 1 ; x 1 + Δt x4,2 4,1 4,1 1,4

0 Resource o1,7

0 Resource o1,6 ( ) 1 = max x 1 + t 1 ; x 1 + Δt x2,4 2,3 2,3 4,4

1 = x2,1 ) ( 1 + t 1 − α 1 ; x 1 − α 1 + Δt max x2,4 2,4 3,3 1 x3,2

( ) 1 + t 1 ; x 1 + Δt = max x3,1 3,1 2,2

( ) 1 = max x 1 + t 1 ; x 1 + α 1 − α 1 + Δt x4,3 4,2 4,2 2,1

1 Resource o4,2

1 Resource o4,3

EX ( ) 2 ~~~~ 2 + t 2 ; x 2 − α 2 + Δt = max x1,3 x1,4 1,3 2,3

EX ( ) 2 ~~~~ 2 + t 2 ; x 2 − α 2 + Δt = max x1,4 x1,5 1,4 2,4

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 + Δt x2,2 = max x2,1 2,1 1,5

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 + Δt x2,3 = max x2,2 2,2 1,6

1 Resource o2,4

1 Resource o2,1

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 − α 2 + Δt x1,6 = max x1,5 1,5 2,5

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 − α 2 − α 2 + Δt x1,7 = max x1,6 1,6 2,1

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 + Δt x2,4 = max x2,3 2,3 1,7

EX ) ( 2 ~~~~ 2 + t 2 ; x 2 + Δt x2,5 = max x2,4 2,4 1,8

perspective, the present discussion on SCCMP behavior analysis problems can be recapitulated as follows: • Each flow D (e.g., cyclic steady state Dc ) reachable in a state space P has a corresponding operations digraph G P (Fig. 2.14).

2.2 Declarative Modeling Framework

67

Table 2.4 Operation start times xi,l j for the processes executed in the SCCMP in Fig. 2.8

Table 2.5 Constraints (2.16)–(2.17) for the digraph G P in Fig. 2.17 Operation exclusion constraints (2.16), (2.17) 0 Resource o1,2 1 x1,2 1 x3,3

0 Resource o1,3 ( ) ( ) 1 1 1 1 1 = µ1,3 ×max x 1 + t 1 ; x 1 − χ 1 + Δt = µ1,2 x1,3 4,2 3,3 ×max x 1,1 + t1,1 ; x 3,4 − χ1,2 + Δt 1,2 1,2 4,3 1,3 ( ) ( ) 1 = µ4,2 ×max x 1 + t 1 ; x 1 − χ 1 + Δt 1 1 1 1 x4,2 = µ3,3 1,2 ×max x 3,2 + t3,2 ; x 1,3 − χ3,3 + Δt 1,3 4,1 4,1 1,4 4,2

0 Resource o1,7 1 = x2,1

0 Resource o1,6

( ) 1 = µ2,4 ×max x 1 + t 1 ; x 1 − χ 1 + Δt x2,4 4,3 2,3 2,3 4,4 2,4

( ) 1 1 1 1 1 1 = µ2,1 3,2 × max x 2,4 + t2,4 − α ; x 3,3 − χ2,1 + Δt x4,3 ( ) ( ) 3,2 1 1 1 1 1 x3,2 = µ2,1 ×max x3,1 + t3,1 ; x2,2 − χ3,2 + Δt µ4,3 × max x 1 + t 1 ; x 1 + α 1 − χ 1 + Δt 2,4 4,2 4,2 2,1 4,3

• An operations digraph G P represents: resource utilization relationships (resulting from the adopted routes of pil ), precedence relationships (resulting from the adopted operation sequences O l ), and operation exclusion relationships (resulting from the adopted dispatching rules Θ l ) determined by the structure SC of the system. • The existence of a cyclic steady state DC is conditioned by the consistency of constraints (2.4)–(2.10) on the digraph G P. • Consistency of constraints (2.4)–(2.10) is verified by solving the constraint satisfaction problem C S AN (2.14)—there exists a non-empty set of solutions to the problem C S AN . • The fact that there exists a solution to the problem (2.14) C S AN implies that there exists a cyclic schedule X(DC ) for the system.

68

2 Performance Modeling

Fig. 2.15 A cyclic schedule X(DC ) for the SCCMP in Fig. 2.7: a) level P 1 , and b) level P 2

To sum up, consistency of constraints (2.4)–(2.10) of a digraph GP is a sufficient condition for the existence of a cyclic steady state DC . To assess whether there exists a cyclic steady state DC in space P, it is enough to solve the problem CSSYN (2.14). The issues discussed so far regard analysis problems related to the assessment of the existence of cyclic steady states in systems with known structure SC parameters. A separate issue is that of determining the parameters of a system’s structure SC, which guarantee the reachability of cyclic steady states in the system. Issues of this type are considered in synthesis problems (discussed, among others, in Sect. 2.1), which, depending on the assumptions made, can be formulated in different ways. In general, however, they are all solved by seeking an answer to the following question:

2.2 Declarative Modeling Framework

69

Does there exist a structure SC (2.5) that guarantees the existence of cyclic steady states in space P? In the context of the concept of an operations digraph G P (and the related Theorem 2.1), the search for the parameters of a structure SC comes down to determining a form of the digraph G P that guarantees the consistency of constraints (2.4)–(2.10). It is worth noting that a considerable part of a system’s structure is usually known in advance, and only one or several parameters are searched for. In such cases, where system structure SC is partially defined, an SCCMP synthesis problem is solved by searching for the remaining parameters (such as dispatching rules, operation execution times, and process routes) that will guarantee the existence of a cyclic behavior of the system. Among the parameters that determine system structures SC, dispatching rules are of primary importance Θ l . As shown in the example of Fig. 1.12, it is these rules that determine whether an SCCMP will reach a deadlock state or a cyclic steady state. Accordingly, further discussion is limited to cases of the synthesis problem in which the structure parameter sought is a set of dispatching rules Θ l . For example, the structure SC adopted for the system in Fig. 2.7 allows the system to reach a cyclic behavior with period α 1 = 15 u.t. (level P 1 ). It is worth noting that during the execution of these processes, downtimes occur caused by operations waiting for access to the requested resources. The downtimes for level P 1 processes last 5, 3, 7, and 7 u.t., respectively, and for level P 2 , they last 7 u.t. and 8 u.t. This naturally leads to the question of whether it is possible to organize access of processes to shared resources in a way that will allow the system to reach a cyclic steady state with period α 1 < 15 u.t. Put differently, dispatching rules Θ l are sought, which will reduce the downtime of the processes being executed. In searching for the dispatching rules that will guarantee the expected behavior of the SCCMP, it is necessary to analyze diverse variants of the sequence in which processes can access the shared resources. This sequence satisfies constraint (2.10). However, the constraint should be generalized to a form that will enable the analysis of different variants of dispatching rules. For this purpose, it is assumed that for each pair of operations oli, j , olm,n sharing a resource, the following constraints are satisfied: ( l ) ( l ) ( ( l ) ) l l xm,n ≥ μi,m,n j × max P O P om,n + P O T om,n ; N A P oi, j − χm,n + Δt , (2.16) ( ( ) ) ( ) ( ) j xi,l j ≥ μi,m,n × max P O P oli, j + P O T oli, j ; N A P olm,n − χi,l j + Δt , (2.17) i, j μi,m,n j + μm,n ≤ 1,

where: l • xi,l j , xm,n are the start times of operations oli, j , olm,n .

(2.18)

70

2 Performance Modeling

• Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . l • χm,n , P O P, P O T , N A P are defined in the same way as in the case of constraint (2.10). i, j l • μi,m,n j , μm,n ∈ {0, 1} is a value that determines whether operation oi, j has access m,n to the shared resource before operation olm,n (μi, j = 1) or, vice versa, whether i, j

operation olm,n has access to the shared resource before operation oli, j (μm,n = 1). i, j

The introduction of the variables μi,m,n j , μm,n allows one to consider different orders of access of operations oli, j , olm,n to the shared resource. In general, these variables can be used to represent any variant (i.e., permutation of elements of the set of processes sharing a given resource) of a dispatching rule determining access to a given shared resource. Figure 2.16 shows an example of operations of three processes: P11 , P21 , P31 0 0 sharing resource o1,1 . The dispatching rule σ1,1 can be any permutation of the set { 1 1 1} 0 P1 , P2 , P3 . In other words, any order of access of the operations to resource o1,1 is allowed. The constraints (2.16), (2.17)) defining the mutual order of each pair of ( l operations are shown as arcs oi, j , olm,n ∈ E W ∗ ⊆ E P, marked with the arrow: ( ) see Fig. 2.16a. Each of the arcs oli, j , olm,n ∈ E W ∗ has variable μi,m,n j ∈ {0, 1} assigned to it, which determines whether the given relationship holds (μi,m,n j = 1). Figure 2.16a and c shows two variants of digraph G( P corresponding ) 0 to 0 0 : σ1,1 = P11 , P31 , P21 , σ1,1 = two different forms of the dispatching rule σ1,1 ( 1 1 1) 0 P2 , P3 , P1 . Each of them is represented by a square binary matrix M1,1 consisting of the values of the variable μi,m,n j . A matrix cell value of 1 defines for which pairs of operations the constraints (2.16) and (2.17) hold. For example, the fact that the 1 second cell of the first row (Fig. 2.16b) has a value of 1 means that operation o1,2 of 1 1 process P1 has priority in accessing the resource over operation o2,2 of process P21 1 1 (for the pair of operations o1,2 , o2,2 constraint (2.16) is satisfied). l−1 l−1 In general, any dispatching rule σa,b of set Θ l has a corresponding matrix Ma,b , which determines its form. In this approach, SCCMP structure synthesis problems are solved by searching l−1 for which constraints (2.4)–(2.9), (2.16), (2.17), for forms of the matrix Ma,b determined by the operations digraph P, are satisfied. Analogously to the analysis problem, the synthesis problem can be formulated as the following constraint satisfaction problem: C SSY N = ((VSY N , D SY N ), C SY N ),

(2.19)

where: l−1 • VSY N is a set of decision variables containing: matrices Ma,b determining the l−1 form of the dispatching rules σa,b of set Θ l , the start times xi,l j of operations oli, j ∈ O P, and the periods αl of the cyclic steady states of level P l processes.

2.2 Declarative Modeling Framework

71

Fig. 2.16 a) An example of an operation exclusion relationship for processes P11 , P21 sharing ) ( 0 , b) digraph G P corresponding to the dispatching rule σ 0 = P 1 , P 1 , P 1 , and resource o1,2 1,1 1 3 2 ) ( 0 = P 1, P 1, P 1 c) digraph G P corresponding to the dispatching rule σ1,1 2 3 1

• D SY N is a set of decision-variable domains that define the admissible values l−1 , operation start times xi,l j , and periods αl : of the elements of the matrix Ma,b m,n μi, j ∈ {0, 1} xi,l j ∈ N, αl ∈ N+ . • C SY N is a set of constraints defining relationships between times xi,l j and periods αl expressed in the form (2.4)–(2.9) and relationships between times xi,l j and l−1 elements of the matrix Ma,b (2.16), (2.17).

72

2 Performance Modeling

l−1 The solution to a problem formulated in this way is a set of matrices Ma,b (deterl−1 l mining the dispatching rules σa,b of set Θ ) and the values of the start times of operations xi,l j (which make up schedule X(DC ) (2.11)), that meet the conditions of reachability of cyclic steady states expressed by constraints (2.4)–(2.9), (2.16), (2.17). Returning to the example considered earlier, in order to answer the question posed (related to the determination of the dispatching rules Θ l guaranteeing the existence of a cyclic steady state with a period of α 1 < 15 u.t.), the problem under consideration was formulated as C SSY N (2.19). The set of the decision variables VSY N of this problem is as follows:

{ 0 0 0 0 1 1 1 1 1 VSY N = M1,2 , M1,3 , M1,6 , M1,7 , x1,1 , . . . , x1,4 , x2,1 , . . . , x2,4 , x3,1 ,

} 1 1 1 1 1 2 2 2 2 x3,2 , x3,3 , x3,1 , x3,2 , x3,3 , x1,1 , . . . , x1,8 , x2,1 , . . . , x2,5 , α1, α2 .

(2.20)

Constraints (2.4)–(2.9) for the system described in Table 2.3 and constraints (2.16), (2.17) from Table 2.5 make up set C SY N . The constraints listed in Table 2.5 are shown in graphic form in Fig. 2.17. For the sake of simplicity, it was assumed that the search would be limited to determining rules Θ 1 for level P 1 processes (representing AGVs) only. These processes 0 0 0 0 , o1,3 , o1,6 , o1,7 , whose dispatching rules are represented by share four resources o1,2 0 0 0 0 the matrices M1,2 , M1,3 , M1,6 , M1,7 . As before, the problem was implemented in the IBM ILOG environment. The admissible solution obtained (calculation time < 1 s) is presented in Table 2.6 (operation start times) and Fig. 2.18 (cyclic schedule X(DC )). The behavior of the system is determined by the following dispatching rules: Table 2.6 Start times xi,l j of the operations of the processes executed in the SCCMP in Fig. 2.8 ) ) ) ) ( ( ( ( 0 = P 1, P 1 , σ 0 = P 1, P 1 , σ 0 = P 1, P 1 , σ 0 = P 1, P 1 for dispatching rules: σ1,2 1 3 1,3 1 4 1,7 3 2 1,6 4 2

2.2 Declarative Modeling Framework

73

Fig. 2.17 An operations digraph G P with constraints (2.16), (2.17)

) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 = P11 , P31 , σ1,3 = P11 , P41 , σ1,7 = P31 , P21 , σ1,6 = P41 , P21 . Compared to the preceding situation (Fig. 2.15), a change was made that involved 0 0 according to which access to resource o1,7 is first granted to resource P31 . rule σ1,7 This change resulted in a reduction in the execution times by 3 u.t. for level P 1 processes: α 1 = 12 u.t., and by 6 u.t. for level P 2 processes: α 2 = 24 u.t. For the dispatching rules defined in this way, the production system works with a takt time of 12 u.t. A shorter production cycle also entails shorter production times (execution times of level P 2 processes). The execution time of process P12 is 29 u.t. (it has been reduced by 2 u.t.) while the execution time of process P22 is 21 u.t. (reduced by 2 u.t.). It is easy to note that a change in the dispatching rules significantly affects the manner (and time) of process execution. It is worth noting that the solution obtained does not lead to a deadlock. The example shows that the operations digraph G P can also be used in SCCMP structure synthesis problems. The discussion above can be recapitulated as follows: • The structure SC of an SCCMP with unknown dispatching rules Θ l can be represented by an operations digraph G P, in which operation exclusion relationships are described by constraints (2.16), (2.17).

74

2 Performance Modeling

( ) 0 = P 1, P 1 , Fig. 2.18 A cyclic schedule X(DC ) reachable in the SCCMP in Fig. 2.7 for rules: σ1,2 1 3 ( ( ( ) ) ) 0 = P 1 , P 1 , σ 0 = P 1 , P 1 , σ 0 = P 1 , P 1 : a) level P 1 , b) level P 2 σ1,3 1 4 1,7 3 2 1,6 4 2

• The existence of dispatching rules Θ l , which guarantee the reachability of a cyclic steady state DC , is conditioned by the consistency of constraints (2.4)–(2.9), (2.16), (2.17). • The consistency of constraints (2.4)–(2.17) is verified by solving the constraint satisfaction problem C SSY N (2.19)—there exists a non-empty set of solutions to the problem C SSY N . • Finding a solution to the problem C S AN (2.19) implies the existence of dispatching rules Θ l , which determine the existence of a cyclic schedule X(DC ). To sum up, the consistency of constraints (2.4)–(2.9), (2.16), (2.17) of a digraph GP is a sufficient condition for the existence of dispatching rules Θ l guaranteeing

2.2 Declarative Modeling Framework

75

Fig. 2.19 Functions of C S AN calculation times (average time of determining the first admissible solution) for structures with densities: g = 0.33; g = 0.5; g = 0.66

the reachability of a cyclic steady state DC . Whether such rules exist can be checked by solving the problem CSSYN (2.14). The examples, presented above, of problems of analysis of the behavior and synthesis of the structure of the SCCMP shown in Fig. 2.6 are characterized by low complexity. For both types of problem, the number of decision variables did not exceed 40, and the number of constraints did not exceed 70. For this reason, the solutions to the problems C S AN (2.14) and C SSY N (2.19) were obtained in less than 1s each. In general, however, this time can be much longer (especially in the case of synthesis problems). This is caused by the use of non-linear constraints employing the max operator (precedence constraints (2.6)–(2.9), operation exclusion constraints, and constraints (2.16), (2.17)). In the literature on the subject, the max operator is sometimes replaced by the “greater than or equal to” operator “≥” in evaluating the satisfiability of constraints. The problem of satisfiability of such constraints is characterized by linear computational complexity O(lk × L O P) (lk—number of resources, L O P—number of operations executed in the system) [19, 20]. The problem is solved using a method based on the critical path algorithm (modified Bellman-Ford algorithm). A similar situation occurs with the problems of analysis of SCCMP behaviors C S AN (2.14). Figure 2.19 shows the calculation time functions of this type of problem for different numbers of operations L O = 5 . . . 45 and different structure densities (defined as the ratio of the number of processes to the number of operations): g = 0.33; 0.5; 0.66. These functions were determined based on experiments conducted in the IBM ILOG environment. The solution time did not exceed one second in any of the cases analyzed.

76

2 Performance Modeling

The graph shows that the estimation of the reachability of a cyclic steady state Dc (approach based on operations digraphs G P) is characterized by linear computational complexity (Fig. 2.19). It is worth mentioning that an analogous evaluation based on the methods of determining the state space P is characterized by exponential complexity (Fig. 2.5). The low computational complexity is due to a simplification whereby process operations are executed in the order defined by the dispatching rules. This corresponds to a situation where, in the initial state, all semaphores indicate the first element of the sequences representing the dispatching rules associated with them. This type of simplification may give rise to a situation in which the problem C S AN (2.14) has no solution despite the existence of a cyclic steady state. The study showed that in the case of SCCMP structure synthesis problems, the solution times C SSY N (2.19) are much longer. Figure 2.20 shows the functions of the times of solution of the problem C SSY N (2.19) for systems with different numbers of dispatching rules L D P = 5 . . . 45 and different structure densities: g = 0.33; 0.5; 0.66. The synthesis involved the determination of the form of the given number (L D P) of dispatching rules Θ l (l = 1, 2). As can be seen, the relevant functions estimating the expected calculation time are exponential. Their exponentiality is a consequence of the exponential growth (along with the increasing number of operations L D P) of the search space. The size of this space is determined by the permutations of the elements of the dispatching rules. The scope of application of the proposed approach is therefore limited to structures with density g < 0.33 in which the number L D P of dispatching rules does not exceed 40 (the calculation time does not exceed 60 min).

Fig. 2.20 Functions of C SSY N (2.19) calculation times for structures with densities: g = 0.33, 0.5, 0.66

2.3 Synthesis of Mesh-Like SCCMP Structures

77

In conclusion, the proposed approach based on the operations digraph G P makes it possible to assess: • The reachability of a cyclic steady state DC in polynomial time (formulated as SCCMP behavior analysis problem). • The existence of dispatching rules Θ l guaranteeing the reachability of a cyclic steady state DC in exponential time (formulated as SCCMP structure synthesis problem).

2.3 Synthesis of Mesh-Like SCCMP Structures The high computational complexity of SCCMP structure synthesis problems motivates the search for time-effective methods of solving them. Systems encountered in practice are usually too large to have the approach proposed in the previous section applied to them. In practical settings, there often occur situations in which decisions about the behaviors of a system are made on the basis of synthesis of the parameters of a fragment of the system’s structure. Situations of this type often take place during the planning of timetables for public buses, e.g., ones that must take into account existing schedules for subway, railway, or ferry lines (see Fig. 1.14). A common feature of the problems discussed in the previous section is that they offer a “holistic” view of system structures, in which the relationships connecting all the elements of a structure with all the manifestations of the system’s behavior are perceived simultaneously. This means that, during the synthesis of parameters that guarantee the desired behavior, the entire structure of the system is taken into consideration (i.e., the operations digraph G P includes all the operations and processes executed in the system). An alternative approach is to decompose a system and search for sufficient conditions, the fulfillment of which guarantees the expected behavior of the subsystems extracted during this process. In particular, this approach involves the search for an answer to the following question: Which classes of substructures combined in which way will guarantee the expected behavior of the system? Limiting further discussion to regular structures (discussed earlier in more detail in Sect. 1.3), one can say that such an approach comes down to determining the parameters of coupled elementary structures that will guarantee the reachability of a cyclic steady state DC (while represented by a schedule X(DC )) in the system obtained. The advantages of this approach include the possibility of reducing the scale effect (through structure decomposition) and prototyping variants of the planned systems composed of elementary structures. In further discussion, it is assumed that known is a set of elementary structures SE that make up an SCCMP and known are the joining points at which these structures merge (i.e., resources defined by the set Φa,b ). Unknown, on the other hand, is the dispatching rules associated with these joining points (i.e., resources obtained as a result of “merging” each pair of the set Φa,b ). The problem of synthesis of an SCCMP structure is solved by determining the conditions (e.g., the dispatching rules)

78

2 Performance Modeling

that should be met by the coupled elementary structures for a cyclic behavior to be reachable in the system obtained as a result of the synthesis. As the first example of how such conditions are formulated, the case of combining two elementary structures, (a) S E, (b) S E ∈ SE, at one joining point, is considered— see Fig. 2.21. In structure (a) S E (and (b) S E with which it was to be coupled) process (a) Pil (and process (b) Pul , respectively) and operation (a) oli, j (and operation (b) olu,v , respectively) (b) l−1 were distinguished. Operations (a) oli, j , (b) olu,v require the resources (a) ol−1 oc,d m,n , (a) (b) for their execution. Structures S E and S E are coupled by merging the resources (a) l−1 (b) l−1 om,n , oc,d (set Φa,b ) into one shared resource, labeled (ab) ol−1 mc,nd —Fig. 2.21b. In the obtained structure (c) S E = (a) S E ⊕ (b) S E, processes (a) Pil and (b) Pul use resource (ab) l−i omc,nd in compliance with the condition of mutual exclusion. An example of two elementary structures being coupled in this way is also shown in Fig. 1.17. Each of the coupled elementary structures, (a) S E and (b) S E, has a corresponding cyclic schedule of processes: (a) X, (b) X. For simplicity’s sake, it is assumed that the execution times of the operations completed on the merged resources are the same and equal to:

Fig. 2.21 a) Elementary structures (a) S E and (b) S E, and b) the same structures merged into system (c) S E

2.3 Synthesis of Mesh-Like SCCMP Structures (a) l ti, j

79

l =(b) tu,v = 1 u.t. Additionally, the index a is used to mark the structure with a longer period, i.e., (a) αl ≥(b) αl . Given these assumptions, the question naturally arises as to whether the elementary structures (a) S E,(b) S E can be coupled without changing the schedules (a) X, (b) X reachable in these structures? In other words, conditions are sought that guarantee that the coupled structures do not interfere with the behaviors executed in them, i.e., that the execution of the processes of one structure does not affect the execution of the processes of the other structure. It is easy to see that such a situation is possible when processes (a) Pil , (b) Pul 0 alternate in running their operations on the resource (ab) omc,nd . 0 If this condition is met (i.e., the processes are granted access to resource (ab) omc,nd without the need to suspend their execution; that is, the processes run their operations in a no-wait mode), (then the system with structure (c) S E operates cyclically with ) (c) l (a) l (b) l period α = LC M α , α , (where LC M(a, b) is the least common multiple 0 of the numbers a and b). Stated otherwise, the processes use resource (ab) omc,nd alternately without having to wait for access to it. It turns out that a behavior like this cannot be reached for every structure (c) S E (composed of the pair (a) S E, (b) S E). There are many values for periods (a) αl and (b) αl for which (sooner or later) processes (a) Pil , (b) Pul collide (i.e., the shared resource (ab) l−1 omc,nd starts to be used simultaneously by the operations run by these processes). In such situations (a) S E and (b) S E cannot be coupled. An example of such a situation is presented in Fig. 2.22a. Figure 2.22a presents a cyclic schedule of the processes (a) Pil , (b) Pul in Fig. 2.21, for which the following period values were adopted: (a) αl = 4, (b) αl = 3. Only the part of the schedule related to the operations (a) oli, j , (b) olu,v executed on the shared resource (ab) ol−1 mc,nd , is shown. As it is easy to note (Fig. 2.22a), operations of process (a) l Pi start to be executed at time (a) ωil = 0 u.t. and those of process (a) Pil at time (b) l ωu = 2 u.t. At time t = 9 u.t. (in the third execution cycle of process (a) Pil ) the processes collide, i.e., processes (a) Pil and (b) Pul run their operations on resource (ab) ol−i mc,nd at the same time. It is worth noting that in such a structure, a collision will occur regardless of what values of operation start times are adopted: (a) ωil , (b) ωul . This means that the given values of the periods (a) αl , (b) αl of the schedules of the processes (a) Pil , (b) Pul are inadmissible as they do not guarantee cyclic (i.e., deadlock-free) execution of processes. In this approach, the problem of the synthesis of elementary structures is solved by finding an answer to the following question: Do there exist values of the periods (a) αl , (b) αl of execution of the processes (a) l (b) l Pi , Pu of the elementary structures (a) S E, (b) S E that guarantee reachability, in (a) (b) an SCCMP with a structure (c) S E = ((a) lS E(b)⊕l ) S E, of a cyclic (deadlock-free) (c) l behavior with a period α = LC M α , α ? The search for the condition that will make it possible to answer the above question requires the introduction of the following concepts:

80

2 Performance Modeling

Fig. 2.22 Process execution schedule for (a) αl = 4, (b) αl = 3, (a) ωil = 0, (b) ωul = 2 showing: a) horizontal layout, and b) vertical layout

{ } • Process start time. Let (a) ωil ∈ 0, . . . , (a) αl − 1 and (b) ωul ∈ . . . denote the start times of the operations of processes (a) Pil and (b) Pul , respectively, on resource (ab) l−1 omc,nd in the first cycle of system with structure (c) S E. For instance, for the schedule in Fig. 2.22a: – –

(a) (b)

ωil = 1 u.t. it start time of the operation of process (a) Pil . ωul = 3 u.t. is start time of the operation of process (b) Pu.l .

l • Relative process shift. Let ηa,b denote a shift in the operation of process (b) Pul relative to the cycle of process (a) Pil . The value of the shift specifies by how many time units the start time of the operations of process (b) Pul shifts in the next cycle l is given by the following of process (a) Pil . The relative process shift value ηa,b formula: l = mod ηa,b

((a)

) αl , (b) αl , (a) αl ≥ (b) αl ,

(2.21)

where: mod(a, b) is the modulo division of a and b: r = mod(a, b) when a = k × b + r and 0 ≤ r < |b|, b ∈ N+ ,a, k ∈ N. ) ( l = mod (a) αl , (b) αl = For instance, for the processes in Fig. 2.22: ηa,b mod(4, 3) = 1 u.t. l • Occupancy of the cycle of process (a) P li . Let ϒa,b denote the occupancy of the l (a) l (b) l specifies for what part of cycle of process Pi by process Pu . The value ϒa,b

2.3 Synthesis of Mesh-Like SCCMP Structures

81

Fig. 2.23 Examples of schedules obtained as a result of combining systems in accordance with the principle illustrated in Fig. 2.21: a) (a) αl = 6, (b) αl = 3, b) (a) αl = 10, (b) αl = 6, and c) (a) αl = 8, (b) αl = 3

82

2 Performance Modeling (b) l the cycle of process (a) Pil a resource (ab) ol−i Pu . mc,nd is held by process

l ϒa,b

=

⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩

(a) l

α (b) α l l LC M ((a) αl ,ηa,b ) l ηa,b (a) l α ×λ l ηa,b

×λ if if

l ηa,b l ηa,b

l i f ηa,b =0 ) ( l /= 0 , /= 0, mod (a) αl , ηa,b ((a) l l ) /= 0, mod α , ηa,b = 0

(2.22)

) ( where: λ = di v (a) αl , (b) αl is the number of executions of process (b) Pul during one cycle of process, (a) Pil , di v(a, b) is the integer division ab : k = di v(a, b), when a = k × b + r and 0 ≤ r < |b|, b ∈ N+ , a, k ∈ N. l /= 0, For instance, for the system in Fig. 2.22 (for which ηa,b ((a) l l ) (a) l α 4 l mod α , ηa,b = 0): ϒa,b = ηl × λ = 1 × 1 = 4 u.t. a,b

The concepts introduced above are illustrated in Fig. 2.22b. It shows the schedule of Fig. 2.22a in a vertical layout, with one row illustrating a single cycle of process (a) l Pi (i.e., represented by a window T W with a width of (a) αl = 4 u.t.). In each successive cycle (represented by a window T W ), the operation of process (a) Pil is started at time t = 0 u.t. The start time of the operation of process (b) Pul is in turn reduced by 1 u.t. every cycle and equals: 2, 1, 0, 3, 2…, respectively. In other words, l = 1 u.t. to the left. Shifting in process (b) Pul shifts in the successive cycles by ηa,b (a) l this way, (after four cycles of process Pi ) process (b) Pul will have occupied each slot of the window T W . Put another way, it will have occupied, or filled in, the entire l = 4. The fact that process (b) Pul “occupies” all the time cycle of process (a) Pil : ϒa,b slots of the cycle of process (a) Pil means that one of these slots will always overlap with the start time of process (a) Pil . In practice, this means that regardless of their start times (a) ωil , (b) ωul , processes (a) Pil , (b) Pul are bound to meet (collide), sooner or later, on resource (ab) ol−1 mc,nd . l The key variable that determines collision-free sharing of a resource is ϒa,b , which (a) l (b) l describes the occupancy of the cycle of process Pi by process Pu . Figure 2.23 shows three examples of execution of processes (schedules in a vertical layout) in systems coupled in accordance with the principle presented in Fig. 2.21. The systems under consideration are characterized by the following parameters: • Process execution periods: (a) αl = 6, (b) αl = 3, occupancy of the cycle of process (a) l l l (a) l Pi (when ηa,b = 0): ϒa,b = (b) ααl = 2—Fig. 2.23a. • Process execution periods: (a) αl = 10, (b) αl = 6, occupancy of the cycle of l LC M ((a) αl ,ηa,b ) l l = 4): ϒa,b = × λ = 5—Fig. 2.23b. process (a) Pil (when ηa,b ηl a,b

• Process execution periods: (a) αl = 8, (b) αl = 3, occupancy of the cycle of process (a) l l l (a) l Pi (when ηa,b = 2): ϒa,b = ηl α × λ = 8—Fig. 2.23c. a,b

In the first two cases (Fig. 2.23a and b), the processes use the shared resource in turns (i.e., they do not collide). For each execution of the operation of process (a) Pil (purple color), the operation of process (b) Pul (green color) is executed twice. In the system in Fig. 2.23a, the processes are executed with a period (c) αl = 6 u.t., and in

2.3 Synthesis of Mesh-Like SCCMP Structures

83

the system in Fig. 2.23b with a period (c) αl = 30 u.t. However, in the case of the system in Fig. 2.23c, the processes cannot be executed in a collision-free manner. In the third cycle of the operation of this system, the processes collide. It is worth noting that with the given period values: (a) αl = 8 u.t., (b) αl = 3 u.t., the processes are bound to collide regardless of what process start times are adopted. As it is easy to see, collision-free (and deadlock-free) execution of processes is l is smaller than the width of the reachable in systems where cycle occupancy ϒa,b window T W (i.e., smaller than the value (a) αl ). This is the case with the two systems shown in Fig. 2.23a and b. This observation leads to the following theorem. Theorem 2.2 If, for an SCCMP with structure (c) S E composed (in accordance with Fig. 2.21) of systems (a) S E and (b) S E (where (a) αl ≥ (b) αl ): (c) S E = (a) S E ⊕ (b) S E, the following condition holds: l ϒa,b < (a) αl ,

then there exist start times (a) ωil and (b) ωul ((a) ωil /= (b) ωul ) of processes (a) Pil , (b) Pul , for which the (system can) reach a cyclic (deadlock-free) behavior with a period: (c) l α = LC M (a) αl , (b) αl . Proof Collision-free execution of processes (a) Pil , (b) Pul on a shared resource means that, in each system operation cycle, the operations of these processes are executed at different times (i.e., they have different start times (a) ωil /= (b) ωul ). So, if there exists a collision-free schedule for their execution, then there are slots in window T W that are occupied exclusively by one of these processes. In such a situation, the occupancy of the cycle of process (a) Pil by process (b) Pul is smaller than the size of this window (while determined by period (a) αl )—this means that there are slots that l < (a) αl . □ are not occupied by this process, and hence ϒa,b This means that in situations where the condition of Theorem 2.2 holds, system S E = (a) S E ⊕ (b) S E can reach a cyclic behavior in which the schedules (a) X, (b) X of its substructures do not affect one another (i.e., the processes are executed alternately and never meet on the shared resource). Of course, to make this possible, it is also necessary to select the right start times for operations (a) ωil and (b) ωul . Not every pair of such start times is admissible. In Fig. 2.23a and b, the symbol “×” marks the slots that cannot be selected as start times for the operation of process (b) Pul when process (a) Pil starts its operation at: (a) ωil . It is easy to show that if condition of Theorem 2.2 is met, the admissible values of the start times (a) ωil and (b) ωul can be determined from the following formula: (c)

(a)

{ } { } ωil ∈ 0, . . . , (a) αl − 1 , (b) ωul ∈ 0, . . . , (b) αl − 1 , (b)

ωul /= (a) ωil +

(a) l

α

l ϒa,b

× n for n = 0, 1, 2, . . . ,

(2.23)

(2.24)

84

2 Performance Modeling

For example, for the situation shown in Fig. 2.23b (when (a) ωil = 0), the start time of the operation of process (b) Pul must be different than (b) ωul /= 0, 2, 4, 6, 8. As the schedule shows, starting the process (b) Pul at these times would lead to collisions with other processes. The assumptions that elementary structures (a) S E, (b) S E are coupled at only one point and that the execution times of the operations executed on merged resources l = 1, make the condition of Theorem 2.2 a necessary and sufficient are (a) ti,l j = (b) tu,v one. In general practice, more complex situations are encountered, with elementary systems coupled at many points. A case like that is illustrated in Fig. 2.24. The figure shows two elementary structures, (a) S E, (b) S E, coupled as an effect of merging f resources, each of which is shared by two processes: (a) Pilq , (b) Pul q for q = 1 . . . f . As before, the resources are shared in compliance with the mutual exclusion protocol. Assuming also that the execution times of the operations executed l = 1, sought is a on shared resources are the same and equal to: (a) ti,l j = (b) tu,v

Fig. 2.24 A structure (c) S E obtained by coupling (a) S E, (b) S E at multiple points

2.3 Synthesis of Mesh-Like SCCMP Structures

85

condition for collision-free execution of the processes in accordance with the given schedules (a) X, (b) X. For such a condition to be formulated, it is necessary to introduce one more concept: • Distance between processes. Let (a) ΔPilq ,i g (and (b) ΔPul q ,u g ) denote the time (distance) between the start times of the operations of processes (a) Pilq and (a) Pilg of the elementary structure (a) S E (and between the corresponding processes (b) Pul q and (b) Pul g of structure (b) S E) executed on a shared resource. Assuming, for simplicity, that (a) ωilg ≥ (a) ωilq , the value of (a) ΔPilq ,i g is determined from the formula: (a)

ΔPilq ,i g = (a) ωilg − (a) ωilq .

(2.25)

For the given schedules (a) X, (b) X, the distances (a) ΔPilq ,i g , (b) ΔPul q ,u g between the processes, are constant in each system operation cycle. A change (e.g., a shift in time) of one of the operation start times (a) ωilq changes all other operation start times, as well. The time distance variable allows to generalize Theorem 2.2 to the following form. Theorem 2.3 If, for an SCCMP with structure (c) S E composed (in accordance with Fig. 2.24) of systems (a) S E and (b) S E (where (a) αl ≥ (b) αl ): (c) S E = (a) S E ⊕ (b) S E, the following conditions hold: l i. ϒa,b < (a) αl , { } (a) l ωi1 ∈ 0, . . . ,(a) αl − 1 , (a)

ωil2 =(a) ωil1 +(a) ΔPil1 ,i2 ; . . . ;(a) ωil f =(a) ωil f −1 +(a) ΔPilf ,i f −1 , { } (b) l ωu 1 ∈ 0, . . . ,(b) αl − 1 , (b)

ii.

ωul 2 =(b) ωul 1 +(b) ΔPul 1 ,u 2 ; . . . ;(b) ωul f =(a) ωul f −1 +(a) ΔPul f ,u f −1 , , (a) l (a) l α α (b) l ωu 1 /=(a) ωil1 + l × n,(b) ωul 2 /=(a) ωil2 + l × n, . . . , ϒa,b ϒa,b , . . . ,(b) ωul 1 /=(a) ωil1 +

(a) l

α ×n l ϒa,b

then a cyclic behavior with a period system.

(c) l

α = LC M

((a)

) αl , (b) αl is reachable in this

Proof Condition (i) follows directly from Theorem 2.2. Condition (ii) is a consequence of using formulas (2.23) and (2.24) for each pair of processes executed on merged resources. □ Unlike coupling of structures at one point, coupling at multiple points requires an additional condition (ii) to be met. According to this condition, processes sharing

86

2 Performance Modeling

merged resources should start their operations only at admissible times (given by formulas (2.23), (2.24)). Because a change of one operation start time changes all the others, it is not always possible to determine the admissible times. In this context, the problem of synthesis of coupled elementary structures is solved by assessing the existence of operation start times (a) ωil1 , (b) ωul 1 , for which condition (ii) of Theorem 2.3 holds. An example of coupling of elementary structures (a) S E, (b) S E at two points is shown in Fig. 2.25. In this example, processes use shared resources alternately (i.e., the processes of structure (b) S E are executed twice per one execution of the processes of structure (a) S E). The execution periods for these processes are: (a) αl = 9 u.t., (b) l α = 6 u.t. The occupancy of the cycle of the processes (a) Pil1 and (a) Pil2 is: (a) l l ϒa,b = ηl α × λ = 3 u.t. Thus, condition (i) of Theorem 2.3 holds. The distances a,b

between the processes in both structures are the same at: (a) ΔPil1 ,i2 = (b) ΔPul q ,u g = 3 u.t.—this means that the distance between the start times of processes (a) Pil1 , (a) Pil2 (and (b) Pul 1 , (b) Pul 2 , respectively) is 3 u.t. The adopted operation start times (a) ωil1 = 0 u.t., (b) ωul 1 = 1 u.t. meet condition (ii), i.e., the operations of the processes start in admissible moments, i.e., guaranteeing, that they occupy slots of window T W that are not marked with “×”. When conditions (i) and (ii) of Theorem 2.3 hold, the system of Fig. 2.25 executes its processes in a )collision-free (and deadlock-free) manner with the period (c) αl = ((a) l (b) LC M α , αl = 18 u.t. Theorem 2.3 was also used to synthesize the regular structure presented in Sect. 1.3—see the structure of Fig. 1.15—composed of the elementary structures shown in Fig. 1.16. A cyclic schedule (q) X(DC ) was determined for this structure. To this end, an operations digraph G P (2.3) was constructed for the structure (q) S E of Fig. 1.16 (i.e., with parameters defined in Sect. 1.3 and operation execution times equal to 1 u.t.); the digraph was later used to formulate the constraint satisfaction problem C S AN (2.15). The CSP was solved in the IBM ILOG environment. The first admissible solution to this problem (calculation time < 1 s) is shown in Fig. 2.26a. Figure 2.26a shows a schedule (q) X(DC ) for the execution of the processes of level P 1 and level P 2 . Level P 1 processes representing means of transport run their operations with a period α 1 = 8 u.t. In turn, level P 2 processes, which represent passengers, are executed serially in a pipeline mode with a period α 2 = 16 u.t. Such a schedule satisfies the conditions of Theorem 2.3. For all potential joining points, i.e., 0 0 0 0 • resources (q) o1,10 , (q) o1,11 , (q) o1,12 , (q) o1,13 of level P 1 processes, 1 1 1 1 • resources (q) o2,4 , (q) o4,2 , (q) o1,2 , (q) o3,4 of level P 2 processes, l the occupancy of the cycle is ϒa,b = 1 u.t., and the operation start times do not lead to a collision. This means that the coupling of the elementary structures (q) S E does not interfere with the schedules executed in these structures (q) X(DC ). To put it differently, a cyclic schedule X(DC ) representing the behavior of a regular SCCMP

2.3 Synthesis of Mesh-Like SCCMP Structures

87

Fig. 2.25 An example of a elementary structures (a) S E, (b) S E coupled at two points, and b a collision-free schedule for the execution of their processes on shared resources

(i.e., composed of elementary structures (q) S E) should be viewed as a combination of schedules (q) X (DC ) (for q = 1 . . . lc). The structure of an SCCMP structure can thus grow indefinitely, with new fragments taking the form of structure (q) S E being successively added to it (assuming that the processes are executed according to the schedule (q) X(DC )). To illustrate this process, regular systems consisting of one, two, and four (q) S E structures are shown in Figs. 2.27, 2.28 and 2.29. To simplify the presentation, the schedules X(DC ) reachable in these structures were limited only to the operations executed on resources used as joining points (see the example of Fig. 2.26b). As can be seen in each of the presented versions of the system, there are no collisions between processes sharing the resources representing joining points. The SCCMP discussed here is an example of a system for which it is enough to analyze (synthesize) its small part to assess the behavior of the whole. A procedure

88

2 Performance Modeling

Fig. 2.26 A cyclic schedule X(DC ) for the structure (q) S E in Fig. 1.16: a) full version, and b) a simplified version

2.3 Synthesis of Mesh-Like SCCMP Structures

89

Fig. 2.27 An SCCMP consisting of one elementary structure (q) S E

like this is much less computationally costly than the analysis (synthesis) of the entire structure. Of course, in each of the cases considered above, it was assumed that the operation execution times for the processes executed on merged resources equaled 1 u.t.—a situation that rarely occurs in practice. In [13] condition (i) of Theorem 2.2 was generalized to cover operation execution times of any given length. Theorem 2.4 If, for an SCCMP with structure (c) S E composed (in accordance with Fig. 2.21) of systems (a) S E and (b) S E:(c) S E = (a) S E ⊕(b) S E, the following condition is met: ( ) (a) l t pi + (b) t pul < GC D (a) αl , (b) αl , where: (a) t pil , (b) t pul are execution times of the operations executed on a merged resource, (a) αl , (b) αl are execution periods of processes (a) Pil , (b) Pul , GC D(a, b) is the greatest common divisor of a and b, then there exist start times (a) ωil and (b) ωul ((a) ωil /= (b) ωul ) of processes (a) Pil , (b) Pul , for which the system can reach a cyclic (i.e., collision-free) behavior with the period ) ( (c) l α = LC M (a) αl , (b) αl . Proof See [13].



To sum up, Theorems 2.2–2.4 can be used in seeking an answer to the following question: Can elementary structures of a given set SE (structures with known cyclic schedules (q) X(DC )) be combined in a way that allows the schedules of their behaviors not to “interfere” with each other? If a situation like this is possible, the addition

90

2 Performance Modeling

Fig. 2.28 An SCCMP consisting of two elementary structures (q) S E

of another element to the existing structure does not affect the execution of the processes already running in it. Such an assumption, however, is rarely fulfilled in practice. Typically, any new element does affect the behavior of the existing structure. Regular structures, in which the behaviors of the component elements influence one another, are synthesized using an approach based on so-called folded elementary structures (FES). An example of a “folded” form of the elementary structure (q) S E from Fig. 2.30b is shown in Fig. 2.30c. Henceforth, FES will be marked with the symbol “↔”, e.g., → ← → (q) ← S E . As can be noted, an FES (q) S E is created by merging selected resources of (q) the unfolded elementary structure S E. The choice of the resources to be merged in a FES is determined by the choice of the joining points between neighboring elementary structures.

2.3 Synthesis of Mesh-Like SCCMP Structures

Fig. 2.29 An SCCMP consisting of four elementary structures (q) S E

91

92

2 Performance Modeling

Fig. 2.30 a) An example of an SCCMP with a regular structure, b) an elementary structure (q) S E, ← → and c) a FES (q) S E

2.3 Synthesis of Mesh-Like SCCMP Structures

93

For instance, (q) S E of Fig. 2.30b is an elementary structure of the regular system shown in Fig. 2.30a. This system was created by multiple coupling of this structure at 0 0 , (q) 0 0 , (q) 0 0 , , (q) o1,2 , o1,9 , (q) o1,9 , o1,11 , (q) o1,11 . In the following points (resources):(q) o1,2 ← → (q) (q) 0 the FES S E constructed in this way, these resources are merged. Resource o1,2 0 , 0 0 , is merged with the resource (q) o1,2 , resource (q) o1,9 is merged with resource (q) o1,9 , etc. The resulting structure contains 12 resources—see Fig. 2.30c. The processes that share the merged resources are executed in compliance with the mutual exclusion protocol. This means that, if there exists a cyclic schedule for the execution of the ← → processes of structures (q) S E , the processes will be executed alternately on these resources. ← → In other words, if the processes of a given FES (q) S E are executed cyclically (in a collision-free and deadlock-free manner), then the processes of the SCCMP composed of unfolded forms of the elementary structures are also executed cyclically. This observation was formulated as Theorem 2.5: Theorem 2.5 Given is an SCCMP with a regular structure composed of elementary structures (q) S E of a given set SE ((q) S E ∈ SE). For structure (q) S E there exists its ← → FES (q) S E obtained as a result of merging resources from a resource set Φa,b . If a cyclic schedule of multimodal processes is reachable in the system with the structure → (q) ← S E , it is also reachable in the entire SCCMP. Proof The proof of the theorem follows from the assumption of cyclicity of both the ← → “folded” (q) S E and the “unfolded” (q) S E elementary structure and the way in which these types of structures are coupled. As already mentioned, elementary structures (q) S E are coupled at resources that are shared with neighboring structures (resources of set Φa,b ). Thus, mutual exclusion of processes on the resources of the set Φa,b ← → of the FES (q) S E leads to mutual exclusion of processes in the “unfolded” structure ← → (q) S E. This means that cyclic behavior of the processes of the structure (q) S E is transferred to the structure (q) S E and then to the whole SCCMP composed of such structures. □ In the context of Theorem 2.5, the problem of synthesis of structures of regular ← → systems can be reduced to the synthesis of an FES (q) S E . A method that allows to solve this type of problem is shown in Fig. 2.31. According to this method, to synthesize the structure SC of a regular system, one must first determine its elemen← → tary structure (q) S E. Next, an FES (q) S E is constructed for the structure (q) S E obtained in this way. Then, an operations digraph G P (2.3) representing the rela← → tionships between the operations of the processes of the FES (q) S E is generated. The operations digraph makes it possible to formulate the synthesis problem under consideration as a constraint satisfaction problem C SSY N (2.19). The solution to this ← → problem (if there is one) defines the parameters of the FES (dispatching rules (q) Θ l ) ← → that guarantee the reachability of cyclic behavior (i.e., a cyclic schedule (q) X (DC )) in the system.

94

Fig. 2.31 System synthesis method with regular structure

2 Performance Modeling

2.3 Synthesis of Mesh-Like SCCMP Structures

Fig. 2.32 a) FES structure

→ (q) ← SE,

and b) a cyclic schedule

95

→ (q) ← X (DC )

of the behavior reachable in this

A schedule X(DC ) for the execution of the processes of the entire system is obtained by multiple compounding of the schedule (q) X(DC ) (for q = 1 . . . lc) of ← → the “unfolded” elementary structure (q) S E (i.e., a schedule (q) X (DC ) for a structure in which the previously merged resources of set Φa,b have been “decoupled”). This approach was used to synthesize the structure of the system shown in ← → Fig. 2.30a. For the FES (q) S E (see Fig. 2.30c), an operations digraph G P (2.3) was constructed, for which the problem C SSY N (2.19) was formulated. The CSP was implemented and solved in the IBM ILOG environment. The cyclic schedule → (q) ← X (DC ) obtained as a result is shown in Fig. 2.32. The dispatching rules synchronizing access to shared resources have the following form: (q)

1 σ1,1 =

((q)

) ) ) ( ( 1 1 P11 , (q) P31 , (q) σ1,2 = (q) P41 , (q) P11 , . . . , (q) σ1,12 = (q) P31 , (q) P61 .

← → Next, the schedule (q) X (DC ) was unfolded into the form (q) X(DC ) shown in Fig. 2.33. This is an execution schedule for the processes of the elementary structure (q) S E, which can be replicated multiple times (coupled to the structure SC) without the risk of giving rise to collisions and/or deadlocks. According to the schedule (q) X(DC ), both level P 1 and level P 2 processes are executed with the period (q) α 1 = (q) 2 α = 7 u.t. The process execution times P 2 are 11 u.t. and 7 u.t., respectively. The concept of FES has been used numerous times in the synthesis of transport systems, both external (city transport systems) and in-plant (e.g., AGV systems or milk-run systems) [22, 25, 28–33].

96

Fig. 2.33 a) An elementary structure structure

2 Performance Modeling

(q) S E,

and b) a cyclic schedule X(DC ) reachable in this

2.3 Synthesis of Mesh-Like SCCMP Structures

97

Fig. 2.34 a) An example of three elementary structures, and b) their folded representations [25]

These structures can take different forms—see Fig. 2.34. The examples of systems discussed so far have consisted of one type of elementary structure (repeated multiple times)—these are the so-called homogeneous regular systems. In the general case, a given structure may consist of a “mosaic” of different elementary structures—socalled inhomogeneous regular systems. An example is shown in Fig. 2.35a, in which the structure of the SCCMP is composed of two types of elementary structures (a) S E ← → and (b) S E (Fig. 2.35b). These structures have one extended FES (ab) S E (Fig. 2.35c). The proposed procedure corresponds to the “divide-and-conquer” method. Breaking down a system into sufficiently small substructures makes it possible to significantly reduce the search space (before the application of constraint programming techniques) and thus shorten the computation time. This means that the range ← → of application of the proposed approach is determined by the size of the FES (q) S E being synthesized. In accordance with Fig. 2.20, the number of shared resources L D P found in these structures should not exceed 40. As in the case of the previously discussed conditions (Theorems 2.3 and 2.4), the condition of cyclic execution of processes in folded structures (Theorem 2.5) should be treated as a sufficient condition for the existence of cyclic behaviors in an SCCMP composed of such structures. In practice, this means that failure to meet these conditions does not necessarily mean that a system cannot display cyclic behaviors.

98

2 Performance Modeling

Fig. 2.35 An example of a) an SCCMP consisting of different elementary structures, b) the elementary structures used to construct this SCCMP: (a) SC and (b) SC, and c) a FES (ab) SC [34]

To sum up, the decomposition of a given structure of a regular system significantly shortens the computation time at the expense of reducing the space of admissible solutions.

2.4 Notes In this chapter, a declarative model of an SCCMP was proposed that allows a distinction to be made between the system’s structure SC and the state space P representing the behaviors reachable in the system. The state space consists of behavior digraphs (whirlpools and trees) representing the states (system behaviors) that lead either to a deadlock or a cyclic steady state. The multi-level character of the structure SC is also reflected in the definitions of the system’s state and state space P. In an SCCMP model defined in this way, three basic problems can be formulated: • The problem of SCCMP behavior analysis associated with the question: Does there exist, in an SCCMP with a given structure, a behavior that meets given expectations (e.g., is a cyclic steady state reachable in this system)? • The problem of SCCMP structure synthesis associated with the question: Is there a structure that ensures the expected behavior of SCCMP? • The problem of mutual reachability of SCCMP behaviors associated with the question: Do there exist structure parameters that can be changed to allow the system to shift from the current cyclic steady state to another?

2.4 Notes

99

This chapter has presented methods for solving the first two of the above problems (behavior analysis and structure synthesis). These methods are declarative, which means that a problem is expressed in them as a constraint satisfaction problem (i.e., given by a set of variables, domains, and constraints). Being declarative, they can be implemented using commercially available constraint programming environments (IBM ILOG, ECLiPSe , Gurobi, etc.). The first of the proposed methods makes it possible to assess the behavior of a system (seen as an analysis problem) by testing for the existence of cyclic schedules. The existence of a cyclic schedule X(DC ) is conditioned by the consistency (noncontradiction) of constraints (2.4)–(2.10), which are determined by an operations digraph G P. Such a digraph represents resource utilization relationships, precedence relationships, and operation exclusion relationships that are defined by the system’s structure SC. In contrast to some previous approaches [2], an operations digraph G P, as proposed in this monograph, allows relations between operations of all levels of multimodal processes to be considered simultaneously. The consistency of constraints is verified by solving the constraint satisfaction problem (2.14) C S AN . Determining cyclic schedules X(DC ) for systems with a known structure SC (finding a solution to the problem C S AN (2.14) is a task of linear computational complexity. The method of representing problems in the form of operations digraphs G P can be used in solving problems of synthesis of structures SC (these problems are limited to the synthesis of dispatching rules). To allow digraph G P to be used in that way, it has been supplemented with additional relationships describing the order of access to shared resources following from the structure of the sought dispatching rules (constraints (2.16)–(2.17)). In this approach, to solve a problem of synthesis of a system structure SC, one only needs to solve the constraint satisfaction problem C SSY N (2.19). However, the introduction of additional constraints that allow taking into account different permutations of the elements of the dispatching rules leads to an exponential increase in the size of the search space. A search through potential permutations of the elements defining dispatching rules is thus characterized by exponential computational complexity. The experiments reported here indicate that the practical application of this method is limited to systems with the number of shared resources not exceeding 40. For the synthesis of the structures of larger scale systems, a system decomposition method was proposed. The discussion was limited, however, to regular systems consisting of identical elementary structures. The approach proposed here assumes that known is a set of elementary structures SE comprising an SCCMP and known are the joining points at which they are coupled. The problem under consideration comes down to determining the conditions that the coupled structures should meet in order for the resulting system to reach cyclic behavior. In this chapter, two approaches have been proposed, based on: • The conditions for coupling a pair of substructures at one and/or multiple points (corresponding to shared resources). • The synthesis of so-called FES.

100

2 Performance Modeling

The first approach uses the specific properties of the coupled structures, which have been formulated as Theorems 2.2–2.4. The fulfillment of the conditions set in them guarantees that the schedules (a) X and (b) X of the coupled substructures remain unchanged (processes are run alternately on shared resources). However, this approach has a limited scope of application. In practice, the given conditions are very rarely met. The other approach allows one to determine the behavior of the resulting structure ← → based on the cyclic schedule reachable in an FES (q) S E . This approach uses the ← → following property: if the processes of a given FES (q) S E are executed in a cyclic manner, then the execution of the processes of the entire SCCMP (composed of such structures) is also cyclic (Theorem 2.5). The cyclic schedule of an SCCMP is therefore a combination of the schedules of coupled (unfolded) elementary structures. The examples provided in this chapter show that the use of decomposition makes it possible to significantly reduce the search space and thus increase the efficiency of the proposed methods. The scope of their application (as well as the efficiency of the calculations related to them) is limited to SCCMP in which FES do not contain more than 40 shared resources. In the next chapter, the methods presented here are extended to the problem of mutual reachability of cyclic steady states.

References 1. Banaszak, Z.: Declarative modeling for multimodal processes driven distribution networks. In: Kijima, K., Iijima, J., Sato, R., et al. (eds.) Systems Research I. Translational Systems Sciences, pp. 191–219. Springer, Singapore (2022) 2. Bocewicz, G., Muszy´nski, W., Banaszak, Z.: Models of multimodal networks and transport processes. Bull. Pol. Acad. Sci. Tech. Sci. 63, 635–650 (2015). https://doi.org/10.1515/bpasts2015-0075 3. Bocewicz, G., Wójcik, R., Banaszak, Z.: Cyclic scheduling for supply chain network. In: Trends in Practical Applications of Agents and Multiagent Systems. Advances in Intelligent and Soft Computing, pp. 39–47 (2012b) 4. Bocewicz, G., Wójcik, R., Banaszak, Z.A.: Cyclic steady state refinement. In: Abraham, A., Corchado, J.M., González, S.R., Santana, J.F. (eds.) International Symposium on Distributed Computing and Artificial Intelligence. Advances in Intelligent and Soft Computing, pp. 191– 198 (2011) 5. Majdzik, P., Wójcik, R., Banaszak, Z.: An automatic synthesis of performance models for systems of concurrent cyclic processes. In: Proceedings of the International Conference on Systems Science, pp. 281–292 (2004) 6. Wójcik, R., Bocewicz, G., Banaszak, Z.: Knowledge engineering approach to concurrently competng cyclic processes control. In: 3rd International IEEE Conference Intelligent Systems, pp. 77–82 (2006) 7. Bocewicz, G., Nielsen, P., Banaszak, Z.A., Dang, V.Q.: Cyclic steady state refinement: Multimodal processes perspective. In: Frick, J.L.B.T. (ed.) Advances in Production Management Systems. Value Networks: Innovation, Technologies, and Management. APMS 2011. IFIP Advances in Information and Communication Technology, pp. 18–26 (2012a) 8. Bocewicz, G., Wójcik, R., Banaszak, Z.: Reachability modeling for multimodal networks prototyping. In: Omatu, S., Bersini, H., Corchado, J., et al. (eds.) Distributed Computing and Artificial

References

9.

10.

11.

12.

13.

14.

15.

16. 17. 18. 19.

20.

21.

22.

23.

24.

25.

101

Intelligence, 11th International Conference. Advances in Intelligent Systems and Computing, pp. 1–9 (2014c) Bocewicz, G., Wójcik, R., Banaszak, Z.A.: Reachability of cyclic steady states space: Declarative modeling approach. In: Nguyen, N.T., Hoang, K., J¸edrzejowicz, P. (eds.) Computational Collective Intelligence. Technologies and Applications. ICCCI 2012. Lecture Notes in Computer Science, pp. 233–243 (2012c) Bocewicz, G., Banaszak, Z.A.: Declarative approach to cyclic steady state space refinement: periodic process scheduling. Int. J. Adv. Manuf. Technol. 67, 137–155 (2013). https://doi.org/ 10.1007/s00170-013-4760-0 Bocewicz, G., Banaszak, Z., Pawlewski, P.: Cyclic steady state space refinement. In: Szewczyk, R., Zieli´nski, C.K.M. (eds.) Recent Advances in Automation, Robotics and Measuring Techniques. Advances in Intelligent Systems and Computing, pp. 11–22 (2014a) Bocewicz, G., Nielsen, P., Banaszak, Z.: Declarative modeling of a milk-run vehicle routing ´ atek, J., Borzemski, L., problem for split and merge supply streams scheduling. In: Swi˛ Wilimowska, Z. (eds.) Information Systems Architecture and Technology: Proceedings of 39th International Conference on Information Systems Architecture and Technology—ISAT 2018. Advances in Intelligent Systems and Computing, pp. 157–172 (2019c) Wójcik, R., Pempera, J., Bocewicz, G., Banaszak, Z.: The no-wait cyclic scheduling of delivery traffic in the grid distribution network. ISA Trans. 131, 282–298 (2022). https://doi.org/10.1016/ J.ISATRA.2022.05.031 Bocewicz, G., Banaszak, Z.A.: Declarative approach to cyclic scheduling of multimodal processes. In: Golinska, P. (ed.) EcoProduction and Logistics, pp. 203–235. Springer, Berlin, Heidelberg (2013) Bozejko, W., Pempera, J., Smutnicki, C., Wodecki, M.: Cyclic scheduling in the manufacturing cell. Stud. Syst. Decis. Control 241, 49–62 (2020). https://doi.org/10.1007/978-3-03027652-2_3 Brucker, P., Kampmeyer, T.: Tabu search algorithms for cyclic machine scheduling problems. J. Sched. 8, 303–322 (2005). https://doi.org/10.1007/S10951-005-1639-4 Kampmeyer, T.: Cyclic scheduling problems. Fachbereich Mathematik/Informatik Universitat Osnabruck (2006) Pempera, J., Smutnicki, C.: Open shop cyclic scheduling. Eur. J. Oper. Res. 269, 773–781 (2018). https://doi.org/10.1016/J.EJOR.2018.02.021 Smutnicki, C.: Landscape imaging of the discrete solution space. In: Zamojski, W., Mazurkiewicz, J., Sugier, J., et al. (eds.) Theory and Applications of Dependable Computer Systems. DepCoS-RELCOMEX 2020. Advances in Intelligent Systems and Computing, pp. 565–574. Springer (2020) Smutnicki, C.: Cyclic scheduling of lots with setup times. In: 2019 24th International Conference on Methods and Models in Automation and Robotics, MMAR 2019, pp. 164–169 (2019). https://doi.org/10.1109/MMAR.2019.8864627 Bocewicz, G., Bozejko, W., Wójcik, R., Banaszak, Z.: Milk-run routing and scheduling subject to a trade-off between vehicle fleet size and storage capacity. Manag. Prod. Eng. Rev. 10, 41–53 (2019b). https://doi.org/10.24425/mper.2019.129597 Bocewicz, G., Janardhanan, M.N., Krenczyk, D., Banaszak, Z.: Traffic flow routing and scheduling in a food supply network. Ind. Manag. Data Syst. 117, 1972–1994 (2017). https:// doi.org/10.1108/IMDS-10-2016-0457 Bocewicz, G., Nielsen, I., Banaszak, Z., Majdzik, P.: A cyclic scheduling approach to maintaining production flow robustness. Adv. Mech. Eng. 10 (2018b). https://doi.org/10.1177/168 7814017746245 Bocewicz, G., Nielsen, P., Zbigniew, B.: Milk-run routing and scheduling subject to different pick-up/delivery profiles and congestion-avoidance constraints. IFAC-PapersOnLine 52, 313– 320 (2019). https://doi.org/10.1016/j.ifacol.2019.08.089 Bocewicz, G., Wójcik, R., Banaszak, Z.: Designing mass-customized service subject to public ´ atek, J., Tomczak, J. (eds.) Advances in Systems Science. grid-like network constraints. In: Swi˛ ICSS 2016. Advances in Intelligent Systems and Computing, pp. 221–231 (2017e)

102

2 Performance Modeling

26. Thibbotuwawa, A., Bocewicz, G., Radzki, G., et al.: UAV mission planning resistant to weather uncertainty. Sensors (Switzerland) 20 (2020). https://doi.org/10.3390/s20020515 27. Bocewicz, G., Nielsen, I., Gola, A., Banaszak, Z.: Reference model of milk-run traffic systems prototyping. Int. J. Prod. Res. 59, 4495–4512 (2021c). https://doi.org/10.1080/00207543.2020. 1766717 28. Bocewicz, G., Banaszak, Z.: Designing mass-customized network of passenger services subject to grid topology constraints. In: Szewczyk, R., Zieli´nski, C., Kaliczy´nska, M. (eds.) Automation 2017. ICA 2017. Advances in Intelligent Systems and Computing, pp. 120–131 (2017) 29. Bocewicz, G., Banaszak, Z., Krenczyk, D.: Heterogeneous fleet vehicle routing and scheduling subject to mesh-like route layout constraints. In: Graña, M., López-Guede, J., Etxaniz, O., et al. (eds.) International Joint Conference SOCO’16-CISIS’16-ICEUTE’16. Advances in Intelligent Systems and Computing, pp. 435–444 (2017a) 30. Bocewicz, G., Banaszak, Z., Nielsen, I.: Delivery-flow routing and scheduling subject to constraints imposed by vehicle flows in fractal-like networks. Arch. Control Sci. 27 (2017b). https://doi.org/10.1515/acsc-2017-0008 31. Bocewicz, G., Banaszak, Z., Nielsen, I.: Reduction of congestion in transport networks ´ atek, J., Wilimowska, Z., Borzemski, L.G.A. (eds.) Inforwith a fractal structure. In: Swi˛ mation Systems Architecture and Technology: Proceedings of 37th International Conference on Information Systems Architecture and Technology—ISAT 2016—Part III, pp. 189–201 (2017c) 32. Bocewicz, G., Banaszak, Z., Pawlewski, P.: Multimodal cyclic processes scheduling in fractal structure networks environment. IFAC Proceedings Volumes (IFAC-PapersOnline) 47, 8939– 8946 (2014b). https://doi.org/10.3182/20140824-6-za-1003.01524 33. Bocewicz, G., Jardzioch, A., Banaszak, Z.: Modelling and performance evaluation of fractal topology streets network. In: Omatu, S., Semalat, A., Bocewicz, G., et al. (eds.) Distributed Computing and Artificial Intelligence, 13th International Conference. Advances in Intelligent Systems and Computing, pp. 483–494 (2016b) 34. Bocewicz, G., Nielsen, I., Smutnicki, C., Banaszak, Z.: Towards the leveling of multi-product batch production flows. A multimodal networks perspective. IFAC-PapersOnLine 51, 1434– 1441 (2018). https://doi.org/10.1016/j.ifacol.2018.08.313

Chapter 3

Cyclic Steady States Reachability

3.1 Reachability Conditions The adoption of structure SC and behavior P as the basic components of the declarative model of an SCCMP allows one to consider problems focused on the existence of cyclic system behaviors (i.e., an analysis problem) and search for the values of structure parameters guaranteeing such behaviors (i.e., a synthesis problem). Assuming that the behavior of a system with structure SC is expressed by the state space P, one surmises that, at the same time that the behavior (i.e., a cyclic steady state or a deadlock state) is reached, it cannot be changed. From this perspective, the issue of mutual reachability of cyclic behaviors becomes an interesting point to consider. While limiting further discussion to behaviors involving sets of cyclic steady states DC represented by whirlpools W (DC ) (see Sect. 2.1), we will be looking for answers inspired by the following questions: • What conditions must be met for the sought cyclic behavior (j-th cyclic states DC,j ) to be reachable from the given cyclic behavior (i-th cyclic states DC,i )? • What conditions must be met for the sought cyclic behavior (j-th cyclic states DC,j ) to be reachable from the given cyclic behavior (i-th cyclic states DC,i ) without a transient period? • Etc.

steady steady steady steady

These types of questions are related to the problem of mutual reachability of SCCMP behaviors (cyclic steady states). Assuming that in a system with a given structure SC, many cyclic behaviors are reachable (creating the state space W and corresponding with it the set DC of cyclic state states—see Sect. 2.1), this problem boils down to the following question: What conditions must be met to ensure transition between selected cyclic behaviors of the system? The possibility of changing a cyclic steady state, and thus changing a schedule while it is being executed, can be viewed in terms of a re-scheduling problem [1–6].

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 G. Bocewicz, Declarative Models of Concurrent Cyclic Processes, Studies in Systems, Decision and Control 438, https://doi.org/10.1007/978-3-031-40552-5_3

103

104

3 Cyclic Steady States Reachability

In this approach, the conditions sought may guarantee the existence of either a direct or an indirect transition between given instances of cyclic behavior. As discussed before, the behaviors reachable in an SCCMP can be expressed using various )representations. Cyclic behaviors can be represented with a cyclic schedule ( X (DC,i )(2.11) or a cyclic steady state DC,i ∈ DC that corresponds with a whirlpool W DC,i ⊑ W, (A ⊑B, meaning A is a subgraph of (B). These representations are ) equivalent (see Fig. 2.14). Every cyclic schedule X DC,i corresponds to a cyclic steady state DC,i (and, )vice versa, every cyclic steady state DC,i corresponds to a cyclic schedule X DC,i . In the present context, the problem of mutual reachability of cyclic behaviors (or the problem of re-scheduling of cyclic steady states) concerns( the mutual reachability ) of cyclic steady-states DC,i or corresponding schedules X DC,i . The approaches developed so far to solve this type of problem [7, 8] use a representation based on a state description, in which a behavior is identified with a cyclic steady state DC,i . The shows two cyclic general idea of this approach is illustrated in( Fig.)3.1. (This figure ) behaviors represented by the whirlpools W DC,1 , W DC,2 ⊑ W . The whirlpools lead to two cyclic steady states: DC,1 , DC,2 ∈ DC. The reachability of cyclic steady state DC,2 from cyclic steady state DC,1 is understood as the possibility of: • A direct transition from one of the component states of cyclic steady state DC,1 to one of the states of cyclic steady state DC,2 . • An indirect transition from one of the component ( ) states of cyclic steady state DC,1 to a component state of the whirlpool W DC,2 leading to DC,2 . The problem of mutual reachability of cyclic steady states is thus defined as follows: Given is an SCCMP with structure SC whose behavior is described by the state space P. The state space contains two cyclic steady states DC,1 and DC,2 . Are the cyclic steady states DC,1 , and DC,2 mutually reachable (Fig. 3.1)? And,

Fig. 3.1 Mutual reachability of cyclic steady states DC,1 and DC,2

3.1 Reachability Conditions

105

more precisely: what conditions must be met for there to exist indirect and/or direct transitions between these cyclic steady states? In the example provided in Fig. 3.1, the indirect transition is simply a change from cyclic steady state DC,1 to cyclic steady state DC,2 , which is the result of a transition , from component state S r to the transient period DT ,2 , leading to state DC,2 . On the other hand, the direct transition consists in changing the cyclic steady state DC,2 to cyclic steady state DC,1 in component state S r . It is easy to see that the transitions are conditioned by the existence of the compor r, is at the same time an element of the behavior digraphs nent ( state ) S (or(S ), which ) W DC,1 and W DC,1 (i.e., whirlpools that include the component states of the cyclic steady states DC,1 and DC,2 ). In other words, in cases where DC,1 and DC,2 can be reached directly, the following transitions between component states are required: ) ) ( ) ( ( ∃S e ∈ V DC,1 , ∃S r ∈ V DC,2 , S e → ... → S r → ... → S e , ) ) ( ) ( ( ∃S f ∈ V DC,2 , ∃S r ∈ V DC,1 , S f → . . . → S r → . . . → S f ,

(3.1) (3.2)

) ( where V DC,i is a set of component states of a cyclic steady state DC,i . Transitions of this type are inadmissible because the existence of a component state S r , which is simultaneously part of two behavior digraphs, is inconsistent with the property that each state should have no more than one child (see Sect. 2.1). While ( it is) impossible ( ) for two DC,1 and DC,2 to share the same component states (i.e., V DC,1 ∩ V DC,2 = ∅), they may share some of the same elements describing them (allocations, semaphore sequences, index sequences). , In practice, it is assumed that the component states (S r , S r of Fig. 3.1), which enable the transition between the system’s cyclic steady states, have the same allocation of processes on resources. This means that the change between steady states can be achieved by changing the parameters of the structure SC that modify the operation of dispatching rules. The conditions sought to guarantee transitions between selected behaviors are determined in the process of analyzing the component states of cyclic steady states and whirlpools. Component states with a common allocation can therefore be used to transition between different cyclic steady states (direct and indirect transitions). Let component states S e and S f differ only in their semaphore and index sequences. If, in component state S e with allocation Al,e (allocation of level l = 1 . . . lp processes), the form of semaphores Z l,e and indexes Φl,e changes, e.g., Z l,f and Φl,f are used in their place, then state S f obtained as an effect of this change will lead to a different (usually new) cyclic steady state. This means that the modification of component state S e into S f , which consists in replacing elements of the semaphore sequence Z l,e and the index sequence Φl,e with Z l,f and Φl,f , respectively, makes possible a transition between cyclic steady states of space P. In practice, this type of transition involves a change in the control method used (i.e., dispatching rules, elements of semaphore and/or index sequences) made at moments corresponding to component states with common allocations of processes.

106

3 Cyclic Steady States Reachability

This means that to change the behavior of a system, one needs to change the parameters of its structure. However, it is not necessary to halt the entire system to make an appropriate change in the allocation of processes (e.g., a change in the position of self-propelled trucks, trains). Alternatively stated, a transition between cyclic steady states can take place while processes are running. In summary, a transition between two cyclic steady states DC,1 and DC,2 can be made if these flows (or the transient periods leading to them) include component states with a common allocation of multimodal processes on the resources used. This observation leads to the following theorem: ) )) ( ( ( e f Theorem(3.1( If there )) exist component states S ∈ V( DC,1) and S ∈ V W DC,2 (where:V W DC,2 —a set of states of whirlpool W DC,2 ), which have a common allocation of processes on resources (for each level P l ): Al,e = Al,f for l = 1 . . . lp, then cyclic steady state DC,2 is reachable from DC,1 , which is denoted as: DC,1 → DC,2 . Proof The proof follows directly from the discussion above. In accordance with what was said before, common allocation of the processes of two component states S e , S f ∈ S, which are admissible in a given structure, means that when elements of the sequences of semaphores Z l,e and indexes Φl,e change to Z l,f and Φl,f , respectively, component state S e will change into S f . If these component ) belong( to((or lead )) ( states to) two different cyclic steady states DC,1 , DC,2 : S e ∈ V DC,1 , S f ∈ V W DC,2 , then the change of component state S e to S f ( S e → S f ) will result in a change of cyclic steady state DC,1 to DC,2 . In other words, cyclic steady state DC,2 is reachable □ from DC,1 . Two cyclic steady states DC,1 and DC,2 are said to be mutually reachable (which is denoted as DC,1 ↔ DC,2 ) if DC,1 → DC,2 and DC,2 → DC,1 . If so, then the problem of reachability of cyclic steady states can be solved ( by) e S ∈ V DC,1 answering the following question: Do there exist component states )) ( ( and S f ∈ V W DC,2 that share the same allocations: Al,e = Al,f for l = 1 . . . lp? If such component states do exist, then the transition between them (and, by the same token, the transition between cyclic steady states DC,1 and DC,2 ) involves changing the relevant elements of the semaphore sequence and the relevant index values. The formal definition of this type of transition is presented below. Given are the component states (2.1) of an SCCMP: S e /= S f , S e , S f ∈ S. Component state Se is reachable from component state Sf as an effect of a change of elements of semaphore and index sequences (hereinafter denoted as: S e → S f ) if these component states share the same allocations at each behavior level Al,e = Al,f for l = 1 . . . lp. More specifically, this means that a direct transition is defined as ) ( ... → S e1 → S e2 → ... → S e(r−1) → S er →S fr → S f(r+1) → ..., and an indirect transition as

(3.3)

3.1 Reachability Conditions

) ( ... → S e1 → ... → S er →S dr → ... → S dld → S fj → S f(j+1) ...,

107

(3.4)

where: ) ( • S e1 , . . . , S er , . . . , S ela are component states of flow DC,1 , S er ∈ V( DC,1) . • S f1 , . . . , S fr , . . . , S flb are component states of flow DC,2 , S fr ∈ V DC,2 . • S d1 , . . . , S dr , .(. . ,(S dlb are )) component states of the transient period DT leading to DC,2 , S dr ∈ V W DC,2 . • S e1 → S e2 is transition between component states in accordance with the assumed transition function δ(S e ). • S er , S fr are component states with a common allocation, Al,er = Al,fr for l = 1 . . . lp. • S εr →S fr is transition from component state S er to S fr effected by a change of elements of semaphore and index sequences from:Z l,er , Φl,er to Z l,fr , Φl,fr . A transition between cyclic steady states is shown using the system in Fig. 3.2a as an example. This system has three levels of multimodal processes: P 0 , P 1 , and P 2 . Level P 2 contains two multimodal processes P12 (red color) and P22 (blue color). They are processes executed serially in a pipeline mode (open routes) using level P 1 processes. Operations of the processes P12 and P22 can be executed simultaneously since it has been assumed that the capacity of the shared resources (operations o11,1 , ( ) ( ) o11,2 , o11,3 , o12,1 , o12,2 ,o11,3 , o13,1 , o13,3 ) is C o11,1 = . . . = C o13,3 = 2. Level P 1 , in turn, consists of three processes: P11 , P21 , P31 , which are executed using the operations from level P 0 : o01,1 − o01,6 , of which operations: o01,1 , o01,3 , o01,5 are shared by the following ( ) ( ) ( ) pairs of processes: P11 , P21 , P21 , P31 , P11 , P31 , respectively. Two cyclic behaviors are reachable in this system (they are represented by the schedules shown in Fig. 3.2b and c—the first starts from the state S 1 and the second from S 8 ) depending on the dispatching rules one adopts: ( ( ( ) 0 ) 0 ) 0 • For rules σ1,1 = P21 , P31 , σ1,3 = P11 , P21 , σ1,5 = P11 , P31 cyclic behavior with a period α 1 = α 2(= 7 u.t. in )the system—Fig. ( ( ) is 0reachable )3.2b. 0 0 • For rules σ1,1 = P21 , P31 , σ1,3 = P21 , P11 , σ1,5 = P11 , P31 cyclic behavior with a period α 1 = α 2 = 5 u.t. is reachable in the system—Fig. 3.2c. The variants of the dispatching rules shown above differ from each other only in the order in which the processes access resource o01,3 . This slight difference between the structure parameters, however, results ( in a) large difference in the behavior of the 0 = P11 , P21 ), the processes of both level P 1 and SCCMP. In the first variant (σ1,3 level P 2 run their operations cyclically with a period α 1 = α 2 = 7 u.t. The execution times of the processes( P12 and) P22 are 10 u.t. and 18 u.t., respectively. In the second 0 variant (when σ1,3 = P21 , P11 ), the process execution time is shorter at α 1 = α 2 = 5 u.t. This also results in shorter execution times of processes P12 and P22 : 9 u.t. and 10 u.t. Figure 3.3 shows the state space P for the SCCMP of Fig. 3.2a. It contains two whirlpools leading to the cyclic steady states DC,1 and DC,2 , and three trees Tr(S ∗ ),

108

3 Cyclic Steady States Reachability

Fig. reachable in this system, b) schedule ( 3.2) a) An example of an SCCMP and the cyclic schedules ( ) X DC,1 with period α 1 = α 2 = 7 u.t., and c schedule X DC,2 with α 1 = α 2 = 5 u.t ∗∗∗ Tr(S ∗∗ ), Tr(S ∗∗∗ ) leading to deadlocks: (S ∗ , S ∗∗ steady states DC,1 ) , S .( The cyclic ) and DC,2 correspond to the schedules X DC,1 and X DC,2 of Fig. 3.2b and c. Adopting such a representation of SCCMP behaviors, one can assess the mutual reachability of the cyclic steady states DC,1 and DC,2 . As it is easy to notice, these cyclic steady states have component states with a common allocation of multimodal processes. They are the states S 5 (i.e., component state of the cyclic steady state DC,1 ) and S 9 (i.e., component state of the cyclic steady state DC,2 ) in which:

• processes P11 , P21 , P31 (level P 1 ) hold processes o01,4 , o01,3 , o01,6 , respectively, and • processes P12 and P22 (level P 2 ) hold processes o12,2 , o11,1 , respectively.

3.1 Reachability Conditions

109

Fig. 3.3 The state space P for the SCCMP in Fig. 3.2a

In accordance with Theorem 3.1, these component states can be used as transition points during which the system can shift (change its behavior) from DC,1 to DC,2 . To change the behavior of the system in this way, it is necessary( to change ) the parameters 0 = P21 , P11 and the values of of its structure, which boils down to changing rule σ1,3 semaphore and index sequence elements determined by this rule. In the case under consideration, in component state S 5 , the semaphore and index sequences: ) ( Z 1,5 = P31 , P21 , P11 , P11 , P31 , P31 , Φ1,5 = (2, 1, 2, 1, 2, 1), should be changed to the following: ) ( Z 1,9 = P21 , P21 , P11 , P11 , P31 , P31 , Φ1,9 = (1, 1, 2, 1, 2, 1). As a result, component state S 5 will change into component state S 9 : S 5 → S 9 , making it possible to reach the cyclic steady state DC,2 . An example of such a situation is presented in Fig. 3.4. The figure shows a schedule (until for the execution of the processes of the system shown in Fig. 3.2a. Initially, ) ( the time of t = 11 u.t.), the system is running according to schedule X DC,1 . At time t = 11 u.t., it reaches component state S 5 (the system’s second operation cycle). In this component state, the dispatching rules for resource o01,3 have been changed ) ) ( ( 0 0 = P11 , P21 to σ1,3 = P21 , P11 , and the semaphore sequence Z 1,5 and the from σ1,3 index sequence Φ1,5 were replaced with Z 1,9 and Φ1,9 , respectively. In (this way, ) until the time of t = 11 u.t., the system is running according to schedule X DC,2 . The example in Fig. 3.4 shows a direct transition between the cyclic steady states DC,1 and DC,2 . The transition takes place without the need to halt the system. It is also worth noting that this transition is symmetric, i.e., component states S 9 and S 5

110

3 Cyclic Steady States Reachability

Fig. 3.4 Transition between the cyclic steady states DC,1 and DC,2 using component states with a common allocation of the processes S 5 and S 9

can be used to change cyclic steady state DC,2 to DC,1 . Cyclic steady states DC,1 and DC,2 are therefore mutually reachable: DC,1 ↔ DC,2 . The possibility of changing the behavior of a system without having to halt it has great practical importance [3, 9–14]. In transport, production, telecommunications systems and many others, it is often necessary to change the behavior of the system, e.g., change the timetable, change the production flow, or accommodate new orders or failures while the system is running. In such systems, processes cannot simply be halted. According to the present approach, a change in the behavior of a system can be made “smoothly” if there exist system component states in which all multimodal processes are allocated on the same resources. To find such component states, however, one needs to know the state space P. In a situation when cyclic steady states DC,1 and DC,2 (and the transient periods leading to them) are known, component states with a common allocation can be determined

3.1 Reachability Conditions

111

by reviewing all pairs of( component admissible within these steady states, ) ( states ( )) i.e., elements of the set V DC,1 × V W DC,2 . An algorithm for determining such states is shown in Fig. 3.5. ( ) The algorithm yields a set RS of pairs of component (states) S e , S f ( , which ) have the same allocations of multimodal processes: RS ⊆ V DC,1 × VW DC,2 . These component states can be used for direct or indirect transitions between the cyclic steady states DC1 and DC2 . Assuming, for simplicity’s sake, that only direct transitions are considered, and that the cyclic steady states have the same numbers of component states (denoted by ld ), the computational complexity of( the) algorithm shown in Fig. 3.5 can be given by the quadratic function f (ld ) = O ld 2 . The algorithm makes it possible to assess the mutual reachability of only two selected cyclic steady states DC,1 , DC,2 ∈ DC (DC is the set of all cyclic steady states of space W—see Sect. 2.1). To test the mutual reachability of all steady states of set DC, it is enough to evaluate the reachability of each pair from this set. computational complexity of this type of procedure is: f (ld , dc) = ( The ) 1 2 2 |DC|). dc − dc × ld (dc = 2 The algorithm for determining component states with common allocations was used to assess the reachability of behaviors in the system of Fig. 3.6a. The system shown in the figure has three levels of multimodal processes: P 0 , P 1 , and P 2 . Level P 2 contains two multimodal processes P12 (red color) and P22 (blue color). They are executed serially in a pipeline mode (processes with open routes) using five-level P 1 processes: P11 , P21 , P31 , P41 , P51 . These processes, in turn, are executed using 10 resources: o01,1 − o01,10 . For such a system, the state space P was determined first. It contains 414 states, of which 172 are elements of whirlpools. In space P, there are two whirlpools leading to two cyclic steady states DC,1 and DC,2 . In this space, component states with a common allocation were identified. These states were determined using the algorithm of Fig. 3.5. Figure 3.6b shows the resulting space P along with highlighted states with a common allocation (set RS—64 states) and the component states leading to them (set RD—56 states). It is worth noting that the component states that have the same allocation are also components of trees leading to deadlocks. This means that with the knowledge of these states, one can “pull out” of a flow leading to a deadlock and transition to a cyclic steady state. An example of such a transition is shown in Fig. 3.6b. The cyclic steady state that includes component states: S d 1 → S d 2 → S ∗ → S t1 → S 0 → allows one to pull out of the deadlock state S ∗ and transition to the cyclic steady state DC,2 . The transition between the cyclic steady states DC,1 and DC,2 can be affected in several different ways. Figure 3.6b shows examples of direct and indirect transitions. These examples demonstrate how states with a common allocation can be used to change the behavior of an SCCMP. It should be emphasized that the method proposed here does not require any changes to be made to the allocation of processes, thus allowing transitions between processes to take place during the execution of processes, in an online mode, i.e., without the need to suspend them. For example, a change in the timetable of an AGV transport system can be made while the AGVs

112

3 Cyclic Steady States Reachability

Fig. 3.5 Algorithm for determining component states with a common allocation of multimodal processes

3.1 Reachability Conditions

113

Fig. 3.6 a) An example of an SCCMP, and b) a state space with highlighted component states with common allocations (set RS)

114

3 Cyclic Steady States Reachability

are transporting pallets—this change does not require halting the AGVs or the entire system. The polynomial nature of the computational complexity function of the proposed algorithm makes the problem of evaluating the mutual reachability of cyclic steady states a class P (i.e., deterministic polynomial) problem. This means that the main computational effort is focused on the stage of determining the state space P and its cyclic steady states (set DC). As shown in Sect. 2.1 (Fig. 2.5), the available methods of determining the state space are characterized by exponential computational complexity. This significantly limits the scope of application of the proposed approach. An alternative method involves generating cyclic schedules for transient periods using operations digraphs GP and is discussed below.

3.2 Cyclic Steady States Space The concept of a system’s state adopted in Chap. 2 was identified with the allocation of processes to resources. It is worth noting that the literature proposes representations of cyclic system behaviors that use other models of states. One example is (max, +) algebra [15–17], in which the behavior of cyclic systems is modeled using state equations, which allow simulating system behavior for given initial conditions. In this approach, the k-th state of the system is identified with the schedule (i.e., a set of operation start times) of the system’s k-th cycle. Identification of a system’s state with a schedule of multimodal processes makes it possible to take into account situations in which the processes executed in the successive cycles differ from one another (note that process operations in the successive cycles are shifted relative to one another in time). This allows one to consider cyclic scheduling problems in which the order of operations is assumed to be invariable in time, but operation completion times may be different (non-cyclic) (see the asynchronous schedule in Fig. 1.3, Chap. 1). Problems of this class also include the previously discussed problem of mutual reachability of cyclic steady states, where a transition between two cyclic steady states requires a transient period. A transient period often covers several system cycles that may differ in process execution (because they may have different process execution schedules). To cast more light on the proposed concept of states, let us consider the example of a production cell shown in Fig. 3.7a. In this system, level P 2 multimodal processes represent the production routes of two products (processes P12 and P22 ) while level P 1 processes represent robots that are used to transport these products (processes P11 , P21 , P31 ). The structure SC of such a system is shown schematically in Fig. 3.7b. Both level P 1 and level P 2 processes are executed in accordance with the condition of mutual exclusion. This means that only one product can be processed at a given workstation at a time. Assuming that the initial process allocation is as follows:

3.2 Cyclic Steady States Space

115

Fig. 3.7 a) An example of a production system’s transport subsystem, and b) its SCCMP representation

• level P 1 processes: P11 , P21 , P31 are allocated to resources: o01,9 , o01,7 , o01,4 , respectively, • level P 2 processes: P12 , P22 are allocated to resources: o11,2 , o13,3 , respectively, the system reaches the cyclic behavior shown in Fig. 3.8a. The schedule presented in dispatching rules have the figure is reachable(in a structure ) 0 for( which )the 0following ) ( 0 = P31 , P11 , σ1,2 = P11 , P21 , σ1,3 = P21 , P31 , for resources:o01,1 , been adopted: σ1,1 o01,2 , o013 , shared by processes: P11 , P21 , P31 . As can be seen, the system under consideration reaches cyclic behavior with period α 1 = α 2 = 7 u.t. Products P12 and P22 are produced alternately at a takt time of 7 u.t. (i.e., every 7 u.t., one product P12 and one product P22 leave the production cell). Before this behavior is reached, however, the system goes through a transient/start-up period that covers cycles 1 and 2. As can be noted, the process execution schedules in the successive cycles may differ from one

116

3 Cyclic Steady States Reachability

another. It was assumed that schedules of this type (hereinafter denoted as XA(k)) would be defined analogously to (3.6): { } XA(k) = XAl (k)|l = 0 . . . lp, k ∈ N ,

(3.5)

) ( XAl (k) = XAl1 (k), . . . , XAli (k), . . . , XAllp(l) (k) ,

(3.6)

where: • • • •

XAl (k) is the schedule of l-th level processes for the k-th cycle. lp is the number of levels of multimodal processes. lp(l) is the(number of l-th level processes. ) l l l XAli (k) = xi,1 (k), . . . , xi,j (k), . . . , xi,lr(l,i) (k) is the sequence of operation start

times for process Pil ∈ P l , where lr(l, i) is the number of operations of process Pil . l • xi,j (k) is the start time of operation oli,j for the k-th execution cycle l of process Pil . It is assumed that xi,j (0) = 0 for all operations oli,j (l = 0 . . . lp, i = 1 . . . lp(l), j = 1 . . . lr(l, i)). However, unlike definition (3.6), the adopted representation of schedule (3.5) allows different system cycles to have different forms of the schedule. The differences l are only in the “distance” between the times xi,j (k) of the successive executions of the l operation oi,j . Figure 3.8b shows the values of the sequence XAl (k) (3.6) of the first four system cycles (k = 1, 2, 3, 4). For instance, the start times of the operation o11,2 (second operation of process P11 ) are: 0, 5, 12, and 19 u.t., respectively. The distance l l l between them: Δxi,j (k) = xi,j (k)−xi,j (k − 1) (for k > 1), in the successive cycles, is different and equals: 5 u.t. (distance between second and first cycle), 7 u.t. (distance between third and second cycle), and 7 u.t. (distance between fourth and third cycle). l Thus, cyclic behavior occurs in those schedules in which distance Δxi,j (k) takes a constant value. In each successive schedule, however, the order of operations following from sequence Oil is maintained. For example, in each system operation cycle, the 1 1 operations of process ) P1 will keep the order defined by the sequence: O1 = ( 1 1 1 1 o1,1 , o1,2 , o1,3 , o1,4 . The “similarity” of the successively executed schedules XA(k) can be estimated l using the values of the distance Δxi,j (k) of each operation oli,j . The distance values (grouped into sequences ΔXA(k)) for the schedule of Fig. 3.8a are given in Table 3.1. For instance, the schedule of the second cycle (see row k = 2, Table 2.8) is described by set XA(2), whose elements XA1 (2), XA2 (2) define the start times of the operations of the processes of levels P 1 and P 2 . Sequence XA1 (2) contains three elements: XA11 (2), XA12 (2), XA13 (2) related to the processes P11 , P21 , P31 : XA11 (2) = (11, 5, 6, 7), XA12 (2) = (10, 4, 8, 9), XA13 (2) = (11, 7, 8, 10).

3.2 Cyclic Steady States Space

117

Fig. 3.8 a) A schedule representing the behavior reachable in the system in Fig. 3.7, b) values of the sequence XAl (k) of the first four system operation cycles, and c) a fragment of the state space X P corresponding to this behavior

118

3 Cyclic Steady States Reachability

Their values define the start times of the operations executed as part of these processes. For example, the values of sequence XA11 (2) are the start times of the operations o11,1 , o11,2 , o11,3 , o11,4 . Analogously, elements of sequence XA2 (2): XA21 (2) = (11, 5, 6, 10, 4), XA22 (2) = (8, 10, 11) define the values of the start times of the operations of processes P12 , P22 . Schedule XA(2) has a corresponding set ΔXA(2) of distances between the start times of the operations of cycles k = 2 and k = 1. An element of set ΔXA(2) is a sequence ΔXA1 (2) consisting of the following elements: ΔXA11 (2) = (7, 5, 5, 5), ΔXA12 (2) = (7, 5, 5, 5), ΔXA13 (2) = (7, 7, 7, 7) l The values of these sequences define the distances Δxi,j (k) between the successive l executions of operation oi,j . For instance, the values of sequence ΔXA11 (2) denote the distances between the successive executions of the operations o11,1 , o11,2 , o11,3 , o11,4 . The fact that these distances have different values (7, 5, 5, 5) means that, in the second cycle, these operations have shifted relative to one another and so they are not part of a cyclic steady state. According to the definition presented in Chap. 1 (see condition (1.1)), operations are executed cyclically when they are repeated at fixed l time intervals. In other words, cyclic execution requires that the distances Δxi,j (k) between all operations be equal. As can be seen, starting from the third cycle (k = 3) l the distances take a constant value Δxi,j (k) = 7 u.t. equal to the period α l of the cyclic steady state reached. To sum up, it can be said that: l • When the distances Δxi,j (k) in the successive schedules are different, then the schedules XA(k) correspond to a transient period. l • When the distances Δxi,j (k) in the successive schedules are the same, then the schedules XA(k) correspond to a cyclic steady state. l The proposed concept of distance Δxi,j (k) affords the possibility of introducing a new definition of the state of an SCCMP (hereinafter denoted for distinction as XS k ):

( ) XS k = XA(k), ΔXA(k) ,

(3.7)

where XA(k) is a normalized form of the schedule XA(k) (3.5): { l } XA(k) = XA (k)|l = 0 . . . lp, k ∈ N ,

(3.8)

( l ) l l l XA (k) = XA1 (k), . . . , XAi (k), . . . , XAlp(l) (k) ,

(3.9)

XA21 (3)

XA22 (3)

(8, 10, 11)

XA22 (2)

(1, 3, 4)

XA22 (1)

ΔXA21 (2)

ΔXA22 (2)

ΔXA2 (3) ΔXA21 (3)

ΔXA13 (3)

ΔXA11 (3)

ΔXA12 (3)

ΔXA1 (3)

XA(3) ΔXA22 (3)

(7, 5, 5, 5) (7, 5, 5, 5) (7, 7, 7, 7) (7, 5, 5, 7, 4) (7, 7, 7)

ΔXA2 (1) ΔXA13 (2)

ΔXA11 (2)

ΔXA12 (2)

ΔXA1 (2)

XA(2)

ΔXA22 (1)

(4, 0, 1, 3) (4, 0, 1, 3, 0) (1, 3, 4)

ΔXA21 (1)

(4, 0, 1, 2) (3, 01, 2)

ΔXA2 (1) ΔXA13 (1)

ΔXA11 (1)

ΔXA12 (1)

**ΔXA1 (1)

XA22 (4)

ΔXA2 (4) ΔXA21 (4)

ΔXA13 (4)

ΔXA11 (4)

ΔXA12 (4)

ΔXA1 (4)

XA(4) ΔXA22 (4)

(25, 19, 20, 21) (24, 18, 22, 23) (25, 21, 22, 24) (25, 19, 20, 24, 18) (22, 24, 25) (7, 7, 7, 7) (7, 7, 7, 7) (7, 7, 7, 7) (7, 7, 7, 7, 7) (7, 7, 7) ( ) * XAl (k) = XAl1 (k), . . . , XAli (k), . . . , XAllp(l) (k) is the sequence representing the schedule of the l-th level processes for the k-th cycle; XAli (k) = ( ) l (k), . . . , x l (k), . . . , x l l l xi,1 i,j i,lr(l,i) (k) is the sequence of operation start times for process Pi ∈ P ( ) **ΔXAl (k) = ΔXAl1 (k), . . . , ΔXAli (k), . . . , ΔXAllp(l) (k) is the sequence distances between the processes of l-th level for the k-th cycle; ΔXAli (k) = ( ) l (k), . . . , Δx l (k), . . . , Δx l l l Δxi,1 i,j i,lr(l,i) (k) is the sequence of distances between operation start times for process Pi ∈ P

XA21 (4)

XA13 (4)

XA11 (4)

XA12 (4)

XA2 (4)

XA1 (4)

4 XA(4)

(18, 12, 13, 14) (17, 11, 15, 16) (18, 14, 15, 17) (18, 12, 13, 17, 11) (15, 17, 18) (7, 7, 7, 7) (7, 7, 7, 7) (7, 7, 7, 7) (7, 7, 7, 7, 7) (7, 7, 7)

XA2 (3)

XA13 (3)

XA11 (3)

XA12 (3)

XA1 (3)

(11, 5, 6, 10, 4)

(10, 4, 8, 9)

(11, 5, 6, 7)

(11, 7, 8, 10)

XA21 (2)

3 XA(3)

XA2 (2)

XA12 (2)

XA11 (2)

(4, 0, 1, 3, 0)

XA1 (2)

XA13 (2)

(4, 0, 1, 3)

(3, 01, 2)

(4, 0, 1, 2)

2 XA(2)

XA21 (1)

XA13 (1)

XA12 (1)

XA11 (1)

XA(1) XA2 (1)

1 XA(1)

*XA1 (1)

Distances

k Schedules

Table. 3.1 Values of the elements of the sequences XA(k) (schedule of the cycle) and ΔXA(k) (sequence of distances) for the schedule in Fig. 3.8a

3.2 Cyclic Steady States Space 119

120

3 Cyclic Steady States Reachability

) ( l XAi (k) = xli,1 (k), . . . , xli,j (k), . . . , xli,lr(l,i) (k) , { } l xli,j (k) = xi,j (k) − min xli,j (k)|i = 1 . . . lp(l), j = 1 . . . lr(l, i) ,

(3.10) (3.11)

and ΔXA(k) is a set of distances between the start times of operations of state XS k and state XS k−1 : { } ΔXA(k) = ΔXAl (k)|l = 0 . . . lp, k ∈ N ,

(3.12)

( ) ΔXAl (k) = ΔXAl1 (k), . . . , ΔXAli (k), . . . , ΔXAllp(l) (k) ,

(3.13)

) ( l l l ΔXAli (k) = Δxi,1 (k), . . . , Δxi,j (k), . . . , Δxi,lr(l,i) (k) ,

(3.14)

l l l Δxi,j (k) = xi,j (k) − xi,j (k − 1).

(3.15)

According to (3.7), a state is a pair whose elements determine the “layout” of a schedule (showing how operations are arranged relative to one another in time) and its distance from the previous (k − 1) execution. The concept of a normalized schedule is related to the so-called “left-justified schedule” [18, 19], in which all operations are shifted maximally to the left toward the OX axis. For example, the schedules of the 3rd and 4th cycles differ from each other: XA1 (3) = ((18, 12, 13, 14), (17, 11, 15, 16), (18, 14, 15, 17)), XA2 (3) = ((18, 12, 13, 17, 11), (15, 17, 18)), XA1 (4) = ((25, 19, 20, 21), (24, 18, 22, 23), (25, 21, 22, 24)), XA2 (4) = ((25, 19, 20, 24, 18), (22, 24, 25)). However, they have the same corresponding normalized form: 1

1

2

2

XA (3) = XA (4) = ((7, 1, 2, 3), (6, 0, 4, 5), (7, 3, 4, 6)), XA (3) = XA (4) = ((7, 1, 2, 6, 0), (4, 6, 7)). This form is shown in Fig. 3.9. In accordance with expression (3.8), schedules XA(3) and XA(4) have been adjusted to the left. As a result, the same normalized form was obtained in both cases: XA(3) = XA(4). Put differently, this means that the schedules of the 3rd and 4th cycles have the same operations layout (distribution)— the operations of all multimodal processes are arranged in the same way relative to the time axis. It also follows from Table 2.8 that the distances for these schedules are equal l l (Δxi,j (3) = Δxi,j (4) = 7 u.t.). Thus, there is one common state XS 3 that corresponds

3.2 Cyclic Steady States Space

121

Fig. 3.9 A normalized form of the 3rd and 4th cycles of the schedule in Fig. 3.8a

to both the 3rd and 4th cycle schedules. The states that are successively reachable by the system in Fig. 3.7 are presented in Fig. 3.8c. This figure shows part of the state space X P containing two states, XS 1 and XS 2 , which make up a transient period, and one state, XS 3 (which has been repeated multiple times), representing a cyclic steady state. In state space X P, analogously to state space P (see Sect. 2.1), one can distinguish tree behavior digraphs (i.e., representing behavior that leads to a deadlock) and

122

3 Cyclic Steady States Reachability

Fig. 3.10 Space X P representing the behavior of an SCCMP

whirlpool behavior digraphs (i.e., representing behavior leading to a cyclic steady state). An example of a state space X P is shown in Fig. 3.10 (states XS k are denoted, for distinction, with the symbol ◎). Following the same line of thought as in Sect. 2.1, it is easy to prove the following properties: • • • • • • •

A state space X P is finite. A state XS k ∈ X P has no more than one child. A state XS k ∈ X P can have many parents. If a state XS k ∈ X P does not have a child, it is a deadlock. If a state XS k ∈ X P does not have a parent, it is an initial state. A cyclic steady state is one for which: XS k → . . . → XS k . From a given initial state, the system reaches a cyclic steady state or a deadlock state.

Space X P is thus a generalization of space P. It is a representation of the behavior of an SCCMP, in which the states are identified with the entire schedule of a given cycle, and not with a single allocation of processes to resources. From this perspective, one state XS k ∈ X P corresponds to a specific sequence of states of space P. The relationship between spaces P and X P is shown in Fig. 3.11. As can be seen, each cyclic steady state of space P corresponds to a cyclic steady state of space X P. Since the states of space X P represent a schedule of processes executed within one cycle rather than a single allocation (as in the case of the states of space P), each such state can be associated with an operations digraph GP (2.3). An operations digraph describes (see Sect. 2.2) relationships between the operations of each level of multimodal processes within a given k-th cycle—see Fig. 3.12.

3.2 Cyclic Steady States Space

123

Fig. 3.11 The relationship between space P and X P

The possibility of expressing each of the states XS k ∈ X P in the form of a digraph GP k (the superscript refers to the state to which a given digraph corresponds) allows one to determine the schedules XA(k) related to those states by solving a relevant constraint satisfaction problem CSAN (2.14) or CSSYN (2.19). In the context of the representation of state space X P introduced above, the problem of mutual reachability of cyclic steady states can be formulated as follows: Given is an SCCMP, with structure SC, whose behavior is described by a state space X P. The state space contains two cyclic steady states, corresponding to XS1 and XS2 . Are states XS 1 and XS 2 mutually reachable? And, more precisely: What conditions must be met for there to exist indirect and/or direct transitions between these states? As shown in the previous section (see Fig. 3.4), cyclic states can be changed (transition from state XS 1 to state XS 2 ) by altering the parameters of system structure SC, in particular by modifying the operation of dispatching rules. A change in dispatching rules changes the order in which processes access shared resources, which leads to a modification in the schedule and the related system state. Intermediate states obtained in this way can be used as transition points between cyclic steady states. In searching for intermediate states connecting states XS 1 , XS 2 one has to construct an appropriate operations digraph and solve the synthesis problem CSSYN (2.19).

124

3 Cyclic Steady States Reachability

Fig. 3.12 An operations digraph GP for the states XS 1 , XS 2 , XS 3 in Fig. 3.8c

The overall architecture of the proposed approach is shown in Fig. 3.13. This approach assumes that the known states XS 1 , XS 2 are connected by a transient period consisting of lt states: XS k1 , …, XS klt . These states correspond to the operations digraphs: GP 1 , GP k1 , …, GP klt , GP 2 which make up one common digraph GP. The structure of the digraphs corresponding to the intermediate states GP k1 , …, GP klt determines the dispatching rules Θ l (k1 ), . . . , Θ l (klt ) for the successive k1 , …, klt system operation cycles. By changing the structure of these digraphs, one can assess whether there exist modes of synchronizing processes that, after lt cycles, will allow the system to reach state XS 2 . In other words, the search for a transition between states XS 1 , XS 2 comes down to evaluating the existence of a sequence of changing dispatching rules Θ l (k1 ), . . . , Θ l (klt ) that guarantee that such a transition exists. As shown in Sect. 2.2, to assess whether there exist rules that guarantee that an SCCMP will display the expected behavior, it is enough to solve the constraint satisfaction problem CSSYN (2.19). In terms of the representation introduced above, this problem can be generalized to the following form: ( ( ) ( )) CSOSY XS 1 , XS 2 , lt = (VOSY (lt), DOSY ), COSY XS 1 , XS 2 , lt ,

(3.16)

Fig. 3.13 The procedure for determining transitions between states XS 1 and XS 2

3.2 Cyclic Steady States Space 125

126

3 Cyclic Steady States Reachability

where: • VOSY (lt) is a set of decision variables determining the form of dispatching rules l−1 l Θ l (k1 ), …, Θ l (klt ) (represented by matrix Ma,b —see (2.19)), start times xi,j (k1 ), l l …, xi,j (klt ) of operations oi,j in the successive k1 , …, klt system cycles. • DOSY is a set of decision-variable domains defining the admissible values of l−1 l l . operation start times xi,j (k1 ), …, xi,j (klt ), and elements of the matrix Ma,b ( 1 ) • COSY XS , XS 2 , lt is a set of constraints defining relationships between times l l xi,j (k1 ), …, xi,j (klt ) expressed as (2.4)–(2.9), (2.16), (2.17) for each GP 1 , GP k1 , klt 2 …, GP , GP . The solution to a problem formulated in this way is a set of dispatching rules l−1 Θ l (k1 ), …, Θ l (klt ) (determined by the matrix Ma,b ) and values of the operation start l l times xi,j (k1 ), …, xi,j (klt ) (making up the schedules XA(k1 ), . . . , XA(klt ) (3.5)), (2.16), (2.17). which meet the conditions expressed by the constraints (2.4)–(2.9), ) ( In other words, finding a solution to the problem CSOSY XS 1 , XS 2 , lt (3.16) makes it possible to evaluate whether there exists a sequence lt of transient periods XS k1 , …, XS klt , which guarantee a transition between the states XS 1 , XS 2 . If such a sequence does exist, then a transition like this can be made without the need to put the system on hold (i.e., to suspend the execution of multimodal processes and to relocate them). However, the absence of such a sequence does not mean that the transition cannot be made. That simply means that the transition for the given length lt of the transient period does not exist. In such a situation, it is necessary to see whether the transition can be made for other values of lt = 0 . . . ltg, where ltg is the limit length of the transient period. An algorithm illustrating this type of procedure is shown in Fig. 3.14. The algorithm allows determining the shortest (in the range lt ∈ {0 . . . ltg}) transient period (if there is one) leading from state XS 1 to state XS 2 . It works by iteratively solving the problem CSOSY (3.16). This algorithm was used to determine the transition between the cyclic steady states of the system in Fig. 2.7. As shown in Sect. 2.2, two cyclic steady states are reachable in this system: • DC,1 of Fig. 2.15 with periods of α 1 = 15 u.t. and α 2 = 30 u.t. • DC,2 of Fig. 2.18 with periods of α 1 = 12 u.t. and α 2 = 24 u.t. These cyclic steady states have two corresponding states XS 1 and XS 2 . Sought is an answer to the question: Does there exist a sequence of intermediate states XS k1 , …, XS klt , which guarantee transition between these two states? Due to the constraint imposed by the calculation time, it was assumed that the length lt of the transient period cannot be greater than ltg = 5: lt ≤ 5. To answer the question, the algorithm under) ( in Fig. 3.14 ( ) was used. The problem consideration was formulated as CSOSY XS 1 , XS 2 , lt . Problem CSOSY XS 1 , XS 2 , lt was solved iteratively (for lt = 0 . . . 5) until the first admissible solution was obtained or the limit value was reached ltg = 5.

3.2 Cyclic Steady States Space

127

Fig. 3.14 An algorithm for determining the transient period leading from state XS 1 to state XS 2

For every intermediate state XS k1 , …, XS klt , dispatching rules Θ l (k1 ), . . . , Θ l (klt ) and the schedules determined by them were sought: XA(k1 ), …, XA(klt ). Similarly to in Sect. 2.2, it was assumed, for simplicity, that the search would be limited only to determining rules Θ 1 for level P 1 processes (processes representing AGVs of Fig. 2.6). These processes share four resources o01,2 , o01,3 , o01,6 , o01,7 . The first admissible solution to the problem (the IBM ILOG constraint programming environment) was determined for lt = 2. This means that state XS 1 can transition into state XS 2 via a state consisting of two intermediate states XS k1 and XS k2 . The admissible solution obtained (calculation time < 1 s) is presented in Table 3.1. The behavior of the system is determined by the following dispatching rules: ) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 (1) = P11 , P31 , σ1,3 (1) = P11 , P41 , σ1,6 (1) = P41 , P21 , σ1,7 (1) = P21 , P31 , ) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 (k1 ) = P11 , P31 , σ1,3 (k1 ) = P11 , P41 , σ1,6 (k1 ) = P41 , P21 , σ1,7 (k1 ) = P31 , P21 , ) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 (k2 ) = P11 , P31 , σ1,3 (k2 ) = P11 , P41 , σ1,6 (k2 ) = P41 , P21 , σ1,7 (k2 ) = P31 , P21 , ) 0 ) 0 ) 0 ) ( ( ( ( 0 σ1,2 (2) = P11 , P31 , σ1,3 (2) = P11 , P41 , σ1,6 (2) = P41 , P21 , σ1,7 (2) = P31 , P21 .

128

3 Cyclic Steady States Reachability

The above rules apply in states XS 1 , XS k1 , XS k2 , XS 2 , respectively. They change in 0 state XS k1 . What changes is the order of access to resource o01,7 , with the rule σ1,7 (1) = ) ( ( 1 1) 0 1 1 , P . As it is easy to note (see the = P P2 , P3 taking the following form: σ1,7 (k1 ) 3 2 schedule in Fig. 3.15a), the transition from cyclic steady state DC,1 to DC,2 takes place without the need to put the processes of level P 1 on hold. These processes represent four AGVs responsible for transporting elements between workstations. This means that after the rules on resource o01,7 are changed, AGVs continue executing their jobs (states XS k1 , XS k2 ) until the cyclic steady state represented by state XS 2 is reached. The processes of level P 2 are executed in the same way (see Fig. 3.15b). The processes of this level represent the production flow of products. The change of the rules does not lead to halting the production. The system “smoothly” changes one production plan (represented by state XS 1 ) to the other (represented by state XS 2 ). In other words, the change of the rules results in a change of the production takt time from 15 u.t. to 12 u.t. It is worth noting that a reverse transition from cyclic steady state DC,2 to DC,1 can also be made. These cyclic steady states are therefore mutually reachable: DC,2 ↔ DC,1 . Transitions between them can be made multiple times. In the example presented above, the solution was computed in a relatively short time: < 1 s. This was mainly due to the small number of the shared resources (four resources) for which dispatching rules were sought, as well as the small value of ltg = 5. The proposed algorithm repeatedly solved (ltg-times) the synthesis problem CSOSY , which is a generalization of problem CSSYN (2.19). As shown in Sect. 2.2, this problem is characterized by exponential computational complexity—see Fig. 2.20. A similar situation takes place in the case of the algorithm shown in Fig. 3.14. To assess the scale of applications of the proposed approach, quantitative experiments were carried out for systems consisting of different numbers of shared resources (different numbers of dispatching rules LDP). In the experiments, a limit value of lt was sought (determining the value of ltg for the algorithm in Fig. 1.6), for which the proposed algorithm found the solution in under 60 min. Figure 3.16 shows functions for the times of determining a transient period (between the selected states XS 1 , XS 2 ) for systems with different numbers of dispatching rules LDP = 5, 10, 15, 20; the structure density is: g = 0.5 (density g is defined as the ratio of the number of processes to the number of operations). As can be noted, in a time not exceeding 60 min, it is possible to determine transient periods of a length lt not exceeding: two, three, four, and eight states (for LDP = 5, 10, 15, 20, respectively). This means that the greater the number of shared resources (LDP), the more difficult it is to determine the transient period connecting two selected cyclic steady states. In general, then, the length of the transient periods cannot be greater than 8 (ltg ≤ 8). The scalability of the proposed approach can be increased by using the regular system decomposition methods presented in Sect. 2.3. For instance, when the structure of the system in Fig. 2.7 is treated as an elementary structure (q) SC of a regular system (e.g., the one shown in Fig. 3.17), the proposed algorithm can be used to

Fig. 3.15 A schedule of the transition of the system in Fig. 2.7 from state DC,1 to state DC,2 : a) process level P 1 , and b) process level P 2

3.2 Cyclic Steady States Space 129

130

3 Cyclic Steady States Reachability

Fig. 3.16 Functions of transient period calculation times for structures with different numbers of dispatching rules LDP = 5, 10, 15, 20

determine the transient periods between the cyclic steady states reachable in this system (DC,1 , DC,2 ). ← → A transient period is determined for a folded elementary structure (q) SE . If such a period exists (e.g., the transient period of Fig. 3.15), then the whole system can smoothly transition from one cyclic steady state to another (from state DC,1 to state DC,2 ). It is also worth noting that the presented method of transitioning between cyclic steady states can be used to determine other, subsequent cyclic steady states. Multiple (periodic) changes of the rules applying to resource o01,7 of the system in Fig. 2.7 will lead to a new cyclic steady state composed of DC,1 and DC,2 . Figure 3.18a shows a space describing this type of transition between states XS 1 and XS 2 . The variant of cyclic transitions between cyclic steady states considered here has the following form: . . . → XS 1 → XS 2 → XS 1 → XS 2 →…. (a steady state obtained as a result of changing the dispatching rules for resource o01,7 ). If the sequence of transitions of this type is repeated, then the resultant steady state will also be a cyclic one. This state is characterized by a schedule “glued together” from integer multiples of cyclic steady state schedules and transient period schedules. For instance, if a transition between steady states is made under the assumption that cyclic steady state DC,2 (i.e., state XS 2 ) is completed twice, while cyclic steady state DC,1 (i.e., state XS 1 ) (purple line in Fig. 3.18a) is completed once, then a cyclically repeated sequence of such transitions results in a cyclic steady state with period αSl = (15 + 23) + (2 × 12 + 25) = 87 u.t. The value of this period follows from the periods of the cyclic steady states DC,1 , DC,2 and the duration of the transient periods, and is a function of the number of repetitions of each of the flows.

Fig. 3.17 A regular structure composed of the elementary structures (q) SC shown in Fig. 3.7

3.2 Cyclic Steady States Space 131

132

3 Cyclic Steady States Reachability

Fig. 3.18 A space of transitions between cyclic steady states: a) the variant from Fig. 3.15, and b) a general variant

This means that in the space of transitions between the cyclic steady states of Fig. 3.18a, one can create a virtually unlimited number of cyclic steady states with periods given by the expression: αSl = (ϑ1 × 15 + 23) + (ϑ2 × 12 + 25),

(3.17)

where ϑ1 , ϑ2 determine the numbers of completed executions of each state during the transition: . . . → DC,1 →, DC,2 → DC,1 → . . . ϑ1 , ϑ2 ∈ N The formulated expression (3.17) can be generalized as αSl =

∑ ( ) ϑi × αil + bi ,

(3.18)

DC,i ∈DS

where: • • • • •

αSl is a transition period between the cyclic steady states of set DS. DS is a set of cyclic steady states used during the transition. αil is a period of the i-th cyclic steady state. ϑi is a number of completions of the i-th cyclic steady state. bi is a duration of the transient period.

Expression (3.18) allows one to determine the periods of the cyclic steady states obtained from only one type of transition (e.g., those from Fig. 3.15a). The number of transitions of this type increases exponentially with the number of cyclic steady states. In general, this means that even a small space (such as the one in Fig. 3.15b) can generate many new cyclic steady states.

3.3 Notes

133

3.3 Notes Two approaches to solving the problem of mutual reachability of behaviors of an SCCMP have been proposed. In the first one, the problem is solved by searching for states with a common allocation. The assumption of a common allocation of processes in states allows transitions between cyclic steady states to be made without the need to change the allocation of the processes. This is important in systems encountered in everyday practice, in which the behavior of the system must be changed without suspending and/or re-allocating the processes running in it. This problem is characterized by low computational complexity, which follows from the fact that the state space P, as well as the number of whirlpools found in it, are known. Since the state space P can only be determined for small-sized SCCMP (see Sect. 2.1), the proposed approach is not applicable in practice. In the second approach, a new representation of a system state was proposed, which is identified with the schedule of the k-th system operation cycle. The space X P of such states contains both states that make up cyclic steady states and those that are components of the transient periods leading to the steady states. The proposed time-state representation of SCCMP behaviors allows one to formulate the problem of determining transient periods connecting two selected cyclic behaviors as a constraint satisfaction problem CSOSY (3.16). This is done using the operations digraph GP (2.3) (see Sect. 2.2). By solving problem CSOSY (3.16), one can define the dispatching rules (applicable in the successive operation cycles) that guarantee a smooth transition between selected cyclic behaviors (represented by the states XS 1 , XS 2 ). The proposed model of the state space combines the advantages of a state representation (a state space P—see Sect. 2.1) and a time representation (an operations digraph GP—see Sect. 2.2). However, it has the disadvantage of having a high computational complexity, as problem CSOSY (3.16) has to be solved multiple times. An analysis of the computational complexity of the proposed algorithm (see Fig. 3.14) has shown that it can be used to determine transient periods with a length not exceeding eight states. The approach proposed here can also be used to assess the mutual reachability of cyclic behaviors of systems with regular structures. Problems of this kind can be solved using the decomposition methods discussed in Sect. 2.3. These methods allow a significant reduction of the search space, thus increasing the efficiency of the proposed algorithm. The knowledge of the state space X P, which includes states representing both cyclic steady states and the transient periods leading to them, allows one to determine the transitions leading to new cyclic steady states. The concept of determining this type of cyclic steady states, based on a periodic change of system parameters (i.e., a change of dispatching rules), provides an alternative to the methods described in previous chapters.

134

3 Cyclic Steady States Reachability

References 1. Bocewicz, G., Banaszak, Z.A., Nielsen, P., Dang, Q.-V.: Multimodal processes re-scheduling. In: Emmanouilidis, C., Taisch, M., Kiritsis, D. (eds.) Advances in Production Management Systems. Competitive Manufacturing for Innovative Products and Services. APMS 2012. IFIP Advances in Information and Communication Technology, pp. 534–541 (2013a) 2. Bocewicz, G., Wójcik, R., Banaszak, Z.A., Pawlewski, P.: Multimodal processes rescheduling: cyclic steady states space approach. Math. Probl. Eng. (2013d). https://doi.org/10.1155/2013/ 407096 3. Bocewicz, G., Nielsen, I., Banaszak, Z.: Rerouting and rescheduling of in-plant milk run based delivery subject to supply reconfigurability constraints. In: Bocewicz, G., Pempera, J., Toporkov, V. (eds.) Performance Evaluation Models for Distributed Service Networks. Studies in Systems, Decision and Control, pp. 55–78 (2021b) 4. Zhu, Y., Goverde, R.M.P.: Railway timetable rescheduling with flexible stopping and flexible short-turning during disruptions. Transp. Res. Part B Method. 123, 149–181 (2019). https:// doi.org/10.1016/J.TRB.2019.02.015 5. Tan, Y.Y., Li, Y.X., Wang, R.X.: Scheduling extra train paths into cyclic timetable based on the genetic algorithm. IEEE Access 8, 102199–102211 (2020). https://doi.org/10.1109/ACCESS. 2020.2997777 6. Shen, T., Xu, W., Yao, B., et al.: Digital twin-based task rescheduling for robotic assembly line. In: 2022 IEEE 25th International Conference on Computer Supported Cooperative Work in Design, CSCWD 2022, pp. 208–213 (2022). https://doi.org/10.1109/CSCWD54268.2022. 9776253 7. Bocewicz, G.: Robustness of multimodal transportation networks. Eksploatacja i Niezawodnosc – Maintenance Reliab 16, 259–269 (2014) 8. Bocewicz, G., Nielsen, I., Banaszak, Z., Majdzik, P.: A cyclic scheduling approach to maintaining production flow robustness. Adv. Mech. Eng. 10 (2018b). https://doi.org/10.1177/168 7814017746245 9. Bocewicz, G., Banaszak, Z.A.: Rescheduling of concurrently flowing cyclic processes. In: Nguyen, N.T., Hoang, K., J¸edrzejowicz, P. (eds.) Computational Collective Intelligence. Technologies and Applications. ICCCI 2012. Lecture Notes in Computer Science, pp. 212–222. Springer, Berlin, Heidelberg (2012) 10. Bocewicz, G., Banaszak, Z.: Designing mass-customized network of passenger services subject to grid topology constraints. In: Szewczyk, R., Zieli´nski, C., Kaliczy´nska, M. (eds.) Automation 2017. ICA 2017. Advances in Intelligent Systems and Computing, pp. 120–131 (2017) 11. Bocewicz, G., Wójcik, R., Banaszak, Z.: Reachability modeling for multimodal networks prototyping. In: Omatu, S., Bersini, H., Corchado, J., et al. (eds.) Distributed Computing and Artificial Intelligence, 11th International Conference. Advances in Intelligent Systems and Computing, pp. 1–9 (2014c) 12. Bocewicz, G., Wójcik, R., Banaszak, Z.: Designing mass-customized service subject to public ´ atek, J., Tomczak, J. (eds.) Advances in Systems Science. grid-like network constraints. In: Swi˛ ICSS 2016. Advances in Intelligent Systems and Computing, pp. 221–231 (2017e) 13. Tsuzuki, M.D.S.G., Bocewicz, G.K., Banaszak, Z.A.: Introduction to the special issue on research advances for next-generation production systems. Prod. Manuf. Res. 2 (2014). https:// doi.org/10.1080/21693277.2014.947643 14. Radzki, G., Bocewicz, G., Dybała, B., Banaszak, Z.: Reactive planning-driven approach to online UAVs mission rerouting and rescheduling. Appl. Sci. (Switzerland) 11 (2021a). https:// doi.org/10.3390/app11198898 15. Stanczyk, J.: Max-plus algebraic modelling of cyclical multi-assortment manufacturing system. In: Bo˙zejko, W., Bocewicz, G. (eds.) Modelling and Performance Analysis of Cyclic Systems. Studies in Systems, Decision and Control, pp. 159–172. Springer International Publishing (2020)

References

135

16. Witczak, M., Majdzik, P., Lipiec, B., Stetter, R.: Conflict avoidance within max-plus faulttolerant control: application to a seat assembly system. Stud. Syst. Decis. Control 241, 135–157 (2020a). https://doi.org/10.1007/978-3-030-27652-2_7/COVER 17. Witczak, M., Majdzik, P., Stetter, R., Bocewicz, G.: Interval max-plus fault-tolerant control under resource conflicts and redundancies: application to the seat assembly. Int. J. Control 93, 2662–2674 (2020b). https://doi.org/10.1080/00207179.2019.1630749 18. Bozejko, W., Wodecki, M.: On cyclic job shop scheduling problem. In: INES 2018—IEEE 22nd International Conference on Intelligent Engineering Systems, Proceedings, pp. 000265–000270 (2018). https://doi.org/10.1109/INES.2018.8523910 19. Bozejko, W., Uchro´nski, M., Wodecki, M.: Block approach to the cyclic flow shop scheduling. Comput. Ind. Eng. 81, 158–166 (2015). https://doi.org/10.1016/J.CIE.2015.01.004

Chapter 4

Modeling the Uncertainty of Concurrent Cyclic Processes

4.1 Ordered Fuzzy Numbers Algebra-Based Framework The variants of SCCMP considered so far have been limited to cases in which all the parameters describing a system have precisely defined values. Systems encountered in real settings, however, are characterized by parameters with approximate (imprecise) values. One example are milk-run systems, in which transport operations and loading/unloading operations are executed manually by tugger train operators. In such systems, it is impossible to precisely determine the duration of the operations. The values of operation execution times depend on the operator’s physical fitness, health, and well-being, as well as the amount of transported items (the more items, the longer the loading/unloading time). These times can only be roughly defined. The uncertainty associated with the exact estimation of these values entails that it is also impossible to precisely determine train arrival times at workstations (the delivery schedule is not precise). Similar situations are encountered in production, public transport, air transport, and other systems [1–8]. The uncertainty of the data characterizing SCCMP means that the execution of multimodal processes in each successive cycle of a system may depart more and more from the assumed nominal plan. A good example is a city bus line with the consecutive services being delayed due to roadworks on the route. When there are only minor delays, the bus can “make up” for them (e.g., by shortening the layover time at the bus terminus), but long delays begin to accumulate. The uncertainty of the data becomes so large that the processes can no longer be said to be executed in a cyclic manner. More precisely, the same situations are repeated at longer and longer time intervals. The data uncertainty representations for cyclic systems developed so far fall into one of the following categories: probabilistic representations and fuzzy representations [5, 9–12]. In the case of probabilistic models, the probability density distributions for the random variables describing a system must be known, which is difficult to achieve in practice. In the case of fuzzy models, precise information on probability

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 G. Bocewicz, Declarative Models of Concurrent Cyclic Processes, Studies in Systems, Decision and Control 438, https://doi.org/10.1007/978-3-031-40552-5_4

137

138

4 Modeling the Uncertainty of Concurrent Cyclic Processes

density distributions is not required, however, the imperfections of the classical fuzzy numbers algebra [3–5] prevent the use of these models for describing cyclic systems. Fuzzy numbers algebra defines basic mathematical operations on fuzzy numbers, treating them as extensions of operations defined on real numbers. The method for extending the latter is given by Zadeh’s extension principle. However, the application of this principle is subject to constraints, namely, no matter what algebraic operations are performed on fuzzy numbers, the support of the resulting number increases. As an effect, it may turn out, after many operations, that the support of the result is so wide that the information that this number carries is useless. Zadeh’s principle makes it possible to describe the process of information uncertainty “growth” in various decision-making systems [13–17], but it cannot be used in systems that allow uncertainty reduction—such as systems of cyclic processes. An example of this latter type of system is shown in Fig. 4.1. In this system, elements are transported cyclically from workstation 1 to workstation 3 (along the route shown in Fig. 4.1a). The transport operations are executed using one AGV marked with the symbol P11 . Since the AGV carries different numbers of items in the different cycles, its travel times along the sectors of zones 2 and 4 are approximate values. They are described using fuzzy numbers with values of “about” 20 u.t. (these values are described by a triangular membership function—Fig. 4.1a. The unloading time at workstation 3 is constant at 20 u.t., and the waiting time at workstation 1 is “about” 30 u.t. During the stop at workstation 1 items are loaded (20 u.t.) and the AGV waits for permission to start its next transport operation (“about” 10 u.t.). Figure 4.1b shows the delivery schedule for workstation 3 in three successive system operation cycles. As it can be seen, the uncertainty of arrival times at workstations 3 and 1 increases with each consecutive trip. In the third cycle, the uncertainty is already so large that the AGV may arrive at the workstations at any time during this cycle. The schedule is a product of the application of Zadeh’s extension principle. The figure shows the time of arrival of the AGV at workstation 1 as a fuzzy number A. Henceforth, variables with fuzzy values will be marked with an additional symbol: “ ”, however, in order to increase readability, the notation of algebraic operations performed on fuzzy numbers A as well as the relations between them will use the classical algebra symbols +, −, ×, / and =, >, ≥, , ≥, , ≥, B; A ≥ B), ˆ ˆ ˆ ˆ ˆ B( A < B, A ≤ B) if: ∀x∈[0,1] f A (x)∗ f B (x) ∧ g A (x)∗g B (x), where: the symbol ∗ stands for: =, >, ≥, 0 and |g B | > 0 for x ∈ [0, 1]. Examples of operations of addition Cˆ = Aˆ + Bˆ and( subtraction )Aˆ = ⇒ Cˆ − Bˆ showing the fulfillment of the implication: Aˆ + Bˆ = Cˆ [( ) ( )] Cˆ − Bˆ = Aˆ ∧ Cˆ − Aˆ = Bˆ are given in Fig. 4.4. It is worth noting that the operation of addition of ordered fuzzy numbers with different orientations (Fig. 4.4b) leads to the “reduction of fuzziness” (the support of the OFN Cˆ is ˆ smaller than the supports of OFNs Aˆ and B). The above definitions of ordered fuzzy numbers (4.1) and of the algebraic operations performed on them (4.5) are such that the results that these operations return are not always proper OFN. An example of such a situation is illustrated in Fig. 4.5, where the sum Aˆ + Bˆ is an ordered fuzzy number Cˆ characterized by μC (x), which is not a function. Proper ordered fuzzy numbers are specified by a convex membership function μA (x). Consequently, limiting the following considerations to the linear, monotonic forms of the functions f and g, a proper OFN can be defined as follows. An ordered fuzzy number Aˆ is a proper OFN when one of the following conditions is met: i. f A (0) ≤ f A (1) ≤ g A (1) ≤ g A (0) (for Aˆ with a positive orientation),

4.1 Ordered Fuzzy Numbers Algebra-Based Framework

143

ˆ a) for OFN with the Fig. 4.4 An example of addition Cˆ = Aˆ + Bˆ and subtraction Aˆ = Cˆ − B: same (positive) orientations and b) for OFN with different orientations

ii. g A (0) ≤ g A (1) ≤ f A (1) ≤ f A (0) (for Aˆ with a negative orientation). It can be noticed that the above conditions limit the definition of proper OFN proposed in [20] to those for which the functions f and g are linear. Consequently, in accordance with the proposed conditions, the membership function μA (x) for the number Aˆ corresponds to the membership function of a classical fuzzy set, and, assuming that the functions f and g are linear—it corresponds to the convex membership function μA (x). When condition (i) is satisfied, function f A is increasing or constant, while function g A is decreasing or constant. Then, the OFN has a positive orientation. On the other hand, when condition (ii) is satisfied, function g A is increasing or constant, while function f A is decreasing or constant. In this case, the OFN has a negative orientation. All numbers from Figs. 4.3 and 4.4 are proper OFN according to conditions (i) and (ii). Figure 4.5 shows an example of proper OFN Aˆ and Bˆ (with opposite ˆ It can be seen that the orientations) the algebraic sum of which is an improper OFN C. OFN Cˆ is also an improper OFN when the membership function μA (x) (or μB (x))

144

4 Modeling the Uncertainty of Concurrent Cyclic Processes

ˆ b) operation of addition Fig. 4.5 a) An example of operation Aˆ + Bˆ returning an improper OFN C, Aˆ + Bˆ shifted along the x-axis by crisp numbers d Ax and d Bx

is shifted along the x-axis by any crisp number d Ax ∈ R (d Bx ∈ R) or when both functions μA (x) and μ B (x) are shifted by any crisp numbers, d Ax ∈ R and d Bx ∈ R, respectively. This observation leads to the conclusion that there is an infinite number ˆ with opposite orientations, whose sums Cˆ = Aˆ + Bˆ are improper of OFN Aˆ and B, OFN. The conditions (i) and (ii) proposed above allow to specify the conditions under which the result of algebraic operations (especially addition) is a proper OFN: Lemma 4.1 Let Aˆ and Bˆ be a proper OFN with different orientations: Aˆ (positive orientation), Bˆ (negative orientation). If the following condition holds: (|U PA | − |U PB | ≥ 0) ∧ (|C O N ST A | − |C O N STB | ≥ 0) ∧ (|D O W N A | − |D O W N B | ≥ 0),

(4.6)

where: U PX —an image (codomain) of the function f X , C O N STX = {x ∈ X : μ X = 1}, D O W N A —an image of the function g X , |a|—length of the interval a, then the result of the addition operation Aˆ + Bˆ is a proper OFN Cˆ with a positive orientation. Proof We will prove that the simultaneous fulfillment of the inequalities: |U PA | − |U PB | ≥ 0; |C O N ST A | − |C O N STB | ≥ 0; |D O W N A | − |D O W N B | ≥ 0 guarantees a result of Aˆ + Bˆ that is a proper OFN Cˆ = ( f C , gC ) with a positive orientation:

4.1 Ordered Fuzzy Numbers Algebra-Based Framework

145

• If |U PA | − |U PB | ≥ 0 then: f A (0) + f B (0) ≤ f A (0) + |U PA | + f B (0) − |U PB |. For OFN Aˆ with a positive orientation and OFN Bˆ with a negative orientation, the following equations are true: f A (0) + |U PA | = f A (1) and f B (0) − |U PB | = f B (1). Thus, f A (0) + f B (0) ≤ f A (1) + f B (1). ˆ f C (0) = f A (0) + f B (0); f C (1) = According to (4.4), for function f C of OFN C: f A (1) + f B (1), we get fC (0) ≤ fC (1). • If |C O N ST A | − |C O N STB | ≥ 0 then: f A (1) + f B (1) ≤ f A (1) + |C O N ST A | + f B (1) − |C O N STB |. For OFN Aˆ with a positive orientation and OFN Bˆ with a negative orientation, the following relation is true f A (1) + f B (1) ≤ g A (1) + g B (1). ˆ f C (1) = f A (1) + f B (1); According to (4.4), for functions f C and gC of OFN C: gC (1) = g A (1) + g B (1), we get fC (1) ≤ gC (1). • If |D O W N A | − |D O W N B | ≥ 0 then: g A (0) − |D O W N A | + g B (0) + |D O W N B | ≤ g A (0) + g B (0). For OFN Aˆ with a positive orientation and OFN Bˆ with a negative orientation, the following relation is also true: g A (1) + g B (1) ≤ g A (0) + g B (0). ˆ gC (0) = g A (0) + g B (0); According to rule (4.2), for function gC of OFN C: gC (1) = g A (1) + g B (1), we get: gC (1) ≤ gC (0). The fulfillment of the above three conditions implies the following inequality: f C (0) ≤ f C (1) ≤ gC (1) ≤ gC (0),

146

4 Modeling the Uncertainty of Concurrent Cyclic Processes

which, according to condition (i), means that the number Cˆ is a proper OFN with a positive orientation. □ Lemma 4.2 Let Aˆ and Bˆ be a proper OFN with different orientations: Aˆ (positive orientation), Bˆ (negative orientation). If for these OFN the condition holds: (|U PB | − |U PA | ≥ 0) ∧ (|C O N STB | − |C O N ST A | ≥ 0) ∧ (|D O W N B | − |D O W N A | ≥ 0),

(4.7)

where: U PX —an image (codomain) of the function f X , C O N STX = {x ∈ X : μ X = 1}, D O W N A —an image of the function g X , |a|—length of the interval a. then the result of the addition operation Aˆ + Bˆ is a proper OFN Cˆ with a negative orientation. Proof Similar to the proof of Lemma 4.1.



Lemmas 4.1 and 4.2 can be generalized to the following theorem: Theorem 4.1 Let Aˆ and Bˆ be a proper OFN with different orientations: Aˆ (positive orientation), Bˆ (negative orientation). If one of the following conditions holds: ∧ i. (|U PA | − |U PB | ≥ 0) (|D O W N A | − |D O W N B | ≥ 0), ∧ ii. (|U PB | − |U PA | ≥ 0) (|D O W N B | − |D O W N A | ≥ 0),

(|C O N ST A | − |C O N STB | ≥ 0)



(|C O N STB | − |C O N ST A | ≥ 0)



ˆ then the result of the addition operation Aˆ + Bˆ is a proper OFN C. Proof The proof follows directly from Lemmas 4.1 and 4.2.



The above theorem allows the construction of models in which decision variables resulting from algebraic operations (in particular sums) take values which are proper OFNs. All values of OFNs used in such models must satisfy the conditions (i) and (ii) of Theorem 4.1. In other words, the results are characterized by convex membership functions (as in the classic fuzzy number model), which are easy to interpret. It is worth emphasizing that when both conditions (i) and (ii) of Theorem 4.1 hold, the sum of Aˆ + Bˆ is a crisp number. Moreover, the fulfillment of the conditions underlying the above theorem may lead to a reduction in the fuzziness of the sum of OFN with different orientations. It is easy to show that the support length of the ˆ and is equal to: OFN Cˆ is smaller than that of OFN Aˆ (or B) • suppC = supp A − supp B when condition (i) of Theorem 4.1 holds. • suppC = supp B − supp A when condition (ii) of Theorem 4.1 holds.

4.1 Ordered Fuzzy Numbers Algebra-Based Framework

147

where: supp X is the support of Xˆ in accordance with (4.3). The above property can therefore be used to construct algebraic expressions that allow reducing the fuzziness of the values obtained. Reduction in uncertainty can be illustrated using the example of Fig. 4.1 once again, this time determining the schedule for the execution of the operations of process P11 (an AGV) using OFN algebra (and the conditions of Theorem 4.1). For the purposes of the calculations, it was assumed that the operations executed at workstations 2, 4 (transport operations) and workstation 3 (an unloading operation) are described by OFN with a positive orientation, while the operation executed at workstation 1 (a loading-and-waiting break) is described by a number with a negative orientation. This assumption makes it possible to use the break at workstation 1 to reduce the uncertainty accumulated during the passage through sectors 2, 3, and 4. Figure 4.6 shows the resulting schedule. As it can be seen, the arrival time of the AGV at workstation 1 is “about” 50 u.t. (positive orientation) and the waiting time is “about” 30 u.t. (negative orientation). The end of the waiting time at workstation 1 is calculated as the sum: “about” 50 u.t. + “about” 30 u.t. which equals exactly 80 u.t. As it can be seen, the sum of numbers with opposite orientations is equal to the number with the smaller support (in this case reduced to zero). As an effect, the uncertainty following from the execution of a given delivery trip does not transfer to the execution times of the trips executed in the subsequent cycles. In the example, the functions f A , g A describing fuzzy numbers are continuous functions. Numerical calculations (e.g., solving constraint satisfaction problems with fuzzy variables) are made using a discrete OFN representation. In this representation,

Fig. 4.6 a) An example of a transport subsystem described with fuzzy parameters, b) a fuzzy processes execution schedule

148

4 Modeling the Uncertainty of Concurrent Cyclic Processes

Ʌ

Fig. 4.7 A discrete representation of OFN A (d x = 0.25) [19]

an OFN Aˆ is defined by the sequences f A, and g ,A containing values of the functions f A and g A obtained as a result of discretization of the interval [0, 1], i.e., f A, = ( f A (0), f A (1 × d x), . . . , f A (M × d x)), g ,A = (g A (M × d x), . . . , g A (1 × d x), g A (0)), d x =

(4.8) 1 , M

(4.9)

where (M + 1) is the number of discrete points. An example of discretization of OFN is displayed in Fig. 4.7. In the case of positive orientation, the support of A is sup Aˆ = ( f A (0), g A (0)), in the case of negative orientation, sup Aˆ = (g A (0), f A (0)). This means, for example, that the values of “about” 50 u.t. (positive orientation) and “about” 30 u.t. (negative orientation) in Fig. 4.6 have the following discrete forms (for d x = 10): Ʌ

Ʌ

Ʌ

A = ((40, 50), (50, 60)), B = ((40, 30), (30, 20)),

and their sum, in accordance with (4.5), is Ʌ

Ʌ

C = A + Bˆ = ((80, 80), (80, 80)). Ʌ

The number C is a representation of a crisp number—a so-called singleton. As can be seen, operations on numbers with opposite orientations lead to a reduction in uncertainty (the support of the resulting number is smaller than the supports of its component numbers). Discretization of OFN greatly facilitates calculations (instead of adding functions, their selected values are added), and adapts them for use in declarative modeling approaches. Unfortunately, like any type of discretization, OFN discretization also has its disadvantages. The small number of discrete points M increases computational

4.2 Performance Uncertainty Assessment

149

Fig. 4.8 A discrete form of an OFN described by a triangular membership function: a) positive orientation, b) negative orientation

efficiency, but it can also lead to information loss—this is especially important in the case of non-linear functions f A , g A . For the purposes of further discussion, it was assumed that OFN is represented by numbers with a triangular membership function given by (see Fig. 4.8): Ʌ

A = ((l A0 , l A1 ), ( p A1 , p A0 )),

(4.10)

where: l A1 , l A1 , p A1 , p A0 denote, respectively, the lower and upper bounds of the domains of the functions f A , g A : U PA = [l A0 , l A1 ], and D O W N A = [ p A1 , p A0 ]— see (4.2). It is assumed that for “triangular” numbers the values l A1 , p A1 are equal: l A1 = p A1 . To sum up, the proposed discrete representation of OFN (along with its proposed properties and Theorem 4.1) allows one to construct models describing the relations in a given system in the form of a system of equations and inequalities with fuzzy variables. In particular, it allows one to take into account uncertainty reduction, which is important in modeling cyclic systems. In the next subsection, a fuzzy SCCMP model is discussed as an extension of the model in which the problems C S AN (2.14) and C SSY N (2.19) were formulated.

4.2 Performance Uncertainty Assessment As an illustration of the concept of a fuzzy SCCMP model, Fig. 4.9 shows the layout of a transportation network of a milk-run system. In the system, 3 tugger trains move (along cyclic routes) between workstations P11 , P21 , P31 . The trains are used to transport items in accordance with the given production flow. In this system, one product P12 is produced serially in a pipeline mode (the route marked in red). It is assumed

150

4 Modeling the Uncertainty of Concurrent Cyclic Processes

that the trains are driven by operators and that loading and unloading operations are executed manually. Due to the presence of the so-called human factor (the operator’s health status, fatigue, distraction, etc.), the parameters describing the times of transport operations and loading operations have imprecise values. Moreover, it is assumed that the width of the routes along which the trains move is so small that the routes can accommodate only one train at a time. This means that when one train occupies a given sector, another is waiting for it to be released. Similarly to the examples presented so far, sought is a cyclic (i.e., deadlock-free) transport schedule which guarantees serial (pipelined) production of product P12 . In this case, however, some of the system’s parameters take on imprecise (fuzzy) values. This means that the sought operations schedule is also imprecise, i.e., the start times of the operations of the processes executed in the system are approximate.

Fig. 4.9 An example of a production system’s transportation network

4.2 Performance Uncertainty Assessment

151

Fig. 4.10 Layout of the structure of the SCCMP in Fig. 4.9

In other words, assuming that the parameters of the SCCMP are modeled using OFN, the problem under consideration is solved by searching for a cyclic steady state represented by a fuzzy cyclic schedule of the operations of the processes executed in the system. The system presented above can be modeled as an SCCMP with the structure SC shown in Fig. 4.10. It has three levels of multimodal processes: P 0 , P 1 , P 2 : • Level P 0 , which includes one process, P10 , whose operations represent system zones labeled in Fig. 4.10 with the numbers 1–20. These zones contain loading/ unloading workstations (zones 1–9) and transport sectors (10–20). For instance, the loading workstation in zone 5 (the transportation start point for product P12 ) 0 , while zone 16, in which transport operations are is represented by operation o1,5 0 . The remaining zones of the system executed, is represented by operation o1,16 are modeled in a similar way: ) ( 0 0 . O10 = o1,1 , . . . , o1,20 1 • Level includes three processes representing tugger trains: P 1 = } { 1 P1 , which 1 P1 , P2 , P3 . The (transport/loading/unloading) operations run by these processes are described by the sequences:

) ) ) ( 1 ( 1 ( 1 1 1 1 1 1 1 , O21 = o2,1 , O31 = o3,1 . O11 = o1,1 , o1,2 , . . . , o1,8 , o2,2 , .., o2,8 , o3,2 , . . . , o3,8

152

4 Modeling the Uncertainty of Concurrent Cyclic Processes

The processes have corresponding closed routes composed of level P 0 operations: ) ( 0 0 0 0 0 0 0 0 , p11 = o1,1 , o1,13 , o1,3 , o1,10 , o1,9 , o1,11 , o1,2 , o1,14 ) ( 0 1 0 0 0 0 0 0 0 p2 = o1,4 , o1,20 , o1,2 , o14 , o1,5 , o1,18 , o1,7 , o19 , ) ( 0 0 0 0 0 0 0 0 . , o1,16 , o1,6 , o1,17 , o1,8 , o1,13 , o1,3 , o1,15 p31 = o1,5 0 0 0 0 0 The processes share five operations (resources):o1,2 , o1,3 , o1,8 , o1,13 , o1,14 , for which the following dispatching rules have been defined:

) 0 ) 0 ) ( ( ( 0 σ1,2 = P21 , P11 , σ1,3 = P11 , P31 , σ1,8 = P21 , P31 , ) 0 ) ( ( 0 σ1,13 = P11 , P31 , σ1,14 = P21 , P11 . 2 2 Level { 2 } P , which contains one process representing the production flow: P = P1 . The operations run by this process are described in the following sequence:

) ( 2 2 2 . O12 = o1,1 , o1,2 , . . . , o19 Process P12 is executed along an open-route composed of level P 1 operations: ) ( 1 1 1 1 1 1 1 1 1 1 . p11 = o3,1 , o3,2 , . . . , o3,7 , o1,4 , o1,3 , . . . , o1,7 , o2,3 , o2,4 , . . . , o2,8 , o2,1 Process P12 does not share any operations, and so no dispatching rules have been established for it. In the system under discussion, it is assumed that the operation execution times can be defined as crisp or fuzzy values. The times of loading and unloading operations 0 0 − o1,9 ) are identical at 120 u.t. (a crisp value): (executed on resources o1,1 1 1 1 1 t1,1 = t1,3 = t1,5 = t1,7 = 120, 2 2 2 2 = t1,3 = t1,5 = t1,7 = 120, t1,1 3 3 3 3 t1,1 = t1,3 = t1,5 = t1,7 = 120. 0 0 In turn, the times of transport operations (i.e., executed on resources o1,10 − o1,21 ) 1 take the fuzzy values given in Fig. 4.11. For example, the duration of operation o1,2 (i.e., operation of transporting items in zone 13—Fig. 4.9) is approximately 250 u.t. It varies in the range from 205 u.t. to 300 u.t. The execution time of this operation is described by the following fuzzy number (a triangular OFN—(4.10)): Ʌ

1 t1,2 = ((205, 250), (250, 300)).

4.2 Performance Uncertainty Assessment

153

Fig. 4.11 Fuzzy values (an OFN representation) of the execution times of transport operations in the system in Fig. 4.9

Since the execution of transport operations leads to an increase in uncertainty, it is assumed that all the values shown in Fig. 4.11 have a positive orientation. In the case of process P12 (level P 2 ), it has been assumed that the operation execution times are equal to the corresponding operation execution times for level P 1 processes (i.e., times ti,1 j of Fig. 4.11). The possibility of taking into account the uncertainty of system parameters is of great practical importance. In many cases, a crisp schedule of processes is infeasible due to the occurrence of minor deviations from the planned operation execution times. An example of such a situation is presented in Fig. 4.12. This is a fragment of the system shown in Fig. 4.9 covering zones 1, 3, 8, and 13. In zones 1 and 8 (concerning unloading workstations), there are two tugger trains, P11 and P31 . The planned departure times from these zones are 1115 u.t. (train P11 ) and 1285 u.t. (train P31 ). The trains continue their trip through sector 13 to the workstation in zone 3— the arrival times are 1365 and 1495 u.t. The adopted (crisp) departure/arrival times guarantee collision-free and no-wait deliveries. It is assumed that during the implementation of the adopted plan, there were disturbances in the train arrival times (delays/accelerations). Train P11 was 100 u.t. late while train P31 set off 70 u.t. too early. The disruptions led to a collision in the transport sector of zone 13—the trains arrived at the zone at the same time. This example shows how important it is to be aware of the range of variability (uncertainty) of the system parameters one adopts. When the range of variability is

154

4 Modeling the Uncertainty of Concurrent Cyclic Processes

Fig. 4.12 Collision resulting from deviations in the implementation of the schedule

known, one can assess whether, in a given system, there exist behaviors that guarantee collision-free and deadlock-free execution of multimodal cyclic processes. This boils down to solving the following problem: Given is an SCCMP with a structure SC described by fuzzy parameters (i.e., operation execution times). The goal is to find an answer to the following question: Are cyclic behaviors (represented by cyclic steady states) reachable in system with a structure SC? This problem is a generalized fuzzy version of the analysis problem presented in Chap. 2 (a version that takes into account the imprecision of the parameters of an SCCMP). Since OFN representations make it possible to model and solve algebraic equations and inequalities, the problem can be solved using the operations-digraphbased approach (proposed in Sect. 2.2). Using these analogies, the generalized, fuzzy version of the SCCMP system behavior analysis problem previously formulated as a constraint satisfaction problem (2.14)C S AN , currently takes the following form: Ʌ

FC S AN =

((

) ) F V AN , F D AN , FC AN ,

Ʌ

Ʌ

where: Ʌ

• F V AN is a set of decision variables containing:

Ʌ

(4.11)

4.2 Performance Uncertainty Assessment

155

Ʌ

– Fuzzy start times xi,l j of the operations oli, j ∈ O P that make up the digraph G P. – Fuzzy waiting times wi,l j after the completion of operation oli, j ∈ O P. – Periods αl of the cyclic steady states of level P l processes. Ʌ

Ʌ

• F D AN is a set of decision-variable domains defining the admissible values of decision variables: Ʌ

– Domain of fuzzy operation start times: xi,l j ∈ F (where F is a set of OFN (4.1)), l = 1 . . . lp, i = 1 . . . lp(l), j = 1 . . . lr (l, i ). – Domain of fuzzy waiting times: wi,l j ∈ F, = 1 . . . lp, i = 1 . . . lp(l), j = 1 . . . lr (l, i ). – Domain of periods αl : αl ∈ N+ . Ʌ

Ʌ

• FC AN is a set of constraints defining: Ʌ

Ʌ

– The relationships among times xi,l j , waiting times wi,l j and periods αl represented by the operations digraph G P (2.3). – Conditions ensuring that the obtained fuzzy number values are correct (see the conditions of Theorem 4.1). Ʌ

Unlike the C S AN problem (2.14), the FC S AN problem (4.11) assumes that the values of the decision variables sought are fuzzy (assuming an OFN representation). Additionally, it is assumed that: Ʌ

Ʌ

• The set F V AN contains a new variable wi,l j describing the waiting time of process Pil after the completion of operation oli, j . • The process Pil does not release the resource (required to execute operation oli, j ) until the next operation starts. • The values of wi,l j have a negative orientation and are used to reduce uncertainty. Ʌ

Ʌ

Similarly to C S AN (2.14), in FC S AN (4.11) all relations between the multimodal process operations executed in an SCCMP are represented by an operations digraph G P (2.3). The constraints associated with it (i.e., counterparts of constraints (2.4)– (2.10)) which take into account the fuzziness of the decision variables are as follows: • Resource utilization relationships. The counterparts of constraints (2.4)–(2.5) describing the requirement of simultaneous execution of operation oli, j and operl ation ol−1 m,n (representing the resource used by operation oi, j ) take the following form: Ʌ

Ʌ

l−1 xi,l j ≥ xm,n + k × αl−1 , Ʌ

Ʌ

Ʌ

(4.12)

Ʌ

l−1 l−1 xi,l j + ti,l j ≤ xm,n + tm,n + k × αl−1 ,

(4.13)

156

4 Modeling the Uncertainty of Concurrent Cyclic Processes Ʌ

Ʌ

l−1 where k ∈ N and xi,l j , xm,n denote the fuzzy start times of operations oli, j and ol−1 m,n Ʌ

Ʌ

l−1 are the fuzzy execution times of (positive orientation), respectively, and ti,l j , tm,n these operations (positive orientation). The operators of the algebraic operations on fuzzy variables seen in expressions (4.12) and (4.12) are defined by (4.4) and (4.5).

• Precedence relationships. The counterpart of constraints (2.6)–(2.7), describing the order of execution of closed-route process operations (i.e., following the order defined by the sequence O l ), takes the following form: Ʌ

l xi,m

EX

~~~~ l = xi, j + ti,l j + wi,l j − ψi,l j , Ʌ

Ʌ

Ʌ

(4.14)

The counterpart of constraints (2.8)–(2.9), describing the order of execution of closed-route process operations, takes the following form: Ʌ

l xi,m

) ( ( ) ~~~~ = max xi,l j + ti,l j + wi,l j ; N AS oli,m − αl + Δt , EX

Ʌ

Ʌ

Ʌ

Ʌ

(4.15)

where: Ʌ

Ʌ

l are the fuzzy start times of operations oli, j , oli,m (positive orientation), – xi,l j , xi,m Ʌ

Ʌ

l are the fuzzy execution times of operations oli, j , oli,m (positive – ti,l j , ti,m orientation). – wi,l j is the waiting time of fuzzy process Pil on resource pi,l j after the execution of operation oli, j , (negative orientation). } { – ψi,l j ∈ 0, αl is a value which ensures cyclic execution of operations of process Pil (ψi,l j = αl for the last operation of route pil ). – Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . ( ) – N AS oli,m is a function which returns the fuzzy start time of the operation which occurs in sequence Oil directly after operation. For example ( ) ( ) l N AS oli,m = xi,u , when Oil = . . . , oli,m , oli,u , . . . . l – E X is an interval of availability of resource pi,m used by operation oli,m . Ʌ

Ʌ

Ʌ

EX



Ʌ

EX

~~~~ ~~~~ = is an operator { of relationship}x = y, defined similarly as in constraint ˆ aˆ ∈ E X, aˆ ≥ yˆ . (2.7): xˆ = min a|

The operators of the algebraic operations on fuzzy variables found in expressions (4.14) and (4.15) are defined by (4.4) and (4.5). The values of fuzzy variables should meet the conditions given in Theorem 4.1.

4.2 Performance Uncertainty Assessment

157

An example of the precedence constraint (4.14) being satisfied for three consec1 1 1 , o1,5 , o1,6 of process P11 of the system in Fig. 4.10 is utive operations: o1,4 shown in Fig. 4.13. This figure shows a fragment of a fuzzy schedule for the 1 1 1 execution of these operations. As can be seen, the operations o1,4 , o1,5 , o1,6 are executed sequentially, one after another. During their execution, process P11 0 0 0 sequentially holds resources o1,10 , o1,9 , o1,11 . Within the time intervals in which these resources are held, three fuzzy moments have been distinguished: an operation start time xi,l j , an operation end time xci,l j = xi,l j + ti,l j and a resource release Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

time xri,l j = xci,l j + wi,l j . • Operation exclusion relationships. A counterpart of constraint (2.10), describing the order of execution of operations oli, j , olm,n of processes Pil ,Pml , which share common resource, takes the following form:

Fig. 4.13 Graphical illustration of constraint (4.14)

158

4 Modeling the Uncertainty of Concurrent Cyclic Processes EX ( ( ) ( ) ( ) ~~~~ l xm,n = max P O P olm,n + P O T olm,n + P O W olm,n ; ) ( ) N A P oli, j − χlm,n + Δt ,

Ʌ

Ʌ

Ʌ

Ʌ

(4.16)

Ʌ

where: Ʌ

l – xm,n is the start times of operation olm,n . } { – χlm,n ∈ 0, αl is a value specifying whether operation olm,n is the first one (in each cycle) to have the right of access to the shared resource (χlm,n = αl when l−1 Pml is the first element of rule σa,b ). – Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . – E X is an interval of availability of the resource used by operation olm,n . ( ) – P O P olm,n is the function that returns the fuzzy start time of the operation ( ) l when which occurs in sequence Oil before operation olm,n : P O P olm,n = xi,u ( ) l l l Om = . . . , oi,u , om,n , . . . . ( ) – P O T olm,n is the function that returns the fuzzy start time of an operation ( ) l which occurs in sequence Oil before operation olm,n : P O T olm,n = ti,u when ( ) l l l Om = . . . , oi,u , om,n , . . . . ( ) – P O W olm,n is the function that returns the fuzzy start time of an operation ( ) l which occurs in sequence Oil before operation olm,n : P O T olm,n = wi,u when ( ) l l l Om = . . . , oi,u , om,n , . . . . ( ) – N A P oli, j is the function which returns the fuzzy start time of the operaɅ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

tion which occurs in sequence Oil directly after operation oli, j . For example, ( ) ( ) l when Oil = . . . , oli, j , oli,u , . . . . N A P oli, j = xi,u

Ʌ

Ʌ

An example of mutual exclusion of operations (e.g., under constraint (4.16)) of processes P21 , P31 , run in the system in Fig. 4.10 is shown in Fig. 4.14. The ) ( processes 0 0 . The adopted dispatching rule is given by: σ1,8 = P21 , P31 — share resource o1,8 1 1 0 and o3,5 (which share resource o1,8 ) should be which means that operations o2,5 mutually exclusive on that resource and should be executed in the following order: 1 1 1 1 0 , o3,5 , o2,5 , o3,4 , …. As can be seen (Fig. 4.14), resource o1,8 is first used to …,o2,5 1 execute operation o2,5 , and after that operation has been completed and the resource 1 has been released, it is used in operation o3,5 . It is worth adding that the adopted Ʌ

1 1 start time x3,5 of operation o3,5 does not lead to a situation in which processes P21 , Ʌ

Ʌ

0 1 1 P31 could be holding resource o1,8 at the same time (the fuzzy numbers x3,5 , xr2,5 do not have a common part). This means that the satisfaction of constraint (4.16) allows one to determine the fuzzy values of operation start times which guarantee mutual exclusion of these operations on the shared resource, regardless of the “degree” of

4.2 Performance Uncertainty Assessment

159

uncertainty. The operators of the algebraic operations on fuzzy variables found in expression (4.16) are defined by (4.4) and (4.5). Additionally, the values of fuzzy variables should meet the conditions given in Theorem 4.1. The FC S AN problem formulated in this way (i.e., taking into account constraints Fuzzy Constraints Satisfaction (4.12)–(4.16)) is a special form ) Ordered ) (( of the V , D , C , which is applicable in solving probProblem (OFCSP): FC S = lems with decision variables and parameters represented as OFN. The problem being defined is an alternative to the existing definitions of FCS problems [31, 32], where the fuzziness refers to the structure of the constraints being used (i.e., constraints which can be satisfied to a given degree). The proposed FC S integrates the possibility of defining precise and imprecise variables along with the possibility of applying constraints in the form of algebraic expressions (i.e., using OFN algebra). Moreover, the fact that OFN can be represented in a discrete form makes it possible to use classic constraint programming environments in solving such problems. To solve FC S (4.11), one must determine the values of the decision variables from the adopted set of domains for which the given constraints are satisfied. A solution Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Fig. 4.14 A graphic illustration of constraint (4.16)

160

4 Modeling the Uncertainty of Concurrent Cyclic Processes Ʌ

can be found by implementing FC S in a constraint programming environment, such as IBM ILOG. In keeping with (4.11), a solution to the problem FC S includes: Ʌ

Ʌ

• fuzzy operation start times xi,l j , Ʌ

• fuzzy waiting times wi,l j , • and periods αl of cyclic steady states, which satisfy constraints (4.12)–(4.16) (as determined by the operations digraph G P(2.3)). These variables make up a fuzzy cyclic schedule X(DC ) representing a cyclic steady state DC reachable in the SCCMP. It is defined as follows: Ʌ

} { X(DC ) = X l (DC )|l = 0 . . . lp , Ʌ

Ʌ

Ʌ

X l (DC ) = Ʌ

) ) l X 1l (DC ), . . . , X il (DC ), . . . , X lp(l) (DC ) , αl ,

(4.18)

) ) xi,l j , wi,l j | j = 1 . . . lr (l, i ); (4.12) − (4.16) ,

(4.19)

(( ((

Ʌ

Ʌ

Ʌ

X il (DC ) =

(4.17)

Ʌ

Ʌ

where: Ʌ

• X l (DC ) is the fuzzy cyclic schedule of l-th level processes (which corresponds to a cyclic steady state DC ). • lp is the number of levels of multimodal processes. • lp(l) is the number of l-th level processes. • X il (DC ) is the sequence of pairs of: fuzzy operation start times xi,l j and waiting Ʌ

Ʌ

Ʌ

times wi,l j of process Pil operations, for which constraints (4.12)–(4.16) are satisfied. • lr (l, i) is the number of operations of process Pil . • xi,l j is the fuzzy start time of operation oli, j . Ʌ

Ʌ

• wi,l j is the fuzzy waiting time of process Pil on resource pi,l j after the execution of operation oli, j , (negative orientation). Ʌ

• αl is the period of schedule X l (DC ), αl ∈ N+ . Examples of this type of schedules are shown in graphic form in Figs. 4.13 and 4.14. The FC S AN problem (4.11) was used to model and solve the problem of the existence of a cyclic steady state in the system in Fig. 4.9. First, an operations digraph G P (2.3) was constructed for the structure SC shown in Fig. 4.10—see Fig. 4.15. It was used as a basis for defining a set of decision variables F V AN and a set of constraints FC AN . Ʌ

Ʌ

Ʌ

4.2 Performance Uncertainty Assessment

161

Fig. 4.15 An operations digraph for the SCCMP in Fig. 4.10 Ʌ

The set of decision variables F V AN contains 51 fuzzy variables (i.e., variables of l l ) and 2 crisp variables (i.e., periods α 1 , α 2 ): , wi,j the type xi,j Ʌ

Ʌ

{ 1 1 1 1 1 1 2 2 V AN = x1,1 , . . . , x1,8 , x2,1 , . . . , x2,8 , x3,1 , . . . , x3,8 ,x1,1 , . . . , x1,19 , Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

ɅɅ

Ʌ

} 2 1 2 1 1 1 1 1 , α1, α2 . , . . . , w1,19 , . . . , w3,8 ,w1,1 , w2,1 , . . . , w2,8 , w3,1 , . . . , w1,8 w1,1

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

ɅɅ

Ʌ

(4.20)

Ʌ

The set FC AN contains constraints (4.12)–(4.16) determined by the operations digraph G P shown in Fig. 4.15 and constraints resulting from the nature of milk-run systems, in which AGV do not wait at unloading workstations. In the case under consideration, the tugger train can only wait at workstations in 1 1 1 ), 4 (operation o2,1 ) and 5 (operation o3,1 ). This the following zones: 1 (operation o1,1 Ʌ

means that waiting times in the remaining zones are equal to zero: wi,1 j = 0, for

162

4 Modeling the Uncertainty of Concurrent Cyclic Processes

i = 1, 2, 3 and j = 2, . . . , 8. It has also been assumed that the values of the decision variables should meet the conditions given in Theorem 4.1. Formulated in this way, the FC S AN problem was implemented and solved in the IBM ILOG constraint programming environment. The first admissible solution was computed in < 3 s. It is shown in Fig. 4.16. The diagram in this figure is a graphic representation of a fuzzy cyclic schedule X(DC ) [29]. To simplify presentation, the diagram only shows the operations of the 1 1 –o1,9 ). The course of the operations of the loading/unloading zones (resources: o1,1 processes is represented in the form of three “ribbons” (the green ribbon represents process P11 , orange—P21 , blue—P31 , red—P12 ); the width of the ribbons denotes the uncertainty of operation start times on resources. With the passage of time, the degree of uncertainty increases—the subsequent operations are described by OFN with larger and larger supports. For example, the 1 1 1 of operation o1,5 on resource o1,9 is about 670 u.t. The support of this start time x1,5 1 = [595, 750] (the length of the support is 155 u.t.). The start time number is suppx1,5 Ʌ

Ʌ

Ʌ

Ʌ

1 1 is described by the number x1,7 = about 1135 u.t. with the of the next operation o1,7 1 = [1020, 1245] (the length of the support is 225 u.t.). The support support suppx1,7 (and thus the degree of uncertainty) has increased by 70 u.t. It is worth noting that the width of the ribbon increases with the increasing degree of uncertainty until the next cycle begins. The uncertainty of the decision variables is reduced at the beginning 1 1 (process P11 ), o2,1 of each cycle. Processes start the cycle with the operations: o1,1 1 1 1 0 0 0 (process P2 ), o3,1 (process P3 ), executed on the following resources: o1,1 , o1,4 , o1,5 , respectively, which are allowed to take some downtime to reduce the uncertainty. 1 , The waiting time on these resources is determined by the following variables: w1,1 Ʌ

Ʌ

Ʌ

Ʌ

1 1 1 w2,1 , w3,1 (negative orientation)—see Fig. 4.17. For instance, waiting time w3,1 on Ʌ

0 1 resource o1,5 is w3,1 = about 520 = ((585, 520), (520, 450)). This value allows one to reduce the uncertainty accumulated during the execution of the entire cycle. 0 1 1 is released at time xr3,1 Given a waiting time of this duration, resource o1,5 = x3,1 + Ʌ

Ʌ

Ʌ

Ʌ

1 1 = ((2120, 2120), (2120, 2120)) (where x3,1 = ((1535, 1600), (1600, 1670))). w3,1 Ʌ

1 The length of the support of the number xr3,1 has been reduced to zero. In practice, this means that the adopted waiting time is sufficient to offset the delays that occurred during deliveries. The values of all the variables obtained (for the second system operation cycle) are shown in Fig. 4.17. It is worth emphasizing that despite the uncertainty, all the processes are executed cyclically (there are no deadlocks or collisions), with a constant period of α 1 = α 2 = 1800 u.t. The system then works with a takt time of 1800 u.t., with one product P12 leaving the system in each work cycle. The production time (the execution time of the process of level P12 ) is 5700 u.t. The example presented above regarded the problem of assessing the existence of cyclic steady states in systems with known imprecise structure SC parameters, i.e., the problem of analysis of the behavior of SCCMP. A fuzzy synthesis problem, in

4.2 Performance Uncertainty Assessment

163

Ʌ

Fig. 4.16 A fuzzy cyclic schedule X(DC ) reachable in the SCCMP in Fig. 4.10: a) level P 1 , b) level P2

Ʌ

Ʌ

Fig. 4.17 Fuzzy operation start times xi,l j and process waiting times wi,l j on the resources of the SCCMP in Fig. 4.10

164 4 Modeling the Uncertainty of Concurrent Cyclic Processes

4.2 Performance Uncertainty Assessment

165

which dispatching rules Θl guaranteeing the reachability of a cyclic steady state in a SCCMP system are sought, can be modeled in an analogous way. A problem like this can also be formulated as an Ordered Fuzzy Constraints Satisfaction Problem: ) ) (( (4.21) FC S SY N = F V SY N , F D SY N , FC SY N , Ʌ

Ʌ

Ʌ

Ʌ

where: Ʌ

• F V SY N is a set of decision variables containing: l−1 l−1 – Matrices Ma,b determining the form of the dispatching rules σa,b of set Θl . Ʌ

– Fuzzy start times xi,l j of the operations oli, j ∈ O P that make up the digraph G P. – Fuzzy waiting times wi,l j of a process after the completion of operation oli, j ∈ O P. – Periods αl of the cyclic steady states of level P l processes. Ʌ

Ʌ

• F D SY N is a set of decision-variable domains defining the admissible values of decision variables: l−1 – Domain of the elements of matrix Ma,b : μi,m,n j ∈ {0, 1}. Ʌ

– Domain of fuzzy operation start times: xi,l j ∈ F (where F is a set of OFN (4.1)), l = 1 . . . lp, i = 1 . . . lp(l), j = 1 . . . lr (l, i ). – Domain of fuzzy waiting times: wi,l j ∈ F, = 1 . . . lp, i = 1 . . . lp(l), j = 1 . . . lr (l, i ). – Domain of periods αl : αl ∈ N+ . Ʌ

Ʌ

• FC SY N is a set of constraints defining: Ʌ

Ʌ

– The relationships among operation start times xi,l j , waiting times wi,l j and periods αl given by (4.12)–(4.15). l−1 – The elements of the matrix Ma,b . – The conditions ensuring that the obtained fuzzy number values are correct (conditions of Theorem 4.1). Ʌ

The FC S SY N problem (4.21) is an extension of the C SSY N problem (2.19) (see Sect. 2.2) which takes into account the fuzzy parameters of system’s structure SC. The counterparts of constraints (2.4)–(2.9) are constraints (4.12)–(4.15), and the counterparts of the constraints describing relationships between the elements of the l−1 (4.16), (4.17) are constraints of the following form: matrix Ma,b ( ( l ) ( l ) ( l ) l ≥ μi,m,n xm,n j × max P O P om,n + P O T om,n + P O W om,n ; ) ( ) N A P oli, j − χlm,n + Δt ,

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

(4.22)

166

4 Modeling the Uncertainty of Concurrent Cyclic Processes

( ( ) ( ) ( ) j xi,l j ≥ μi,m,n × max P O P oli, j + P O T oli, j + P O W oli, j ; ) ( ) N A P olm,n − χli, j + Δt ,

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

i, j μi,m,n j + μm,n ≤ 1,

(4.23)

(4.24)

where: Ʌ

Ʌ

l • xi,l j , xi,m are the fuzzy start times of operations oli, j , oli,m (positive orientation). • Δt is the time delay caused by the reaction of a process to a resource release signal: Δt ∈ N+ . • χlm,n , P O P , P O T ,P O W , N A P are defined in the same way as in the case of (4.16). i, j m,n l−1 • μi,m,n j , μm,n ∈ {0, 1} are elements of the matrix Ma,b defined as in (2.16), μi, j = 1 means that operation oli, j can access a shared resource directly before operation Ʌ

Ʌ

Ʌ

Ʌ

i, j

olm,n , while μm,n = 1 means that operation olm,n can access a shared resource i, j directly before operation oli, j (μi,m,n j + μm,n ≤ 1). The constraints make it possible to define a dispatching rule that guarantees deadlock-free execution of a pair of operations oli, j , olm,n sharing one resource. The i, j

decision variables μi,m,n j , μm,n allow one to consider different orders of access of l l operations oi, j , om,n to the shared resource. Despite the uncertainty of the operation start times, the two processes will never have access to the shared resource at the same time. l−1 (determining the The solution to FC S SY N is then a set of matrices Ma,b Ʌ

Ʌ

l−1 of set Θl ), fuzzy operation start times xi,l j and fuzzy process dispatching rules σa,b Ʌ

waiting times wi,l j which meet the conditions of reachability of cyclic steady states expressed by constraints (4.12)–(4.15), (4.22) and (4.23). The problem formulated in this way was used to conduct a series of computational experiments. The aim of the experiments was to evaluate the computational efficiency of the proposed approach (the efficiency of solving FC S SY N using one of the available declarative programming environments—IBM ILOG). The synthesis involved the determination of the form of the given number (L D P) of dispatching rules Θl (l = 1, 2) guaranteeing the reachability of at least one cyclic steady state in the system. The systems considered in the experiments were described with fuzzy parameters (fuzzy operation execution times). The objective was to evaluate the solving times for FC S SY N as a function of system size (expressed as L D P) and the number of discrete points (expressed as M) used to describe the discrete form (4.8) of the fuzzy decision variables. Figure 4.18 presents solving time functions for the FC S SY N problem (4.21) for systems with different numbers of dispatching rules L D P = 5 . . . 45 and different values of M = 2, 4, 6 (the adopted structure density: g = 0.5). Ʌ

Ʌ

Ʌ

4.3 Notes

167

Ʌ

Fig. 4.18 Functions of FC S SY N (4.21) calculation times for structures with different numbers of dispatching rules L D P and different numbers of discrete points M

Analogously to the problems of synthesis of systems with crisp parameters (see Fig. 2.20), the solving time functions for FC S SY N are exponential. It should be noted, however, that a change in the value of M does not significantly affect the computation time which increases linearly. The results indicate that the proposed approach can only be applied to structures in which the number of dispatching rules L D P does not exceed 35 (computation time does not exceed 60 min) and M ≤ 6. Ʌ

4.3 Notes This chapter outlined an approach to representation of problems of system behavior analysis and system structure synthesis dedicated to SCCMP described with imprecise (uncertain) parameters. Most of the problems encountered in practice regard SCCMP whose parameters (all or part of them) are defined approximately. An example of such imprecise parameters is operation execution times ti,l j . Classic models (e.g., probabilistic, fuzzy) of this type of systems turn out to be insufficient, because they do not take into consideration the phenomenon of uncertainty reduction (which is particularly important in cyclic systems). To account for uncertainty reduction, a representation based on ordered fuzzy numbers (OFN) algebra was developed. The proposed OFN model, supplemented with additional conditions guaranteeing the correctness of the algebraic operations (Theorem 4.1), makes it possible to describe SCCMP in the declarative programming environment (i.e., to model their

168

4 Modeling the Uncertainty of Concurrent Cyclic Processes

behavior using constraint satisfaction problems). In a model developed in this way, two basic problems can be formulated: • A fuzzy problem of analysis of the behavior of an SCCMP associated with the following question: Does there exist, in an SCCMP with a structure SC described with fuzzy parameters (such as fuzzy operation execution times), a behavior that guarantees the reachability of a cyclic steady state that meets the given properties? • A fuzzy problem of synthesis of the structure of an SCCMP associated with the following question: Do there exist dispatching rules Θl for the structure SC (described with fuzzy parameters), which guarantee the reachability of assumed cyclic steady state behavior in the SCCMP? To solve C S AN (2.14) and C SSY N (2.19) (i.e., the problems of analysis and synthesis formulated in Sect. 2.2), generalized versions of them were developed: FC S AN (4.11), FC S SY N (4.21), respectively. They can be implemented using commercially available constraint programming environments (IBM ILOG, ECLiPSe , OzMozart, Gurobi etc.). The problems under consideration assume that decision variables take fuzzy values (assuming an OFN representation) and the relations between them are described by constraints that have the form of fuzzy algebraic equations and inequalities: (4.12)–(4.16), (4.22), (4.23). The existence of a fuzzy cyclic schedule X(DC ) is conditioned by the consistency of these constraints, i.e., such a schedule exists if there exists a solution to the problems (4.11) FC S AN or FC S SY N (4.21). The possibility of using fuzzy numbers with different orientations (i.e., a positive orientation for operation execution times ti,l j and a negative orientation for waiting times Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

Ʌ

wi,l j ) allows one to take into account uncertainty reduction in the system behavior being determined (which, due to Zadeh’s extension principle, cannot be considered in classical fuzzy models). Uncertainty reduction may occur, for instance, in milkrun systems with planned tugger train downtimes. The approach proposed here can be used to determine the length of waiting breaks (so-called time buffers) which enable the elimination of the delays that have occurred during the execution of cyclic deliveries. The experiments reported above showed that the solution to the problem FC S SY N has an exponential computational complexity (e.g., similarly to the C SSY N problem (2.19)). This means that the practical application of this method is limited to systems with sizes not exceedingc35 shared resources. At the same time, it is worth noting that the use of the declarative approach allows one to consider larger scale problems encountered in practice, among others, owing to the application of the decomposition methods presented in Sect. 2.3. Ʌ

References

169

References 1. Zhuoning, D., Rulin, Z., Zongji, C., Rui, Z.: Study on UAV path planning approach based on fuzzy virtual force. Chin. J. Aeronaut. 23, 341–350 (2010). https://doi.org/10.1016/S1000-936 1(09)60225-9 2. Milla, F., Saez, D., Cortes, C.E., Cipriano, A.: Bus-stop control strategies based on fuzzy rules for the operation of a public transport system. IEEE Trans. Intell. Transp. Syst. 13, 1394–1403 (2012). https://doi.org/10.1109/TITS.2012.2188394 3. Bocewicz, G., Banaszak, Z., Nielsen, I.: Multimodal processes prototyping subject to fuzzy operation time constraints. IFAC-PapersOnLine 48, 2103–2108 (2015). https://doi.org/10. 1016/j.ifacol.2015.06.399 4. Bocewicz, G., Nielsen, I.E., Banaszak, Z.A.: Production flows scheduling subject to fuzzy processing time constraints. Int. J. Comput. Integr. Manuf. 29, 1105–1127 (2016). https://doi. org/10.1080/0951192X.2016.1145739 5. Wójcik. R., Nielsen, I., Bocewicz, G., Banaszak, Z.: Multimodal processes optimization subject to fuzzy operation time constraints. In: Distributed Computing and Artificial Intelligence, 12th International Conference. Advances in Intelligent Systems and Computing, pp. 313–322 (2015) 6. Pustokhina, I., Pustokhin, D., Lydia, E., et al.: Energy efficient neuro-fuzzy cluster based topology construction with metaheuristic route planning algorithm for unmanned aerial vehicles. Comput. Netw. 196, 108214 (2021). https://doi.org/10.1016/J.COMNET.2021.108214 7. Izadikhah, M., Azadi, M., Toloo, M., Hussain, F.K.: Sustainably resilient supply chains evaluation in public transport: a fuzzy chance-constrained two-stage DEA approach. Appl. Soft Comput. 113, 107879 (2021). https://doi.org/10.1016/J.ASOC.2021.107879 8. Özturk, F., Ünver, S.: Fuzzy linear programming approach for the capacitated vehicle routing problem. Journal of Turk. Oper. Manag. 6, 1239–1251 (2022). https://doi.org/10.56554/JTOM. 1040070 9. Mir H.S., ben Abdelaziz, F.: Cyclic task scheduling for multifunction radar. IEEE Trans. Autom. Sci. Eng. 9, 529–537 (2012). https://doi.org/10.1109/TASE.2012.2197857 10. Atkins, E.M., Durfee, E.H., Shin, K.G.: Plan Development Using Local Probabilistic Models, pp. 49–56 (2013). https://doi.org/10.48550/arxiv.1302.3554 11. Rudy, J.: Cyclic scheduling line with uncertain data. In: Rutkowski, L., Korytkowski, M., Scherer, R., et al. (eds.) Artificial Intelligence and Soft Computing. ICAISC 2016. Lecture Notes in Computer Science, pp. 311–320. Springer (2016) 12. Huynh, Q.T., Nguyen, N.T.: Probabilistic method for managing common risks in software project scheduling based on program evaluation review technique. IJITPM 11, 77–94 (2020). https://doi.org/10.4018/IJITPM.2020070105 13. Piegat, A.: Fuzzy Modeling and Control. Physica-Verlag HD, Heidelberg (2001) 14. Lin, C., Hsieh, P.J.: A fuzzy decision support system for strategic portfolio management. Decis. Support Syst. 38, 383–398 (2004). https://doi.org/10.1016/S0167-9236(03)00118-0 15. Ngai, E.W.T., Wat, F.K.T.: Fuzzy decision support system for risk analysis in e-commerce development. Decis. Support Syst. 40, 235–255 (2005). https://doi.org/10.1016/J.DSS.2003. 12.002 16. Kaur, A., Kacprzyk, J., Kumar, A.: Fuzzy Transportation and Transhipment Problems. Springer International Publishing, Cham (2020) 17. González Rodríguez, G., Gonzalez-Cava, J.M., Méndez Pérez, J.A.: An intelligent decision support system for production planning based on machine learning. J. Intell. Manuf. 31, 1257– 1273 (2020). https://doi.org/10.1007/S10845-019-01510-Y/FIGURES/10 18. He, Y., Xu, J.: A class of random fuzzy programming model and its application to vehicle routing problem. UK World J. Model. Simul. 1, 3–11 (2005) 19. Kosi´nski, W.: On fuzzy number calculus. Int. J. Appl. Math. Comput. Sci. 16, 51–57 (2006) 20. Prokopowicz, P., Czerniak, J., Mikołajewski, D., et al.: Theory and Applications of Ordered Fuzzy Numbers: A Tribute to Professor Witold Kosi´nski. Springer Nature, Cham (2017)

170

4 Modeling the Uncertainty of Concurrent Cyclic Processes

21. Zarzycki, H., Czerniak, J.M., Dobrosielski, W.T.: Detecting Nasdaq composite index trends with OFNs. Stud. Fuzziness Soft Comput. 356, 195–205 (2017). https://doi.org/10.1007/9783-319-59614-3_11/TABLES/4 22. Pisz, I., Chwastyk, A., Łapu´nka, I.: Assessing the profitability of investment projects using ordered fuzzy numbers. LogForum 15, 377–389 (2019). https://doi.org/10.17270/J.LOG.201 9.342 23. Chwastyk, A.: Applications of ordered fuzzy numbers in medicine. In: Uncertainty and Imprecision in Decision Making and Decision Support: New Challenges, Solutions and Perspectives. IWIFSGN 2018. Advances in Intelligent Systems and Computing, pp. 103–112. Springer (2021) 24. Zarzycki, H., Apiecionek, Ł., Czerniak, J.M., Ewald, D.: The proposal of fuzzy observation and detection of massive data DDOS attack threat. Adv. Intell. Syst. Comput. AISC 1081, 363–378 (2021). https://doi.org/10.1007/978-3-030-47024-1_34 25. Piasecki, K., Łyczkowska-Han´ckowiak, A.: Representation of Japanese candlesticks by oriented fuzzy numbers. Econometrics 8, 1 (2020). https://doi.org/10.3390/ECONOMETRICS 8010001 26. Rudnik, K., Kacprzak, D.: Fuzzy TOPSIS method with ordered fuzzy numbers for flow control in a manufacturing system. Appl. Soft Comput. 52, 1020–1041 (2017). https://doi.org/10.1016/ J.ASOC.2016.09.027 27. Piasecki, K., Roszkowska, E.: On application of ordered fuzzy numbers in ranking linguistically evaluated negotiation offers. Adv. Fuzzy Syst. 2018, 12 (2018). https://doi.org/10.1155/2018/ 1569860 28. Bocewicz, G., Banaszak, Z., Nielsen, I.: Multimodal processes prototyping subject to grid-like network and fuzzy operation time constraints. Ann. Oper. Res. 273, 561–585 (2019). https:// doi.org/10.1007/s10479-017-2468-5 29. Bocewicz, G., Banaszak, Z., Rudnik, K., et al.: An ordered-fuzzy-numbers-driven approach to the milk-run routing and scheduling problem. J. Comput. Sci. 49, 101288 (2021). https://doi. org/10.1016/j.jocs.2020.101288 30. Radzki, G., Bocewicz, G., Golinska-Dawson, P., et al.: Periodic planning of UAVs’ fleet mission with the uncertainty of travel parameters. In: IEEE International Conference on Fuzzy Systems. Luxembourg, pp. 1–8 (2021b) 31. Ruttkay, Z.: Fuzzy constraint satisfaction. In: IEEE International Conference on Fuzzy Systems, vol. 2, pp. 1263–1268 (1994). https://doi.org/10.1109/FUZZY.1994.343640 32. Vanegas, M.C., Bloch, I., Inglada, J.: Fuzzy constraint satisfaction problem for model-based image interpretation. Fuzzy Sets Syst. 286, 1–29 (2016). https://doi.org/10.1016/J.FSS.2014. 10.025

Chapter 5

Concluding Remarks

Modeling of Concurrent Cyclic Multimodal Processes enables analysis of many of the various systems used in practice and characterized by periodic behavior. Typical examples of such systems are passenger railway, production, and public transport systems. The basic processes in this type of system are cyclic processes representing means of transport which stop, according to a predetermined plan, at stations (treated as resources) located along routes marked out in the available network of connections. These processes viewed, in turn, as resources for the operations of the higher level processes representing passengers or transported items, make up a layer of multimodal processes. Some of the more important problems discussed in research on SCCMP include the analysis of their behaviors (e.g., public transport timetables, production schedules, etc.) and the synthesis of their structures (e.g., topology of connections’ networks, structure and organization of the rolling stock/vehicles used in those systems, etc.). The most frequently asked questions concern the existence in SCCMP of cyclic behaviors (i.e., cyclic steady states and cyclic schedules) and/ or structure parameters (i.e., operation execution times, dispatching rules, etc.) that guarantee the occurrence of these behaviors. In this monograph, three types of problems have been distinguished, which can be summarized as: • the cyclic SCCMP behavior analysis, • the SCCMP structure synthesis, and • the mutual reachability of cyclic SCCMP behaviors. These problems are formulated as decision-making problems. This assumption follows from the fact that these problems have parameters with integer values and that in solving them one must take into account additional constraints related to the finite capacity of buffers (e.g., a no-buffer constraint), the need for synchronization (e.g., in accordance with the mutual exclusion protocol), or the hierarchical structure of SCCMP (e.g., interactions between multimodal processes from different layers), etc. In many cases encountered in practice, contradictions between these constraints may, of course, result in the absence of any admissible solution. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 G. Bocewicz, Declarative Models of Concurrent Cyclic Processes, Studies in Systems, Decision and Control 438, https://doi.org/10.1007/978-3-031-40552-5_5

171

172

5 Concluding Remarks

Each of the above problems can also be formulated as an optimization problem related to the minimization of the period of an SCCMP, maximizing the use of shared resources, etc. Problems of this type require the knowledge of the entire state space P, and, as such, can only be formulated for small systems rarely found in practical applications. This means that an optimization can only be performed for small sets of previously determined admissible solutions. A good example is the problem of synthesis of structure parameters (e.g., dispatching rules) minimizing the production period in the system of Fig. 2.6. Figure 5.1 summarizes, in graphic form, the declarative models developed as part of this study and the methods of SCCMP behavior analysis and structure synthesis based on them. The figure shows the following models: 1. A multi-level model of structure SC (Chap. 1) and the corresponding multi-level models of behavior for the state spaces P (Chap. 2) and X P (Chap. 3, Fig. 5.1a). 2. The Constraint Satisfaction Problems CSAN , CSSYN (Chap. 2), and CSOSY (Chap. 3) dedicated to the following problems: SCCMP behavior analysis, SCCMP structure synthesis, and mutual reachability of SCCMP cyclic steady states—Fig. 5.1b. 3. A model of regular SCCMP (Chap. 1) and conditions guaranteeing their composition (Chap. 2)—Fig. 5.1c. 4. The OFN-based Fuzzy Constraint Satisfaction Problems FCSAN , FCSSYN (Chap. 4), dedicated to the problems of SCCMP behavior analysis and structure synthesis described by imprecise parameters—Fig. 5.1d. Re 1. The definition of an SCCMP adopted in this work (see Fig. 5.1a) allows one to single out in the structure SC many levels of multimodal processes (e.g., processes representing moving trains, passengers being transported by the trains, parcels being transported by the passengers, etc.). For each of these levels, one can adopt a separate set of assumptions and constraints. This concept reflects the natural (multi-level) hierarchy of processes occurring in real-life cyclic systems. An example is the system in Fig. 2.6 (Sect. 2.2), in which the execution of higher-level production processes depends on lower level transport processes. Since the structure of the SCCMP is multi-level, so is the state space P describing the cyclic steady states reachable in this system. This means that the behaviors at each level, e.g., the behavior of transport processes, including its impact on the behavior of production processes (and vice versa), can be considered independently of each other. Re 2. As shown in Fig. 2.5 (Sect. 2.1), the problem of evaluating the existence of cyclic steady states in the state space P is characterized by exponential computational complexity. However, by adopting certain simplifications (e.g., limiting the considerations to cyclic steady states alone), one can develop effective computation methods for these kinds of problems (see Fig. 5.1b). Instances of such problems include: • The SCCMP behavior analysis problem, for which a declarative method for determining cyclic schedules X(DC ) (i.e., representing cyclic steady states DC ) was

5 Concluding Remarks

173

Fig. 5.1 A graphic summary of the proposed models and methods of SCCMP behavior analysis and structure synthesis: a) a multi-level model of structure SC with state spaces P and X P , b) constraint satisfaction problems CSAN , CSSYN , CSOSY , c) composition of regular systems, d) fuzzy constraint satisfaction problems FCSAN , FCSSYN

174

5 Concluding Remarks

developed (Sect. 2.2) based on operations digraphs GP. The problem of whether such schedules exist can be solved by solving the problem CSAN (2.14). The solution to this problem is characterized by polynomial computational complexity. • The SCCMP structure synthesis problem, for which a declarative method of determining dispatching rules guaranteeing the reachability in the system of the cyclic schedule X(DC ) was also developed (Sect. 2.2). The method used is based on an operations digraph GP supplemented with additional relationships describing the access of processes to shared resources. The synthesis problem can be solved as the constraint satisfaction problem CSSYN (2.19). The solution to this problem is characterized by exponential computational complexity. • The problem of mutual reachability of cyclic behaviors, for which a declarative method of determining transient periods connecting two selected cyclic steady states was developed and discussed in Sect. 3.2. This method is based on an original concept of space X P, whose states are identified with the schedules of the successive system operation cycles. The proposed time-state representation of space X P makes it possible to solve the problem under consideration as the constraint satisfaction problem CSOSY (3.16). The solution to this problem is characterized by exponential computational complexity. The methods presented are to SCCMP in which shared resources have   dedicated l the capacity of one unit: C oi,j = 1. This means that the resources used in these systems (specified by transport sectors, and fleet of AGVs) can only be held by one multimodal process at a given time. In this context, it seems reasonable to extend the previously presented methods so that  can be applied to systems with resources  they that have non-unitary capacity (C oli,j > 1). An appropriate extension will enable their use in assessing the behavior of cyclic transport systems with multi-workstations (i.e., resources on which multiple processes can be executed simultaneously), such as passenger rail networks or data transmission networks with buffers, etc. It is worth noting that to make this type of modification it is enough to rearrange the structure of a digraph GP so that multiple operations are allocated on shared resources simultaneously (of course, the number of operations must not exceed the capacity of the resources). Since the CSAN , CSSYN , CSOSY problems are declarative, the inclusion of additional assumptions ultimately boils down to modifying (or supplementing) the set of constraints for these problems. The addition of new constraints does not affect how the problems are solved. In this context, the proposed forms of the CSAN , CSSYN , CSOSY problems can be treated as reference models for various extensions and modifications. The computational complexity of the problems formulated in this way will, of course, be exponential. This means that new approaches must be developed that will allow solving large-scale problems normally encountered in practice in an online mode. Re 3. One of the approaches to increasing the scalability of the problems under consideration is to decompose a system and search for conditions that guarantee that

5 Concluding Remarks

175

the subsystems extracted in the process will display an expected (i.e., cyclic) behavior (Fig. 5.1c). The discussion was limited, however, to regular systems consisting of identical elementary structures (Sect. 2.3). Two approaches to regular systems were developed based on the conditions for combining a pair of substructures at one and/ or multiple points (as proposed by the author) and the synthesis of so-called folded elementary structure (FES). The latter approach deserves special attention as it allows one to determine the behavior of a regular system on the basis of a cyclic schedule reachable in an FES → (q) ← SE . This approach uses the following property: if the processes of a given FES ← (q) → SE are executed in a cyclic manner, then the processes of the entire SCCMP (composed of such structures) are also executed in cycles. The research reported in this monograph shows that the use of a sufficiently small form of an FES makes it possible to significantly reduce the search space, and thus shorten the computation time. The structure of a regular system can be synthesized online when the elementary structure of this system contains no more than 40 shared resources. Though the present discussion was limited to homogeneous regular systems (i.e., systems composed of identical elementary structures), the idea can be easily generalized to systems composed of different elementary structures (non-homogeneous regular systems). In such cases, a so-called extended FES is viewed as a composition of the various elementary structures making up the system. An example of this concept is shown in Fig. 2.35 (Sect. 2.3) [1]. The idea of assessing the behavior of an SCCMP on the basis of its fragment opens up a broad area of research on methods of combining SCCMP substructures. Of particular interest is the possibility of combining structures with locally different cyclic behaviors. A good example is the regular structure of a public transport system in which, depending on the area serviced, transport operations are executed with different intensity (the number of transport trips in the city center is much larger than in the outskirts). The possibility that this approach offers of developing an algebraic model of SCCMP structures—a model enabling the use of operators corresponding to the intuitions of adding, removing, and multiplying extended and/or homogeneous elementary structures—presents a new, alternative, and prospective direction of research. In this approach, the conditions for coupling elementary structures (Theorems 2.2–2.4) presented in Sect. 2.3 should be treated as one of the many possible variants of the operator of coupling SCCMP structures. Re 4. The declarative models of the analysis and synthesis problems proposed in Chaps. 2 and 3 (CSAN , CSSYN , CSOSY ), and the methods of decomposition of regular systems are limited to a deterministic description of SCCMP (which only allows decision variables with crisp values). Many systems encountered in practice, however, are characterized by approximate (e.g., imprecise, uncertain, fuzzy) variables. Quantities such as the time in which goods are transported between workstations, the time a bus travels through the city center, request for access to server data, the time needed for manual processing of a material, etc., are modeled as random variables (characterized by appropriate probability density distributions and distribution functions) or as fuzzy variables (characterized by appropriate membership functions).

176

5 Concluding Remarks

In the case of fuzzy modeling, the declarative approach allows one to use the concept of Fuzzy Constraint Satisfaction Problems (FCSP), as discussed extensively in Chap. 4. The approach adopted there assumes (Fig. 5.1d) that the decision variables and the parameters describing an SCCMP have a fuzzy form. It uses a representation based on ordered fuzzy numbers (OFN) algebra. Unlike many existing approaches, OFN algebra enables the construction of models describing the relationships occurring in a given system in the form of a system of fuzzy equations and inequalities. At the same time, it satisfies the conditions of the ring algebraic structure, which cannot be said about classically defined fuzzy numbers. Such a representation makes it possible to obtain solutions in the form of ordered fuzzy numbers (e.g., fuzzy operation start times) and thus also to find the fuzzy cyclic schedules determined by them. For the analysis and synthesis problems under consideration, fuzzy versions of the constraint satisfaction problems FCS AN (4.11), FCS SYN (4.21) were developed. The results of the conducted experiments show that FCSP enables the search for behaviors for which it is possible to reduce the uncertainty produced as a result of the execution of the successive operations of multimodal processes. The proposed method can be used for analytical assessment of the existence of behaviors reachable in systems described with imprecise parameters. An alternative approach is to use computer simulation techniques which allow one to take into account the random nature of decision variables. Publications in this area can be found in the literature of the subject [2, 3]. The approaches presented in those works, compared to the methods proposed in this monograph, enable the study of the behavior of much larger SCCMP. However, they are only applicable to analysis problems. The synthesis of SCCMP, which involves reviewing the individual alternative variants of structure parameters cannot be conducted using those techniques. In addition to the already-indicated directions of future research (Re 1—Re 4), another important topic that needs to be addressed is the development of models enabling the assessment of reachability of asynchronous cyclic behaviors in SCCMP (see Fig. 1.3—Sect. 1.1). The approach presented in Sect. 3.2 makes it possible to determine cyclic asynchronous schedules (i.e., schedules in which operations in the successive cycles are repeated with different periods) generated by constantly changing the dispatching rules. In real life, there are many other factors that lead to the asynchronous execution of multimodal processes. These include external factors (e.g., disruptions) caused by adding/removing a process (e.g., arrival of a new production order), modifying an existing process, changing the structure of the system (e.g., renovation/maintenance of production workstations/transport sectors), changing system parameters (e.g., changing operation execution times, forcing operations to wait), etc. Future research should focus on developing methods for determining schedules robust to such disruptions (i.e., schedules that will enable continued cyclic execution of processes despite the occurrence of a disruption). In conclusion, prospects for future research include, among others, the development of: 



• Generalized variants of declarative models proposed for SCCMP with non-unitary resource capacities.

References

177

• An SCCMP structure composition algebra, enabling the use of structure addition, deletion and multiplication operators. • Computationally efficient methods of solving fuzzy SCCMP structure synthesis problems (dedicated to the OFN representation). • Computationally efficient computer simulation methods dedicated to SCCMP. • Methods for determining cyclic SCCMP behaviors robust to disruptions (e.g., those caused by changes in system structure and/or changes in the number of processes executed in the system or their organization).

References 1. Bocewicz, G., Nielsen, I., Smutnicki, C., Banaszak, Z.: Towards the leveling of multi-product batch production flows. A multimodal networks perspectives. IFAC-PapersOnLine 51, 1434– 1441 (2018). https://doi.org/10.1016/j.ifacol.2018.08.313 2. Pawlewski, P.: Practical application of a multimodal approach in simulation modeling of production and assembly systems. Adv. Intell. Syst. Comput. 801, 58–66 (2019). https://doi. org/10.1007/978-3-319-99608-0_7 3. Stobrawa, S., Münch, G.V., Denkena, B., Dittrich, M.-A.: Design of simulation models. In: Stjepandi´c, J., Sommer, M.D.B. (eds.) DigiTwin: An Approach for Production Process Optimization in a Built Environment. Springer Series in Advanced Manufacturing, pp. 181–204. Springer, Cham (2022)

Uncited Referenes 4. Bocewicz, G., Banaszak, Z.A., Nielsen, P., Dang, Q.-V.: Multimodal processes rescheduling. In: Emmanouilidis, C., Taisch, M., Kiritsis, D. (eds.) Advances in Production Management Systems. Competitive Manufacturing for Innovative Products and Services. APMS 2012. IFIP Advances in Information and Communication Technology, pp. 534–541 (2013) 5. Bocewicz, G., Banaszak, Z., Nielsen, I.: Robustness of multimodal processes itineraries. IFAC Proc. Vol. (IFAC-PapersOnline) 46, 2092–2097 (2013). https://doi.org/10.3182/20130619-3RU-3018.00236 6. Bocewicz, G., Nielsen, I., Gola, A., Banaszak, Z.: Reference model of milk-run traffic systems prototyping. Int. J. Prod. Res. 59, 4495–4512 (2021). https://doi.org/10.1080/00207543.2020. 1766717 7. Bocewicz, G., Wójcik, R., Banaszak, Z.A., Pawlewski, P.: Multimodal processes rescheduling: cyclic steady states space approach. Math. Probl. Eng. (2013). https://doi.org/10.1155/2013/ 407096

178

5 Concluding Remarks

8. Fanti, M.P., Zhou, M.C.: Deadlock control methods in automated manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 34, 5–22 (2004). https://doi.org/10.1109/TSMCA. 2003.820590 9. Polak, M., Majdzik, P., Banaszak, Z., Wójcik, R.: The performance evaluation tool for automated prototyping of concurrent cyclic processes. Fundam. Inform. 60, 269–289 (2004) 10. Stanczyk, J.: Max-Plus algebraic modelling of cyclical multi-assortment manufacturing system. In: Bo˙zejko, W., Bocewicz, G. (eds.) Modelling and Performance Analysis of Cyclic Systems. Studies in Systems, Decision and Control, pp. 159–172. Springer International Publishing (2020) 11. Yalcin, A., Boucher, T.O.: Deadlock avoidance in flexible manufacturing systems using finite automata. IEEE Trans. Robot. Autom. 16, 424–429 (2000). https://doi.org/10.1109/70.864237