13th IFAC Workshop on Intelligent Manufacturing Systems 13th IFAC Workshop on Intelligent Manufacturing Systems August 12-14, 2019. Oshawa, Canada 13th IFAC Workshop on Intelligent Manufacturing Systems Available online at www.sciencedirect.com August 12-14, 2019. Oshawa, Canada 13th IFAC Workshop on Intelligent Manufacturing Systems August 12-14, 2019. Oshawa, Canada 13th IFAC Workshop on Intelligent Manufacturing Systems August 12-14, 2019. Oshawa, Canada August 12-14, 2019. Oshawa, Canada
ScienceDirect
IFAC PapersOnLine 52-10 (2019) 73–78
Designing Cyclic Schedules for Streaming Repetitive Job-Shop Manufacturing Designing Cyclic Schedules for Streaming Repetitive Job-Shop Manufacturing Designing Cyclic Schedules for Streaming Repetitive Job-Shop Manufacturing Systems with Blocking and No-Wait Constraints Designing Cyclic Schedules for Streaming Repetitive Job-Shop Manufacturing Systems with Blocking and No-Wait Constraints Designing Cyclic Schedules for Streaming Repetitive Job-Shop Manufacturing Systems with Blocking and No-Wait Constraints Systems with Blocking and No-Wait Constraints Systems with Blocking and No-Wait Constraints
R. Wójcik*, J. Pempera** R. J. Pempera** R. Wójcik*, Wójcik*, J. Pempera** J. Pempera** R. Wójcik*, J. Pempera** R. Wójcik*, *Department of Computer Engineering, Faculty of Electronics, *Department of Computer Engineering, Faculty of of Technology, Computer Engineering, Faculty of Electronics, Electronics, Wrocław University*Department of Science and Wrocław, Poland (e-mail:
[email protected]). *Department of Technology, Computer Engineering, Faculty of Electronics, Wrocław University of Science and Wrocław, Poland (e-mail:
[email protected]). Wrocław University of Science and Wrocław, Poland (e-mail:
[email protected]). *Department of Technology, Computer Engineering, Faculty of Electronics, **Department of Control Systems and Mechatronics, Faculty of Electronics, Wrocław University of Science and Technology, Wrocław, Poland (e-mail:
[email protected]). **Department of Control Systems and Mechatronics, Faculty of Electronics, **Department of Control SystemsWrocław, and Mechatronics, Faculty of Electronics, Wrocław University of Science and Technology, Wrocław, Poland (e-mail:
[email protected]). Wrocław University of Science and Technology, Poland (e-mail:
[email protected]). **Department of Control SystemsWrocław, and Mechatronics, Faculty of Electronics, Wrocław of and Technology, Poland
[email protected]). Wrocław University University of Science Scienceof and Technology, Poland (e-mail: (e-mail:
[email protected]). **Department Control SystemsWrocław, and Mechatronics, Faculty of Electronics, Wrocław University of Science and Technology, Wrocław, Poland (e-mail:
[email protected]). Wrocław University of Science and Technology, Wrocław, Poland (e-mail:
[email protected]). Abstract: We consider a problem of designing no-wait cyclic schedules for job-shop manufacturing Abstract: We consider aa problem no-wait cyclic schedules for manufacturing Abstract: We considertransportation problem of of designing designing schedules for job-shop job-shop manufacturing system with repetitive that areno-wait defined cyclic by sequences of operations. Each operation is Abstract: We considertransportation a problem oftasks designing no-wait cyclic schedules for job-shop manufacturing system with repetitive tasks that are defined by sequences of operations. Each operation is system with repetitive transportation that are defined by sequences ofvehicles, operations. Each operation is Abstract: We consider amanufacturing problem oftasks designing no-wait cyclic schedules for job-shop manufacturing performed in a sector of system using its resources, e.g. machines, and takes system with repetitive transportation taskssystem that are defined by sequences ofvehicles, operations. Each operation is performed in a sector of manufacturing using its resources, e.g. machines, and takes performed in a sector of manufacturing system using its resources, e.g. vehicles, machines, and takes system with repetitive transportation tasks that are defined by sequences of operations. Each operation is some time for and transportation. sectors and their e.g. resources can machines, be shared by performed in amanufacturing sector of manufacturing system The using its resources, vehicles, andseveral takes some time for manufacturing and transportation. The sectors and their resources can be shared by several some time for manufacturing and transportation. The sectors and their resources can be shared by several performed in a sector of manufacturing system using its resources, e.g. vehicles, machines, and takes tasks thefor exclusive mode. There are no buffersThe between thusresources when a transportation carseveral is in a some in time manufacturing and transportation. sectorssectors and their can be shared by tasks the exclusive mode. There are no between sectors thus when transportation car is a tasks in in the exclusive mode. to There arecars no buffers buffers between sectors thus when aawhich transportation carseveral is in in some time for manufacturing and transportation. The sectors and their resources can beisshared by sector it blocks this sector other and cannot leave it until a sector required by theaa tasks initthe exclusive mode. to There arecars no buffers between sectors thus when awhich transportation car by is in sector blocks this sector other and cannot leave it until a sector is required the sectorinitthe blocks thisinsector to otherarecars and iscannot leaverepetitive it until a sector is required tasks exclusive mode. There no buffers between sectors thus when awhich transportation car by is thea following operation its transportation free. The performed sector it blocks thisinsector to other carsroute and iscannot leaverepetitive it until transportation a sector whichtasks is required by in the following operation its route free. The tasks performed following operation its transportation transportation route free. The transportation tasks performed intheaa sector it blocks thisinsector to other as cars and iscannot leaverepetitive it until transportation aexecuting sector which is required by in manufacturing system are modelled a system of cyclic processes sequences of operations following operation in are its transportation route is free. The repetitive transportation tasks performed in a manufacturing system modelled as a system of cyclic processes executing sequences of operations manufacturing system are modelled as aroute system of cyclic processesprotocol. executingThe sequences of consists operations following operation in resources its transportation The repetitive transportation tasks performed inina and sharing common according to isa free. mutual problem manufacturing system resources are modelled as a system of cyclicexclusion processesprotocol. executingThe sequences of consists operations and common according to aa mutual problem in and sharing sharing common resources according to no mutual exclusion protocol. The problem in manufacturing system are modelled as which a system ofprocess cyclicexclusion processes executing sequences of consists operations finding no-wait cyclic schedules for (tasks) that started execution will wait for and sharing common resources according to no a mutual exclusion protocol. The problem consists in finding no-wait cyclic schedules for which process (tasks) that started execution will wait for finding no-wait cyclic schedules for its which process (tasks) that started execution willconsists waitafter for and sharing common resources according to no a mutual exclusion protocol. The problem in resources (sectors) required to execute operations and each operation will be started immediately finding no-wait cyclic schedules for its which no process (tasks) that started execution will waitafter for resources (sectors) required to execute operations and each operation will be started immediately resourcesno-wait (sectors) required to execute operations and(C-LS) each operation will be started immediately finding cyclic schedules for its which no process (tasks) that of started execution will waitafter for finishing the previous one. The casade-like structure system processes is considered. This resources the (sectors) required to execute its operations and(C-LS) each operation will be started immediately after finishing previous one. The casade-like structure system of processes is considered. This finishingis the previous one. to The casade-like structure system ofwill processes is will considered. This resources (sectors) required execute its operations and(C-LS) each operation be started immediately after system structurally therefore no-buffer (resource blocking) constraint never lead to finishingis the previousdeadlock-free one. The casade-like structure (C-LS) system of processes is will considered. This system structurally deadlock-free therefore no-buffer (resource blocking) constraint never lead to system is the structurally deadlock-free therefore no-buffer (resource blocking) constraint never lead to finishing previous one.system The casade-like structure (C-LS) system of processes is will considered. This deadlock state. The C-LS of processes can be seen as a composition of subsystems with two system is state. structurally deadlock-free therefore no-buffer (resource blocking) constraint will never leadtwo to deadlock The C-LS system of processes can be seen as a composition of subsystems with deadlock The C-LS systemresource, oftherefore processes can2-P besubsystems. seen as a blocking) composition of subsystems with system is state. structurally deadlock-free no-buffer (resource constraint will never leadtwo to cyclic processes sharing a single namely Using our recurrent integer modulus deadlock state. The C-LS systemresource, of processes can2-P besubsystems. seen as a composition of subsystems with two cyclic processes sharing a single namely Using our recurrent integer modulus cyclic processes sharing a single resource, namely subsystems. Using our recurrent integer modulus deadlock state. The C-LS system ofprevious processes can2-P be seen asfora each composition of subsystems with two equations model (developed in our works) we find 2-P subsystem all possible start cyclic processes sharing a single resource, namely 2-Pwe subsystems. Using recurrent all integer modulus equations model (developed in previous works) find for 2-Pour subsystem possible start equations model (developed in our our works) we find for each each subsystem possible start cyclic processes sharing a single resource, namely subsystems. Using our recurrent integer modulus times of the processes (if exist) thatprevious belong to a 2-P no-wait schedule and2-P construct all all possible no-wait equations model (developed in our previous works) we find for each 2-P subsystem all possible start times of the processes (if exist) that belong to a no-wait schedule and construct all possible no-wait times of the processes (if exist) that belongweworks) todesign a no-wait schedule and construct all possible no-wait equations model (developed in2-P. our previous we find for each 2-P subsystem all possible start schedules for each component Finally, cyclic no-wait schedules for the C-LS system by times of the processes (if exist) that belongwetodesign a no-wait schedule and construct all possible no-wait schedules for each component 2-P. Finally, cyclic no-wait schedules for the C-LS system by schedules for eachschedules component 2-P. Finally, wetodesign cyclic no-wait and schedules for all the possible C-LS system by times ofthethe processes (if exist) that belong a no-wait schedule construct no-wait joining cyclic designed for its component 2-P subsystems. schedules for eachschedules component 2-P. Finally, we design cyclic no-wait schedules for the C-LS system by joining the cyclic designed for its component 2-P subsystems. joining thefor cyclic designed for its component 2-P subsystems. schedules eachschedules component 2-P. Finally, we design cyclic no-wait schedules for the C-LS system by joining cyclic schedules designed for component 2-P subsystems. © 2019, the IFAC (International of its Automatic Control) Hosting by Elsevier Ltd. All constraints, rights reserved. Keywords: Repetitive tasks,Federation cyclic processes, job-shop systems, blocking and no-wait cyclic joining the cyclic schedules designed for its component 2-P subsystems. Keywords: Repetitive tasks, cyclic processes, job-shop systems, blocking and no-wait constraints, cyclic Keywords: Repetitive tasks, cyclic processes, job-shop systems, blocking and no-wait constraints, cyclic scheduling, two processes sharing resource, cascade-like structured systems, cyclic schedules integration. Keywords: Repetitive tasks, cyclicresource, processes, job-shop systems, blocking and no-wait constraints, cyclic scheduling, two processes sharing cascade-like structured systems, cyclic schedules integration. scheduling, Repetitive two processes sharing cascade-like structured systems, cyclic schedules integration. Keywords: tasks, cyclicresource, processes, job-shop systems, blocking and no-wait constraints, cyclic scheduling, two processes sharing resource, cascade-like structured systems, cyclic schedules integration. scheduling, two processes sharing resource, cascade-like structured systems, cyclic schedules integration. occupancy necessary to perform the next operation by J, or occupancy necessary necessary to to perform the the next next operation operation by by J, J, or or 1. INTRODUCTION occupancy lack of space for J intotheperform storagethe buffer 1. INTRODUCTION 1. INTRODUCTION occupancy necessary perform next between operationmachines, by J, or lack of space for J in the storage buffer between machines, space for J in storage buffer machines, occupancy necessary totheperform the next between operation byforJ,the or INTRODUCTION task Jof cannot machine M and blocks it (waiting Modern production1. systems are characterized by the lack lack spacerelease for J in the storage machines, 1. INTRODUCTION task Jof cannot release machine M and andbuffer blocksbetween it (waiting (waiting for the the Modern production systems are characterized by the task J cannot release machine M blocks it for lack of space for J in the storage buffer between machines, machine) until the required machine is released. This Modern production systemstransport are characterized by the next occurrence of repetitive and technological task Jmachine) cannot release M and blocks itis(waiting the next until machine the required required machine released.for This Modern production systemstransport are characterized by the next occurrence of repetitive repetitive and technological technological until the machine is(waiting released. This Jmachine) cannot release machine M in and blocks itindividual for the mode of system operation, which tasks occurrence of transport and Modern production systems are characterized by the task operations related to the implementation of cyclic production next machine) until the required machine is released. This mode of system operation, in which individual tasks occurrence of repetitive transport and technological operations related to the implementation of cyclic production mode of system operation, in which individual tasks next machine) until the required machine is released. This constitute a series of operations carried out on machines, can operations related to theRepetitive implementation of cyclic production occurrence of2005). repetitive transport and technological tasks (Pinedo, production leads to cyclic mode of a system in which individual constitute series of ofoperation, operations carried carried out on on machines,tasks can operations related to theRepetitive implementation of cyclic tasks (Pinedo, 2005). production leadsproduction to cyclic cyclic constitute series operations out machines, can of a system operation, which individual in extreme to systemin deadlock (Banaszak ettasks al., tasks (Pinedo, 2005). production leads to operations related to theRepetitive implementation of cyclic production scheduling problems that mainly concern the of mode constitute a cases series lead of operations carried out on machines, can in extreme cases lead to system deadlock (Banaszak et al., tasks (Pinedo, 2005). Repetitive production leads totask cyclic scheduling problems that mainly concern the task of in extreme cases lead to system deadlock (Banaszak et al., constitute a series of operations carried out on machines, can 1990). In the deadlock state, there exists a cycle of operations scheduling problems that mainly concern the task of tasks (Pinedo, 2005). Repetitive production leads to cyclic minimizing aproblems cycle timethat for various of flow-shop in extreme cases lead state, to system deadlock (Banaszak et al., 1990). In the deadlock there exists a cycle of operations scheduling mainlyvariants concern the task and of 1990). minimizing a cycle time for various variants of flow-shop and In requests, thecases deadlock state, there exists cycle of operations in extreme lead to of system (Banaszak et al., none whichdeadlock can aabe satisfied, which minimizing aproblems cycle time for various of flow-shop scheduling that mainlyvariants concern the increased task and of resource job-shop systems. Their solution results in 1990). In requests, the deadlock state, cycle of operations resource none of there whichexists can abe be satisfied, which minimizing a cycle time for various of flow-shop and resource job-shop systems. Their solutionvariants results in increased increased requests, none of which can satisfied, which 1990). In the deadlock state, there exists cycle of operations consequently leads to the non-existence of cyclic schedule. In job-shop systems. Their solution results in minimizing a cycle time for various variants of flow-shop and efficiency of the production delivery time resource requests, none of which canofbecyclic satisfied, which consequently leads to to the non-existence non-existence schedule. In job-shop systems. Their system solution(shortening results in increased efficiency of the production production system (shortening delivery time consequently leads the schedule. In resource requests, none of which canofstate becyclic satisfied, which the case of blocking and deadlock possibility, it efficiency of the system (shortening delivery time job-shop systems. Their solution results in increased of the required product lot) as well as increasing the use of consequently leads to the non-existence of cyclic schedule. In the case of blocking and deadlock state possibility, it efficiency of theproduct production delivery time of the required required lot) system as well well(shortening as increasing increasing the use use of the case even of leads blocking deadlock possibility, it consequently to theand non-existence ofstate cyclic schedule. In becomes a hard problem to determine any cyclic of the lot) as as the of efficiency of theproduct production system (shortening delivery time machines (Kampmeyer, 2006; Bożejko et al., 2018). the case of blocking and deadlock state possibility, it becomes even a hard problem to determine any cyclic of the required product lot) as well as increasing the use of machines (Kampmeyer, 2006; Bożejko etincreasing al., 2018). 2018).the use of becomes a hard problem to 2014). determine any cyclic the case even ofschedule blocking and deadlock state possibility, it permissible (Bocewicz al., machines (Kampmeyer, al., of the required product 2006; lot) asBożejko well as et becomes even a hard problemet to 2014). determine any cyclic permissible schedule (Bocewicz et al., machines (Kampmeyer, 2006; Bożejko et al., 2018). permissible schedule (Bocewicz et al., 2014). Striving to optimize the operation of repetitive production becomes even a hard problem to determine any cyclic machines Bożejko al., 2018). Striving to to(Kampmeyer, optimize the the2006; operation of etrepetitive repetitive production An permissible schedule (Bocewicz et al.,to2014). additional restriction leading an increase in the Striving optimize operation of production systems leads to the the inclusion in the of permissible schedule (Bocewicz et al.,to2014). An additional additional restriction leading an increase increase in in the the Striving to optimize operation of classical repetitiveproblems production systems leads to the inclusion in the classical problems of An restriction leading to an efficiency of the production system both the context of systems leads to inclusion in the problems of An Striving to optimize the operation of classical repetitive production cyclic scheduling additional in theproblems form of the additional restriction leading toboth an in increase in the efficiency of the production system in the context of systems leads to the inclusion restrictions in the classical of efficiency cyclic scheduling the additional restrictions in the form of the of the production system both in the context of An additional restriction leading to an increase in the cyclic and non-cyclic systems is the assumption of no-wait, cyclic scheduling the additional restrictions in the form of the systems leads to ofinclusion in the classical problems of efficiency lack orscheduling limitation storage restrictions capacities of semi-products of the production system both in the of context of cyclic and non-cyclic systems is the assumption no-wait, cyclic theofadditional in the form of the cyclic lack or limitation storage capacities of semi-products and non-cyclic systems is operation the assumption no-wait, efficiency of the system both inwithin the of context of means that production between each each task lack orscheduling limitation storage capacitiesareof semi-products cyclic theofadditional restrictions in known the forminof the which between machines. Such constraints cyclic and non-cyclic systems is the assumption of no-wait, which means that between each operation within each task lack or limitation storage capacitiesareof known semi-products between machines. of Such constraints in the the which means that between each operation within each task cyclic and non-cyclic systems is the assumption of no-wait, there can be no waiting on the machines or in the storage between machines. Such constraints are known in lack or limitation of storage capacities of semi-products literature as no-buffer Such or no-store (Abadi et 2000; Brucker which means thatwaiting between operation or within each task there can be no no oneach the machines machines in the the storage between machines. constraints areal., in the there literature as no-buffer Such or no-store no-store (Abadi et et al.,known 2000; Brucker Brucker can on the or in storage which means thatwaiting between each operation within each task buffers ofbe semi-products between machines. The results literature as no-buffer or (Abadi al., 2000; between machines. constraints arethat known in the et al., 2008; Smutnicki, 2009). They mean in the case of there can be no waiting on the machines or in the storage buffers of semi-products between machines. The results literature as no-buffer or2009). no-store (Abadi et that al., 2000; Brucker et al., 2008; Smutnicki, They mean in the case of buffers of semi-products between machines. The results there can be no waiting on the machines or in the storage various scheduling et al., 2008; Smutnicki, mean in case literature as no-buffer or2009). no-store (Abadi et that al., 2000; termination operations on a They given machine M the byBrucker task of J, obtained buffers offor between problems machines.with The no-wait results obtained forsemi-products various scheduling scheduling problems with no-wait et al., 2008; of Smutnicki, 2009). that in termination of operations on aa They givenmean machine M the by case task of J, obtained various with no-wait buffers offor semi-products between problems machines.e.g. The results constraint mainly concern non-cyclic systems, Hall et al., termination operations on given machine M by task J, et al.,assuming 2008; of Smutnicki, 2009). They mean that in the case of and an additional assumption about the machine obtained for various scheduling problems with no-wait constraint mainly concern non-cyclic systems, e.g. Hall et al., al., termination of operations on a given machine M by task J, and assuming an additional assumption about the machine constraint mainly concern non-cyclic systems, e.g. Hall obtained for various scheduling problems with no-wait and assuming additional about M thebymachine termination of an operations on assumption a given machine task J, constraint mainly concern non-cyclic systems, e.g. Hall et al., and assuming an additional assumption about the machine constraint mainly concern non-cyclic systems, e.g. Hall et et al., and assuming an additional assumption about the machine
2405-8963 © 2019 2019, IFAC IFAC (International Federation of Automatic Control) Copyright@ 73 Hosting by Elsevier Ltd. All rights reserved. Copyright@ 2019 IFAC 73 Control. Peer review under responsibility of International Federation of Automatic Copyright@ 2019 IFAC 73 10.1016/j.ifacol.2019.10.029 Copyright@ 2019 IFAC 73 Copyright@ 2019 IFAC 73
2019 IFAC IMS 74 August 12-14, 2019. Oshawa, Canada
R. Wójcik et al. / IFAC PapersOnLine 52-10 (2019) 73–78
1996; Kumar et al., 2000; Schuster et al., 2003; Schuster, 2006; Allahverdi, 2016.
2003, 2006; Smutnicki, 2009; Bożejko et al., 2018), as well as a branch and bound method (AitZai et al., 2012), genetic algorithms (Kumar et al., 2000), and linear programming (Smutnicki, 2009; Louaqad et al., 2018).
In many cases, the existing methods for determining the minimal time schedules for tasks in non-cyclic production or transport systems assume jointly the no-buffer (i.e. blocking) and no-wait (Hall, 1996; Mascis et al., 2002; Aschauer et al., 2017) constraints. However, depending on the type of system, such limitations may be interpreted differently. In transport systems they can mean, for example, the lack of waiting vehicles that move between sectors of the transport system, to enter the sectors (Liu et al., 2011). On the other hand, in production systems, it may mean that there is no tasks (products) waiting for starting the subsequent operations on machines, as well as for transport operations (Louaqad et al., 2018; Wójcik, 2018).
Many solutions for multimodal transport systems with blocking concern only the construction of permissible deadlock-free cyclic schedules, whose cycle time does not exceed a given value (Bocewicz et al., 2013, 2014). The set of transportation tasks is represented in this paper by a set of cyclic processes, each of which implements a given sequence of operations that require access to specific resources (sectors) of the production system. Each process represents a vehicle that cycles through selected sectors. Travel times through sectors correspond to the times of operations performed by processes and are strictly defined. It is assumed that only one vehicle can occupy a sector at any moment (unit capacity of sectors), and some sectors of the production system can be shared by more than one vehicle. Due to the sharing of sectors, there may be situations in which processes will wait for access to resources (sectors) of the production system (Wójcik et al., 2005; Bocewicz et al., 2014). The aim of the work is to present a method that will allow for a given set of tasks to determine all acceptable cyclic schedules free from waiting for resources (sectors) or stating that such schedules do not exist.
1.1 Description of the job-shop system This paper deals with the problem of constructing cyclic schedules with no-buffer and no-wait restrictions describing the operation of a repetitive production system, in which cyclic transport operations are carried out related to transporting pallets with semi-products between successive sectors of the production system on AGV vehicles (Fig.1). Each trolley moves cyclically along a set route passing through the relevant sectors of the production system. The time the vehicle stays in each sector is strictly defined and results from the time it travels through the sector and the time associated with loading and/or unloading the product pallets. It is assumed that only one vehicle can stay in any sector of the production system at any given time, and the sectors through which many trolleys can pass are shared in the mode of mutual exclusion. In case the sector to which the vehicle is to enter is occupied by another vehicle, it awaits in its sector for its departure. It is assumed that an infinite or numerous stream of pallets with products is introduced into the production system, that after some time the system will reach a cyclical steady state, characterized by a specific cycle time (Zaremba et al., 1998; Bocewicz et al., 2013). The analysed cyclic scheduling problems belong to the class of job-shop problems with no-buffer and/or no-wait constraints. Most deterministic cyclic scheduling problems are NP-hard (Levner et al., 2010; Kamoun et al., 1993). Therefore, finding a deadlock-free schedule with minimal cycle time in the case of no-buffer and/or no-wait problems is a computationally difficult problem, and in many cases even unresolvable due to the lack of deadlock-free and no-wait solutions (Banaszak et al., 1990; Bocewicz et al., 2014). Existing results regarding complex flow-shop and job-shop systems use different types of heuristics (Abadi et al., 2000; Aschauer et al., 2017) and metaheuristics (Smutnicki, 2009; Bożejko et al., 2018), which enable rapid prototyping of solutions, but do not guarantee of finding optimal or even acceptable solutions. In most works, various graph based models are often used simultaneously (Mascis et al., 2002; Brucker et al., 2008; Smutnicki, 2009; Louaqad, 2018), variants of the critical path method (Smutnicki, 2009; Bożejko et al., 2018), block analysis (Kampmeyer, 2006; Smutnicki, 2009), Tabu Search metaheuristic (Schuster,
- load/unload station załadunku/rozładunku - vehicle (AGV) - transportation sector - transportation process Fig. 1. A C-LS transportation system with shared sectors. The problem of determining cyclic schedules will be limited to repetitive production systems with a cascade-like (chainlike) structure (C-LS) (Fig.1). Such systems consist of several subsystems connected in such a way that neighbouring subsystems have only one common sector, and in addition each sector can be shared by at most two transport routes (Zaremba et al., 1998). A C-LS system is structurally free from deadlocks on resources, because it is not possible that resource requests of processes could create a cycle of requests, such that none of which can be satisfied due to the 74
2019 IFAC IMS August 12-14, 2019. Oshawa, Canada
R. Wójcik et al. / IFAC PapersOnLine 52-10 (2019) 73–78
mutual blocking of resources by processes. The C-LS system consists of independent 2-process (2-P) subsystems composed of two cyclic processes sharing one resource (Alpan et al., 1997). If we calculate a partial cyclic schedule free from waiting for resources for each subsystem 2-P, then we can obtain a no-wait cyclic schedule of the entire C-LS system as a result of merging the partial 2-P schedules. In the case of an unlimited stream of repetitive transportation tasks, the cycle time of the schedule in a steady state (Bocewicz et al., 2013) is equal to the smallest common multiple of cycle times of processes (Wójcik, 2001, 2018).
75
non-shared because each one is exclusively used by only one process. The processes P1, P2, P3 are executing operations using resources given by the sequences: Z1 = (R11,R12) = (R1,R2), Z2 = (R21,R22) = (R2,R3), Z3 = (R31,R32) = (R3,R4). The C-LS system is composed of two 2-P subsystems of cyclic processes sharing a single resource, respectively: S2 = (P1,P2) - the resource R2, and S3 = (P2,P3) – the resource R3 (where an index i of Si denotes a number of the shared resource Ri). The C-LS system consists of (Pi,Pj) subsystems, where (i=1,2,...,n-1; j=i+1). It is possible to analyse their behaviour separately to find the start times of the processes for which no-wait cyclic schedules exist. The different schedules designed for each subsystem can be joined together at start times of using the shared resources to obtain a no-wait schedule for the whole system. For (Pi,Pj) we can assume the start time of Pi such that ai(0)=0, and next we can find, if exist, all start times aj(0)[0,ci) of process Pj for which conditions for no-wait execution of 2-P subsystem, given in (Wójcik et al., 2005, 2018) hold. If we can construct the nowait cyclic schedules for (Pi,Pi+1) and for (Pi+1,Pi+2) we can integrate these partial schedules at all no-wait start times ai+1(0)[0,ci) of using the shared resource Ri+1 by Pi+1, to obtain no-wait cyclic schedules for the C-LS system defined by CS = ( (Pi,Pi+1), (Pi+1,Pi+2) ).
For the considered C-LS system, in order to find no-wait cyclic schedules for each 2-P subsystem, composed of two cyclic processes sharing a single resource and fixed operation times, all possible start times of the processes such that nowait cyclic schedules exist will be searched. These start times of the processes will be calculated with use of our model based on recurrent integer modulus equations and necessary and sufficient conditions for existence of no-wait schedules, Wójcik et al., 2001, 2005. This model was used to design some no-wait schedules for complex repetitive manufacturing systems with multiple processes sharing one resource (Wójcik, 2018). The purpose of this article is to use this model to determine all possible no-wait cyclic schedules for cascade-like systems of repetitive processes.
r11=8
1.2 Content of the sections In Section 2 a model of C-LS system of concurrent repetitive processes is presented. Section 3 defines the problem of finding no-wait cyclic schedules as a problem of determining the start times of operations performed with use of shared resources that do not lead to waiting for the resources. Some known results concerning conditions for no-wait execution of the 2-P subsystems and the new results for the C-LS systems are given. Section 4 contains example of the application of the developed procedure for determining all no-wait cyclic schedules first for the 2-P subsystems, and then for the C-LS system. Finally, Section 5 concludes the paper.
r21=2
r12=1
r31=1
r22=4
r32=11
- cyclic process - resource (sector) załadunku/rozładun -kuoperation time Fig. 2. An example of C-LS system of cyclic processes. It was shown, that dynamics of 2-P systems (Pi,Pj) depends on the operation times and start times of the process Pj in relation to the start time of the process Pi (Alpan, 1997; Wójcik, 2001, 2018). In the following we define moments of time at which processes can request shared resources and the problem of finding no-wait schedules for the C-LS systems.
2. MODEL OF THE CASCADE-LIKE SYSTEM A C-LS system of repetitive processes (P1,…, Pi,…, Pn), (i=1,2,...,n), is composed of 2-P subsystems (Fig.2), sharing single resource using mutual exclusion protocol, i.e. CS = ((P1,P2), …, (Pj,Pj+1), …, (Pn-1,Pn)), where (j=1,…,n-1). Each process Pi, (i=1,2,...,n), representing one repetitive transportation task (see Fig.1), executes periodically a sequence of operations ZOi=(Oi1,Oi2) using resources defined by Zi = (Ri1, Ri2), where Ri2 = R(i+1)1, for (i=1,...,n-1), Ri1, Ri2RE, and RE = {R1, …, Rn+1} is a set of resources, each one of unit capacity (i.e. only one vehicle can be present at any sector). The operations times are given by a sequence ZTi = (ri1,ri2), and a cycle time of process Pi is equal to ci =ri1+ri2, where ri1, ri2N are defined in the uniform time units (N - set of natural numbers). For instance a C-LS system shown in Fig.2 consists of four resources and three cyclic processes. The resources R2, R3 are shared ones, since each one is used by two processes, and the resources R1, R4 are
3. PROBLEM FORMULATION Let us consider a C-LS system of cyclic process CS= ((P1,P2), …, (Pi,Pi+1), …, (Pn-1,Pn)), where (i=1,…,n-1). For a component 2-P subsystem SR=(Pi,Pj), that consists of two cyclic processes sharing one resource R (Fig. 3), we assume that Pi and Pj execute periodically a sequence of operations using resources Zi = (R, Oi), and Zj = (R, Oj), respectively, where Oi, Oj denote the non-shared resources used by the processes. We assume that the processes start from the operations using the shared resource. The operations times are given by a sequence ZTi = (ri, oi), where ri, oi N. A cycle time of Pi is defined as ci = ri + oi. It is possible to design recurrent modulus equations defining times at which Pj can 75
2019 IFAC IMS 76 August 12-14, 2019. Oshawa, Canada
R. Wójcik et al. / IFAC PapersOnLine 52-10 (2019) 73–78
resource allocation times of process Pi, can occur only at local times tij(l)[0,ci) given by:
request access to the shared resource R in relation to the allocation time of this resource to the process Pi (Wójcik 2001, 2005, 2018). These times will be denoted as tij(l), for subsequent l=0,1, …, and will be used as a local start times of the process Pj in relation to a start time of process Pi in the time interval of length ci (Fig.4).
oi
tij(l) = xj(l) mod ci = aj(l) mod ci = (1) = fij(l)Dij + yij(l) & l=0,1,2, ... where aj(0), j{1,2,...,n} - are given, Dij =Dji=g.c.d.(ci,cj) & ci =Dijmij & cj =Djimji & g.c.d.(mij,mji)=1 & mij, mji N & & fij(l) = [fij(0) + lmji] mod mij & yij(l) = yij(0) & & tij(0) = aj(0) mod ci & fij(0) = tij(0) div Dij & & yij(0) = tij(0) mod Dij & 0 fij(0)
oj
rj
R ri - cyclic process
- shared resource (sector) - unshared resource załadunku/rozładun ku resource - time of using a shared
Let Wij={0,...,mij-1}. From fij(l)= [fij(0) + lmji] mod mij (1) it follows that a range of fij(l) is such that fij(l)Wij. It can be shown, Wójcik (2001), Wójcik et al. (2005), that fij(l) achieves periodically, with period mij, all values from the set Wij, i.e. fij(l)=fij(l+kmij) for k=0,1,2,..., and l=0,...,mij-1. Therefore, function fij(l) defines permutation fij =( fij(0), fij(1), …, fij(mij-1) ) on the set Wij.
- time of using an unshared resource Fig. 3. A system of two cyclic processes sharing a resource. 3.1 Problem of finding start times of processes Let us consider 2-P system of processes (Pi,Pj) sharing a single resource (Fig. 3). Let xi(l), xj(l)N{0}, l=0,1,2,..., denote times at which Pi, Pj request access to the shared resource R, and ai(l), aj(l)N{0} are times at which the processes receive access to the resource, where i{1,..., n-1}, j=i+1. There is 0 xj(l) aj(l), a start time of the process Pi is equal to ai(0) = xi(0) = 0, and a start time of the process Pj is such that xj(0) 0. In case when the processes cannot wait for the shared resource R (no-wait constraint) they can be seen as executed independently of each other (no sharing of resources). Hence, subsequent resource request times xj(l) are equal to the allocation times aj(l), and can be calculated according to the equation xj(l+1) = aj(l+1) = aj(l) + cj (Fig.4). For the no-wait cyclic schedule we have: xj(l) = aj(l) = aj(0)+l cj.
Hence, the problem of finding no-wait cyclic schedules for a given C-LS system CS = ((P1,P2), …, (Pi,Pi+1), …, (Pn-1,Pn)), is to determine for each subsystem (Pi,Pj), i=1,…,n-1, j=i+1, local start times tij(l) (1) such that relations
Let tij(l)N{0} define a local start times tij(l)[0,ci) (1) of process Pj, calculated in relation to resource allocation times ai(k), k=0,1,2,..., of Pi. It can be noticed that in order to avoid waiting for the shared resource by Pj in each time interval of length ci, that is starting at ai(k), there must be tij(l) ri, for l=0,1,2,.... , and to avoid waiting by process Pi, the following should hold tij(l) ci - rj (Fig.4).
Theorem 1. A no-wait cyclic schedule exists for the subsystem (Pi,Pj) if and only if exist local start times tij(0)[0,ci) and tij(0) = fij(0)Dij + yij(0) (1), such that
ri tij(l) ci - rj ,
hold for all lWij, where Wij={0,...,mij-1}, and ri = ri2, rj=rj1 (see the notation shown in Fig.2). 3.2 No-wait conditions The condition (2) must hold for the minimum fij(l)=0 and for the maximum fij(l)=mij-1 value of fij(l). Hence, we get the following theorems defining constraints for existence of nowait cyclic schedules for the 2-P subsystem (Pi, Pj).
ri2 yij(0) Dij – rj1
It can be noticed that any value yij(0) (3) exists if the interval [ri2, Dij - rj1] is not empty. i.e. when ri2 Dij – rj1. Therefore the following theorem holds.
oi t rj
ai(k) xj(l)
oj
(3)
When the condition (3) holds, then a cycle time of 2-P subsystem (Pi,Pj) is equal to Tij = l.c.m.(ci,cj) = (cicj)/Dij, where l.c.m. denotes the least common multiple.
tij(l) ri
(2)
ai(k)+ci
Theorem 2. The necessary and sufficient condition for existence of a no-wait cyclic schedule for the subsystem (Pi,Pj) is such that
xj(l)+cj
Fig. 4. Resource request and allocation times.
ri2 + rj1 Dij
It can be shown (Wójcik et al., 2001, 2005, 2018) that resource request times of process Pj, calculated in relation to
Taking into account Theorem 1 and Theorem 2 the following theorem holds. 76
(4)
2019 IFAC IMS August 12-14, 2019. Oshawa, Canada
R. Wójcik et al. / IFAC PapersOnLine 52-10 (2019) 73–78
Theorem 3. A no-wait cyclic schedules can be constructed for the C-LS system CS = ((P1,P2), …, (Pi,Pi+1), …, (Pn-1,Pn)) if and only if for each subsystem (Pi,Pj), i=1,…,n-1, j=i+1, local start times tij(0)[0,ci) exist, such that tij(0) = fij(0)Dij + yij(0) (1), and yij(0)[ri2, Dij - rj1] (3), and ri2 + rj1 Dij (4).
77
According to (1), (3), subsequent local start times of P2 for which no-wait cyclic schedules exist are defined by: t12(l) = f12(l)D12 + y12(0) & f12(l), f12(0)[0,2]={0,1,2} & y12(0)[r12, D12 - r21] = [1,1] = {1}. Since f12(l) is a permutation on the set W12 ={0,1,2}, the set of all possible values of t12(0)[0, c1) for which no-wait schedules exist is defined by: WT12 = {t12(0): t12(0) = f12(0)3 + y12(0) & f12(0){0,1,2} & y12(0) {1}} = {1, 4, 7}. Hence, there are at most 3 different no-wait schedules for the subsystem (P1,P2). However, it can be noticed (see Fig.5), that t12(0)=1 and t12(0)=7 belong to the same no-wait cyclic schedule. Therefore, for (P1,P2) we have two different no-wait schedules, such that t12(0)=1, and t12(0)=4. The same considerations can be repeated for the subsystem (P2,P3), and it can be shown that the set of all possible values of t23(0)[0,c2), for which no-wait schedules exist, is defined by: WT23 = { t23(0): t23(0) = f23(0)6 + y23(0) & f23(0){0} & y23(0)[r22, D23 - r31] = [4,5] = {4,5}} = {4, 5}. Hence, all possible initial configurations of the subsystems (P1,P2) and (P2,P3) for which no-wait cyclic schedules exist are given by WT = WT12 x WT23 = { (1,4), (1,5), (4,4), (4,5), (7,4), (7,5)}. In the Fig.5, the last Gantt chart presents the schedule for the start times of the processes given by (1,4). In this case the schedules designed for the subsystems (P1,P2) and (P2,P3) were joined together at the global time t=1. A cycle time of the no-wait C-LS system is equal to T = l.c.m.(c1,c2,c3) = l.c.m.(9,6,12) = 36.
If the Theorem 3 holds, then a cycle time of the no-wait CL-S system is equal to T = l.c.m.(c1,...,ci,ci+1,...,cn). From the theorems presented it results the procedure of designing any and/or all no-wait cyclic schedules for the C-LS system of repetitive processes. 4. DESIGNING NO-WAIT CYCLIC SCHEDULES Let us consider C-LS system CS = ((P1,P2), …, (Pi,Pi+1), …, (Pn-1,Pn)) with a given operation times. The C-LS system consists of subsystems (Pi,Pj), i=1,…,n-1, j=i+1. Suppose that the processes start from the operations using the shared resource Rj = Ri+1 (see Fig.2), and tij(0)[0,ci) denotes local start time of using Rj by process Pj in relation to the last moment of time at which Pi started to use this resource (Fig.4). In order to find all no-wait cyclic schedules for the C-LS system we will look for all possible vectors t(0)=(t12(0), …, tij(0), …, t(n-1)n(0)), such that the Theorem 3 holds. Let WTij be the set of all possible values tij(0)[0,ci) for which no-wait constraint (3) holds. There is WTij = {tij(0): tij(0) = fij(0)Dij + yij(0) (1) & fij(0)[0, mij -1] & yij(0)[ri2, Dij - rj1]}. The set WT of all possible vectors t(0)WT that represent start times of the processes that belong to no-wait cyclic schedules of the C-LS system is given as Cartesian product of the sets WTij, i.e. WT = ( WT12 x … x WTij x … x WT(n-1)n ). The number of elements of this set is equal to |WT| = |WT12|·…·|WTij|·…·|WT(n-1)n|. The value |WT| is a size of search space if we would like to find no-wait cyclic schedules optimal due to the additional criterion. If one of the sets WTij = Ø, i.e. (3) does not hold for the (Pi,Pj), then |WTij|=0, and no-wait cyclic schedules do not exist for the C-LS system. It can be noticed that some vectors t(0)WT define the initial states of the processes that belong to the same schedules. Hence, |WT| is a maximal number of different no-wait cyclic schedules. The following example illustrates the procedure of finding all start times of the processes that belong to the no-wait cyclic schedules of the C-LS system shown in Fig. 2.
Fig. 5. The no-wait cyclic schedules of the C-LS system. 5. CONCLUSIONS
4.1 Computational example
A problem of designing no-wait cyclic schedules for cascadelike structured (C-LS) job-shop systems was considered. In many cases systems of cyclic concurrent processes can be seen as composed of (2-P) subsystems. Using necessary and sufficient conditions for no-wait execution of the cyclic 2-P system a constraint based method for finding start times of the processes for which no-wait cyclic schedules exist was presented. The advantage of the developed method is the possibility of rapid prototyping of cyclic schedules for C-LS systems based on solutions obtained for 2-P subsystems, which is our new result. In particular, the solution of the decision problem, which consists in determining whether
Let us consider the C-LS system CS = ((P1,P2),(P2,P3)), shown in Figure 2, defined by the following relations: Z1=(R1,R2), ZT1=(r11,r12)=(8,1), c1=9; Z2=(R2,R3), ZT2=(r21, r22) = (2,4); c2=6; Z3=(R3,R4), ZT3=(r31,r32) = (1,11), c3=12. It can be shown that (1): D12=D21=g.c.d.(c1,c2)=3, m12=3, m21=2, and c1=D12m12, c2=D21m21; D23=D32=g.c.d.(c2,c3)=6, m23=1, m32=2, and c2=D23m23, c3=D32m32. We also have: f12(l) = [f12(0) + l m21] mod m12 = [f12(0) + l2] mod 3 & f12(0)[0, m12 -1] = [0,2], and f23(l) = [f23(0) + l m32] mod m23 = [f23(0) + l2] mod 1 & f23(0)[0, m23-1] = [0,0], where l=0,1, ... . 77
2019 IFAC IMS 78 August 12-14, 2019. Oshawa, Canada
R. Wójcik et al. / IFAC PapersOnLine 52-10 (2019) 73–78
there is any no-wait cyclic schedule for the C-LS system with given parameters, requires the determination of n-1 values of Dij =g.c.d.(ci,cj) and checking whether for each (Pi,Pj) the condition (4) ri2 + rj1 Dij is met, where i=1,2,...,n-1; j=i+1. The computational complexity of the algorithm for determining the g.c.d.(a,b), where a ≥ b, is O(log10b), hence verification whether there is at least one acceptable solution requires no more than (n-1)·O(log10b) steps, where b=max{ci: i=1,...,n}. If the condition (4) is satisfied for each (Pi,Pj), then there is at least one no-wait cyclic schedule, which we can find by selecting any values tij(0) = fij(0)Dij + yij(0) (1), where fij(0)[0, mij -1] & yij(0)[ri2, Dij - rj1]. The space size of all possible local start times values tij(0) belonging to the no-wait cyclic schedules depends on the size of the set of permissible values of the parameters fij(0) and yij(0) (see section 4). Further research can be focused on a problem of finding deadlock-free no-wait cyclic schedules for complex job shop systems with blocking and deadlock state possibility.
Brucker, P., Kampmeyer, T. (2008). Cyclic job shop scheduling problems with blocking. Ann. Oper. Res., 159, (1), 161-181. Hall, N. G., Sriskandarajah, C. (1996). A survey of machine scheduling problems with blocking and no-wait in process. Operations Research, 44, (3), 510-525. Kamoun, H., Sriskandarajah, C. (1993). The complexity of scheduling jobs in repetitive manufacturing systems. European Journal of Oper. Research, 70, 350–364. Kampmeyer, T. (2006). Cyclic scheduling problems. Ph.D. Dissertation, Mathematik/Informatik, Universität Osnabrück. Kumar, S., Bagchi, T. P., Sriskandarajah, C. (2000). Lot streaming and scheduling heuristics for m-machine nowait flowshops. Comput. Indust. Eng., 38, 149-172. Levner, E., Kats, V., Alcaide, D., Pablo, L., Cheng, T.C.E. (2010). Complexity of Cyclic Scheduling Problems: A State-of-the-Art Survey. Computers and Industrial Engineering, volume (59) (2), 352-361. Liu, S.-Q., Kozan, E. (2011). Scheduling Trains with Priorities: A No-Wait Blocking Parallel-Machine JobShop Scheduling Model. Transportation Science, 45, (2), 175-198. Louaqad, S., Kamach, O., Iguider, A. (2018). Scheduling for job shop problems with transportation and blocking nowait constraints. Journal of Theoretical and Applied Information Technology, 96, (10), 2782-2792. Mascis, A., Pacciarelli D. (2002). Job-shop scheduling with blocking and no-wait constraints. European Journal of Oper. Research. 143, (3), 498-517. Pinedo, M. (2005). Planning and scheduling in manufacturing and services. New York: Springer. Schuster, Ch. J., Framinan, J. M. (2003). Approximative procedures for no-wait job shop scheduling. Operations Research Letters, 31, (4), 308–318. Schuster, Ch. J. (2006). No-wait Job Shop Scheduling: Tabu Search and Complexity of Subproblems. Mathematical Methods of Operations Research, 63, (3), 473–491. Smutnicki, Cz. (2009). Minimizing cycle time in the manufacturing system based on the flow of various jobs. 13th IFAC Symposium on Inf. Control Problems in Manufacturing. IFAC Proc. Vol. 42, (4), 1137-1142. Wójcik, R., Banaszak, Z., Józefczyk, J. (2005). CP approach to design of concurrently competing process flows in repetitive manufacturing systems. Proc. of the 11th IEEE Int. Conf. on Methods and Models in Automation and Robotics, MMAR 2005, 1149-1154. Wójcik, R. (2018). Designing a No-Wait Cyclic Schedule for a Class of Concurrent Repetitive Production Processes. 16th IFAC Symposium on Inf. Cont. Problems in Manufacturing. IFAC-PapersOnLine, 51, (11), 1305-1310. Wójcik, R. (2001). Towards strong stability of concurrent repetitive processes sharing resources. Systems Science, volume (27), no. 2, 37-47. Zaremba, M. B., Jędrzejek, K. J., Banaszak Z., A. (1998). Design of steady-state behavior of concurrent repetitive processes: an algebraic approach. IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, 28, (2).
Acknowledgement. The paper was partially supported by the National Science Centre of Poland, grant OPUS no. DEC 2017/25/B/ST7/02181. REFERENCES Abadi, I. N. K., Hall, N. G., Sriskandarajah, C. (2000). Minimizing cycle time in a blocking flowshop. Oper. Research, 48, 177-180. AitZai, A., Benmedjdoub, B., Boudhar, M. (2012). A branch and bound and parallel genetic algorithm for the job shop scheduling problem with blocking. Int. J. Oper. Res., 14, (3), 343-365. Allahverdi, A. (2016). A survey of scheduling problems with no-wait in process. European Journal of Operational Research, 255, (3), 665–686. Alpan, G., Jafari, M. A. (1997). Dynamic Analysis of Timed Petri Nets: a Case of Two Processes and a Shared Resource. IEEE Trans. on Robotics and Automation, volume (13), no.3, 338-346. Aschauer, A., Roetzer, F., Steinboeck, A., Kugi, A. (2017). An Efficient Algorithm for Scheduling a Flexible Job Shop with Blocking and No-Wait Constraints. 20th IFAC World Congress. IFAC-PapersOnLine, 50, (1), 1249012495. Banaszak, Z., Krogh, B. (1990). Deadlock Avoidance in Flexible Manufacturing Systems with Concurrently Competing Process Flows. IEEE Trans. on Robotics and Automation, volume (6), no.6, 724-734. Bocewicz, G., Nielsen, I., Banaszak, Z. (2014). Automated GuidedVehicles Fleet Match-up Scheduling with Production Flow Constraints. Engineering. Applications of Artificial Intelligence, volume (30), 49-62. Bocewicz G., Wójcik, R., Banaszak, Z., Pawlewski, P. (2013). Multimodal Processes Rescheduling: Cyclic Steady States Space Approach. Mathematical Problems in Engineering, http://dx.doi.org/10.1155/2013/407096. Bożejko, W., Pempera, J., Wodecki, M. (2018). Minimal cycle time determination and golf neighborhood generation for the cyclic flexible job shop problem. Bulletin of the Polish Academy of Sciences. Technical Sciences, 66, (3), 333-344. 78