Anda di halaman 1dari 13

A genetic algorithm/mathematical programming approach to solve

a two-level soft drink production problem


Claudio Fabiano Motta Toledo
a,n
, Lucas de Oliveira
b
, Rodrigo de Freitas Pereira
a
,
Paulo Morelato Frana
c
, Reinaldo Morabito
d
a
Institute of Mathematics and Computer Science, University of So Paulo, Av. Trabalhador so-carlense, 400, Centro, 13566-590 So Carlos, SP, Brazil
b
Institute of Computing, State University of Campinas, Av. Albert Einstein, 1251, Cidade Universitria, 13083-852 Campinas, SP, Brazil
c
Department of Mathematics and Computer Science, State University of Sao Paulo, R. Roberto Simonsen, 305, 19060-900 Presidente Prudente, SP, Brazil
d
Department of Production Engineering, Federal University of Sao Carlos, C.P. 676, 13565-905 Sao Carlos, SP, Brazil
a r t i c l e i n f o
Available online 12 March 2014
Keywords:
Genetic algorithms
Mathematical programming
Mathheuristics
Soft drink industry
Production planning
Lot sizing and scheduling
a b s t r a c t
This study applies a genetic algorithm embedded with mathematical programming techniques to solve a
synchronized and integrated two-level lot sizing and scheduling problem motivated by a real-world problem
that arises in soft drink production. The problem considers a production process compounded by raw material
preparation/storage and soft drink bottling. The lot sizing and scheduling decisions should be made
simultaneously for raw material preparation/storage in tanks and soft drink bottling in several production
lines minimizing inventory, shortage and setup costs. The literature provides mixed-integer programming
models for this problem, as well as solution methods based on evolutionary algorithms and relax-and-x
approaches. The method applied by this paper uses a newapproach which combines a genetic algorithm (GA)
with mathematical programming techniques. The GA deals with sequencing decisions for production lots,
so that an exact method can solve a simplied linear programming model, responsible for lot sizing decisions.
The computational results show that this evolutionary/mathematical programming approach outperforms the
literature methods in terms of production costs and run times when applied to a set of real-world problem
instances provided by a soft drink company.
& 2014 Elsevier Ltd. All rights reserved.
1. Introduction
This paper applies a combined genetic algorithm/mathematical
programming approach to deal with a two-level production planning
and scheduling problem, in which interdependence and synchroniza-
tion issues should be considered. As pointed out in [1,2], this problem
can be found in some industrial settings, mainly soft drink companies,
where the production process involves two interdependent production
levels or stages, with decisions concerning raw material preparation/
storage and soft drink bottling. In the rst level, tanks prepare and
store soft drink avors, which are then spread to bottling lines at the
second level. This soft drink production problem also requires syn-
chronization issues, which have to be considered when making lot
sizing and scheduling decisions in these two production levels. This
paper proposes a new hybrid metaheuristic approach combined with
an exact approach in order to solve this problem.
The main challenge is how to simultaneously determine the lot
sizing and scheduling of raw materials in tanks and of soft drinks
in bottling lines, with sequence-dependent setup costs and times
(i.e., they depend on the items previously stored and bottled) and
production capacity constraints at each level, so that the total
production costs are minimized. First-level decisions about which,
how much and when the raw materials should be prepared and
stored in the tanks have to be made. Similarly, second-level
decisions about which, how much and when the soft drink avors
should be bottled in the lling lines (and in the bottle types) have
to be made. A problem solution (i.e., a valid minimum cost
production plan) should couple the lot sizing and scheduling
decisions taken for these two production levels.
The paper is organized as follows. A literature review focusing
on related works is reported in Section 2. Then the soft drink
integrated lot sizing and scheduling problem is detailed in Section 3,
where a mathematical programming formulation presented in [2] is
briey reviewed. Section 4 describes the genetic algorithm/mathema-
tical programming proposed in this study, and its computational
Contents lists available at ScienceDirect
journal homepage: www.elsevier.com/locate/caor
Computers & Operations Research
http://dx.doi.org/10.1016/j.cor.2014.02.012
0305-0548/& 2014 Elsevier Ltd. All rights reserved.
n
Corresponding author. Fax: 55 33739636.
E-mail addresses: claudio@icmc.usp.br (C.F. Motta Toledo),
lucas.oliveira@ic.unicamp.br (L. de Oliveira),
rodrigodefreitas12@gmail.com (R. de Freitas Pereira),
paulo.morelato@fct.unesp.br (P.M. Frana), morabito@ufscar.br (R. Morabito).
Computers & Operations Research 48 (2014) 4052
performance is evaluated in Section 5. The conclusions about this study
and perspectives for future research are discussed in Section 6.
2. Literature review
In this section we briey review the literature related to this
study. A comprehensive literature review about general lot sizing
and scheduling problems is found in [3], in which several math-
ematical models and solution approaches are described. A survey
particularly concerned with capacitated lot sizing problems con-
taining interesting discussions regarding the problem formulations
and their complexity issues is reported in [4]. It mainly reviews
models and algorithms for the single level lot sizing problems, as
well as related studies proposing exact and heuristic methods to
solve these problems. Methods, formulations and real-world cases,
as well as related complexity issues, are also reviewed and
discussed in [5] for capacitated and uncapacitated single item lot
sizing problems.
An overview on metaheuristics applied to solve lot sizing
problems is presented in [6]. Hybrid approaches are evaluated
and different solution representation, evaluation functions, neigh-
borhoods and operators are discussed. A survey on modeling for
industrial extensions of the single-level dynamic lot sizing pro-
blems is presented in [7]. Operational aspects like setups, produc-
tion processes, inventories, demands and time horizons are taken
into account in this modeling review. Models and algorithms for
the dynamic demand and coordinate lot-sizing problems are also
reviewed in [8]. This class of problems includes issues such as
single and multiple items, coordinated and uncoordinated setup
structures, uncapacitated and capacitated problems, among others.
In particular, different studies concerning lot sizing decisions
involving sequence-dependent setup costs and times are reported
in the literature. The discrete lot sizing and scheduling problem
and the same problem with sequence dependent setup costs were
studied in [9,10]. The time horizon in this problem is subdivided
into micro-periods having identical capacities and only one pro-
duct is assigned to each micro-period. A problem formulation is
also proposed in [11] for the capacitated lot sizing problem with
sequence dependent setup costs. The time horizon is subdivided
into macro-periods with the same length and the product demands
should be met at the end of the macro-periods. The model
proposed in [11] differs from the one in [9] as it allows for
continuous lot-sizes and preserves the setup states over idle time.
A backward heuristic is proposed to solve articial instances and
instances taken from the literature.
A hybrid method is proposed in [12] for the general lot sizing
and scheduling problem with sequence dependent setup costs.
A mathematical model with the time horizon divided into several
micro-periods is presented, but each micro-period length is
dened as the time spent on producing the product assigned to
it. This hybrid method combines a threshold accepting heuristic
with a greedy method. A lot sizing and scheduling problem with
setup costs and times is formulated as a general lot sizing and
scheduling problem in [13].
There are several studies presenting mathematical formulations
and applying solution methods for different industrial problems.
For instance, in [14] is presented a model extension for the single-
machine capacitated lot sizing problem to describe a real world
problem found in the glass container industry. The problem is
solved using a variable neighborhood search (VNS) metaheuristic,
where the sequencing of the neighborhoods is generated based on
a distance function. A capacitated lot-sizing problem with multiple
items and unrelated parallel machines using a Lagrangian-based
heuristic is solved in [15]. In [16] a mixed integer programming
(MIP) model for a lot sizing and scheduling problem found in
foundry industries is presented. This multi-item, single machine
problem with sequence-dependent setup costs and times is solved
by a relax-and-x method with three types of local search-based
heuristics: a descendent heuristic, a diminishing neighborhood and
simulated annealing. Computational results indicate that the solu-
tions obtained by relax-and-x are better than those obtained by
the CPLEX solver within the time limit in medium-to-large sized
instances. Rolling-horizon and relax-and-x heuristics to solve the
identical parallel machine lot sizing and scheduling problem with
sequence dependent setup costs is proposed in [17]. The relax-and-
x heuristic outperformed the rolling-horizon heuristic returning
results closer to the instance lower bounds.
In [18] a model based on the model introduced in [19] for the lot
sizing and scheduling problem with sequence-dependent setup
times is described. The production of a product in a given time
period is indicated by binary variables and a heuristic denes the
model parameters. In [20] is proposed a mathematical model to
integrate lot sizing and scheduling decisions for a capacitated
problem with sequence dependent setups. MIP models for lot sizing
and scheduling problems found in electrofused grain and animal
nutrition industries are studied in [21,22], respectively. In [23] a lot
sizing and scheduling problem in a manufacturing plant producing
animal feed compounds is studied. Model formulations and relax-
and-x heuristics are proposed. In [24] is introduced a new formula-
tion for the capacitated lot sizing and scheduling problem with a
sequence dependent setup and setup carryovers between adjacent
periods. The authors propose a method that dynamically disconnects
sub-tours when dealing with large problems.
A MIP for a soft-drink production problem similar to the one
studied in this paper is presented in [25], referred by the authors as
the synchronized and integrated lot sizing and scheduling problem
(SITLSP). Sets of problem instances are generated from data
provided by a soft drink company, which are solved by the CPLEX
solver. The CPLEX was able to return solutions only for instances of
small-to-moderate size. Better results solving the same instances
are reported in [1] using a multi-population genetic algorithm (GA)
with populations hierarchically structured.
As discussed in next sections, the problem of the present study
is based on a simplied formulation proposed for the SITLSP in [2],
called P2SMM (two-stage multi-machine lot-scheduling). The
simplication assumes that each bottling line has a dedicated tank
and each tank can be lled with all liquid avors needed by this
line. In that study, relax-and-x heuristics are applied to solve real-
world instances. A relaxation approach named RA is also proposed
which outperformed the empirical method used by the company.
The solution approach of the present paper applies a GA
embedded with mathematical programming techniques where
the GA level denes production sequences, while a linear program-
ming model related to the P2SMM is solved next for lot sizing
decisions. The idea of applying a metaheuristic to generate setup
sequences and solve the remaining mathematical programming
model has also been successfully explored before, as in, e.g.,
[13,26]. However, the approach presented in this paper, associating
a GA and mathematical programming, is not usually applied to
real-world manufacturing problems.
The P2SMM is characterized as a capacitated lot sizing and
scheduling problem with multi-item (several products and raw
materials) and sequence-dependent setup times. The capacitated
lot sizing problem (CLSP), a much simpler form of the aforemen-
tioned problem, is proven to be an NP-hard optimization problem
[27]. The multi-item CLSP is strongly NP-hard. In [28,29] it is
shown that even nding feasible solutions for the CLSP with setup
times is an NP-hard problem.
Recently, four corresponding single-stage formulations for the
P2SMM are presented in [30], two of them are based on the general
lot sizing and scheduling problem (GLSP) and the other two are
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 41
based on an analogy with the asymmetric travelling salesman
problem (ATSP). It was shown that the corresponding single-stage
formulations outperform the two-level formulations presented in
[2], with the ATSP-based models showing better and faster perfor-
mances. Multi-population genetic algorithms and memetic algo-
rithms are presented in [31] and applied to solve ve problem
instances of the P2SMM described in [2]. The individuals in each
population are hierarchically structured in ternary trees. The best
approach reported is a memetic algorithm that uses a tabu search
to improve the best individuals found in each iteration.
3. Two-level soft drink production problem
In this section, an overview of the soft drink problem addressed
in this paper is provided, and then, all problem constraints are
described based on the MIP model presented in [2].
3.1. Problem overview
A carbonated soft drink production plant basically comprises
two main production levels or stages, namely, the preparation and
storage of raw materials (soft drink avors) in tanks, and the
products (soft drinks) bottling in automated lling lines. The raw
materials are spread from the tanks to lling lines in which several
types of soft drinks can be produced. The aim is to determine the
lot sizing and scheduling of raw materials and products such
that the soft drink avors and bottle types are assigned to the
tanks and bottling lines, respectively, in order to meet a known
weekly product demand.
There are several problem constraints that should be considered.
A setup time for raw material preparation in tanks occurs even if the
next raw material to be prepared in the tank is the same as the one
previously prepared, i.e., the soft drink avor does not change. After
a tank setup, raw materials are sent to a lling line where they are
bottled. Each lling line receives raw material from only one tank at
a time, no matter how many tanks are available. In some production
processes it is possible that a tank provides raw materials for more
than one lling line simultaneously, if lines are bottling the same
soft drink avor. However, this paper considers only production
processes for which only one tank is assigned to each lling line, as
illustrated in Fig. 1. This assumption was also considered in [2,30]
and it is in conformity with most real world soft drink plants.
The raw materials can be bottled in different bottle types as
cans, bag-in-boxes, glass bottles and plastic bottles of different
sizes. Thus, a product is dened by the raw material (soft drink
avor) and the bottle type. The production lines are usually able to
produce a set of products with a different processing time for each
bottle type. A setup time for products in lines occurs when the
bottle type is changed.
The setup times incurred for cleaning tanks or adjusting lines
are both sequence dependent, i.e. the time wasted cleaning a tank
or adjusting a line is related to the raw material or product
previously processed. For instance, it is usually faster to clean up
a tank if it will be lled by the same raw material. Likewise, the
setup time wasted to swap from a two-liter bottle type to a one-
liter bottle type is usually greater than the setup time of the inverse
operation.
As pointed out in [1,2,25], there is a crucial synchronization
issue between these two production levels. If a raw material is not
ready to be sent from a tank to a lling line, this line has to wait
until the raw material becomes ready in the tank. In the same way,
a tank can only send raw material to a lling line if the setup time
in this line has been nished. Therefore, this problem requires
synchronization between tanks and lines that has to be considered
at the same time as the lot sizing and scheduling decisions are
being made.
Fig. 2 illustrates this synchronization issue with four products
(P1, P2, P3 and P4) and their respective raw materials (R1, R2, R3
and R4). Note that the asynchronous production is not feasible
since P3 is bottled by the lling line before its raw material gets
ready in the tank. Thus, the production process requires the
insertion of idle times to synchronize the production of the raw
material with the bottling operations.
Mathematical models should have decision variables tailor-
made to deal with these synchronization issues of the problem.
However, these variables and their corresponding constraints
add complexity to the model building as well as to the solution
techniques able to deal with them.
Besides synchronization, other features are part of the problem
constraints. There are demands that should be met weekly and
inventory costs incurred when production exceeds demand in a
particular time period. There are shortage costs related to a
demand that was not met in its due period. There are also
sequence-dependent setup costs for lines and tanks, and the
production capacities of tanks and lling lines cannot be violated
in any period. The aim is to nd feasible solutions for a two level lot
sizing and scheduling problem with parallel processors (tanks on
the rst level and lines on the second one), capacity constraints
and sequence-dependent setup times and costs, so that the sum of
setups, inventory and shortage costs is minimized.
3.2. P2SMM model
The two-stage multi-machine lot-scheduling model (P2SMM) is
briey described next. This formulation is based on that proposed
Fig. 1. Production process.
C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 4052 42
for the GLSP in [12], where the time horizon is divided into macro-
periods and each macro-period is compounded by a set of micro-
periods.
Parameters:
J number of nal products (soft drinks);
Mnumber of machines (production lines and tanks)
Fnumber of raw materials (liquid avors);
Tnumber of macro-periods;
Nnumber of micro-periods (setups in each macro-period);
Sets:
S
t
set of micro-periods in each macro-period t;
Pd
t
rst micro-period of macro-period t;

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

m from raw material k to l in microperiod s0otherwiseg


z
II
mijs
1 if there is a changeover in line m from

item i to j in micro period s0otherwiseg


Minimize

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:

I2 and I3 have twice the inventory and backlogging costs,


respectively.

I4 presents the original demands randomly redistributed


among periods.

I5 has 25% of production capacity reduced.

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

Anda mungkin juga menyukai