A Mathematical Model for Cyclic Scheduling With Limited WorkIn-Process and Cycle Time Minimization

In this paper, we will address the cyclic scheduling problem with limited WIP (Work-in-process). In these systems, we have to minimize the cycle time of the production while working with a limited level of WIP. We consider here production systems with linear jobs (every operation was followed and preceded by only one operation). Many methods have been proposed to solve the cyclic scheduling problem. Among them, we focus on the exact approach, and more precisely the mathematical programming. In this paper, we will propose a Linear Program Model for cyclic scheduling with limited WIP and cycle time minimization.


INTRODUCTION
The job-shop problem is one of the most popular scheduling problems.The popularity is based on its wide range of applications.Similarly, cyclic scheduling problems take place in different applications areas such as compiler design, automated manufacturing systems, digital signal processing, railway scheduling, timetabling, etc.We will focus here on the cyclic job-job problem.In this domain, the production consists of cyclic jobs assigned to machines.
The use of cyclic behavior is justified by the complexity of this problem.The Scheduling problems are well known to be highly combinatorial.It has been shown that project planning problems are of polynomial complexity and that cyclic scheduling problems are NP-complete Serafini (1989).Taking into account transformation tasks, makes the first problem NP-hard in most cases and keeps the second one in the NP-complete class.Hence, the use of heuristics is generally recommended.The cyclic scheduling allows to avoid the scheduling of the whole tasks and to handle the combinatorial explosion of the problem by considering only a small pattern (cycle).It can be a possible solution to global scheduling.The answer to the total demand will be given by the repetition of a sequence known as cyclic scheduling.However, the optimal scheduling of a cycle does not guarantee the optimality of the total production, since "the sum of optimal sub-paths is not necessarily an optimal path" Bellmann (1957).That's why the cyclic behavior is still a heuristic.
We suppose that a production is made by jobs and a job consists of a set of tasks.These tasks have to be processed in a given order (precedence constraints) on the machines and this order may differ among jobs.Every tasks have one successor and one predecessor (linear jobs).Parts processed by these tasks are handled by a transport system which consists of physical supports called pallets.These parts, which represent unfinished products, represent the Work-in-process (WIP).In factories, WIP levels between machines have a limited capacity.This is mainly due to the limited physical space available to store the parts temporarily and the limited capacity of transport system.The processing times are deterministic and fixed from the planing step.No pre-emption is allowed, i.e., once an operation is started, it must be completed before another operation can be started on that machine.
In the cyclic context, many works aim to minimize the "Cycle Time" criteria, which is the time difference between two succeeding occurrences of one task for a given set of constraints.The optimal cycle time is equal to the workload of the bottleneck machine(s)1 .However, to reach this optimal value, the bottleneck machine(s) need(s) to be fed immediately after performing each tasks.This means that we have to use enough WIP (parts) in order to avoid waiting on machines.In the case of a few number of WIP (one for example), the machines will be pending for parts (particularly, the bottleneck machine(s)) and the throughput will not be optimized.On the other hand, the WIP represents the intermediate stock and is an economic criterion.Indeed, for each new WIP, we have to associate a transport pallet.Thus, we have to minimize, also, the WIP in the system.A classical result in cyclic scheduling theory is that: considering that the WIP is always available (with a sufficient number of WIP) at the input of the bottleneck machine(s) allows reaching the optimal cycle time.However, few works in the literature have addressed the problem of minimizing the cycle time with a limited level of WIP Seo (2002).Indeed, Seo considers job shops with overtaking degrees.In these shops, some operations of a specific job instance are processed prior to some operations of the previous instance of the same job.This means that, if there is an operation x from a job J with an overtaking degree equals to 1, then there must be two instances of the job J on each cycle of the repetitive production command.As a consequence, two WIP are needed to allow this production case.By introducing the overtaking notion, Seo looks for CT minimization.However, he considers that there must be a trade-off between the WIP and the cycle time.Hence, he proposes to work with a limited level of WIP (by fixing the overtaking degree for each operation).
The main purpose to consider limited WIP in production systems is always for economical purposes.Indeed some production systems need sophisticated pallets in order to handle their WIP.These pallets can be so expensive or even unavailable (especially for systems that produce pieces that are relatively large or huge).For example, because of the parts are expensive, they are usually processed when there is a need.In the airplane case, the engine and the electronic parts are very expensive and are, therefore, manufactured only when needed.Thus it is of great concern to these companies to reduce their WIP.Consequently, the production have to be adapted to this new constraint, and this by fixing the WIP level as a hard constraint and then looking for optimizing the cycle time.
Producing with a limited WIP is frequently used by systems that use the Just-In-Time production (JIT) (produce only if there is a customer demand Monden (1983), Shingo (1981)), like in car production systems.In JIT production systems, the WIP level is controlled by the Constant WIP method (ConWIP) Hopp (1996).It consists in a control strategy that limits the total number of parts allowed into the system at the same time.The ConWip can be viewed as a variant of the Kanban systems Hall (1981).Note that the ConWIP and the Kanban systems are applied within JIT production system and we are interested here on the predictive context since we deal with deterministic scheduling problems.This means that all the production data: parts, number of parts to produce and production sequences are previously set so that there is no possible random interaction with the environment during this process.However, it is always interesting for the JIT production to have an estimated value on the maximal throughput of the system while using a fixed level of WIP.
Another field that deals with the limited WIP is the Hoist Scheduling Problem (HSP) Che (2010), Manier (2003).Indeed the HSP deals with the scheduling of handling devices in electroplating facilities.The parts are carried and handled by one (in general) hoist.Due to tight timing process constraints -minimal and maximal processing time in tanks, it is difficult to deal with several WIP using only a single hoist.Thus, the production must be with limited WIP in order to avoid the loose of parts.
In this work, we will consider that the WIP is limited and we look for optimizing the cycle time.For the resolution approach, we have chosen the exact one.We will model this cyclic scheduling problem with a mathematical model.In fact, this paper can be viewed as an extension of the work proposed in Ben Amar (2009).Obviously, the main objective is not the same, but both works deals with cyclic scheduling problems that involves WIP.The objective function in the mathematical model proposed in this work consists on minimizing the cycle time.However, the major difficulty in this mathematical model is that, while we try to optimize the cycle time, the starting time of operations is not fixed yet.This involves ambiguity to compare the current WIP with the fixed limited level.
The remainder of this paper is organized as follows.
In section 2, we will expose two mathematical models representing the cyclic scheduling problem with limited WIP and cycle time minimization.The first one is non-linear and the second one is a consequence of the linearization of the nonlinear version.The linearazation process will be also presented in the same section.In section 3, we illustrate this approach with an example from literature.To conclude, we propose several perspectives to extend this work.

Job Shop Notations
In this section, we will de present the notations used to define a job shop J: defines the set of machines of J.We denote by M = |M| the cardinal number of M.These machines are renewable and not shared by operations.Which means that, they are reusable once they have finished the execution of a task and can only process one task at a time.
• Production: We define a production as a set of type of pieces that have to be produced G = {g 1 , g 2 , . . ., g |G| }.We denote by G the cardinal number of G, and we order the type of pieces of the production by the formal parameter • Operating Sequence: We define an operating sequence (type of piece) g i of the production system J as a sequence of operations.K i denotes the number of operations of g i .
• Operation: We define an operation (or a task) of is the index of the operation in g i .We denote by m ij ∈ M the machine used to perform o ij .d ij is called the duration of the corresponding operation.
• In the following, we will denote by the set of all operations of G.We denote by O G the cardinal number of O G .Then we have:

Mixed Integer Non-Linear Program
In this section, we will start by presenting a Mathematical Programming Model with nonlinear constraints for the cyclic scheduling problem with limited WIP and cycle time minimization ("Figure .1").This model is based on works developed earlier (Ben Amar (2009) and Bourdeaud'huy (2006)), which propose a Mixed Integer Linear Program (MILP) modeling the Cyclic Scheduling problems with WIP minimization.Indeed, this MILP has been adapted in order to model Cyclic scheduling problem with limited WIP.Therefore, the objective function changed from minimizing the WIP to minimizing the CT and inequality 9 has been added to constraint the total number of WIP in the system to be less or equal to a specific value.In the following, the variables and the constraints used in "Figure .1"will be explained: Minimize: CT s.t.
(1)  (d i,j )).This bound is presented in the mathematical model by the constraint 2. In fact, if there is sufficiently WIP in the system, the cycle time will be fixed by the bottleneck machine(s).In this case, the throughput will be at his maximum level, since the critical machine work at 100% of its capacity.
• Variables t i,j ∈ [0, CT − 1] correspond to the activation date of the operation o i,j within the considered cycle.We consider here discrete systems and we suppose that t i,j ∈ N and • The variables δ kl ij ∈ {0, 1} are the binary variables corresponding to the order between operations performed on the same machine.Let o i,j and o k,l , with (i, j) = (k, l), two operations that must be performed on the same machine.If o k,l starts after the end of o i,j , then δ k,l i,j = 1, else, if o i,j starts after the end of o k,l then δ k,l i,j = 0. Formally: • The α i,sJ i,j and β i,sJ i,j correspond to binary variables used to compute the WIP.Within a production system, jobs consist of operations which have to be processed in a given order (precedence constraints) on the machines and this order may differ among jobs.If the precedence constraints between two operations are not respected in a schedule, this means that the system will need extra WIP.In this case, the decision variable α related to these two operations is fixed to 1. Formally: before the completion time of o i,j , where o i,(j % Ki)+1 stands for the successor of operation o i,j within the job; β i,j = 1 if o i,j overlaps two cycles and completes after the activation time of o % Ki)+1 on the next cycle; More explanations for α and β can be found in Ben Amar (2009), since these two variables keep the same meaning for systems with or without assembly/disassembly tasks.
• B ∈ N is a constant used to constrain the discrimination variables α i,j and β i,j in a linear way.It has to be "big enough" (lower bound: 2 • CT − 1) in order to make the inequalities ( 5) to ( 8) valid.This lower bound was computed as follow: In order to consider (5) as a valid inequality, we must have: , and if we consider α i,j = 1 then: t i,j −t s(i,j) +d i,j ≤ B .In addition, we know that t i,j ≤ CT − 1 and d i,j ≤ CT then B must respect the following inequality: • The objective function of this mathematical model is to minimize the CT (1).Note that inequalities ( 5) and ( 6), constraint the decision variables α according to their meanings presented previously.Similarly, inequalities (7), (8) constraint the variables β and ( 11), ( 12) constraint the variables δ.
• Inequality (9) constraints the total number of WIP in the system to be less or equal to M , which represents the maximum number of WIP allowed in the production system.Let suppose that W IP opt represents the minimal WIP computed in the case of CT = C * max .W IP opt represents the minimal WIP level which allows to the cycle time to be equal to the workload of the critical machine (C * max ).This miminimal level of WIP can be computed using the Mixed Integer Linear Program proposed in Ben Amar (2007) and Bourdeaud'huy (2006).After defining M and W IP opt , two case can be considered: -If M < W IP opt : this means that the WIPs available for the production system does not allow working with the speed of the critical machine.In this case, CT will be necessary greater than C * max .In fact, due to the lack of WIP, the critical machine will be pending for input pieces, and this delay make CT > C * max .As a consequence: In this case, our objective will be to minimize the CT .
-If M ≥ W IP opt : this means that the WIPs are sufficiently available in order to work at the speed of bottleneck machine.In this case: • Note that the inequalities ( 11) and ( 12), are used to guarantee that machines will not perform more than one operation, simultaneously, within the cycle time.These two inequalities have a non-linear term.Indeed, (CT.δ kl ij ) represents the multiplication of two variables that have to be computed by the resolution of the mathematical model.This made the mathematical program (proposed in "Figure .1" a nonlinear one.
In the following, we will present how we have linearized these constraints and highlight the related changes that we have made to guarantee that variables will preserve their meaning and nature.

Linearization of the Non-Linear Program
The mean idea here is to change variables by introducing CT i = 1/CT since CT = 0.As a consequence, all other variables will be changed and divided by CT .The resulting mathematical model is a Rational Linear Program presented in "Figure .2".
• Within the first model, we look for minimizing the Cycle Time (CT ).In the second model, after using CT i, our objective will be to Maximize: CT i s.t.
• Constraints (20) to ( 24) and ( 33) , (34) keep the same meaning cited in the previous section.The only difference is that all variables are divided by CT .
• Note that, for the linear program we have added more constraints (from ( 25) to ( 31)) compared to the non-linear one.These additional constraints are used to guarantee that: Indeed, without the added constraints, α ij and β ij could be non null and their values are not equal to 1 CT = CT i.That's why, we have to take into account the two conditions cited below ( 36) and (37).In fact, when we have to test if α ij is not null, then this means that we must verify if (α ij > 0) or (α ij < 0).However, since we have , then, the case (α ij < 0) will not be taking into account as a valid constraint.Thus, in our case, That's why we have added this property to the model through constraints (25).This entails that, (α ij = CT i) is equivalent, in our case, to (α ij ≥ CT i).Finally, the condition cited in (36) is equivalent to: Note that we have used in (38) the "If/then" constraint: If A then B. This last constraint is equivalent to the logical statement (∼A ∪ B).
The (∼A) represents the negation of A.
In the context of linear programming, a constraint can be viewed as a statement.Specifically, constraints (α ij > 0) and (CT i − α ij ≤ 0) are viewed as statements A and B, respectively.The negation of (α ij > 0) is (α ij ≤ 0).Therefore, (38) is equivalent to: Either/or constraints can be replaced by two simultaneous constraints (Bajalinov (2003), Chen ( 2010)): y ij is a binary variable and C is a very big number such that C ≥ max(α ij , CT i − α ij ).
In fact, if y ij = 0, then α ij = 0. Otherwise, if As a conclusion, through inequalities ( 25), ( 27) and ( 28), we have used new binary variables to ensure that: • Similarly, through inequalities ( 26), ( 29) and ( 30),we have used new binary variables z ij to ensure that: In the next section, we will use an illustrative example and we will resolve it using our approach.

ILLUSTRATIVE EXAMPLE
In this section we will assess the relevance of our approach using an illustrative example cited in Seo (2002).We will resolve this example by using the linear program proposed in the previous section.
We will use the Petri net formalism Murata (1989) in order to represent the illustrative example.This formalism allows us to model, in the same time, the precedence constraints between operations, the resource needed to perform these operations and the limited level of WIP.
The illustrative example ("Figure .3")consists of three machining centers m 1 , m 2 , m 3 and three set-up stations s 1 , s 2 , s 3 (that can be also considered as machines).Three types of parts are produced: A, B and C. Seo (2002) considers that o 1,1 and o 2,1 have an overtaking degree equals to 1.This means that he fixes the WIP of the system to: • 2 WIP for the job A.
• 2 WIP for the job B.
• 1 WIP for the job C.
As a result, the production system must works with a limited WIP equals to 5.Under this fixed level of WIP, Seo founds a cyclic schedule with a cycle time equals to 16 t.u.With our approach, we begin by fixing the value of the different constants (M , W IP opt and, C * max .As explained in the previous section (using the condition 14) we have to compare M and W IP opt to have an idea about the value of CT .However, W IP opt = 6 (computed using the mathematical model proposed in Bourdeaud'huy (2006)), M = 5 and C * max = 14 (the workload of the critical machine wich is m 3 ).Since M > W IP opt then CT > C * max = 14 .Thus, with a fixed to 5, the cycle time must be greater than 14.In order to resolve this example with our approach, we have, first, modeled the example as a mathematical linear program.This Note that the cycle time found by our approach is equal to the computed by Seo (which is 16 t.u.).This value is optimal if we take into account that the WIP is fixed to 5. Indeed, under this fixed level of WIP, the job C have to be processed with only one WIP.As a consequence, the cycle time will be fixed by this job.
If we consider, now, that the WIP level will be fixed at 3 (one WIP for each each job).In this case, the cycle time will be fixed by the higher processing time among the jobs, which is in our case equals to 22 t.u.).
Note that we have resolved also this case (M = 3) with our linear program and the corresponding cycle time is equal to 22 t.u., which is also the same value found by Seo approach's when he resolves the same example without allowing any overtaking for operations.

CONCLUSION
This paper deals with cyclic scheduling problem with limited WIP and Cycle Time minimization.The main contribution here is to propose a mathematical model for such production environnement.First, we have presented systems with limited WIP and we have discussed and justified the use of this production constraint.Secondly, we have proposed a non linear mathematical program which model systems with limited WIP and cycle time minimization.Afterwards, we have presented the method used to linearize this non-linear program.The last part was reserved to validate our approach by comparing it with an illustrative example from the literature.
This study show that, for a production with a fixed level of WIP, one can find the optimal cycle time.In addition, we have shown that we can found the same results as those found by Seo (2002).Further works will consider another strategy of pallets allocations.
In fact, we suppose, actually that pallets are used only by one job and are not allowed to be reused by other jobs within the same cycle time.This last constraint will be relaxed in the upcoming works by allowing pallets to be used if they are available.Moreover, we aim to substitute the CPLEX solver by an algorithm especially fitted to the mathematical model, in order to improve the resolution time.

Figure 1 :
Figure 1: Non-Linear Program Model for the Cyclic Job Shop with Limited WIP and Cycle Time Minimization

Figure 2 :
Figure 2: Linear Program Model for the Cyclic Job Shop with Limited WIP and Cycle Time Minimization

Figure 4 :
Figure 4: Scheduling of the illustrative example