CONSTRAINT PROGRAMMING APPROACH TO DESIGNING CONFLICT-FREE SCHEDULES FOR REPETITIVE MANUFACTURING PROCESSES

Similar documents
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

A Tool for Generating Partition Schedules of Multiprocessor Systems

PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Dimensioning an inbound call center using constraint programming

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

COMPUTER- INTEGRATED PRODUCTION PLANNING AND CONTROL: THE OPT APPROACH. B. Sko³ud*, D. Krenczyk*, W. WoŸniak**

Safety verification of software using structured Petri nets

GOAL-BASED INTELLIGENT AGENTS

Factoring & Primality

Continued Fractions and the Euclidean Algorithm

PRIME FACTORS OF CONSECUTIVE INTEGERS

From Workflow Design Patterns to Logical Specifications

Automated Teller Machine (ATM), Host Processor, Distributed Database Management System, Fragments. 1. INTRODUCTION

Direct Methods for Solving Linear Systems. Matrix Factorization

Efficient Interconnect Design with Novel Repeater Insertion for Low Power Applications

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Opus: University of Bath Online Publication Store

STATISTICS AND DATA ANALYSIS IN GEOLOGY, 3rd ed. Clarificationof zonationprocedure described onpp

A Contribution to Expert Decision-based Virtual Product Development

6.2 Permutations continued

Solution of Linear Systems

Settling a Question about Pythagorean Triples

Today s Topics. Primes & Greatest Common Divisors

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

11 Ideals Revisiting Z

The Matrix Elements of a 3 3 Orthogonal Matrix Revisited

Chapter 4 Software Lifecycle and Performance Analysis

Integrating Benders decomposition within Constraint Programming

Analysis and Implementation of Workflowbased Supply Chain Management System

Math 55: Discrete Mathematics

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Grade 6 Math Circles March 10/11, 2015 Prime Time Solutions

Electric Company Portfolio Optimization Under Interval Stochastic Dominance Constraints

ALGORITHM FOR DETERMINING CONTROLLING PATH CONSIDERING RESOURCE CONTINUITY

Factorization Algorithms for Polynomials over Finite Fields

Load Balancing Routing Algorithm for Data Gathering Sensor Network

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Lecture 13 - Basic Number Theory.

A Design Framework for Flexible Automated Warehouses


Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Evaluation of Complexity of Some Programming Languages on the Travelling Salesman Problem

Establishing a Mobile Conference Call Under Delay and Bandwidth Constraints

Enhancing ECA Rules for Distributed Active Database Systems

Activity Mining for Discovering Software Process Models

Analysis of an Artificial Hormone System (Extended abstract)

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

A Virtual Machine Searching Method in Networks using a Vector Space Model and Routing Table Tree Architecture

8 Primes and Modular Arithmetic


A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Scheduling Employees in Quebec s Liquor Stores with Integer Programming

Algorithms, Flowcharts & Program Design. ComPro

10.2 Series and Convergence

Tracking Groups of Pedestrians in Video Sequences

MULTI-CRITERIA OPTIMIZATION IN WORKFORCE MANAGEMENT

Integer Factorization using the Quadratic Sieve

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

Axiomatic design of software systems

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL

CHAPTER 1. Basic Concepts on Planning and Scheduling

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

How To Find An Optimal Search Protocol For An Oblivious Cell

Individually Adaptive Learning Management System Project

Multi-Agent System for Management and Monitoring of Routes Surveillance

Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem)

E3: PROBABILITY AND STATISTICS lecture notes

A linear algebraic method for pricing temporary life annuities

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring

LECTURE 4. Last time: Lecture outline

Math Workshop October 2010 Fractions and Repeating Decimals

Batch Scheduling of Deteriorating Products

Grade 7/8 Math Circles Fall 2012 Factors and Primes

1 Local Brouwer degree

Properties of sequences Since a sequence is a special kind of function it has analogous properties to functions:

How To Balance In A Distributed System

Planning and Scheduling in Manufacturing and Services

IB Maths SL Sequence and Series Practice Problems Mr. W Name

A Primer on Index Notation

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Performance of networks containing both MaxNet and SumNet links

Offline sorting buffers on Line

A Rough-Cut Capacity Planning Model with Overlapping

Towards Personalized Web-Tasking: Task Simplification Challenges

Number Theory Hungarian Style. Cameron Byerley s interpretation of Csaba Szabó s lectures

PROBLEM SET 6: POLYNOMIALS

minimal polyonomial Example

Change Management in Enterprise IT Systems: Process Modeling and Capacity-optimal Scheduling

As we have seen, there is a close connection between Legendre symbols of the form

On the Interaction and Competition among Internet Service Providers

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

Stationary random graphs on Z with prescribed iid degrees and finite mean connections

GRAPH THEORY LECTURE 4: TREES

Project Time Management

THE SCHEDULING OF MAINTENANCE SERVICE

Notes on Factoring. MA 206 Kurt Bryan

Ch.3 Demand Forecasting.

Transcription:

CONSTRAINT PROGRAMMING APPROACH TO DESIGNING CONFLICT-FREE SCHEDULES FOR REPETITIVE MANUFACTURING PROCESSES Robert Wójcik The Institute of Computer Engineering, Control and Robotics Wrocław University of Technology, Poland, robert.wojcik@pwr.wroc.pl A problem of designing conflict-free schedules for concurrent repetitive manufacturing processes using resources in mutual exclusion is considered. Processes that share resources can wait for resources (machines) required to complete successive operations in their production routes. Systems of processes sharing only one resource are considered. A problem of finding operation times and starting times of the processes for which a schedule exists, with no process waiting for access to the shared resource has been solved using the constraint programming (CP) approach. The necessary and sufficient conditions for existence of conflict-free schedules have been implemented in the Oz/Mozart constraint programming system used to find the schedules. 1. INTRODUCTION Planning of production flow in modern enterprises often requires solving a problem of finding a schedule defining an order of the operations executed by concurrent repetitive manufacturing processes using common resources in mutual exclusion, which in turn requires solving a problem of resource conflicts resolution (Alpan, 1997). A solution of this problem is the best schedule taking into account some constraints imposed on manufacturing operations as well as other objectives, e.g. producing parts according to just-in-time philosophy (Kanban, 1989), ensuring deadlock-free execution of processes (Banaszak, 1990), or robustness of processes (Wójcik, 2001). In the repetitive manufacturing processes the same components are produced over and over again according to given production routes, defining a sequence of operations required for completion of the final product (Kanban, 1989), (Wójcik, 2004). Each operation in the route is using one resource (machine, buffer) for a certain amount of time defined by the operation time. Assuming that the next component may be started when the previous one has been produced a repetitive manufacturing process is created with a cycle time equal to the sum of the operation times specified in the executed production route. In case when several orders are

2 Digital Enterprise Technology processed at the same time the production system can be seen as a system of concurrent, repetitive manufacturing processes sharing resources in mutual exclusion (Alpan, 1997), (Wójcik, 2001). The increased requirements concerning the time necessary to design a production plan implies a need to apply methods and tools which can be used for rapid prototyping of alternative ways of manufacturing processes execution (Banaszak, 1990), (Alpan, 1998). The method presented in this paper is based on the constraint programming (CP) (Saraswat, 1994). This approach allows finding of a feasible manufacturing schedule, which satisfies constraints imposed on the processes execution, e.g. constraints ensuring that no process will ever wait for resource allocation (Wójcik, 2001). It can be seen as an attractive alternative for methods based on computer simulation or operations research. 2. PROBLEM FORMULATION Consider a system composed of n repetitive manufacturing processes, which are sharing a single resource, i.e. the n-process. For given domains of the operation times, assuming the processes are being repeated forever (a number of parts produced according to a production route can be infinite), the problem considered consists in finding the operation times and the starting times of the processes for which a feasible schedule exists with no process waiting for access to the shared resource. The conflict-free schedule must fulfill all constraints imposed on the processes execution by the precedence relations and by the resources availability. 3. DEFINING SYSTEM OF REPETITIVE PROCESSES In a manufacturing system shown in Fig.1 three types of parts P 1, P 2, P 3 are produced using machines R, O 1, O 2, O 3. Assuming the infinite number of parts for each type, the production of the parts creates three cyclic manufacturing processes, repeated forever, and sharing resource R in mutual exclusion, i.e. the 3-process. O 1 P 1 P 2 O 2 R O 3 P 3 Output Figure 1 A manufacturing system producing three types of parts P 1, P 2, P 3 The n-process system (P 1,...,P i,...,p j,...,p n ) consists of n repetitive manufacturing processes sharing a single resource R, e.g. the 3-process system (P 1,P 2,P 3 ). Each process P i executes periodically a sequence of operations using resources defined by Z i = (R, O i ), where R denotes a shared resource used by the processes, O i represents the non-shared resources used by process P i, and i=1,2,...,n. The operation times ZT i

Constraint Programming Approach to Designing Conflict-Free Schedules 3 = (r i, o i ), corresponding to the route Z i, belong to certain domains r i DR i, DR i ={r i1,r i2,,r ij,,r iw }, and o i DO i, DO i ={o i1,o i2,,o ij,,o iv }, where r ij, o ij N. A cycle time of P i is defined by relation c i = r i + o i. It has been shown (Wójcik, 2001) that the behaviour of the n-process system depends on the operation times and starting times (phases) of the component 2- process subsystems. In the following conditions for existence of a waiting-free schedule for n-process system will be given (Wójcik, 2004). 4. THE ALGEBRAIC MODEL OF THE SYSTEM A natural model describing dynamics of repetitive manufacturing processes sharing a resource is modulus algebra (Schroder, 1997), (Wójcik, 2001). To avoid resource conflicts it is enough to exclude situations when a process is requesting shared resource while other process is using it. Taking into account the properties of the modulus algebra it is possible to design recurrent modulus equations that define times of any process resource request in relation to a chosen process request and to find conditions ensuring waiting-free execution of the n-process system. 4.1 Local Starting Times Consider a system of cyclic processes (P 1,...,P i,...,p j,..., P n ) sharing a single resource (Fig.1). Let x i (k) N {0} for k=0,1,2,..., denote times at which a process P i, where i {1,2,...,n}, requests access to the shared resource R and a i (k) N {0} times at which it receives access to the resource (Fig.2). There is 0 x i (k) a i (k) and it is assumed that a starting time of a chosen process P i is given and equal to x i (0) = 0. A starting time of any other process P j, where j i is such that x j (0) 0. The times x i (k), a i (k), i =1,2,...,n, and k=0,1,2,..., define a schedule of the processes. t ij (l) a i (k) r j o j r i o i t a i (k)+c i x j (l) x j (l)+c j Figure 2 Local resource requesting time t ij (l) for processes (P i,p j ) Assuming that only one process P j is executed in the system (no resource sharing) subsequent resource requesting times x i (k) are equal to the allocation times a i (k) and can be calculated according to the equation x i (k+1) = a i (k+1) = a i (k) + c i (Fig.2). Therefore, x i (k) = a i (k) = a i (0) + k c i. In the case of concurrent execution of the processes the relevant formula has to take into account a waiting time w i (k) of the process P i, i.e. a i (k+1) = x i (k+1) + w i (k) = a i (k) + c i + w i (k). A parameter t ij (l) N & t ij (l) [0, c i ), l=0,1,2,... (Fig.2), defines distance between a resource request time x j (l) of process P j and the nearest resource allocation time a i (k) x j (l) of process P i.

4 Digital Enterprise Technology The shift t ij (l) can be used as a local starting time of P j in relation to the nearest, previous resource allocation time of P i. For any 2-process subsystem (P i,p j ) of the n-process system, where i j & i,j {1,2,...,n}, it is possible to derive (Wójcik, 2004) values t ij (l), l=0,1,2,..., using recurrent modulus equations. It can be proven that in the case of no resource conflicts, resource request times of process P j, calculated in relation to resource allocation times of process P i, can occur only at times t ij (l) [0,c i ) given by t ij (l) = x j (l) mod c i = a j (l) mod c i = f ij (l)d ij + y ij (l) & l=0,1,2,... (1) a j (0), j {1,2,...,n} starting times of the processes, D ij =D ji =g.c.d.(c i,c j ) & c i =D ij m ij & c j =D ji m ji & g.c.d.(m ij,m ji )=1 & m ij,m ji N & & f ij (l)=[f ij (0) + lm ji ] mod m ij & y ij (l)=y ij (0) & & t ij (0)=a j (0) mod c i & f ij (0)= t ij (0) div D ij & & y ij (0)=t ij (0) mod D ij & 0 f ij (0)<m ij & 0 y ij (0)<D ij & g.c.d. - the greatest common divisor. By the symmetry of (P i,p j ) and (P j,p i ) a starting time t ji (l) [0,c j ) can be defined. 4.2 The Conditions for the Conflict-Free Processes Execution To avoid resource conflicts between the processes it is enough to avoid requesting of the shared resource by P j at time intervals [a i (k), a i (k)+r i ], and analogously, requesting it by P i at time intervals [a j (l), a j (l)+r j ]. The necessary and sufficient condition for the existence of a conflict-free schedule for n-process system has been given in (Wójcik, 2001), (Wójcik, 2004). Theorem 1. A conflict-free (waiting-free) schedule exists for n-process system if and only if for each 2-process subsystem (P i,p j ), where i<j & i,j {1,2,...,n}, exists a local starting time t ij (0) [0,c i ), where t ij (0)= f ij (0)D ij + y ij (0) (1), or a local time t ji (0) [0,c j ), where t ji (0)= f ji (0)D ji + y ji (0) (1), such that (r i y ij (0) D ij r j ) (r j y ji (0) D ji r i ) (2) When the condition (2) holds for each i<j & i,j {1,2,...,n} then a cycle time of a conflict-free n-process system is equal to T = l.c.m.(c 1,...,c i,...c j,...,c n ); l.c.m. - the least common multiple. Since the conflict-free (waiting-free) n-process system has a cyclic, steady-state with a period T=l.c.m.(c 1,...,c i,...c j,...,c n ) it is enough to consider starting times a i (0), i=1,2,...,n, of the processes such that 0 a i (0) < T & T = l.c.m.(c 1,...,c i,...c j,...,c n ) (3) 5. THE CONFLICT-FREE SCHEDULES DESIGN The problem of designing a conflict-free schedule for the considered n-process system can be formulated as follows: Given are domains of the operation times

Constraint Programming Approach to Designing Conflict-Free Schedules 5 DR i ={r i1,r i2,,r ij,,r iw } admissible values for operation time r i, and DO i ={o i1,o i2,,o ij,, o iv } admissible values for operation time o i, i=1,2,...,n. Find values of the operation times r i DR i, o i DO i, and starting times a i (0), i=1,2,...,n, of the processes for which a conflict-free steady-state schedule exists. Assuming r i DR i, o i DO i, and c i = r i + o i the considered constraint satisfaction problem (CSP) consists of finding times a i (0) (3) for which constraints (1) and (2) hold. The problem will be solved using CP method and CP Oz/Mozart tool (Saraswat, 1994). In this approach the model defining variables and constraints of the problem can be implemented in a declarative way (without implementing an algorithm for solving the problem), using predefined abstractions of the CP language Oz. This creates an attractive alternative for currently available, decision support systems used for manufacturing processes design, based on computer simulation or conventional operations research techniques. 5.1 The Constraint Programming Method Two basic techniques of constraint programming are constraint propagation and constraint distribution (Saraswat, 1994). The constraint propagation is an efficient inference mechanism designed to narrow the variable domains. It is based on a logical analysis of the constraints to derive the new constraints, which define a smaller space of the admissible solutions. The constraint propagation reduces size of a search space. The constraint distribution splits a problem into complementary cases once the constraint propagation cannot advance further. Usually, a distribution strategy is defined with a sequence of variables x 1, x 2,..., x k used in a model of a problem. When a distribution step is necessary, the strategy selects (according to the standard strategy or user defined heuristics) a not yet determined variable in the sequence and distributes on this variable, i.e. the search space can be distributed into disjoint spaces by substitution x 1 =u and x 1 u, where an integer u belongs to variable s x 1 domain. The art of constraint programming consists in designing a model for a problem and a distribution strategy that yield the smallest search tree. 5.2 The Constraint-Based Model Let us consider starting times a i (0) [0,T) (3) of the processes, i=1,2,...,n. Behaviour of the n-process system can be analysed in any time interval B k =[a k (0), a k (0)+c) such that 0 a k (0) < a k (0)+c < T, and k {1,2,...,n}, c N. It can be noticed that for c=cmax=max(c 1,...,c n ), i.e. cmax is a cycle time of the slowest process, the interval B k is the smallest one for which each process P i in a waiting-free system receives access to the shared resource at least once. Therefore, it is enough to consider starting resource allocation times a i (0) [a k (0), a k (0)+cmax). In particular, it is possible to choose a k (0) equal to a starting time of the slowest process P k and to assume that the observation zone starts at a k (0)=0. Hence, for cmax=c k, domains of variables a i (0) are defined by the following constraints: a k (0)=0 & 0 a i (0) < c k & c k =max(c 1,...,c n ) (4)

6 Digital Enterprise Technology In order to solve the problem considered, all values a i (0) (4) for which local starting times t ij (0) [0,c i ) (1) and t ji (0) [0,c j ) (1) fulfilling constraints (2) exist, have to be found, where i<j & i,j {1,2,...,n}. By introducing variables s ij, s ji, which denote a distance between any two starting times of the processes, it is possible to derive the new constraints integrating constraints given by (2) and (4). s ij =a j (0) a i (0) & a j (0) a i (0) s ji =a i (0) a j (0) & a i (0) a j (0) (5) From (4) a i (0),a j (0) [0,c k ), hence also s ij,s ji [0,c k ), where c k =max(c 1,...,c n ) & i<j & i,j {1,2,...,n}/{k}. According to (5) s kj =a j (0) a k (0)=a j (0) and s ki =a i (0) a k (0)=a i (0). Hence, taking into account (5) s ki,s kj [0,c k ). The following conditions hold: s ij = s kj s ki & s kj s ki & s ji = s ki s kj & s ki s kj s ij, s ji, s ki, s kj [0,c k ) & c k = max(c 1,...,c n ) (6) Local starting times t ij (0) [0,c i ) (1) and t ji (0) [0,c j ) (1) can be derived using formulas t ij (0) = s ij mod c i, and t ji (0) = s ji mod c j. Let u ij =(s ij div c i ), u ij N {0}. There is s ij =(s ij div c i )c i + (s ij mod c i ) = (u ij )c i + t ij (0). Hence, using (1) s ij =(u ij )D ij m ij + f ij (0)D ij + y ij (0) = [u ij m ij + f ij (0)]D ij + y ij (0) = v ij D ij + y ij (0), where v ij = [u ij m ij + f ij (0)]. Finally, taking into account constraint for u ij and m ij, f ij (0) (1) there are s ij = v ij D ij + y ij (0) and v ij N {0}. A domain of variable v ij can be reduced. For s ij [0,c k ) (6) there is 0 v ij D ij +y ij (0)<c k & y ij (0) [0,D ij ) (1), hence, 0 v ij <c k /D ij. Taking into account (2) and denoting y ij =y ij (0) the following formulas hold, based on necessary and sufficient conditions, defining a distance between starting time of the process P j and starting time of the process P i in a conflict-free schedule: s ij = v ij D ij + y ij & v ij [0, c k /D ij ) & y ij [r i, D ij r j ] (7) Formula defining s ji [0,c k ) can be given analogously, by changing i, j. The model presented defines the following CP problem: Let P k be the slowest cyclic process. Find s ki [0,c k ) for i {1,2,...,n}/{k}, and s ij, s ji [0,c k ) for i<j & i,j {1,2,...,n}/{k}, such that constraints (6) and (7) hold. This problem will be solved using CP programming tool Mozart (Saraswat, 1994). 5.3 Computational Example For a 3-process system shown in Fig.1, all possible conflict-free schedules will be derived using the constraint-based model presented. A standard first fail (ff) distribution strategy available in the Oz language is selected to distribute the constraints on the variables (Saraswat, 1994). Let us consider a system S 3 =(P 1,P 2,P 3 ) with the following parameters: r 1 [1,1], o 1 [16,17], ZT 1 =(r 1,o 1 ); r 2 [1,1], o 2 [10,11], ZT 2 =(r 2,o 2 ); r 3 [4,4], o 3 [2,3], ZT 3 =(r 3,o 3 ). Analysis of all possible values from the domains of the operation times leads to the following eight cases defined by vectors (r 1,o 1,c 1 ; r 2,o 2,c 2 ; r 3,o 3,c 3 ): (1,16,17; 1,10,11; 4,2,6), (1,16,17; 1,10,11; 4,3,7), (1,16,17; 1,11,12; 4,2,6), (1,16,17; 1,11,12; 4,3,7), and (1,17,18; 1,10,11; 4,2,6), (1,17,18; 1,10,11; 4,3,7), (1,17,18; 1,11,12; 4,2,6), (1,17,18; 1,11,12; 4,3,7). In all cases P 1 is the slowest process, i.e. c k = max(c 1,c 2,c 3 ) = c 1, and k=1. Hence, starting times s 12, s 13 (6) of the processes P 2, P 3 are defined in relation to time

Constraint Programming Approach to Designing Conflict-Free Schedules 7 a 1 (0)=0, i.e. s 12, s 13 [0,c 1 ). Time shifts s 23, s 32 [0,c 1 ) can be calculated using s 12, s 13 defined by (6). According to (7), the following constraints hold for the variables s 12, s 13 [0,c 1 ), and s 23, s 32 [0,c 1 ): s 12 =v 12 D 12 +y 12 & v 12 [0, c 1 /D 12 ) & y 12 [r 1, D 12 r 2 ]; (8) s 13 =v 13 D 13 +y 13 & v 13 [0, c 1 /D 13 ) & y 13 [r 1, D 13 r 3 ]; s 23 =s 13 s 12 & s 13 s 12 & s 23 = v 23 D 23 + y 23 & v 23 [0, c 1 /D 23 ) & y 23 [r 2, D 23 r 3 ]; s 32 =s 12 s 13 & s 12 s 13 & s 32 = v 32 D 32 + y 32 & v 32 [0, c 1 /D 32 ) & y 32 [r 3, D 32 r 2 ]. These constraints define the CP problem with the following solution vectors: (s 12, s 13, s 23, y 12, y 13, y 23 ) and (s 12, s 13, s 32, y 12, y 13, y 32 ). Assuming values for (r 1,o 1,c 1 ; r 2,o 2,c 2 ; r 3,o 3,c 3 ) it is possible to solve the problem using predefined abstractions available in the Oz language a programming tool of the Mozart system. It can be shown that solutions of the problem exist only for case (1,17,18; 1,11,12; 4,2,6). In this case: D 12 =D 21 = g.c.d.(c 1,c 2 )=6, and D 13 =D 31 =g.c.d.(c 1,c 3 )=6, and D 23 =D 32 =g.c.d.(c 2,c 3 )=6. Since, c 1 = max(c 1,c 2,c 3 ) = 18, hence process P k,, where k=1, is the slowest one. According to (7), (8) the following constraints hold: s 12, s 13, s 23, s 32 [0,18); v 12 [0,3), y 12 [1,5]; v 13 [0,3), y 13 [1,2]; v 23,v 32 [0,3), y 23 [1,2], y 32 [4,5]. The executable script given below can find solution vectors defined by (s 12, s 13, s ij, y 12, y 13, y ij ), where i j & i,j {2,3}. The following program generates solutions for (s 12, s 13, s 32, y 12, y 13, y 32 ). local Find in proc {Find Root} S12 S13 S32 Y12 Y13 Y32 V12 V13 V32 D12 D13 D32 in Root=sol(s12:S12 s13:s13 s32:s32 y12:y12 y13:y13 y32:y32) %variable domains S12::0#17 S13::0#17 S32::0#17 D12::6#6 D13::6#6 D32::6#6 V12::0#2 V13::0#2 V32::0#2 Y12::1#5 Y13::1#2 Y32::4#5 %for Y23 change into 1#2 %constraints for the variables S32=:S12-S13 S12>=:S13 S12=:V12*D12+Y12 S13=:V13*D13+Y13 S32=:V32*D32+Y32 %start propagation and distribution {FD.distribute ff Root} end {Browse {SearchAll Find}} %find all solutions end In the case considered 9 solutions have been found. Solutions with the same values of (y 12, y 13, y 32 ) define starting times, which belong to the same conflict-free schedule. Two different schedules exist for the 3-process system considered. Starting times of the processes corresponding to a schedule shown in Fig.3: sol(s 12 :5 s 13 :1 s 32 :4 y 12 :5 y 13 :1 y 32 :4); sol(s 12 :11 s 13 :1 s 32 :10 y 12 :5 y 13 :1 y 32 :4); sol(s 12 :11 s 13 :7 s 32 :4 y 12 :5 y 13 :1 y 32 :4); sol(s 12 :17 s 13 :1 s 32 :16 y 12 :5 y 13 :1 y 32 :4); sol(s 12 :17 s 13 :7 s 32 :10 y 12 :5 y 13 :1 y 32 :4); sol(s 12 :17 s 13 :13 s 32 :4 y 12 :5 y 13 :1 y 23 :4). In the case (s 12, s 13, s 23, y 12, y 13, y 23 ) a number of solutions is the same. All derived vectors define states belonging to the waiting-free schedules, which have been found for the case (s 12, s 13, s 32, y 12, y 13, y 32 ).

8 Digital Enterprise Technology 0 36 P1 ROOOOOOOOOOOOOOOOOROOOOOOOOOOOOOOOOO ROOOOOOO 5 P2 -----ROOOOOOOOOOOROOOOOOOOOOOROOOOOO OOOOOROO 1 P3 -RRRROORRRROORRRROORRRROORRRROORRRRO ORRRROOR T = 36 Figure 3 - A conflict-free schedule. Letter R denotes a time unit of using shared resource and letter O a time unit of using non-shared resource 6. CONCLUSIONS The constraint programming approach to designing of conflict-free schedules for repetitive manufacturing processes using common resources in mutual exclusion has been presented. For a system with n processes sharing single resource a constraintbased model has been derived and then implemented into a searching procedure used to find the operation times and starting times of the processes for which waiting-free schedules exist. The procedure has been programmed with the aid of the Oz/Mozart language and tested in the case of a 3-process system. The example is simple, however, the more complex systems can be considered since they can be seen as a composition of n-process subsystems. The method presented can be used to answer several interesting questions. What are the operation times and starting times of the processes ensuring their conflictfree execution? What is the number of different waiting-free schedules for a given system? How many parts is it possible to produce in a given planning horizon? Is it possible to load new parts into the system without disturbing the other parts? Therefore, this method creates an attractive alternative for classical design approaches based on computer simulation and the operations research techniques. 7. REFERENCES 1. Alpan G., Jafari M.A. Dynamic analysis of timed Petri nets: a case of two processes and a shared resource. IEEE Trans. on Robotics and Automation 1997; Vol.13, No.3: 338-346. 2. Alpan G., Jafari M.A. Synthesis of sequential controller in the presence of conflicts and free choices. IEEE Trans. on Robotics and Automation 1998; Vol.14, No.3: 488-492. 3. Banaszak Z., Krogh B. Deadlock avoidance in flexible manufacturing systems with concurrently competing process flows. IEEE Trans. on Robotics and Automation 1990; Vol.6, No.6: 724-734. 4. Kanban Just-In-Time at Toyota: Management Begins at the Workplace. Japan Mgmt Assoc (ed.), Productivity Press, 1989. 5. Saraswat V. Concurrent Constraint Programming. MIT Press, 1994. 6. Schroder M.R. Number Theory in Science and Communications. Springer-Verlag, Berlin, Heidelberg, 1997. 7. Wójcik R., Banaszak Z., Polak M. A state space decomposition approach to dynamics analysis of chain-like coupled repetitive manufacturing processes. Proc. of the 10th IEEE Int. Conf. on Methods and Models in Automatics and Robotics, MMAR 2004, Midzyzdroje, Poland, eds. S. Domek, R. Kaszyski 2004; Vol. 2: 1267-1272. 8. Wójcik R. Towards strong stability of concurrent repetitive processes sharing resources. Systems Science 2001; Vol.27, No.2: 37-47.