ThroughputOptimal Sequences for Cyclically Operated Plants
 700 Downloads
 4 Citations
Abstract
In this paper, we present a method to determine globally optimal schedules for cyclically operated plants where activities have to be scheduled on limited resources. In cyclic operation, a large number of entities is processed in an identical time scheme. For strictly cyclic operation, where the time offset between entities is also identical for all entities, the objective of maximizing throughput is equivalent to the minimization of the cycle time. The resulting scheduling problem is solved by deriving a mixed integer optimization problem from a discrete event model. The model includes timing constraints as well as open sequence decisions for the activities on the resources. In an extension, hierarchical nesting of cycles is considered, which often allows for schedules with improved throughput. The method is motivated by the application to high throughput screening plants, where a specific combination of requirements has to be obeyed (e.g. revisited resources, absence of buffers, or time window constraints).
Keywords
Cyclic scheduling High throughput screening Integer programming1 Introduction

Cyclic operation: all batches pass the plant in an identical time scheme. For Strictly cyclic operation, the time offset between the start of consecutive batches is always constant. For screening plants, the requirement of identical time schemes for all batches is mandatory in order to receive comparable analysis results.

Due dates: the time scheme for the batch may be restricted, involving lower as well as upper bounds (time window constraints).

General precedence network structure: the sequence of worksteps for the single batch includes points of splitup and synchronization as well as parallel branches.

Revisited resources: along the process, the same resource may be visited several times by the same batch.

Overtaking: batches will overlap in time. Worksteps for batch ρ may take place prior to other worksteps for previous batches, even on the same resource.

Deterministic workstep durations: the time needed for each workstep is predefined and deterministic. Batch sizes and workstep recipies are fixed. Nevertheless, entities may keep resources allocated during additional waiting intervals that succeed the worksteps.

No buffers: after a workstep on one resource is finished, the resource will not be released before the resource for the next workstep is allocated (blocking). Thus, a batch will normally allocate two resources simultaneously while being transferred. This may apply for some or all of the system’s resources.

No preemption: worksteps cannot be interrupted by other worksteps on the same resource.

Globally optimal solution: we are interested in systematic approaches such that a globally optimal solution can be guaranteed.
The set of worksteps which is necessary for a screening task as well as the sequence of worksteps is specific for the substances and the tests to be performed. Thus, a new instance of the scheduling problem has to be solved for every screening task. This is performed in advance before the start of the screening run. The general objective of scheduling is to maximize throughput, i.e. to process as many batches per time as possible (high throughput screening) or, more generally, to finish a run of a fixed number of batches as fast as possible.
A large variety of cyclic scheduling problems have been considered in the literature. Major applications include manufacturing systems (e.g. Levner et al. 1997; Crama et al. 2000; Seo and Lee 2002; Hall et al. 2002; Karimi et al. 2004) traffic and transportation (e.g. Odijk 1996) or chemical batch plants (e.g. Pinto and Grossmann 1998; Alle et al. 2004; Pinto and Grossmann 1994; Shah et al. 1993). For the latter, additional degrees of freedom arise from recipies and material balances. For screening processes, material balancing does not play a role since materials are carried in the wells of microplates, which are always handled as one elementary unit.
Solution methods for cyclic scheduling are problem specific. If the sequence of all worksteps (activities) is fixed, the minimum possible cycle time (i.e. a schedule with maximum throughput) can be found using maxplus algebra (e.g. Lee 2000; Seo and Lee 2002) or algorithms with polynomial complexity (e.g. Lee and Posner 1997; Levner and Kats 1998). If batches do not overlap on any single resource, i.e. all activities of a batch are finished on a resource prior to the start of the first activity of the following batch (no overtaking), the problem of scheduling is reduced to fixing the optimal sequence and timing such that the single batch can be processed and repeated as fast as possible (e.g. Hall et al. 2002; Lee and Posner 1997; Levner and Kats 1998). Many of the cyclic scheduling methods in the literature address cycle shop problems (Middendorf and Timkovsky 2002), which do not cover the case of a general precedence network structure. Often, this is restricted further if resources are only visited once by each batch (flow shop) or revisiting of resources is limited to a single robot (e.g. Chen et al. 1998; Crama et al. 2000; Levner et al. 1997). The absence of buffers may reduce the complexity of the scheduling problem (Crama et al. 2000; Chen et al. 1998; Levner et al. 1997), but this is an additional requirement if buffers exist for some of the resources but not for all of them, as it is the case for screening plants. Another additional requirement is the demand for due dates resp. time window constraints (e.g. Crama et al. 2000; Levner and Kats 1998; Chen et al. 1998), which makes it necessary to set up additional constraints in the scheduling problem.
For many of these cyclic scheduling problems, an algorithm with polynomial complexity has not been found. Such problems may nevertheless be efficiently solved by formulating them as (mixed integer) optimization problems. Acceptable calculation times for globally optimal solutions can then be achieved by use of problemspecific formulations and branchandbound techniques (e.g. Chen et al. 1998; Roundy 1992; Seo and Lee 2002).
Although many of the approaches from the literature can be transferred to other applications, they do not meet all the requirements listed above. For strictly cyclic operation under these requirements, the maximum throughput problem has been solved in Mayer and Raisch (2004) for problem instances from the pharmaceutical industries. Several extensions, such as sequence dependent switching times or resources with multiple capacity, have also been studied (Mayer and Raisch 2003). The method presented there is not limited to screening plants but can be applied to any cyclically operated system with the same (or less) requirements.
This contribution provides a thorough discussion of the modeling and solution steps for the strictly cyclic maximum throughput problem. It then addresses the extension of the strictly cyclic case to a more general hierarchical cyclic structure, where cycles are nested in two levels. For specific task structures, this allows for considerably increased throughput.
This paper is arranged as follows: In Section 2, we present a timed discrete event model for cyclic processes with activities and resources. The constraints for the scheduling problem are derived. In Section 3, it is shown that the scheduling problem can be cast into a mixed integer linear program (MILP). A number of additional constraints are provided which allow to reduce computation time of the globally optimal solution.
In Section 4, the method is extended from the basic strictly cyclic case to the hierarchical cyclic case. It is shown that, by an appropriate modeling approach, the hierarchical cyclic problem can be formulated as a nonlinear mixedinteger program. A transformation to a mixedinteger linear program is presented, which again allows effective solution of the scheduling problem. In Section 5, both, the strictly cyclic and the hierarchical cyclic method, are illustrated by a small illustrating example and finally in Section 6, both methods are applied to a standard problem instance from high throughput screening.
2 Discrete event modeling of cyclic systems for scheduling
2.1 General setup
The general modeling approach for cyclic processes is described in Mayer and Raisch (2004), Mayer (2007) and will therefore only be outlined in this paper.
Using a system with m resources of capacity 1, a set of n worksteps (a batch) is executed a large number of times. The single batch represents one job or a fixed group of jobs. The worksteps (activities) for the batch are given in the batch definition, together with sequence and timing constraints. The duration needed for the workstep within any activity is predefined and deterministic. Also, the resource allocated by the activity during execution is well defined.
For the basic cyclic scheduling problem, a strictly cyclic operating scheme is applied. Batches are started repeatedly with a fixed time offset, called cycle time T. The activities of the batch as well as their sequence and timing are identical for all batches. Usually, the overall processing time of the single batch exceeds the time distance between the start of consecutive batches. Therefore batches may overlap, i.e. at any instant of time, several batches may be in process simultaneously.
The batch definition given by the user identifies the set of activities together with their resources J _{ i }. If the values for the variables o _{ i } and r _{ i }, i = 1...n, were predetermined, the cycle time T would remain as the only degree of freedom. The problem would then be reduced to the problem of determining the optimal value for T and could be solved by simple algorithms in polynomial time. The optimal value for T could for example be found by successively excluding all forbidden intervals from the range of possible values for T. These intervals can be directly derived from the fact that two activities cannot allocate the same resource simultaneously. The number of forbidden intervals for n activities is O(n ^{2}).
However, in most cases the user will not fix the entire batch time scheme but will only provide a number of (usually) linear constraints for the set of possible values for the variables o _{ i } and r _{ i }. These constraints, together with a number of problemintrinsic constraints, will be discussed in Section 2.2.
Thus, the single batch time scheme is defined by the fixed parameters χ _{ i,0}, ψ _{ i,0}, χ _{ i,k }, and ψ _{ i,k }, i = 1...n, k = 1 ...K and yet unknown variables θ _{ k }, k = 1...K.
The reparametrization (4) allows to reduce the number of degrees of freedom in the timing of the single batch. Often, a parametrization can be found such that the variables θ _{ k } can simply be interpreted as an artificial delay that is either inserted between two activities of the single batch time scheme or within an activity just before the entity is transferred to a subsequent resource. The number K of variables θ _{ k } depends on the sequence structure of the activities in the batch definition. It is always possible to find a parametrization (4) with K < 2 n. A formal method to derive the parameters χ _{ i,0}, ψ _{ i,0}, χ _{ i,k } and ψ _{ i,k } from a raw graph description of the batch definition can be found in Mayer (2007).
2.2 Constraints
There are three types of constraints that have to be met by the cyclic schedule.
 1.
That activities last long enough to allow finishing of the required operations
 2.
That certain sequence constraints hold (for example, a batch may not be allowed to allocate the next resource before the activity in the previous resource is completed)
 3.
That certain time window constraints (e.g. maximum admissible durations for chemical reactions) hold.
Third, there is the requirement that no two activities are allowed to allocate the same resource simultaneously (disjunctive constraints).
between activity i _{1} for a batch ρ _{1} and activity i _{2} for the same batch, the resource is used for exactly \(z_{(i_{1},i_{2})}\) activities of type i _{1} of subsequent batches, i.e. for batches \(\rho_{2} \in \{\rho_{1}+1 \ldots \rho_{1}+z_{(i_{1},i_{2})}\}\).
By introducing the integer variables, the infinite number of XOR conditions (9) is replaced by a finite number of requirements of the form (10), (11).
In order to formulate the scheduling problem as a mixed integer optimization problem with compact notation, some abbreviations are introduced.
3 Optimization problem

Cycle time T ∈ ℝ^{ + },

Time variables θ _{ k } ∈ ℝ,

Integer variables z _{ ι } ∈ ℤ .
In general, problem (19a) to (19e) has more than one unique globally optimal solution. Of course, any of its globally optimal solutions constitutes a throughputoptimal cyclic schedule for the underlying problem instance. However, nonconvex mixedinteger optimization problems, especially of this size, are in general very difficult to solve in a globally optimal way. Fortunately, it turns out that Eqs. 19a to 19e can be reformulated in mixedinteger linear form. Along the way, stricter bounds for some variables are derived, which reduces computation time.
3.1 Strengthening the formulation
For batches, where some resources have to be shared by a large number of activities, the optimization problem (19a) to (19e) may become very large (for n _{ j } activities on a resource j, the number of pairs and therefore the number ι _{max} of integer variables z is \(\frac{n_j (n_j1)}{2}\), see Eq. 12). Therefore it can be helpful to add additional bounds for the variables in Eqs. 19a to 19e, hence reducing the computation time for the optimization algorithm.
A tighter bound can be derived if, in addition to Eq. 21, the single batch is required to be finished as fast as possible. This corresponds to solving the optimization problem (19a) to (19e) with z _{ ι } ∈ { − 1,0}, which usually can be solved significantly faster than the optimization problem with nominally unbounded variables z ∈ ℤ and always has a solution if Eqs. 19a to 19e have a solution. Note that this upper bound for T reduces the feasible region. Nevertheless, the feasible region does not become empty. Since the objective is to minimize T, at least one globally optimal solution is preserved in the formulation.
Conditions (22) can be interpreted as Gomory cuts (Bertsimas and Weismantel 2005) in the original system. Introducing such cuts does not reduce the feasible region of the optimization problem. In other words, the introduction of the additional bounds only removes values for the integer variables, for which at least one of conditions (19a) to (19e) is not satisfied.
3.2 Transformation to MILP
This is an exact reformulation of the problem. The set of globally optimal solutions remains unchanged. Note that the property of nonlinearity has been eliminated without paying the cost of additional variables. The resulting linear reformulation of the optimization problem reads as follows:
Equations 24a to 24g state a mixed integer linear program (MILP). This optimization problem can be efficiently solved using standard methods of mathematical programming (e.g. Branch and Cut). For a comprehensive discussion of solution techniques for MILPs see Bertsimas and Weismantel (2005).
4 Extension: hierarchical cyclic structure
4.1 General framework
The scheduling problem for strictly cyclic operation can be solved in a globally optimal way by solving the mixedinteger linear optimization problem presented in Section 3. However, a strictly cyclic timetable, i.e. a strictly cyclic timetable with a constant time offset between all consecutive entities is often unnecessarily restrictive and a cyclic requirement may be sufficient. For a specific class of high throughput screening tasks, a twolevel hierarchical nesting of cycles allows for a throughput rate higher than in the strictly cyclic case.
Again, the task is to process a (theoretically infinite) number of entities, which all need the same set of worksteps (activities). In the hierarchical cyclic framework, we use the term ‘job’ for such an entity. Together with their timing, the corresponding set of activities is called the ‘job time scheme’.

The time distance between the start of consecutive batches is always constant.

The processing time scheme is identical for all batches.

The cyclic time scheme does allow for infinite repetition.

The time distance between the start of consecutive jobs is constant.

All individual jobs have to be processed in the same time scheme (‘job time scheme’).
If the number of jobs in the inner cycle, i.e. the number of jobs for one batch is fixed apriori, the problem is, again, reduced to the strictly cyclic scheduling problem described in Section 2: the jobs in the inner cycle can be grouped into one batch, where the parametrization (4), together with the linear constraints (5) and (6) ensure identical time distance between the start of the jobs and identical processing time schemes for all jobs.
However, the optimal number of jobs per batch is usually not known apriori, but has to be determined simultaneously with the optimal values for the other variables (i.e. the single batch time scheme and the cycle time T). This is done by formulating the scheduling problem for the hierarchical cyclic structure as an optimization problem which, in addition to the timing of the single batch time scheme and the cycle time for the outer cycle, also includes the number of jobs within the single batch time scheme as a variable Y ∈ ℕ.
4.2 Batch time scheme
In our hierarchical setting, the set of activities in the single batch time scheme is not fixed but depends on the value of the decision variable Y.
It is natural to assume that an upper bound Y _{max} for the variable Y is prescribed by the user.
4.3 Constraints
Since the outer cyclic structure is identical to the standard strictly cyclic case described in Section 2, the constraints for the optimization problem are derived in the same way. However, the set of activities in the single batch time scheme is not fixed but depends on the number of jobs per batch (Y). The set of constraints for the optimization problem therefore depends on the value of the decision variable Y.
The second set of constraints for the optimization problem is given by the linear constraints on the variables θ _{ k }, k = 1 ...K, given in Eqs. 30 and 31.
4.4 Optimization problem
This function has to be minimized subject to constraints (30), (31), (46), (50), and (51).
Lower and upper bounds for the cycle time T as well as for the integer variables z _{ ι } can be included in the optimization problem as detailed for the model in Section 3.1.
An upper bound T _{up} can be derived by solving the strictly cyclic scheduling problem with one single job per batch.
This problem can once again be transformed into a linear one, albeit we need to expend some more effort because of the nonlinear objective function; it should also be noted that an increase in the number of values allowed for Y influences the size of the resulting linear problem and makes it worse from a complexity theoretic point of view. However, in the typically occurring instances, Y has a small range.
 1.
Reformulation of the objective function
Instead of minimizing T/Y we can maximize Y/T, since T,Y > 0. This obviously changes the objective function value, but any optimal solution for the minimization problem will be optimal for the maximization problem, and vice versa.
 2.
Reparametrization of T
As in the previous model we will reparameterize T by substituting \(\bar T=\tfrac{1}{T}\), and \(\bar\theta_k=\tfrac{\theta_k}{T}\) for k = 1,...,K. This leads to a set of constraints that is of the same form as in Eqs. 24a to 24g, except for the disjunctions in Eqs. 54a, 54b and 54h.
 3.
Removal of Eq. 54h
The inequalities (54h) can be subsumed under Eqs. 54a and 54b, by introducing m ·Y _{max} new indices \(\iota_{1},\dots,\iota_{m \cdot Y_{\max} }\) after ι _{max}, fixing the associated variables \(z_{\iota_i}\) to 0, setting the new coefficients \(v_{\iota_i}=0\) and \(w_{\iota_i,\{0,k\}}= \gamma_{ [(i1) \mbox{\footnotesize mod } m] +1 , \{0,k\}, \lfloor (i1)\mbox{\footnotesize / }m \rfloor +1 } \), and limiting Y by \(g_{\iota_i}= (i1) \mbox{ mod } m\) for Y′ = 1,...,Y _{max}. The associated inequalities of type (54a) are then no restriction, while those of type (54b) take the place of Eq. 54h.
 4.
Modeling of the disjunctions (54a) and (54h)
The disjunctions (54a) and (54b) with enlarged ι _{max}, i.e. including Eq. 54h from the application of step 3, can be modeled by introducing decision variables x _{ ι } ∈ {0,1} for ι = 1,...,ι _{max}, which are to be equal to 1 whenever Y ≤ g _{ ι }, and 0 otherwise. We can then model the disjunctions (54a) and (54b), already rewritten according to the reparametrization step above, by a family of 3 inequalities for each ι = 1,...,ι _{max}:$$Yg_\iota \leq U_\iota^Y \cdot x_\iota\quad\mbox{with constant}\quad U_\iota^Y\geq Y_{\max} g_\iota,$$with constant$$z_\iota  v_{\iota,0}\cdot\bar{T}  \sum_{k=1}^K v_{\iota,k}\cdot\bar{\theta_k} \leq (1x_\iota)\cdot U^z_\iota$$and finally$$U^z_\iota\geq z_{\iota,\max} + v_{\iota,0}\frac{1}{T_{\min}} + \sum_{k=1}^Kv_{\iota,k}\cdot\theta_{k,\max}\frac{1}{T_{\min}},$$with constant$$z_\iota + 1  w_{\iota,0}\cdot\bar{T}  \sum_{k=1}^K w_{\iota,k}\cdot\bar{\theta_k} \geq (1x_\iota)\cdot L^z_\iota$$In this formulation the choice of the three constants \(U^Y_\iota\), \(U^z_\iota\), and \(L^z_\iota\) ensures that the respective inequality is not a restriction whenever the decision variable x _{ ι } is not forcing the right hand side to 0.$$L^z_\iota\leq z_{\iota,\min} + 1  w_{\iota,0}\frac{1}{T_{\min}}  \sum_{k=1}^Kw_{\iota,k}\cdot\theta_{k,\max}\frac{1}{T_{\min}}.$$  5.
Linear formulation of the objective \(\max Y\cdot\bar T\)
For each possible value q of Y in the range of 1,...,Y _{max} we introduce a binary variable \(Y_{\not= q}\), which is 1 whenever Y does not attain the value q:Then we can replace the objective \(\max Y\cdot\bar T\) by max γ, where γ is a variable modeling the supremum of \(Y\cdot\bar T\) over the feasible region:$$\begin{array}{*{20}rrl}Y_{\not= q} &\geq (Yq)/(Y_{\max}1) &&q=1,\dots,Y_{\max}\\ Y_{\not= q} &\geq (qY)/(Y_{\max}1) &&q=1,\dots,Y_{\max}\\ \sum_{q=1}^{Y_{\max}} Y_{\not= q}&= Y_{\max}1. \end{array}$$where the constant \(M\ge Y_{\max}\cdot\frac{1}{T_{\min}}\), ensures that only one of these restrictions is binding.$$\gamma \le q\cdot\bar{T}+ M \cdot Y_{\not= q} \qquad \qquad\quad\; q=1,\dots,Y_{\max}$$
After applying steps 1 to 5, we obtain a linear reformulation of the problem that has the same set of globally optimal solutions. Nevertheless, this time, the advantage of linearity comes at the cost of ι _{max} additional binary variables x _{ ι }, Y _{max} additional binary variables \(Y_{\not= q}\), and the additional variable γ ∈ ℝ^{ + }. The linear reformulation finally reads as follows:
5 Illustrating example
Inserting any artificial waiting times between the worksteps and the transfers will not allow for increased throughput. The interval between activity 2 and 3 therefore constitutes the only degree of freedom within the single batch time scheme. We assume that the batch definition allows this interval to vary by a maximum of 6 time units.
Figure 1 illustrates the single batch time scheme for θ _{1} = 0.
Min T over \(\bigm( T \in \mathbb{R}^+,\;\) θ _{1} ∈ ℝ, z _{ ι } ∈ ℤ, ι ∈ {1, 2} \(\bigm)\) such that conditions (60), as well as conditions (57) and (58) hold.
Constraints (62) to (68) build up the problem formulations (54a) to (54i), which can be reformulated to linear form according to Eqs. 55a to 55l, following steps 1 to 5 in Section 4.4.
6 Application example
The time distances between the four parts are restricted by lower and upper bounds (time window constraints). Apart from these restrictions, all activities may be arbitrarily prolonged by inserting an idle time interval before the end of the activity, causing the followup activity on the next resource to start later. Altogether, these degrees of freedom are used to find a globally optimal timing for the activities, hence allowing for a schedule with maximum throughput.
Following the modeling process of Sections 2 and 3, a mathematical program can be established for the strictly cyclic case. The basic MILP consists of 28 continuous and 78 integer variables and includes 195 constraints (apart from lower and upper bounds for variables). The solution of the mathematical program provides a strictly cyclic schedule with globally optimal throughput. During the modeling process, an upper bound T _{max} = 2350 for T can be found by solving the problem for the fixed single batch time scheme from Fig. 4, i.e. without allowing for any change in the timing. A lower bound T _{min} = 1150 can be established by solving the relaxed MILP.
ELISA problem instances
m  n  Y _{max}  n ^{*}  #var  #constr  #integer  obj.function  t _{solve} 

ELISA: strictly cyclic  
7  30  1  30  106  195  78  T _{opt} = 2260  \(1~\mbox{s}^{(*)}\) 
ELISA: hierarchical cyclic structure  
7  120  4  30  558  1079  528  \(T_{\rm opt}/Y_{\rm opt}=1383\tfrac{1}{3}\)  \(1105~\mbox{s}^{(**)}\) 
We now drop the prerequisite of strictly cyclic operation and allow for hierarchical nesting of cycles as described in the extension in Section 4: while all entities still have to be processed within the same time scheme, the distance between the start of consecutive entities is not required to be constant any more. A maximum number of Y _{max} = 4 entities form one batch and are processed in an inner cyclic scheme. Following the modeling steps of Section 4, the scheduling problem is cast into a mixed integer linear program of the form (55a) to (55l) with 30 continuous, 528 integer variables, and 1079 constraints.
The resulting mixedinteger linear programs can be solved using standard integer programming software like CPLEX (ILOG 2006). Since the range of Y is small, it is worth to require branching on Y first. This can be achieved by supplying suitable priorityorder files to the small CPLEX solver, and allows significant problem compactification in the BranchandCut tree on subsequent nodes.
Optimization results in a globally optimal solution with Y _{opt} = 3 and T _{opt} = 4150: three jobs have to be grouped to one batch in the inner cycle; a new batch is started every 4150 time units. Hence, the mean cycle time results in \(4150/3=1383\frac{1}{3}\), which is significantly better than the best possible cycle time 2260 for the strictly cyclic case.

The number of variables, i.e. the number of columns in the MILP (#var),

The number of constraints, i.e. the number of rows in the MILP (#constr), and

The number of integer variables in the MILP (#integer).
Problem instances from high throughput screening
m  n  Y _{max}  n ^{*}  #var  #constr  #integer  t _{solve} 

Example from Section 5  
2  4  1  4  4  7  2  \(0.01~\mbox{s}^{(*)}\) 
Normalsized problem  
18  57  1  57  183  1051  131  \(0.65~\mbox{s}^{(*)}\) 
Large sized problem  
18  87  1  87  399  2402  321  \(122~\mbox{s}^{(*)}\) 
7 Conclusion
In this paper, we have addressed the problem of finding throughputoptimal sequences for a class of cyclic discrete event systems. We are interested in systematic approaches that guarantee globally optimal solutions. For the case of strictly cyclic operation, it has been shown that globally optimal solutions can be found by casting the cyclic scheduling problem into a mixed integer linear program (MILP). The method has been very successful in computing strictly cyclic schedules for a large number of high throughput screening problems from the pharmaceutical industries.
Additionally, a new extension towards a more general case of cyclicity has been presented: for some systems, hierarchical nesting of cycles allows for schedules with improved throughput rates. For this extension, it is still possible to solve the problem in a globally optimal way by casting it into an MILP. However, nesting of cycles demands for a more advanced modeling approach and thus results in more complex mathematical programs.
The extended method has been applied to an example from high throughput screening, showing its applicability to realsized problem instances. Clearly, the computation time for the solution of the resulting mathematical program suffers from combinatoric explosion, as the size of the problem is increased. Further mathematical programming methods are needed to improve computation times and to solve large problem instances. Such methods are currently under investigation.
Notes
Acknowledgement
The authors gratefully acknowledge funding by “Deutsche Forschungsgemeinschaft (DFG)” via the DFGForschergruppe 468 “Methods from Discrete Mathematics for the Synthesis and Control of Chemical Processes”.
References
 Alle A, Papageorgiou L, Pinto J (2004) A mathematical programming approach for cyclic production and cleaning scheduling of multistage continuous plants. Comput Chem Eng 28(1–2):3–15CrossRefGoogle Scholar
 Bertsimas D, Weismantel R (2005) Optimization over integers. Dynamic Ideas, BelmontGoogle Scholar
 Brucker P (2004) Scheduling algorithms. SpringerGoogle Scholar
 Chen H, Chu C, Proth JM (1998) Cyclic scheduling of a hoist with time window constraints. IEEE Trans Robot Autom 14(1):144–152CrossRefGoogle Scholar
 Crama Y, Kats V, van de Klundert J, Levner E (2000) Cyclic scheduling in robotic flowshops. Ann Oper Res 96:97–124zbMATHCrossRefMathSciNetGoogle Scholar
 Hall N, Lee TE, Posner M (2002) The complexity of cyclic shop scheduling problems. J Sched 5(4):307–327zbMATHCrossRefMathSciNetGoogle Scholar
 ILOG (2006) ILOG CPLEX. http://www.ilog.com/products/cplex/
 Karimi I, Tan Z, Bhushan S (2004) An improved formulation for scheduling an automated wetetch station. Comput Chem Eng 29(1):217–224CrossRefGoogle Scholar
 Lee TE (2000) Stable earliest starting schedules for cyclic job shops: a linear system approach. Int J Flex Manuf Syst 12(1):59–80CrossRefGoogle Scholar
 Lee TE, Posner M (1997) Performance measures and schedules in periodic job shops. Oper Res 45(1):72–91zbMATHCrossRefGoogle Scholar
 Levner E, Kats V (1998) A parametric critical path problem and an application for cyclic scheduling. Discrete Appl Math 87(1–3):149–158zbMATHCrossRefMathSciNetGoogle Scholar
 Levner E, Kats V, Levit V (1997) An improved algorithm for cyclic flowshop scheduling in a robotic cell. Eur J Oper Res 97(3):500–508zbMATHCrossRefGoogle Scholar
 Mayer E (2007) Globally optimal schedules for cyclic systems with nonblocking specification and time window constraints. PhD Thesis, Fachgebiet Regelungssysteme, Technische Universität Berlin, Germany.Google Scholar
 Mayer E, Raisch J (2003) Throughputoptimal scheduling for cyclically repeated processes. MMAR2003—9th IEEE international conference on methods and models in automation and robotics. Miedzyzdroje, Poland, pp 871–876Google Scholar
 Mayer E, Raisch J (2004) Timeoptimal scheduling for high throughput screening processes using cyclic discrete event models. MATCOM—Math Comput Simul 66(2–3):181–191zbMATHCrossRefMathSciNetGoogle Scholar
 Middendorf M, Timkovsky VG (2002) On scheduling cycle shops: classification, complexity and approximation. J Sched 5(2):135–169zbMATHCrossRefMathSciNetGoogle Scholar
 Murray C, Anderson C (1996) Scheduling software for highthroughput screening. Lab Robot Autom 8(5):295–305CrossRefGoogle Scholar
 Odijk M (1996) A constraint generation algorithm for the construction of periodic railway timetables. Transp Res Part B—Methodol 30B(6):455–464CrossRefGoogle Scholar
 Parker R (1995) Deterministic scheduling theory. Chapman & HallGoogle Scholar
 Pinedo M (1995) Scheduling: theory, algorithms, and systems. Prentice HallGoogle Scholar
 Pinto J, Grossmann I (1994) Optimal cyclic scheduling of multistage continuous multiproduct plants. Comput Chem Eng 18(9):797–816CrossRefGoogle Scholar
 Pinto J, Grossmann I (1998) Assignment and sequencing models for the scheduling of process systems. Ann Oper Res 81:433–466zbMATHCrossRefMathSciNetGoogle Scholar
 Roundy R (1992) Cyclic schedules for job shops with identical jobs. Math Oper Res 17(4):842–865zbMATHMathSciNetGoogle Scholar
 Seo JW, Lee TE (2002) Steadystate analysis and scheduling of cyclic job shops with overtaking. Int J Flex Manuf Syst 14(4):291–318CrossRefGoogle Scholar
 Shah N, Pantelides C, Sargent R (1993) Optimal periodic scheduling of multipurpose batch plants. Ann Oper Res 42(1–4):193–228zbMATHCrossRefGoogle Scholar