j
set of lines that can produce product j;
m
set of products that can be produced in line m;
m
set of raw materials that can be produced in tank m;
ml
set of products that can be produced in line m and needs
raw material l.
Superscript I below is related to the parameters and variables at
Level I (tanks) while superscript II is related to the ones at Level II
(bottling lines):
Data
d
jt
demand of product j in macro-period t;
h
j
non-negative inventory cost of product j;
g
j
non-negative backorder cost of product j;
s
I
kl
changeover cost from raw material k to l;
s
II
ij
changeover cost from product i to j;
b
I
kl
changeover time from raw material k to l;
b
II
ij
changeover time from product i to j;
a
II
mj
production time of one unit of product j in line m;
K
I
m
total capacity of tank m, in liters of raw material;
K
II
mt
total time capacity available for line m in micro-period t;
r
jl
quantity of raw material l necessary for the production of
one unit of product j;
q
I
lm
minimum quantity of raw material l necessary to ll tank
m;
I
j0
Initial inventory of product j;
I
j0
Initial backorder of product j
y
I
ml0
1, if there is an initial setup of tank m for raw material l;
0 otherwise;
y
II
mj0
1, if there is an initial setup of line m for product j;
0 otherwise;
Variables:
I
jt
inventory of product j at the end of macro-period t;
I
jt
backorder of product j at the end of macro-period t;
x
II
mjs
production quantity of product j in line m in micro-period s;
v
II
ms
waiting time of line m in micro-period s;
y
I
mls
1 if tank m is setup for raw material l in microperiod s
0 otherwise
y
II
mjs
1 if line m is setup for product j in micro period s
0 otherwise
z
I
mkls
1 if there is a changeover in tank
J
j 1
T
t 1
h
j
I
jt
g
j
I
jt
N
s 1
M
m 1
kA
m
l A
m
s
I
kl
z
I
mkls
N
s 1
M
m 1
i Am
j Am
s
II
ij
z
II
mijs
1
Subject to:
j A
ml
r
jl
x
II
mjs
rK
I
m
y
I
mls
m1; ; M; l A
m
; s 1; ; N; 2
j A
ml
r
jl
x
II
mjs
Zq
I
lm
y
I
mls
m1; ; M; l A
m
; s 1; ; N; 3
l A
m
y
I
mls 1
Z
l A
m
y
I
mls
m1; :::; M; t 1; :::; T; sAS
t
fPd
t
g
4
z
I
mkls
Zy
I
mks 1
y
I
mks
1 m1; ; M; k; l A
m
; s 1; ; N; 5
z
I
mkls
Z
j A
mk
y
II
mjs 1
y
I
mls
1
m1; ; M; k; l A
m
; t 2; ; T; s Pd
t
6
kA
m
l A
m
z
I
mkls
r1 m1; ; M; t 1; ; T; sAS
t
7
I
jt 1
I
jt
mA
j
s ASt
x
II
mjs
I
jt
I
jt 1
d
jt
;
j 1; :::; J; t 1; :::; T; 8
Fig. 2. Synchronization of production.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 43
j Am
s ASt
a
II
mj
x
II
mjs
i Am
j Am
s ASt
b
II
ij
z
II
mijs
s ASt
v
II
ms
rK
II
mt
m1; ; M; t 1; ; T; 9
v
II
ms
Z
kA
m
l A
m
b
I
kl
z
I
mkls
i Am
j Am
b
II
ij
z
II
mijs
m1; ; M; s 1; ; N; 10
x
II
mjs
r
K
II
mt
a
II
mj
y
II
mjs
; m1; :::; M; j A
m
; t 1; :::; T; sAS
t
; 11
j Am
y
II
mjs
1 m1; :::; M; s 1; :::; N; 12
z
II
mijs
Zy
II
mis 1
y
II
mjs
1 m1; ; M; i; j A
m
; s 1; ; N; 13
i Am
j Am
z
II
mijs
r1 m1; ; M; s 1; ; N 14
I
jt
; I
jt
Z0; j 1; :::; J; t 1; :::; T; x
II
mjs
; v
II
ms
; z
II
mijs
; z
I
mkls
Z0; y
II
mjs
; y
I
mls
Af0; 1g
m1; :::; M; k; l A
m
; i; j A
m
; t 1; :::; T; sAS
t
: 15
Constraints (2)(7) refers to Level I (tanks) while constraints
(8)(14) to Level II (lines). Eq. (1) is the objective function that
minimizes inventory, shortage and setup costs. Production costs
were not added to the objective function as it is assumed that the
production unit cost of each product j does not vary by period t and
it is the same for all production lines. Therefore, the sum of the
production costs of all products and periods can be neglected as it
is a constant term in the objective function because all demands
should be met. On the other hand, shortage unit costs should be
appropriately chosen so that shortage costs overcome production
costs in case the demand is not met. Constraints (2) and (3)
determine the maximum and minimum tank capacities, if raw
material is assigned to tank y
I
mls
1. Constraints (4) enforce idle
micro-periods to occur at the end of each time period. The setup of
raw material in tanks and products in lines are established by
constraints (5), (6) and (13). Constraints (6) are necessary to
control raw material changeovers at the beginning of each period,
where
j A
m
y
II
mjs 1
denes the last raw material setup at period
s1. Constraints (7) and (14) ensure only one raw material and
product setup in the tank and line, respectively, for each micro-
period. Constraints (8) are the inventory balance equation for
products in lines and constraints (9) dene the production capacity
for each line in each period. Variable v
II
ms
keeps the line idle time
for raw material setup in a tank-note that this variable is respon-
sible for the tank and line synchronization. In Fig. 2 of Section 3.1
this variable is represented by the dark boxes. This idle time is
determined by constraints (10) and it equals the difference
between the raw material setup time and the line setup time.
Constraints (11) dene setup for products in lines, which means
that nothing is produced if a product is not set up in a line
y
II
mjs
0. Constraints (12) ensure that a line is always ready to
produce exactly one product in each micro-period. The variable
domains are summarized by constraints (15).
4. Genetic algorithm/mathematical programming
approach - GAMP
This section describes how the GA is combined with mathema-
tical programming to evaluate solutions for the soft drink produc-
tion problem. First, it is introduced the linear programming model
that will be embedded in the proposed GA and then several issues
related to the GA design are explained.
4.1. Outline of the linear programming model for lot sizing
The hybrid method proposed in this paper follows the idea
illustrated in Fig. 3. In a typical iteration, GAMP rst applies GA
operators, such as crossover and mutation, to exclusively nd
sequences of products and raw materials so that the values of
Fig. 3. Genetic algorithm/mathematical programming approachGAMP.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 44
the binary variables y
I
mls
and y
II
mjs
in model P2SMM (Section 3.2) are
determined. Next, for each new individual, a linear programming
(LP) model extracted from the P2SMM model, determines the lot
sizes. This model entails only continuous variables and it is easily
solved by an LP-solver. The optimal objective function value of the
LP model is then added to the GA tness function in order to better
evaluate the individual under consideration.
The details of the GA are provided in the next section and the LP
model is described below. The rst step to build the LP model is to
remove constraints (4)(7), (10) and (12)(14), which are con-
straints dealing with sequencing decisions in model P2SMM. The
issues treated by these constraints are directly handled by the GA.
Therefore, variables y
I
mls
, y
II
mjs
, z
I
mkls
and z
II
mijs
are not present in the
LP model as they are determined by the sequencing decisions of
the GA solution. The objective function (1) is reformulated to take
into account only inventory and shortage costs. As synchronization
constraints are handled by the GA, variable v
II
ms
can also be
removed. The term
i Am
j Am
s ASt
b
II
ij
z
II
mijs
s ASt
v
II
ms
of con-
straints (9) becomes parameter w
mt
, which keeps the total time
spent for the production setup of line m in period t previously
determined by the GA solution.
The number of variables x
II
mjs
is reduced by aggregating lot sizes
produced in each micro-period, giving rise to a set of redened
variables u
II
mjt
, meaning the total lot size of product j to be produced
by line m in macro-period t. This is possible because the sequence of
production in each period has already been dened by the GA solution.
Thus, it is not necessary to dene lot sizes per micro period. The total
value stored in u
II
mjt
can be evenly divided among occurrences of
product j in the sequence of production in line m in macro-period t by
making:
x
II
mjs
u
II
mjt
ns
mjt
; 16
where, as dened next, ns
mjt
is a parameter that stores the number of
occurrences of product j in macro-period t of line m in the GA solution.
Constraints (2) and (3), which dene the maximum and minimum lot
sizes, should also be changed to consider the aggregated lot sizes in
u
II
mjt
. This is done by taking into account the values of parameterns
mjt
.
Constraints (11) ensure that there is no production if a product is not
assigned to the line. However, the proposed change in constraints (2)
and (3) already takes this into account, so that constraints (11) can also
be removed. The LP model proposed is fully described next.
Parameters:
ns
mjt
s ASt
y
II
mjs
: number of micro-periods adjusted to produce
product j in line m in macro-period t (taken from the GA
solution);
w
mt
i Am
j Am
s ASt
b
II
ij
z
II
mijs
s ASt
v
II
ms
: total time spent for
the
production setup of line m in macro-period t (taken from the GA
solution);
Variables:
u
II
mjt
: lot size of product j
m
in line m in macro-period t;
Linear programming model:
Minimize
J
j 1
T
t 1
h
j
I
jt
g
j
I
jt
17
Subject to
I
jt 1
mA
j
u
II
mjt
I
jt
I
jt
I
jt 1
d
jt
j 1; ; J; t 1; ; T; 18
j Am
a
II
mj
u
II
mjt
w
mt
rK
II
mt
m1; ; M; t 1; ; T; 19
r
jl
u
II
mjt
rK
I
m
ns
mjt
m1; ; M; l A
m
; j 1; ; J; t 1; ; T 20
r
jl
u
II
mjt
Zq
I
lm
ns
mjt
m1; ; M; l A
m
; j 1; ; J; t 1; ; T 21
I
jt
; I
jt
Z0; u
II
mjt
Z0; m1; ; M; j 1; ; J; t 1; ; T 22
This LP model has fewer constraints than the MIP model
P2SMM. The objective function (17) minimizes only inventory
and shortage costs. Product demand fulllment and line capacity
constraints are considered by constraints (1819); note that the
capacity constraints use parameter w
mt
taken from the GA solution.
Tank capacities are described by constraints (2021), which use
parameter ns
mjt
also taken from the GA solution. Note also that
constraints (20) ensure that nothing is produced from product j in
line m in period t if there is no assignment of this product to this
line and this period in the GA solution (i.e., if ns
mjt
0). There are
only non-negative continuous variables involved in this LP model
(constraints (22)).
4.2. Representation and decoding of individuals
Individuals are represented using a two dimensional matrix
MT, where, as before, M is the number of lines and T is the
number of macro-periods. Each matrix entry (m,t) has a production
sequence, where Pj stands for the decision to produce product j.
Fig. 4 illustrates a possible individual for an instance with MT2.
The raw material sequences in tanks for each macro-period can
be obtained from the corresponding product sequences, once each
tank is dedicated to each line, i.e., it is assumed that tank m is
assigned to line m. As explained in Section 4.1, the sequencing
constraints (47), (10) and (1214) of P2SMM are not included in
the LP model. However, these constraints are satised by the
proposed representation of individuals. For a given product
sequence in entry (m,t), there is only one setup from a product
(or raw material) to another in the same micro-period (constraints
(7) and (14)). Information about product and raw material setups
can be easily obtained from this representation, therefore satisfy-
ing constraints (5), (6) and (13). Any sequence in entry (m, t)
includes only products that can be produced by line m. Moreover,
product Pj will follow product Pi if a setup time from Pi to Pj in line
m occurs. These issues are dealt with by individual initialization
and genetic operator procedures.
The representation of an individual has enough information to
create a problem solution. Parameters ns
mjt
and w
mt
are used in the
LP model, and they are provided by decoding the individual repre-
sentation. Parameter ns
mjt
is calculated by a simple procedure that
counts how many assignments of product j occur in line m in period t.
Parameter w
mt
is dened comparing the setup times in line m with
the setup times in tank m. These values can be determined from the
product sequence in entry (m,t) of an individual. For each changeover,
the greatest setup value is added up to parameterw
mt
to satisfy the
synchronization of the two production levels (constraints (10)).
Fig. 4. Example of individual.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 45
Fig. 5 illustrates how to determine these values using the
individual shown in Fig. 4. It is considered that product P1 needs
raw material 1, P2 and P3 need raw material 2 and P4 needs raw
material 3.
The entry (m,t)(1,1) in Fig. 5 has the product sequence P1P3P4,
so that the decoding of individual (Fig. 4) allows determining values of
parameters ns
111
1;ns
121
0;ns
131
1and ns
141
1. This denes
how many times products P1, P2, P3 and P4 occur in line 1 during
macro-period 1.
The total setup times for (m,t)(1,1) is w
11
maxb
I
12
; b
II
13
maxb
I
23
; b
II
34
. The greatest value maxb
I
12
; b
II
13
is determined between
the setup time from raw material 1 to raw material 2 b
I
12
and setup
time from P1 to P3 b
II
13
. In the same way, the greatest setup value
maxb
I
23
; b
II
34
is also chosen between the setup time from raw material
2 to raw material 3 and from product P3 to P4.
The decoding of an individual also determines the setup cost for
this entry s
I
12
s
II
13
s
I
23
s
II
34
It is possible to know whether the
total setup time w
mt
exceeds the line capacity K
II
mt
, which means
that an infeasible solution has been obtained. A repair procedure is
then used to x this infeasibility in such a way that product units of
this infeasible sequence are randomly discarded until w
mt
rK
II
mt
,
which turns the sequence feasible.
4.3. Fitness function
The tness function measures the quality of a solution encoded
by individual representation. The problem at hand aims for solutions
that minimize total costs represented by objective function (1).
Therefore, the tness function corresponds to objective function
(1), so that the ttest individuals are those with the lowest tness
values. The decoding procedure returns setup costs:
M
m 1
N
s 1
kAm
l Am
s
I
kl
z
I
mkls
M
m 1
N
s 1
i Am
j Am
s
II
ij
z
II
mijs
23
and parameters ns
mjt
and w
mt
. Parameters ns
mjt
and w
mt
are used in
the LP model. The model solution yields inventory and shortage costs
according to objective function (17). The sum of the values found by
expressions (17) and (23) corresponds to the tness function value.
Fig. 6 shows a pseudo code that determines this tness value.
In this study, the LP model (1722) was solved using the
optimization package ILOG CPLEX [32]. This package enables to
solve mathematical models using programming languages as C and
C . It is then possible to code the LP model described in Section
4.1, which is loaded only once in the computer memory before
executing the method. For each tness evaluation, it is necessary
only to adjust parameters ns
mjt
and w
mt
to re-optimize the model.
The dual simplex-based re-optimization method was used. It is
also important to highlight that the LP model also returns lot size
values through variables u
II
mjt
. These values are then handled by the
GA to dene lot sizes for each product. This is easily done using Eq.
(16) previously presented and the production sequence in each
entry (m,t) from the solution representation (individual).
4.4. Population structure and genetic operators
The GAMP has its individuals hierarchically structured in binary
trees. In this structure, the recombination happens with indivi-
duals in the same cluster of the tree. The impact of this restrictive
Fig. 5. Example of decoding for individual representation shown in Fig. 3.
Fig. 6. Pseudo code for tness evaluation.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 46
recombination seems to be worthy since populations organized in
hierarchical structures have contributed to develop more effective
GAs. A population for a memetic algorithm (MA) where individuals
are hierarchically structured in ternary trees was explored in [33].
Instances randomly created were solved for the total tardiness
single machine scheduling problem and the results proved that the
structured MA outperformed pure GAs. The same approach was
successfully applied in [34] to solve the problem of scheduling a
ow shop manufacturing cell with sequence dependent family
setups. A MA with population hierarchically structured as ternary
trees designed to solve instances of the asymmetric traveling
salesman problem (ATSP) was used in [35]. A total of 27 ATSP
instances were solved and the MA outperformed six other methods
from the literature. MA with population structured as ternary trees
was also applied to solve the gene ordering problem in [36]. In [37]
a group scheduling problem for manufacturing cells using a GA and
MA with 13 individuals also structured in ternary trees was solved
with good performance.
These population structures consist of several clusters, each one
having a leader individual and two supporter individuals, as shown
in Fig. 7. The leader of a cluster is always tter than its supporters.
Considering this, bottom clusters tend, on average, to have indivi-
duals with worse tness than top clusters. New individuals are
constantly generated and inserted into the population leading to
periodic adjustments to keep the hierarchy of the ordered tree
structure.
In Fig. 7, the numbers in a binary tree structure represent tness
values for a minimization problem. The population has seven
individuals and three clusters, one at the top level and two at the
bottom level. There is a specic selection criterion based on cluster
to choose individuals to apply the crossover operator. Two indivi-
duals are selected from a cluster randomly selected. The cluster
leader is always chosen for reproduction and one of its followers is
randomly chosen. The uniform crossover was chosen as the cross-
over operator based on some computational tests during the
method design (Fig. 8).
In the uniform crossover, a random value A[0,1] is generated
for each product at the same position in the sequence of Ind1 and
Ind2. If o0.5, the Child inherits the product of Ind1; otherwise,
the Child inherits the product of Ind2. Suppose that the products
selected are the shaded rectangles in Fig. 8. It is possible to have
more products in one sequence of Ind2 (Ind1) than in the sequence
for the same entry (m,t) of Ind1 (Ind2). In this case, the procedure
continues in Ind2 (Ind1) selecting products for Z0.5. To keep
diversity in a population and avoid premature convergence, a
mutation operator is applied to new individuals according to some
mutation rate A[0,1]. A random number A[0,1] is generated and
if r, the new individual is mutated. In this case, one of the
seven mutation operators dened next is randomly selected to be
applied over the new individual.
1. Insertion1: randomly generate a new product and insert it in a
random position of a production sequence. The entry (m,t) of
the individual representation with this selected production
sequence is also randomly chosen.
2. Insertion2: randomly select an entry (m,t) and a product from
its sequence of production. Move this product into another
randomly selected entry (m
0
,t
0
) and into a random position in its
sequence of production.
3. Remove: randomly select an entry (m,t) and a product from its
sequence of production. Next, remove the selected product.
4. Change: randomly select an entry (m,t) and a product from its
sequence of production. Next, replace this product by a new
product randomly chosen.
5. Swap: randomly select two entries (m,t) and (m
0
,t
0
) and two
products i and j from their sequences of production, respec-
tively. Next, swap product i for product j.
6. Shufe: randomly select an entry (m,t) and create a new
product sequence from the previous one in this entry. This is
done by randomly removing products from the previous
sequence and inserting them into the new sequence. The new
sequence obtained replaces the previous one at the end.
7. Update sequence: randomly select both an entry (m,t) and an
integer value between 1 and the maximum number of micro-
periods. The value becomes the new sequence length. If is
less than the length of the product sequence, products are
randomly chosen and removed until the sequence length
becomes . Otherwise, new products are randomly selected
and inserted into this sequence. These products are also
inserted into random positions of the sequence.
After passing through these genetic operators, the new indivi-
dual is inserted into the population if its tness value is better than
one of their parents. Adjustments are carried out to keep the cluster
structure ordered, where the best is always the leader (Fig. 9). The
adjustments verify if the new followers (new individuals) are better
Fig. 8. Uniform crossover operator.
Fig. 7. Individuals arranged in a binary tree structure.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 47
than their cluster leaders. In this case, the follower and leader are
swapped in the cluster. This procedure is repeated for clusters in
higher levels, while followers are better than leaders.
4.5. Pseudo code for GAMP
Fig. 10 summarizes the method previously explained using a
pseudo-code. First, the LP model is loaded and individuals are
initialized and evaluated. Execution time is used as a stop criterion
and the population evolves until convergence has been reached. The
execution time was set as stop criterion once other literature
approaches for the same problem were also evaluated based on this
criterion. The GAMP could be evaluated taking into account other
stop criteria but we decided to maintain execution time for the sake
of comparison. Crossover, mutation, insertion and rearrangement are
the operations executed in this evolution process. The crossover and
mutation operators work on the individuals, whereas the insertion
and rearrangement operators work on the tree structure. The
number of new individuals created at each evolution process by
crossover operator is dened as crossoverRate populationLength. A
mutation can be applied over each new individual when the
mutation probability is satised. The new individual is inserted if it
is better than one of its parents. After new individuals have been
created and inserted, a population rearrangement takes place to keep
the hierarchy of the population, as explained in Section4.4. If new
individuals are not inserted during the evolution process, population
convergence is assumed. At this point, all individuals are reinitialized,
except the best one. However, there is a time life parameter to
determine when the best individual will also be reinitialized. This
happens when the best individual is not improved after several
consecutive convergences of the population.
5. Computational results
In [2] fteen real-world problem instances, named I1 to I15,
were analyzed, in which a total of 23 products has to be produced
from 18 soft drink avors (raw material) using two lling lines. One
line produces only 10 products from the 23 products with available
capacity of 8640 min per week (macro-period). The other line can
produce all of them with available capacity of 5760 min per week.
There are demands for each product that should be satised within
a planning horizon of three production weeks. Instance I1 repre-
sents the original production scenery and the others are variants of
I1 as follows:
I6-I15 have the same costs and capacity than I1, but different
values for demands.
GAMP will be evaluated on these problem instances and the
results are compared with those recently reported in [30,31] for
Fig. 9. Individual insertion and population rearrangement.
Fig. 10. Pseudo code for GAMP.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 48
this same set of instances. Two approaches are appointed by the
authors in [30] as the best to solve these real-world instances. The
rst is the ATSP-based model F1, which is solved using the branch-
and-cut algorithm available in CPLEX version 11.0. The second is
the ATSP-based model F2 which is solved using a patching strategy
(PS). These methods are executed during 4 hours and they were
not able to nd optimal solutions for these real-world instances.
However, the average performance of F1 outperforms PS taking
into account the best feasible solution achieved. A GA and memetic
algorithms (MAs) were applied in [31] to solve several problem
instances of the SITLSP analyzed in [1] and ve problem instances
(I1I5) of P2SMM analyzed in [2]. The GA and MAs have multi-
populations where individuals are disposed hierarchically in ternary
tree structures. These methods did not combine the metaheuristics
with mathematical programming techniques as introduced in this
paper. Instead, a complex representation of a solution as individual
is adopted with tailor-made crossover and mutation operators.
The MATS, a genetic algorithm executing tabu search to improve
the best individual found, is reported as the best approach solv-
ing I1I5.
The computational tests presented in this section were executed
using a Pentium Intel 4, 3.2 GHZ, 1.0 GB RAM, which allows a fair
comparison with the results found in [30]. The GAMP was executed
10 times over each instance within a time limit of 1 hour for each
execution. This limit was chosen aiming to evaluate GAMP perfor-
mance rst within a shorter time than the four hours spent in [30].
The method was coded using C programming language and
CPLEX Callable Library from package ILOG CPLEX
s
11.0, which also
allows a fair comparison with [30]. A population of 31 individuals
hierarchically structured as a binary tree was used by GAMP, with a
crossover rate set to 3.0 and a mutation rate set to 1.0. A total of 20
convergences of population, without changes in the best indivi-
dual, was considered as the life time limit for the best individual.
All these parameters applied by GAMP were empirically deter-
mined based on previous computational tests over some instances.
Table 1 compares the performance of F1, PS and GAMP. The F1
and PS results are the nal solution values found after 4 h. The
GAMP results are the average among 10 best solutions reached
after 10 executions over each instance after 1 hour. The deviation
of each GAMP result from F1 and PS is determined by eq. (24),
where Meth stands for F1 or PS. The standard deviation from the
average value is also depicted in Table 1.
Dev% 100
Sol
GAMP
Sol
Meth
Sol
Meth
24
Table 1
GAMP average values against F1 and PS results for instances I1I15.
Instance F1 PS GAMP
Solution value Solution value Avg. value Standard Deviation Dev.(%) F1 Dev.(%) PS
I1 191,968 188,799 187,035 2962 2.57 0.93
I2 210,997 198,811 205,287 4426 2.71 3.26
I3 189,872 191,434 197,993 4883 4.28 3.43
I4 195,432 177,874 194,296 3727 0.58 9.23
I5 279,525 269,424 222,845 6301 20.28 17.29
I6 352,464 352,975 362,507 7674 2.85 2.70
I7 266,198 251,274 268,410 11,129 0.83 6.82
I8 243,319 236,749 232,938 5808 4.27 1.61
I9 215,631 245,796 206,030 4228 4.45 16.18
I10 185,736 206,912 180,495 5470 2.82 12.77
I11 191,831 195,105 199,047 4858 3.76 2.02
I12 200,519 238,320 211,781 3808 5.62 11.14
I13 210,624 317,830 208,351 3528 1.08 34.45
I14 247,827 233,950 242,986 7306 1.95 3.86
I15 297,638 288,639 307,545 8427 3.33 6.55
Average 231,972 239,593 228,503 5636 1.34 3.77
Table 2
GAMP best and worst values against F1 and PS results.
Instance GAMP
Best Solution Dev.(%) F1 Dev.(%) PS Worst Solution Dev.(%) F1 Dev.(%) PS
I1 182,201 5.09 3.49 190,868 0.57 1.10
I2 198,811 5.78 0.00 212,604 0.76 6.94
I3 189,872 0.00 0.82 206,649 8.84 7.95
I4 187,757 3.93 5.56 199,925 2.30 12.40
I5 213,111 23.76 20.90 235,413 15.78 12.62
I6 350,293 0.62 0.76 376,516 6.82 6.67
I7 256,317 3.71 2.01 283,969 6.68 13.01
I8 223,529 8.13 5.58 240,507 1.16 1.59
I9 199,806 7.34 18.71 212,687 1.37 13.47
I10 174,845 5.86 15.50 192,174 3.47 7.12
I11 193,573 0.91 0.79 210,591 9.78 7.94
I12 206,175 2.82 13.49 216,777 8.11 9.04
I13 203,563 3.35 35.95 216,809 2.94 31.78
I14 231,252 6.69 1.15 254,762 2.80 8.90
I15 288,607 3.03 0.01 317,857 6.79 10.12
Average 219,981 4.90 7.31 237,874 2.69 0.17
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 49
GAMP reaches the lowest average cost of all 15 instances, as
indicated by the last line in Table 1. The standard deviation
indicates a stable performance of the GAMP during the 10 execu-
tions. The average value reached by GAMP over each instance
outperforms F1 in 9 out of 15 instances and PS in 7 out of 15
instances. The average performance of GAMP outperforms both
literature results in instances I1, I5, I8, I9, I10 and I13, where the
improvement reached by GAMP is higher than 17% for instance I5.
GAMP did not outperform F1 and PS in instances I3, I6, I7 and I15.
The highest average improvement found is 34.45% against PS in
instance I13 and 20.28% against F1 in I5. The worst average
deviations are 5.62% in I12 and 9.23% in I4 from F1 and PS,
respectively. Besides, GAMP is more efcient since its execution
time was set to 50% of the time spent by F1 or PS (4 h).
Thus, the average results of GAMP outperform both main
literature results in the original real-world instance I1. It also
outperforms both methods in the instance with machine capacity
reduced by 25% (I5) and some instances with new demand values.
The proposed method did not outperform F1 and PS in instance I3,
which has backlogging cost doubled, and some other instances
with new demand values. The method is able to improve F1 or PS
results in more than 10% for several instances. On the other hand,
most of the worst results are not greater than 5%.
Table 2 shows a similar comparison, but taking now the best
and the worst solution achieved by GAMP after 10 executions over
each instance. The best GAMP solutions outperform individually F1
and PS in 12 out of 15 instances, and outperform both methods in
9 out of 15 instances. The worst GAMP solutions still outperform F1
and PS for instances I1, I5, I8, I9, I10, I12 and I13. The worst
solutions did not present deviations higher than 10% against F1.
Against PS there are only three instances where GAMP worst
deviations are higher than 10% (I4, I7 and I15).
The time spent by GAMP to nd the best solution is shown in
Fig. 11. It is represented the average time after 10 executions over
each instance to nd the nal solution (Average), as well as the
maximum (Max) and minimum (Min) time. The GAMP spends less
than 2000 s, on average, to nd the best solution. The solutions
found quickly take less than 500 s for the majority of instances.
However, the method can spend almost the time limit in the worst
case to reach the nal value.
The next computational tests evaluate the GAMP performance
within the time limit of four hours, which is the same time limit set
toF1 and PS. However, it was selected only those instances for
which GAMP did not improve on average the results found by F1 or
PS. The method was executed 5 times within time limit of 4 h.
Table 3 compares the results taking into account the average
solution value of GAMP.
After 1 h of execution, GAMP has an average positive deviation
of 1.71% from F1 and 2.97% from PS with average cost of 243,316.
After 4 h, the situation changes and the method presents 1.2%
from F1 and 0.01% from PS with better average cost of 236,393 for
these instances. The results for instances I3 and I11 are improved
by GAMP against F1 and PS from positive deviations to negative
values after 4 h. Thus, GAMP seems to need more time to solve an
instance like I3 that presents backlogging cost doubled. However,
in the case of I6, where there are new demand values, both positive
deviations are only reduced without reaching an improvement.
Next, GAMP is compared with the results found by two
other evolutionary approaches that did not use mathematical
Fig. 11. Time spent by GAMP to nd the best solution.
Table 3
GAMP results after 1 h and 4 h.
Instance GAMP (1 h) GAMP (4 h)
Avg. Std Dev. Dev.(%) Avg. Std Dev. Dev.(%)
F1 PS F1 PS
I2 205,287 4426 2.70 3.26 201,164 2149 4.70 1.18
I3 197,993 4883 4.28 3.43 189,629 542 0.10 0.94
I4 194,296 3727 0.60 9.23 190,271 2321 2.60 6.97
I6 362,507 7674 2.85 2.70 354,604 3525 0.61 0.46
I7 268,410 11,129 0.83 6.82 260,914 6588 2.00 3.84
I11 199,047 4858 3.76 2.02 191,014 4420 0.40 2.10
I12 211,781 3808 5.62 11.10 206,535 2797 3.00 13.30
I14 242,986 7306 2.00 3.86 236,836 4828 4.40 1.23
I15 307,545 8427 3.33 6.55 296,572 4575 0.40 2.75
Average 243,316 624,867 1.71 2.97 236,393 3527 1.20 0.01
Table 4
Results comparing GA, MATS and GAMP.
Instance GA MATS GAMP
Avg. value Avg. value Avg. value Dev(%) GA Dev(%) MATS
I1 325,930 234,177 187,035 42.61 20.13
I2 388,877 268,433 205,287 47.21 23.52
I3 316,914 221,660 197,993 37.52 10.68
I4 276,575 218,627 194,296 29.75 11.13
I5 408,418 272,633 222,845 45.44 18.26
I6 607,991 475,147 362,507 40.38 23.71
I7 482,919 327,235 268,410 44.42 17.98
I8 421,686 283,200 232,938 44.76 17.75
I9 346,527 249,685 206,030 40.54 17.48
I10 299,832 219,906 180,495 39.80 17.92
I11 362,780 240,997 199,047 45.13 17.41
I12 381,913 255,003 211,781 44.55 16.95
I13 347,478 266,696 208,351 40.04 21.88
I14 424,999 283,514 242,986 42.83 14.29
I15 615,109 388,923 307,545 50.00 20.92
Average 400,529 280,389 228,503 42.33 18.00
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 50
programming techniques: GA and MATS proposed in [31]. The
authors had reported in [31] results only for 5 out of 15 instances
dened in [2]. However, they provided to us the values found for
the other 10 instances of P2SMM. These values are the average of
10 executions over each instance within a time limit of 1 h as
dened in [31]. The computational results are in Table 4.
The GAMP outperforms the evolutionary approach based on a
multi-population GA and it is also better than the multi-population
hybrid approach, MATS, for all instances. The deviations are
determined using expression (24), where the solution values of
MATS or GA replace Meth. There are relevant deviations obtained
by GAMP from GA that reach values larger than 30% in the majority
of instances. Taking into account MATS results, the improvement
reached by GAMP is larger than 10% in all instances, reaching
values greater than 15% for most of them. These results indicate a
superior performance of GAMP that combines one-population
hierarchically structured GA with mathematical programming
technique.
6. Concluding remarks
The present paper applies a genetic algorithm/mathematical
programming approach (GAMP) to solve the synchronized and
integrated two-level lot sizing and scheduling problem which
arises mainly in the soft beverage industry. Computational tests
were executed over a set of real-world problem instances analyzed
in [2], and the GAMP results were compared with two approaches
presented in [30] using ATSP-based models, one solving model F1
by a branch-and-cut method and the other based on model F2
applying a patching strategy PS. The proposed method is also
compared with two evolutionary algorithms recently proposed in
[31], a multi-population genetic algorithm- GA- and a memetic
algorithm with tabu search-MATS.
GAMP overcame F1 and PS spending a quarter of the time. The
average, worst and best results found by GAMP, obtained after 10
repetitions for each instance, outperformed F1 and PS in several
instances. The average performance of the method for all instances
returns the lowest average cost with a stable performance as
indicated by the standard deviation values. GAMP returns best
values for the original real-world instance I1 and when the
production capacity is reduced by 25% (I5). In instances with
inventory costs doubled (I2) and original demands redistributed
(I4), the method nds on average better solutions than F1, but it
does not outperform PS. When the original demands change, the
method is able to outperform F1 in some instances and PS in some
others.
GAMP was also executed within four hours, but only over nine
instances where positive deviations from F1 or PS were reported
after 1 h. The method was able to improve its original results for
several instances and to outperform the lowest average cost found
by F1 and PS for all these nine instances. Finally, GAMP showed a
superior performance when compared with two other evolution-
ary methods applied to the same problem. The GAMP outperforms
GA and MATS for all instances in terms of solution quality.
The main contribution of this paper is to present a solution
method whose results indicates the advantage of combining a
genetic algorithm with mathematical programming to solve a
complex real-world production problem. The results reported
indicate that the use of a metaheuristic as genetic algorithm for
sequence decisions embedded with mathematical programming
for lot sizing decisions points out a promising approach for solving
this synchronized and integrated two-level lot sizing and schedul-
ing problem in practice. The complexity to deal with this problem
is reduced by this approach once the GAMP provides binary
information (sequences), which can deal with a simple and fast
continuous linear model for lot sizes. Furthermore, the linear
model was coded in memory using a Callable library, which also
contributes to improving the GAMP computational performance.
GAMP is more suitable to solve real-world problem instances
than pure mathematical programming methods, like the ones in
[30]. This is sustained by its superior average performance solving
instance I1 (original one), as well as solving several variants of I1
within 1 hour. To sum up, this hybrid method is able to outperform
recent evolutionary methods like GA and MATS applied to the
same problem, as well as to reach competitive results within a
reduced time against model-based approaches like F1 and PS
strictly developed for this problem.
As future work, GAMP will be adapted and evaluated over other
real-world lot sizing and scheduling problems that happen in
animal nutrition, small foundries and electrofused grain plants,
among others. The GAMP parameters were empirically determined
based on previous tests. Thus, a study will be also conducted as
future work to evaluate other parameter congurations, like
different population structures and sizes, crossover and mutation
operators, crossover and mutation rates, among others. The GAMP
performance will be also evaluated for other stop criteria, as
population convergence instead of only execution time.
New GA approaches and other metaheuristics, like GRASP and
particle swarm optimization, can be combined with the linear
mathematical model used by GAMP. The literature of the present
problem does not provide good lower bounds for the optimal
solution value. As a future work, the development of tight lower
bounds will be conducted. This will allow evaluating better the
quality of the solutions returned by the heuristic and metaheuristic
approaches.
Acknowledgments
We would like to thank the anonymous reviewers for their
useful comments and suggestions, and Dr. Deisemara Ferreira for
kindly providing us with problem instance data. The present work
was supported by Conselho Nacional de Desenvolvimento Cientco e
Tecnolgico (CNPq) grant 483474/2013-4 and Fundao de Amparo
Pesquisa do Estado de So Paulo (FAPESP) grant 2010/10133-0.
References
[1] Toledo CFM, Frana PM, Morabito R, Kimms A. A multi-population genetic
algorithm approach to solve the synchronized and integrated two-level lot
sizing and scheduling problem. Int J Product Res 2009;47:3097119.
[2] Ferreira D, Morabito R, Rangel S. Solution approaches for the soft drink
integrated production lot sizing and scheduling problem. Eur J Oper Res
2009;196:697706.
[3] Drexl A, Kimms A. Lot sizing and schedulingsurvey and extensions. Eur J Oper
Res 1997;99:22135.
[4] Karimi B, Ghomi SMTF, Wilson JM. The capacitated lot sizing problem: A
review of models and algorithms. Omega Int J Manage Sci 2003;31(5):36578.
[5] Brahimi N, Dauzereperes S, Najid N, Nordli A. Single item lot sizing problems.
Eur J Oper Res 2006;168:116.
[6] Jans R, Degraeve Z. Metaheuristics for dynamic lot sizing: a review and
comparison of solution approaches. Eur J Oper Res 2007;177:185575.
[7] Jans R, Degraeve Z. Modeling industrial lot sizing problems: a review. Int J
Product Res 2008;46(6):161943.
[8] Robinson P, Narayananb A, Sahinc F. Coordinated deterministic dynamic
demand lot-sizing problem: A review of models and algorithms. Omega Int J
Manage Sci 2009;37:315.
[9] Fleischmann B. The discrete lot-sizing and scheduling problem. Eur J Oper Res
1990;44:33748.
[10] Fleischmann B. The discrete lot-sizing and scheduling problem with sequence-
dependent setup costs. Eur J Oper Res 1994;75:395404.
[11] Haase K. Capacitated lot-sizing with sequence dependent setup costs. OR
Spektrum 1996;9:519.
[12] Fleischmann B, Meyr H. The general lot sizing and scheduling problem. OR
Spektrum 1997;19:1121.
[13] Meyr H. Simultaneous lot sizing and scheduling by combining local search with
dual reoptimization. Eur J Oper Res 2000;120:31126.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 51
[14] Almada-Lobo B, Oliveira JF, Carravilla MA. Production planning and scheduling
in the glass container industry: a VNS approach. Int J Product Econ 2008;114:
36375.
[15] Toledo FMB, Armentano VA. A Lagrangian-based heuristic for the capacitated
lot sizing problem in parallel machines. Eur J Oper Res 2006;175:107083.
[16] Araujo SA, Arenales MN, Clark AR. Lot-sizing and furnace scheduling in small
foundries. Comput Oper Res 2008;35:91632.
[17] Beraldi P, Ghianib G, Griecob A, Guerriero E. Rolling-horizon and x-and-relax
heuristics for the parallel machine lot-sizing and scheduling problem with
sequence-dependent set-up costs. Comput Oper Research 2008;35:364456.
[18] Kovcs A, Brown KN, Tarim SA. An efcient MIP model for the capacitated lot-
sizing and scheduling problem with sequence-dependent setups. Int J Product
Econ 2009;118:28291.
[19] Haase K, Kimms A. Lot-sizing and scheduling with sequence dependent setup
costs and times and efcient rescheduling opportunities. Int J Product Econ
2000;66:15969.
[20] Mateus GR, Ravetti MG, Souza MC, Valeriano TM. Capacitated lot sizing and
sequence dependent setup scheduling: an iterative approach for integration.
J Sched 2009;13:24559.
[21] Luche JRD, Morabito R, Pureza V. Combining process selection and lot sizing
models for production scheduling of electrofused grains. Asia-Pacic J Oper Res
2009;26(3):42143.
[22] Clark A, Morabito R, Toso E. Production setup-sequencing and lot-sizing at an
animal nutrition plant through ATSP subtour elimination and patching. J Sched
13 2010;2:11121.
[23] Toso EAV, Morabito R, Clark AR. Lot sizing and sequencing optimization at an
animal-feed plant. Comput Ind Eng 2009;57:81321.
[24] Menezes A, Clark A, Almada-Lobo B. Capacitated lotsizing and scheduling with
sequence-dependent, period overlapping and non triangular setups. J Sched
2011;14:20919.
[25] Toledo CFM, Frana PM, Morabito R, Kimms A. Um modelo de otimizao para
o problema integrado de dimensionamento de lotes e programao da
produo em fbricas de refrigerantes. Pesqui Oper 2007;27(1):15586.
[26] Kuik R, Salomon M, Van Wassenhove LN, Maes J. Linear programming,
simulated annealing and tabu search heuristics for lotsizing in bottleneck
assembly systems. IIE Trans 1993;25(1):6272.
[27] Bitran GR, Yanasse HH. Computational complexity of the lot size problem.
Manage Sci 1982;28(10):117486.
[28] Chen WH, Thizy JM. Analysis of relaxations for the multi-item capacitated lot-
sizing problem. Ann Oper Res 1990;26:2972.
[29] Maes J, McClain JO, Van Wassenhove LN. Multilevel capacitated lot sizing
complexity and LP-based heuristics. Eur J Oper Res 1991;53(2):13148.
[30] Ferreira D, Clark AR, Almada-Lobo B, Morabito R. Single-stage formulations for
synchronised two-stage lot sizing and scheduling in soft drink production. Int J
Product Econ 2012;136(2):25565.
[31] Toledo CFM, Arantes MS, Frana PM, Morabito R. A memetic framework for
solving the lot sizing and scheduling problem in soft drink plants. In: Chiong
Raymond, Weise Thomas, editors. Zbigniew Michalewicz. (Org.). Variants of
evolutionary algorithms for real-world applications. XIVed,. Berlim/Heidelberg:
Springer-Verlag; 2012. p. 5993.
[32] ILOGILOG CPLEX, Callable Library C API 11.1, Reference Manual, 2008.
[33] Frana PM, Mendes ASe, Moscato P. A memetic algorithm for the total
tardiness single machine scheduling problem. Eur J Oper Res 2001;1(132):
22442.
[34] Frana PM, Gupta JND, Mendes A, Moscato P, Veltink KJ. Evolutionary
algorithms for scheduling a ow shop manufacturing cell with sequence
dependent family setups. Comput Ind Eng 2005;48(3):491506.
[35] Buriol L, Frana PM, Moscato P. A new memetic algorithm for the asymmetric
traveling salesman problem. J Heur 2004;10:483506.
[36] Moscato PA, Mendes AS, Berretta RE. Benchmarking a memetic algorithm for
ordering microarray data. Biosystems 2007;88:5675.
[37] Moghaddam R, Kanani Y, Cheraghalizadeh R. A genetic algorithm and memetic
algorithm to sequencing and scheduling of cellular manufacturing systems. Int
J Manage Sci Eng Manage 2008;3(2):11930.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 52