2. Problem Statement
In the following, a formal description of the problem is presented with assumptions for clarifying and simplifying the mathematical model.
A planning horizon consists of finite number of time buckets. For each bucket, an index ranging from 1 to is assigned; that is, the number of buckets is denoted by . For each bucket , a positive amount of capacity denoted by is assigned. In the problem, the production lot sizes and schedules for a set of items, denoted by , are planned. For each item in and bucket , a non-negative demand quantity denoted by is given. The demand could be satisfied through production before the due date with inventory holding cost for each bucket or after the due date with backlogging cost . Production of one unit of items in bucket consumes a positive amount of capacity denoted by , namely the process time per unit. All the demands must be met until the end of the planning horizon. Let denote the set of buckets where a positive amount of demands is defined for item . Considering sequence-dependent setup time and cost, production sequences were decided for each bucket. Production change from item to requires setup time and causes cost . If capacity allows, multiple setup could occur in a bucket. With long setup time or inadequate capacities, setup operation could be performed during consecutive multiple buckets. Production of the last lot could resume in the following bucket without any burden of setup operations. The initial and final setup states are not given. The objective is to minimize the overall cost, which includes backlogging, inventory holding and setup costs.
Under the above descriptions, we can introduce the following two assumptions without loss of generality.
Assumption 1. No idle time is allowed during setup operations.
Bucket-independent setup times and costs were considered, therefore, any idle during setup operations could be moved to the buckets before setup started or after setup finished without increasing the cost. Therefore, the Assumption 1 is acceptable.
Assumption 2. In a bucket, at most one lot can be generated for an item.
In [
14], the setup variables with indices for the starting and completion time periods of the setup operation were introduced to solve CLSP with setup carryover and setup crossover. According to Assumption 1, for each type of setup (for each item in [
14]) with setup time
, a setup variable can be defined for each ordered bucket pair
satisfying the following constraint:
Proposition 1. The number of ordered bucket pairs satisfying constraints (1) are limited by . (Proof: refer to [
14]).
For a sequence-dependent setup operation from item
to
, we can consider the setup variable indexed by bucket pairs in the following set:
3. Formulation
The problem formulation is based on three building blocks: the facility location extended formulation [
2]; the setup variables with indices for the starting and the completion time buckets [
14]; and exponential number of generalized subtour elimination constraints (GSECs) [
18].
The following two variables come from the facility location extended formulation: setup state variable, , for item and bucket ; and production portion variable, , for item and bucket and bucket (having positive demand ). has value one if setup states for item in bucket is on and item can be produced and 0 otherwise. Moreover, denotes the proportion of the demand produced in bucket . For example, in the case , means that total demand of and half of demand are produced in bucket 1 and the remaining half of demand is produced in bucket 2.
In the formulation, model change or setup operation is indicated by the following setup-indicating variable: , for a pair of items and an ordered pair of buckets . The variable has a value of one if setup operation from item to starts in bucket and finishes in bucket and the value is zero otherwise. If , indicates setup crossover. When , indicates setup crossover longer than two buckets. By Proposition 1, the number of the variables () is bounded by . denotes the remaining setup times for item at the beginning of bucket in the case of setup crossover. In the formulation, a setup carryover indicating variable, , is used for each item and bucket . is has value of one if the setup state for item is maintained at the boundary between bucket and and zero otherwise. As mentioned in the problem statement, the initial and finial setup states are not given. Hence, ’s decide initial setup state and ’s decide final setup state.
Lot sequencing with GSECs needs exponential number of constraints, but do not need any additional variables. The process of deriving the constrains is introduced at the end of this section.
Table 1 presents the parameters and the variables used in the formulation.
The formulation M1 is as follows:
Here, the objective function (3) minimizes the total cost including backlogging, inventory holding and setup cost. Constraints (4) ensure that each demand is met within the planning horizon. Constraints (5) and (6) ensure that production occurs only in the bucket where a lot is generated. Constraints (7) ensure that capacity consumption during production and setup change plus the idle time equal to the capacity of each bucket, considering the remaining setup times during setup crossover. Constraints (8) ensure that setup state is dedicated to at most one item at the beginning of a bucket. Constraints (9) ensure that a lot comprising one item is generated in a bucket when the setup of the item is carried over or a setup operation to the item ends in the bucket. Constraints (10) ensure that one lot is followed by a setup carryover operation to the next bucket or a setup change operation to another item. Constraints (11) ensure that remaining setup times are allowed only during setup crossover. From Assumption 1, idle time is not allowed during setup operation, this is reflected in constraints (12). First two terms of the left-hand side are added to lift the constraint. Constraints (13) prevent the subtours in each bucket. Constraints (14)–(19) describe the domains of the variables. From Assumption 2, the number of lots is limited to one for each item and bucket and this is reflected in constraints (17). In the formulation, binary integer variables, and fractional variables are defined. Moreover, total number of constraints except constraints (13) is
In the remainder of this section, the process of deriving the constrains (13) is introduced. Constraints (9), (10) and the variables in the constraints can be converted into a network as
Figure 1; here, the constraints and variables are converted to nodes and arcs, respectively. Without constraints (13), a sequence-dependent setup usually causes subtours, indicated by the circle with arcs
and
in the figure. To discard such a solution, subtour elimination constraints are used.
There are many studies on subtour elimination [
18]. To obtain the required results, let us consider a converted network
for each bucket
, as depicted in
Figure 2. We generated the network using the following procedure:
contracting of the arcs relating to ’s and merging the end nodes into one, denoted by ;
merging the tail nodes of arcs crossing the border between bucket and into one node, denoted by “source”;
and merging the head nodes of arcs crossing the border between bucket and into one node, denoted by “sink”.
Therefore, we obtained the followings:
Balas [
22] introduced the prize-collecting traveling salesman problem to derive a model for scheduling the daily operation of a steel rolling mill. For the problem, Balas proposed the following generalized subtour elimination constraint:
where
if setup changes from item
to
,
otherwise;
is the set of outgoing arcs from
. Constraints (22) ensure that the number of selected outgoing arcs from
S is at least equal to the number of selected arcs going out from any node
in
. Consequently, subtours can be prevented.
Tacaari [
18] rewrote constraints (22) as follows:
where
is the set of arcs between two nodes in
. In
,
and
; therefore, by replacing the
with
(this relation comes from constraints (10)), we can rewrite constraint (23) to fit into our formulation as follows:
Through generating constraints (24) for each bucket , we can derive constraints (13), the subtour elimination constraint.
5. Computational Experiments
This section describes three sets of computational experiments. The first is for comparison with MLOV-SM in [
19], the CLSP with sequence dependent setup, setup carryover and “setup-splitting”. The second is for the analysis of performance of M1 with test instances having long setup times. The third is for comparison with MM2 in [
1], the CLSP with sequence dependent setup, setup carryover and “setup crossover”.
Experiments were conducted on a Windows 2010 PC with 16 GB main memory, which was equipped with an Intel(R) Core(TM) i5-9500 @ 3.00 GHz CPU. Default parameter settings for Gurobi LP/MIP optimizer are used, except 600 s of time limit.
5.1. Test Instances
For the first and second tests, three groups of artificial test instances (“T”, “L”, “LA”) were generated. The instances in “T” have short setup times and were designed to be used in the first test. The instances in “L”, “LA” have long setup times and were designed to be used in the second test. They have the following features:
Problem dimension: the problem dimension is set by , where is the number of items and is the number of time buckets. Therefore, each item is indexed as . The following six problem dimensions were used: (10,10), (10,20), (10,30), (15,10), (15,20), (15,30).
Setup time: for
- ◾
For group “T”,
- ⬥
,
For , the minimum and maximum values of are 44 and 236, respectively.
For , the minimum and maximum values of are 31 and 239.
- ◾
For group “L”,
- ⬥
,
For , the minimum and maximum values of are 34 and 426, respectively. Furthermore, items are divided into three groups: ; and , and most inter-group model changes have a longer setup change times than a bucket capacity of 240. For , the minimum and maximum values of are 34 and 546, respectively. Moreover, items are divided by four groups: ; ; ; and , and most inter-group model changes have setup change times longer than 240.
- ◾
For group “LA”,
- ⬥
For , the minimum and maximum values of are 34 and 706, respectively. Moreover, items are divided into three groups: ; ; and , and an inter-group model change has setup change time longer than the sum of the capacity of two buckets, 480. For , the minimum and maximum values of are 34 and 826, respectively. Moreover, items are divided into 4 groups: ; ; ; and , and an inter-group model changes has setup change time longer than 480.
Process time per unit:
- ⬥
, for all.
Capacity:
- ◾
Enough capacity was given to the last bucket to prevent loss of sales.
Costs:
- ◾
, for all .
- ◾
Large backorder cost was given to bucket to minimize production in the last bucket.
- ◾
, for .
Demand: for problem dimension
For each group and problem dimension, initial demand set, named as (1), was generated manually according to the following criteria:
- ◾
- ◾
, for
- ◾
All production can be finished before the last bucket.
To increase the reliability of the experiments, for each initial demand set, the due dates were randomly perturbed to generate four additional demand sets, named as (2), (3), (4), (5). The demands of an item having the same due date are merged into one.
For the last test, a test instance introduced in [
1] was used. All the above test instances are available on [
26].
5.2. First Test: Comparison with the Setup-Splitting Model (MLOV-SM)
As mentioned earlier, MLOV-SM is the model for the CLSP with sequence dependent setup, setup carryover and “setup-splitting”. In addition, it considers situations in which multiple lots can be generated for an item within a time bucket. For direct comparison with our model (M1), MLOV-SM was modified and represented in
Appendix A. The modified features are as follows:
Setup operation from to is not allowed;
At most one lot can be generated for an item within a time bucket;
The initial setup state is not given but determined by solving the model.
M1 has
binary integer variables and
fractional variables, whereas MLOV-SM has
binary variables and
real variables, much more than M1. Because the setup time of the data instance in the group “T” is less than the capacities of the buckets, we can directly compare the lower bounds of the two formulation. We compare the two formulations with respect to the size, tightness of the LP relaxation bound and solution quality.
Table 2 shows the tightness of the LP relaxation bound of the formulations. The column headers of the table are given as follows:
: number of buckets;
: number of items;
LB0: the objective value of LP relaxation without any additional cuts except GSECs;
LB: the objective value of LP relaxation with cuts generated by Gurobi;
BEST OBJ: the best integer solution value found within the time limit. Bold means optimal;
Gap0: relative gap between LB0 and the best integer solution value (BEST OBJ) at the end.
GAP0 improved: the difference in Gap0 between MLOV-SM and M1.
In
Table 2, we can find that M1 give much tight lower bound for the test instances.
Table 3 and
Table 4 represent the size and the test result of the formulations. The column headers of table are given as follows:
#Vars: number of variables;
#Cons: number of constraints (no subtour elimination constraints are counted here);
#BVars: number of binary variables;
GAP: relative gap between the best lower bound (
) and the best integer solution value (
) at the end;
#B node: number of nodes visited in the branch-and-bound tree;
Runtime: total running time;
GSECs: number of generated subtour elimination constraints.
Table 3 and
Table 4 show that M1 has much compact sizes of LP relaxation and gives much better solutions then MLOV-SM.
5.3. Second Test: For the Instance of Long Setup Times (L, LA)
The second test is to see if M1 is stable in solving problems with long setup time.
Table 5 and
Table 6 show test results for L and LA, respectively. The gap value ‘-’ in
Table 5 indicates that no feasible solution found in the time limit.
Table 4,
Table 5 and
Table 6 show that M1 reliably optimizes the problem instances with ten buckets and give relatively good feasible solution for the problem instances with twenty buckets.
5.4. Third Test: Comparison with the Setup Crossover Model (MM2)
Ramya, et al. [
1] introduced the only research result on CLSP with sequence-dependent setup, setup carryover, and setup crossover. In the model, no idle times are allowed during setup operation and setup carryover. MM2 is a formulation introduced in [
1] for the problem. But MM2 is too big to solve even problems of moderate size. MM2 has
binary integer variables and more than 150 types of constraints. Ramya, et al. [
1] reported that it took more than 26,000 s to solve a test instance with 15 items and 10 buckets and that the solver failed with a file error after 8.5 h due to insufficient space in the hard disk while solving a test instance with 15 items and 15 buckets.
For the comparison with MM2, a modified version of M1 was developed and used for the test. The modified formulation, referred to as M2, needs two types of new variables described in
Table 7.
With the variables, M2 is defined as follows:
Min (3) subject to (4)–(7), (9) and (11)–(19) and
Here, 0 in means the initial setup item. M2 has binary integer variables, whereas MM2 has binary variables. We can say that M2 is a much compact formulation than MM2.
Ramya et al. [
1] used six problem instances for the test, but just one instance with 10 items and 15 buckets was reported, so that we can use only that. They reported that MM2 found an optimal solution of the problem in 425 s. M2 was tested with the instance and get the result reported in
Table 8. M2 solved the problem just in 2 s to the optimality. In addition, the optimal solution provided the same production plan as [
1], except when idle time occurred. Even considering the performance differences in the computers used and limited test instance, it is judged that these differences show the superiority of M2.
6. Conclusions
In this paper, the CLSP with sequence dependent setup, setup carryover, and setup crossover was considered. A new mixed integer programming formulation was introduced. The formulation is based on three building blocks: the facility location extended formulation [
2]; the setup variables with indices for the starting and the completion time periods [
14]; and exponential number of generalized subtour elimination constraints (GSECs) [
18]. A modified version of the separation routine of [
25] was adopted to generate the violated GSECs.
Three groups of artificial test instances and an instance from [
1] were used for computational experiments. The computational results showed that the proposed formulation outperformed the models from the literature, but the formulation has still large number of binary setup variables,
, to solve the problems with more than twenty buckets in 10 min.
To overcome this drawback, studies to reduce the number of setup variables are needed. These studies could involve using the column generation technique or heuristics based on variable fixing.