Capacitated Lotsizing and Scheduling with Sequence-dependent, Period Overlapping and Non Triangular Setups

In production planning, sequence dependent setup times and costs are often incurred for switchovers from one product to another. When setup times and costs do not respect the triangular inequality, a situation may occur where the optimal solution includes more than one batch of the same product in a single period — in other words, at least one sub tour exists in the production sequence of that period. By allowing setup crossovers, ﬂexibility is increased and better solutions can be found. In tight capacity conditions, or whenever setup times are signiﬁcant, setup crossovers are needed to assure feasibility. We present the ﬁrst linear mixed integer programming extension for the capacitated lotsizing and scheduling problem incorporating all the necessary features of sequence sub tours and setup crossovers. This formulation is more eﬃcient than other well known lotsizing and scheduling models.


Introduction
In production planning problems, the timing and sizes of production orders of a given range of products over a certain number of periods must be determined so that market demand is fulfilled and associated costs are minimized. In a large number of cases, sequence dependent setup times and costs are incurred for switchovers from one product to another. In addition, tight machine capacity often necessitates product inventories from one period to another, further increasing costs.
Usually, setups follow the so called triangular inequality, i.e., for any three products, the cost and time required to directly set up the machine from one product to another is always less than the sum of those required when setting up via an intermediate product.
However, several reasons may lead to the existence of non-triangular setup times or costs. For example, in some industries (chemical, pharmaceutical, food, dyeing, etc.), unwanted contamination occurs between certain products. To avoid it, additional cleansing operations must be performed during machine set ups, often requiring the use of expensive special products. Alternatively, products that absorb the contaminating substances (or even lower grade mixed products) can be produced in between, reducing setup times and costs. In this situation, a minimum lot size is often required for the intermediate product, so as to eliminate unacceptable contamination.
When the triangular inequality does not hold, it may be efficient to produce more than one batch of the same product in a given period. Though this concept is quite simple, it is also quite hard to model when considering sequence dependent setup times and costs, often leading to incomplete or inaccurate MIP formulations, and subsequent infeasible or sub optimal solutions. In this paper, a novel formulation that correctly handles this problem is proposed.
Setup times play a double role in production planning problems, because not only do they indirectly impact on the optimal solution's value (by constraining the inventory levels), but they also interfere with the solution's feasibility. In tight machine capacity situations, an effective distribution of setup times is required. Quite often, setup operations can be interrupted at the end of a period and resumed at the beginning of the next one with no additional prejudice, either due to the nature of the operations required or to the fact that there is no physical separation between periods. When this happens, a setup cross over or a period − overlapping setup is said to exist.
To the best of our knowledge, we are the first to exactly model these features as an extension of the well known capacitated lotsizing problem (CLSP), considered to be a bigbucket model as multiple products/setups may be produced/performed per planning period. We show that such formulations are more efficient than standard small-bucket models.
In section 2 we introduce a previously existing model for lotsizing with sequence dependent setup costs and times. We then expand this model so as to correctly handle non-triangular setup costs and times, with the necessary feature of disconnected sub-tour elimination and minimum lot size enforcement. Furthermore, we benchmark our new formulation against the mixed small-bucket-big-bucket general lotsizing and scheduling model on reported instances from the literature. In section 3 we present a new formulation extension that allows setups to crossover between adjacent periods. Numerical examples and visual representations are provided in sections 2 and 3 to demonstrate all features. Finally, we summarize our main findings. We conclude this introduction with a literature review.

Literature Review
There is a vast amount of literature on lotsizing and scheduling models with setup times and costs. However, to the best of our knowledge, none is able to correctly handle both sequence dependent and non triangular setups for big-bucket models, let alone a combination of this and period overlapping setups.
Several contributions from the academic community have greatly extended and improved the quality of CLSP models. Gopalakrishnan et al. (1995) are among the first to address the influence of significant setup times, proposing a model that handles setup carry overs for identical times and costs. Later, in Gopalakrishnan (2000), product dependent setup times and costs are considered. Haase (1996) is the first to propose in the literature the big-bucket capacitated dynamic lot-sizing problem in which setup costs are sequence dependent, but neglecting setup times (the so-called CLSD). Sox and Gao (1999) propose a new model that only considers product dependent setup costs, but at the same time greatly reduces the number of binary variables, increasing the model's efficiency. Porkka and Kuula (2000) show that proper accounting for setup carryovers and setup times decrease the number of setups and frees a significant amount of production capacity. Suerie and Stadtler (2003) suggest a new model, considering both setup times and costs while keeping the number of binary variables low. Extensive computational tests prove the model's superiority with respect to previously existing models. Haase and Kimms (2000) take a different approach, considering a CLSP-like model that handles sequence dependent setup times and costs, but by pre-defining efficient production sequences, sub-optimal solutions may be found. The authors also assume no inventory may exist at the beginning of the period in which a production lot of that same product is to be produced. Clark and Clark (2000) model the CLSD with sequence-dependent setup times using a new mixed-integer programming formulation. They assume that up to a given number of setups occur in the time period between any two given products, independently of their demand patterns. Almada-Lobo et al. (2007) propose two models that correctly handle sequence-dependent setup times and costs for large-bucket problems (several products/setups may be produced/performed per period), but do not allow setup cross overs, and may result in sub optimal solutions when non triangular setup times and costs exist.
CLSP partitions the planning horizon into a small number of lengthy time periods, allowing for the set up of several products within the same bucket. Small-bucket models divide the planning horizon into many short periods (such as days, shifts or hours), in which at most one setup may be performed. Such models may potentially take into account more "fine-grained" details.
In Toso and Morabito (2005), periods are divided in subperiods, enabling the original big-bucket problem to be treated as a small-bucket one, where at most one setup may be performed per subperiod. This way, sequence dependent setup times (either respecting or not the triangular inequality) are correctly accounted for. However, the subdivision requires an a priori definition of the maximum allowed number of setup operations per period, thus heavily increasing the model size, or even demanding multiple tweaking experiments before obtaining the optimal solution. While minimum lot sizes are imposed, they only relate to the first subperiod after the machine has been set up, leading to potential sub-optimal solutions. Moreover, setup cross overs are not allowed, having to start and finish in the same period. Suerie (2006) proposes a model that correctly handles setup cross overs, but only for small-bucket problems. A set of variables are introduced in relation to the standard model, keeping track of how much time each setup operation is performed in each period, the cumulative time a setup operation has been performed in any given period since the last time it started, and the availability of the machine at the beginning of every period (the machine is available for production if the entire setup operation has finished). Sung and Maravelias (2008) propose a similar model for large-bucket problems, with sequence independent setup times and costs.
The reader is referred to Zhu and Wilhelm (2006) for an extensive literature review related to lotsizing and scheduling problems with sequence-dependent setups. Consider the following standard model for the CLSD with sequence-dependent setup costs and times, suggested by Almada-Lobo et al. (2007). This problem is essentially modeled in much the same way as the prize collecting salesman (see (Balas (1989)) or the vehicle routing problem (Laporte (1992b)) with additional sub tour elimination constraints. Here, t denotes time periods ranging from 1 to T , while i and j index the products, which are labeled from 1 to N . Furthermore, the set {1, 2, ..., M } is denoted by [M]. A general singlestage model is considered, involving multiple items to be scheduled on a single machine with the following data: h i cost of carrying one unit of stock of product i from one period to the next, p i processing time of one unit of product i, d it demand for product i at the end of period t, C t capacity of the machine in period t (measured in time units), s ij time needed to set up the machine from product i to product j, c ij cost incurred to set up the machine from product i to product j, M it upper bound on the production quantity of product i in period t.
Binary variable T ijt indicates whether or not a setup occurs on the machine configuration state from product i to j in period t. Continuous variable α it keeps track of the machine state -if it is set up for product i (value 1) or not (value 0) -at the beginning of period t. Variable X it represents the amount of product i to produce in period t, and I it the stock of product i at the end of period t. Finally, auxiliary continuous variable V it schedules production lot of product i in period t. The larger V it , the later the product i is scheduled in period t, assuring that the machine is only set up for one product on any given time.
Lastly, v denotes optimal values of underlying optimization problems. This formulation, F 1 , will be used as a starting point for the extensions presented later in this paper: The objective function (1) minimizes the sum of sequence-dependent setup costs and the holding cost. Constraints (2) represent the inventory balances and (3) ensure that production and setup operations do not exceed available capacity. Constraints (4) guarantee that a product is produced only if the machine has been set up for it. Constraints (5)- (7) determine the sequence of products on the machine in each period and keep track of the machine configuration state at the beginning of each period, by recording the product that a machine is ready to process at the end of the previous one (setup carryover information is thereby tracked). Now we have a more detailed look into constraints (7). Such constraints are based on the Miller-Tucker-Zemlin sub tour elimination constraints proposed for the Traveling Salesman Problem (Laporte (1992a)).
In practice, a situation may occur where more than one lot of the same product is produced in a single period. In other words, at least one sub tour -a production sequence that starts and ends in the same setup state -may exist in that period.
Two special sub tour cases are referred to throughout the article: alpha sub tours (sub tours that start and end in the same setup state as the first setup state of each period's production sequence) and disconnected sub tours (sub tours that are not part of the period's main sequence). Disconnected sub tours are further classified according to their complexity: simple disconnected sub tours (sub tours that form a perfect loop) and complex disconnected sub tours (sub tours that in turn are formed by multiple sub tours).
Consider a digraph G where nodes represent production lots of product i, solid arcs (i, j) represent setups from product i to product j, and dashed arcs represent the setup states inherited from or passed to neighboring periods, thus producing a visual representation of the production sequence of a given period. Figure 1 shows some sub tour examples, including the aforementioned special cases.
It is evident that disconnected sub-tours cannot be part of a feasible solution, as it is impossible to define a finite chronological sequence that represents them correctly. The following reasoning shows that constraints (7) eliminate all but alpha sub tours.
Let C ⊆ [N ] 2 represent a non-empty subset of product pairs (i, j), with cardinality |C|. If T ijt = 1, ∀(i, j) ∈ C in a given period t, then we say C represents a sub tour (or a group of This guarantees no sub tour occurs. Now we show that (7) allow alpha sub tours. Let C 1 denote a sub tour, such that the machine is set up for one product belonging to that sub tour, i.e. ∃i, j : α it = 1 ∧ (i, j) ∈ C 1 . It is easy to see that such a cycle C 1 is not cut off by constraints (5)-(7).

Allowing sub tours in the main sequence
The following changes must be made to F 1 to correctly account for non-triangular setup costs and times: Firstly, since non-triangular setup costs and times may result in a given setup being performed more than once, variables T ijt must be allowed to take any non-negative integer values.
Secondly, constraints (7) must be replaced, as they only allow alpha sub tours. Let M represent a very large number, S ⊆ [N ] be a non-empty, non-unitary subset of the entire products set, and Y it be a binary variable taking the value of 1 when the machine is configured for product i at least once in period t, and 0 otherwise: The following constraints are valid for any feasible solution (with or without sub tours), and cut off disconnected sub-tours: These constraints are non-active whenever the machine is not configured to produce at least one product i in S in period t. If this is not the case (Y it = 1 for every i ∈ S), then (9) reduces to j ∈S i∈S T jit + i∈S α it ≥ 1. Clearly, this expression assures that the number of inward links (setups from another production lot, or the period's beginning) to a given set of production lots is always greater than or equal to one, as exemplified in Figure 2). If S represents a productive sub tour, it forces S's cycle to be connected to the production sequence of the previous period (through α's) or to the main sequence of that period (through T 's), therefore it cuts disconnected sub tours off. In other words, this requirement eliminates a disconnected multigraph on the node set S. Note that all regular sub tours (even non-alpha ones, such as S 1 on Figure 2) are allowed by (9). The set (9) results in T · 2 N constraints, making full implementation impracticable. As such, individual constraints (9) will be dynamically added, as opposed to including them directly in the initial model. This can be done in a number of ways. In this article, we propose adding such constraints during the branch-and-cut process, whenever a disconnected sub tour is identified, thus removing it and preventing it thereafter. Two algorithms are used to achieve this end.
Algorithm 1, F indST , identifies a set of disconnected production lots S (which either form a disconnected sub tour or a group of disconnected sub tours).
if Connected it = 0 and Y it = 1 then a non-validated production lot exists Disconnected it ← 1; end end end AddConstraints(Disconnected); Algorithm 1: The sub tour identification (F indST ) algorithm The sub tour identification algorithm is called at every feasible node during the branchand-cut process. If any disconnected sub tour is found, a global cut will be added, eliminating and preventing it from happening again. In order to find production lots not linked to the main sequence, F indST algorithm calls recursive V alidate algorithm several times (see Algorithm 2) Input: Connected product i to explore Input: Period t for j ← 1 to N do if Connected jt =0 then if T ijt ≥ 1 then Connected jt ← 1; Validate(j,t); end end end Algorithm 2: The recursive product validation (V alidate) algorithm The recursive product validation algorithm works like this: Given a product i that is known to be part of the main sequence, setups from i to every other product j are checked. For each j, if at least one setup occurs from i to j (T ijt ≥ 1), and j is so far not known to be part of the main sequence, then j is validated as being part of the main sequence, and the product validation algorithm is called again, with j as argument. The product validation algorithm is initialized in every period with the first product in sequence as argument (given by arg i (α it = 1)) At the end of the process, production lots that are not validated as being part of the period's main sequence, S t = {args i (Disconnected it = 1)}, are known to be disconnected, and the corresponding constraint is added.
Note that this approach intends to identify and remove any disconnected sub tour en-countered. However, it is also possible to use additional a priori polynomial sized constraints that prevent simple disconnected sub tours (thus reducing the number of dynamically added constraints) as follows: Let a new binary variable Q ijt be 1 if at least one setup operation T ijt is performed, and 0 otherwise: The following modification of constraint (7) allows connected sub tours, while removing simple disconnected ones: (10) Constraints (10) works as follows: Consider a general cycle C ∈ [N ] 2 of size |C|, with T ijt ≥ 1, ∀(i, j) ∈ C, which may be composed of single or multiple sub tours, and let S be the node set of C. Summing all the constraints (10) up for every arc (setup) belonging to cycle C, we obtain the following requirement: If cycle C corresponds to a simple disconnected sub tour, it is evident that l T lit = 1 and α it = 0, ∀i ∈ S, which violates constraints (11). In any other case, α it + l T lit ≥ 2 for the sub tour joint (the product that starts and ends a regular (product i 2 in Figure 1a) or alpha (product i 1 in Figure 1b) sub tour, or bridges multiple sub tours into a complex disconnected sub tour (product i 3 in Figure 1d)), thus fulfilling the imposed requirements.

Enforcing minimum lot sizes
In cases where non-triangular inequalities exist due to the possibility to produce intermediate lower-grade or cleansing products, minimum lot sizes must be imposed, so as to guarantee an effective machine cleansing. Data representing the minimum lot sizes of each product should be added to the model: m i minimum size of each production lot of product i.
Additionally, a new binary variable R t that equals to one if at least one setup is performed during period t is required: The following constraints are added: Expressions (12) split production X it into the amount X 0 it of product i produced in period t after setups are performed in that period, and the amount X −1 it produced at the beginning of the period, after a setup carry-over. If the setup state of product i is not carried over into period t (α it = 0), then clearly X −1 it = 0, as imposed by (13). Constraints (14) assure production lots that start and end within period t fulfil the minimum lot size requirement. Constraints (15) enforce a minimum production size proportional to the number of setups to product i in period t, allowing that same production size to be split into subsequent periods. Note that this will only be enforced if there is at least one setup occurring in period s (i.e., the cross over production lot ends), and there are no setups between t + 1 and s − 1 (i.e., a unique cross over production lot is being considered). This can be simplified if production lots never span for more than one entire period (i.e., s = t + 1 instead of Finally, variable domains must be specified: The new formulation, F 2 , consists of objective function (1) subject to constraints (2)-(6), (9) and (12)-(16). We prove in the following lemma that F 1 is a special case of F 2 , and, as such, the optimal solution of F 2 is at least as good as F 1 's: Proof. F 2 can be seen as a generalization of F 1 , since the latter can be derived from the former by adding additional constraints. If minimum lot sizes are not enforced, by setting m i = 0, ∀i ∈ [N ], then constraints (12)-(15) become redundant and can be dropped. In addition, let the set be added to F 2 , obtained by all the constraints (7) listed for every arc (i, j) of a general cycle C. As (i,j)∈C T ijt ≥ |C|, |C| N > 0 and α it can only take on integer values, then (17) reduces to (i,j)∈C α it ≥ 1. If S contains the node set of cycle C, then (9) is equivalent to i∈S α it ≥ 1− j ∈S i∈S T jit . Clearly, (17) makes this constraint redundant as i∈S α it = 1 if (i,j)∈C α it ≥ 1. In the presence of sub tours, (17) dominates (9), making the feasible solutions of F 2 with (17) coincident with those of F 1 . Therefore, the set of feasible solutions of F 1 is a subset of the set of feasible solutions of F 2 . Consequently, for the same data set, v(F 1 ) ≥ v(F 2 ), completing the proof.
The following example demonstrates the previous statement by showing the optimal solutions of the same instance to F 1 and F 2 Example 1. A production plan of five different products, i = {1, 2, 3, 4, 5}, over the next three periods must be devised. A certain component of product 5 contaminates product 1, and an expensive disinfectant product is required to clean the machine, thus increasing c 51 . Product 3 has a component that absorbs the contaminating component from product 5, hence the triangular inequality will not hold for the setup costs of sequence 5−3−1. Table 1 shows the relevant data for this problem. Additionally, consider c ij = 10s ij , ∀(i, j)\(5, 1), c 51 = 250, and C t = 100, ∀t.   Tables 2 and 3 show the most relevant non-zero solution values given by F 1 and F 2 , respectively. Those same solutions are graphically represented by figures 3 and 4. Here, white blocks represent production that is to be consumed in that period, light grey blocks represent production that is to be stocked, middle grey represents idle time and dark grey represents setups. Table 2: F 1 's optimal solution t = 1 t = 2 t = 3 α 11 = 1 α 12 = 1 α 13 = 1 X 11 = 95 X 12 = 5, T 122 = 1 X 13 = 100 X 22 = 10, T 232 = 1 X 32 = 10, T 342 = 1 X 42 = 10, T 452 = 1 X 52 = 10, T 512 = 1 I 11 = 5 I 12 = 10 Note that in F 1 's optimal solution, 5 units of product 1 must be added to stock in periods 1 and 2 to fulfill demand in period 3, with a holding cost of 150 monetary units. Setup costs account for 700 monetary units, resulting in an objective function value of 850 monetary units. Table 3: F 2 's optimal solution t = 1 t = 2 t = 3 α 11 = 1 α 12 = 1 α 13 = 1 X 11 = 100 T 122 = 1 X 13 = 100 X 22 = 10, T 232 = 1 X 32 = 10, T 342 = 1, T 312 = 1 X 42 = 10, T 452 = 1 X 52 = 10, T 532 = 1 I 11 = 10 I 12 = 10 In F 2 's optimal solution, an extra setup exists. However, due to the non triangular inequality of sequence 5 − 3 − 1, total setup costs are reduced by 100 monetary units, to a total cost of 600. The increase in setup times forces production of product 1 in period 2 (see Figure 3) to be moved to period 1, increasing holding costs by 50 monetary units, to a total of 200. This results in an objective function value of 800 monetary units, which is 50 less than F 1 's. Note that our solution does not include the size of each individual production lot, but instead the total amount of each product to be produced in each period. The example depicted in Figure 4 represents one of the many possible ways to split X 32 = 10 units of product 3 between the two corresponding production lots in period 2. These variations have no impact in the objective function value.

General Lotsizing and Scheduling Problem
The class of small-bucket lot-sizing and scheduling problems tries to capture both lot-sizing and scheduling decisions, Drexl and Kimms (1997). Wolsey (2002) provides a comprehensive study and classifications scheme for different small-bucket and big-bucket models. His analysis shows that the LP-relaxation of small-bucket models usually delivers very weak lower bounds. Only with customized reformulations and valid inequalities added to the problem is an improvement of the lower bound possible. In contrast most big-bucket models provide much better lower bounds. Fleischmann and Meyr (1997) develop a model based on a mixed small-bucket-bigbucket general lotsizing and scheduling model (GLSP), where each period of the planning horizon is divided into a fixed number |S t | of micro-periods of variable length, representing the maximum number of lots that can be scheduled in (macro-)period t. Here the production sequence within each period is explicitly obtained by assigning an item to each micro-period. Let the new variable Z ijs indicate whether or not a changeover occurs on the machine configuration state from product i to j in micro-period s. The GLSP is formulated as: i s∈St (18) expresses the inventory holding costs and setup costs. Demand is met without backlogging by (19). Capacity constraints are given in (20). Note that the length of micro-period s is not constant but rather is determined by the capacity consumption of the (only) product that is setup and produced within it. Constraint (21) links production and setup variables. Minimum lot-sizes are ensured by requirements (22). Furthermore, at most one product can be produced per micro-period (23). Constraint (24) forces a changeover to be performed if two different products are set up in two consecutive micro-periods. In case the triangular inequality does not hold, GLSP enables an item to be produced several times in the same macro-period. Despite allowing for a very accurate modeling of the situation, this model is computationally very hard to solve, whereas the big-bucket model introduced in Section 2.2 is much easier to tackle, as shown below.

Comparison of CLSD-like model with GLSP
Here our aim is to compare the efficiency of the CLSD-like model and GLSP when solved by a search engine. Both formulations have been tested on well known instances reported in Fleischmann (1994) with eight products and eight periods. Problems TV11, TV13 and TV14 differ only in the capacity of the macro-periods and have a capacity utilization (defined as i d it /C t ) per period of 97%, 76% and 64%, respectively. Fleischmann (1994) relies on various setup cost matrices (c ij ). We present results for S1, S2, S3 and S4. The values of S1 and S3 are generated at random from the intervals [0,600] and [0,300], respectively. The entries of S2 are taken at random from the values 0,100,200,...,600. The S4 matrix represents a typical situation in practice with only two kind of setups, a major setup cost (cost 500 between product families) and a minor setup cost (cost 100 within the same family). We note that matrix S4 satisfies the triangle inequality, while all the other matrices do not. These instances are available online in Instances (2009). Each macro-period has been subdivided into 8 and 10 GLSP micro-periods.
All the computational results reported have been obtained by running the commercial solver CPLEX 12.1 from ILOG, on a Pentium T7700 CPU running at 2.4 GHz with 4GB of random access memory. The maximum time for the search overall was set at one hour. The algorithms 1 and 2 to solve F 2 were coded in C++ using Concert 2.7.
In presenting the results in Table 4, we list the problem type, the optimal values provided by formulations F 1 and F 2 , as well as the respective solution times (in seconds), and the percentage improvement gap() of v (F 2 ) over v (F 1 ). The last columns of the table report the upper (UB) and lower (LB) bounds to F GLSP , considering eight and ten micro-periods, for one hour-time limit. In all instances except those with setup cost matrix S4, the formulation that allows for subtours in the main sequence (F 2 ) has computed a solution that is less costly (with a statistically significant p-value of 0.02) than the corresponding F 1 solution, which only incorporates alpha-subtours. The solutions have the same cost in the case of setup cost matrix S4. The difference increases with increasing capacity utilization (e.g. compare instance TV11/S1 to TV13/S1 and TV14/S1). The respective solution times are not significantly different (p-value = 0.19). Since S4 obeys the triangular inequality, there is no advantage in having non-alpha subtours in the production sequence.
Compared to the solutions given by small-bucket models, it is clear that F 2 is always more efficient than F GLSP . Model F GLSP is not able to solve to optimality within one hour any instance type, except for instance TV11/S2 with 10 micro-periods, but CPLEX does not prove optimality due to very weak lower bound. Considering this time limit, it cannot be stated that the quality of the UB increases with the number of micro-periods, whereas the LB clearly decreases.

New Model for CLSD with Sequence-dependent and Period Overlapping Setup Costs and Times
Both F 1 and F 2 only take into account solutions that entail setups performed entirely within a time period. We now consider lotsizing and scheduling problems where setups are allowed to overlap period's boundaries. Such feature is of upmost importance to tackle tight capacity scenarios.
Our model uses two new types of variables (one of them binary) in addition to the variables from model F 2 . Continuous variables S t contain the amount of time still needed to finish the last setup operation at the end of period t (cross over time). Binary variables B ijt indicate whether or not the cross over setup from period t to period t + 1 is from product i to j. Due to setup cross overs, setup times S t that are delayed to the following periods (as well as setup times S t−1 that are inherited from previous ones) must be taken into account. Thus, capacity constraints (3) must be extended in the following way: To ensure setup cross overs S t only occur if a given setup T ijt is performed and that they do not exceed the corresponding setup time s ij we add: To ensure only the last setup performed may cross over, we add: Note that since i α it = 1, we have i j B ijt ≤ 1, which prevents multiple setups from crossing over.
Constraints (4) must be extended so that production of product i in period t may only occur if at least one full setup operation for that product ends in that period.
Note that this constraint may become very loose, but capacity constraints and inventory costs will always prevent X it from getting too big. Minimum lot sizes must be enforced when a setup crosses over: Finally, we assure S t is non-negative, and Q ijt and B ijt are binary: The new formulation, F 3 , consists of objective function (1) subject to constraints (2), (5), (6), (9), and (12)-(32).
Let S 2 and S 3 be the sets of feasible solutions to F 2 and F 3 , respectively. We prove in the following lemma that F 2 is a special case of F 3 .
Proof. Let us assume another model and its feasible solution set, F 3 * and S 3 * , respectively, similar to F 3 with the following additional requirement: This constraint ensures no setup cross over occurs. Constraints (27) make variables S t all equal to 0. It becomes obvious that F 3 * is equivalent to F 2 , and therefore S 2 = S 3 * . Since F 3 * is a restricted version of F 3 , we can conclude that F 3 admits all of F 3 * 's feasible solutions, i.e., S 3 * ⊆ S 3 , which is equivalent to S 2 ⊆ S 3 .
The following example demonstrates that F 3 can achieve a better optimal solution than F 2 : Example 2. Consider the same data set of Example 1. Figure 5 shows the optimal solutions to F 3 . Table 5: F 3 's optimal solution t = 1 t = 2 t = 3 α 11 = 1 α 22 = 1 α 13 = 1 X 11 = 90, T 121 = 1 X 12 = 10 X 13 = 100 B 121 = 1, S 1 = 10 X 22 = 10, T 232 = 1 X 32 = 10, T 342 = 1, T 312 = 1 X 42 = 10, T 452 = 1 X 52 = 10, T 532 = 1 I 12 = 10 By allowing the first setup to cross over, it is possible that the extra 10 (inventory) units of product 1 that are being produced in period 1 in F 2 's optimal solution are pushed into period 2, reducing holding costs by 100 monetary units, while keeping the same setup costs. This results in an objective function value of 700 monetary units, which is 100 less than F 2 's.

Concluding remarks
In this paper, we have presented a novel formulation for the capacitated lotsizing and scheduling problem which correctly handles non-triangular setup costs and times while enforcing the necessary feature of minimum lot size, and allows setup cross overs between adjacent periods. These extensions open ways for solutions not being considered so far, which may lead to improvements in overall production planning efficiency, and reduce the total cost of production plans.
Additionally, we have developed a method for dynamically identifying and removing disconnected sub tours. Such a method is required for large problems, since the direct implementation of our model would require the use of an exponential number of constraints. The simplicity of this method makes it easy to implement in most programming languages usually combined with optimization engines. We prove that our big-bucket approach performs computationally much better than other small-bucket treatments. Nevertheless, an important future research question is to find a polynomial sized set of constraints that cut disconnected sub tours off, while enabling all types of connected cycles. Extensions to this model considering multiple machines, shortages, backlogging costs and maximum lot sizes are straightforward, making it a good starting point for models reflecting a wide range of real life situations.