Soft Drinks

download Soft Drinks

of 13

Transcript of Soft Drinks

  • A genetic algorithm/mathematical programming approach to solvea 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, Brazilb Institute of Computing, State University of Campinas, Av. Albert Einstein, 1251, Cidade Universitria, 13083-852 Campinas, SP, Brazilc Department of Mathematics and Computer Science, State University of Sao Paulo, R. Roberto Simonsen, 305, 19060-900 Presidente Prudente, SP, Brazild 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 algorithmsMathematical programmingMathheuristicsSoft drink industryProduction planningLot sizing and scheduling

    a b s t r a c t

    This study applies a genetic algorithm embedded with mathematical programming techniques to solve asynchronized and integrated two-level lot sizing and scheduling problem motivated by a real-world problemthat arises in soft drink production. The problem considers a production process compounded by raw materialpreparation/storage and soft drink bottling. The lot sizing and scheduling decisions should be madesimultaneously for raw material preparation/storage in tanks and soft drink bottling in several productionlines minimizing inventory, shortage and setup costs. The literature provides mixed-integer programmingmodels for this problem, as well as solution methods based on evolutionary algorithms and relax-and-xapproaches. The method applied by this paper uses a new approach 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 theliterature methods in terms of production costs and run times when applied to a set of real-world probleminstances provided by a soft drink company.

    & 2014 Elsevier Ltd. All rights reserved.

    1. Introduction

    This paper applies a combined genetic algorithm/mathematicalprogramming approach to deal with a two-level production planningand scheduling problem, in which interdependence and synchroniza-tion issues should be considered. As pointed out in [1,2], this problemcan be found in some industrial settings, mainly soft drink companies,where the production process involves two interdependent productionlevels or stages, with decisions concerning raw material preparation/storage and soft drink bottling. In the rst level, tanks prepare andstore soft drink avors, which are then spread to bottling lines at thesecond level. This soft drink production problem also requires syn-chronization issues, which have to be considered when making lotsizing and scheduling decisions in these two production levels. This

    paper proposes a new hybrid metaheuristic approach combined withan exact approach in order to solve this problem.

    The main challenge is how to simultaneously determine the lotsizing and scheduling of raw materials in tanks and of soft drinksin bottling lines, with sequence-dependent setup costs and times(i.e., they depend on the items previously stored and bottled) andproduction capacity constraints at each level, so that the totalproduction costs are minimized. First-level decisions about which,how much and when the raw materials should be prepared andstored in the tanks have to be made. Similarly, second-leveldecisions about which, how much and when the soft drink avorsshould be bottled in the lling lines (and in the bottle types) haveto be made. A problem solution (i.e., a valid minimum costproduction plan) should couple the lot sizing and schedulingdecisions taken for these two production levels.

    The paper is organized as follows. A literature review focusingon related works is reported in Section 2. Then the soft drinkintegrated lot sizing and scheduling problem is detailed in Section 3,where a mathematical programming formulation presented in [2] isbriey 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.0120305-0548/& 2014 Elsevier Ltd. All rights reserved.

    n Corresponding author. Fax: 55 33739636.E-mail addresses: [email protected] (C.F. Motta Toledo),

    [email protected] (L. de Oliveira),[email protected] (R. de Freitas Pereira),[email protected] (P.M. Frana), [email protected] (R. Morabito).

    Computers & Operations Research 48 (2014) 4052

  • performance is evaluated in Section 5. The conclusions about this studyand perspectives for future research are discussed in Section 6.

    2. Literature review

    In this section we briey review the literature related to thisstudy. A comprehensive literature review about general lot sizingand scheduling problems is found in [3], in which several math-ematical models and solution approaches are described. A surveyparticularly concerned with capacitated lot sizing problems con-taining interesting discussions regarding the problem formulationsand their complexity issues is reported in [4]. It mainly reviewsmodels and algorithms for the single level lot sizing problems, aswell as related studies proposing exact and heuristic methods tosolve these problems. Methods, formulations and real-world cases,as well as related complexity issues, are also reviewed anddiscussed in [5] for capacitated and uncapacitated single item lotsizing problems.

    An overview on metaheuristics applied to solve lot sizingproblems is presented in [6]. Hybrid approaches are evaluatedand different solution representation, evaluation functions, neigh-borhoods and operators are discussed. A survey on modeling forindustrial 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 takeninto account in this modeling review. Models and algorithms forthe dynamic demand and coordinate lot-sizing problems are alsoreviewed in [8]. This class of problems includes issues such assingle and multiple items, coordinated and uncoordinated setupstructures, uncapacitated and capacitated problems, among others.

    In particular, different studies concerning lot sizing decisionsinvolving sequence-dependent setup costs and times are reportedin the literature. The discrete lot sizing and scheduling problemand the same problem with sequence dependent setup costs werestudied in [9,10]. The time horizon in this problem is subdividedinto micro-periods having identical capacities and only one pro-duct is assigned to each micro-period. A problem formulation isalso proposed in [11] for the capacitated lot sizing problem withsequence dependent setup costs. The time horizon is subdividedinto macro-periods with the same length and the product demandsshould be met at the end of the macro-periods. The modelproposed in [11] differs from the one in [9] as it allows forcontinuous lot-sizes and preserves the setup states over idle time.A backward heuristic is proposed to solve articial instances andinstances taken from the literature.

    A hybrid method is proposed in [12] for the general lot sizingand scheduling problem with sequence dependent setup costs.A mathematical model with the time horizon divided into severalmicro-periods is presented, but each micro-period length isdened as the time spent on producing the product assigned toit. This hybrid method combines a threshold accepting heuristicwith a greedy method. A lot sizing and scheduling problem withsetup costs and times is formulated as a general lot sizing andscheduling problem in [13].

    There are several studies presenting mathematical formulationsand 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 worldproblem found in the glass container industry. The problem issolved using a variable neighborhood search (VNS) metaheuristic,where the sequencing of the neighborhoods is generated based ona distance function. A capacitated lot-sizing problem with multipleitems and unrelated parallel machines using a Lagrangian-basedheuristic 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 machineproblem with sequence-dependent setup costs and times is solvedby a relax-and-x method with three types of local search-basedheuristics: a descendent heuristic, a diminishing neighborhood andsimulated annealing. Computational results indicate that the solu-tions obtained by relax-and-x are better than those obtained bythe CPLEX solver within the time limit in medium-to-large sizedinstances. Rolling-horizon and relax-and-x heuristics to solve theidentical parallel machine lot sizing and scheduling problem withsequence dependent setup costs is proposed in [17]. The relax-and-x heuristic outperformed the rolling-horizon heuristic returningresults closer to the instance lower bounds.

    In [18] a model based on the model introduced in [19] for the lotsizing and scheduling problem with sequence-dependent setuptimes is described. The production of a product in a given timeperiod is indicated by binary variables and a heuristic denes themodel parameters. In [20] is proposed a mathematical model tointegrate lot sizing and scheduling decisions for a capacitatedproblem with sequence dependent setups. MIP models for lot sizingand scheduling problems found in electrofused grain and animalnutrition industries are studied in [21,22], respectively. In [23] a lotsizing and scheduling problem in a manufacturing plant producinganimal 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 asequence dependent setup and setup carryovers between adjacentperiods. The authors propose a method that dynamically disconnectssub-tours when dealing with large problems.

    A MIP for a soft-drink production problem similar to the onestudied in this paper is presented in [25], referred by the authors asthe synchronized and integrated lot sizing and scheduling problem(SITLSP). Sets of problem instances are generated from dataprovided by a soft drink company, which are solved by the CPLEXsolver. The CPLEX was able to return solutions only for instances ofsmall-to-moderate size. Better results solving the same instancesare reported in [1] using a multi-population genetic algorithm (GA)with populations hierarchically structured.

    As discussed in next sections, the problem of the present studyis based on a simplied formulation proposed for the SITLSP in [2],called P2SMM (two-stage multi-machine lot-scheduling). Thesimplication assumes that each bottling line has a dedicated tankand each tank can be lled with all liquid avors needed by thisline. In that study, relax-and-x heuristics are applied to solve real-world instances. A relaxation approach named RA is also proposedwhich outperformed the empirical method used by the company.

    The solution approach of the present paper applies a GAembedded with mathematical programming techniques wherethe GA level denes production sequences, while a linear program-ming model related to the P2SMM is solved next for lot sizingdecisions. The idea of applying a metaheuristic to generate setupsequences and solve the remaining mathematical programmingmodel has also been successfully explored before, as in, e.g.,[13,26]. However, the approach presented in this paper, associatinga GA and mathematical programming, is not usually applied toreal-world manufacturing problems.

    The P2SMM is characterized as a capacitated lot sizing andscheduling problem with multi-item (several products and rawmaterials) and sequence-dependent setup times. The capacitatedlot 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 isshown that even nding feasible solutions for the CLSP with setuptimes is an NP-hard problem.

    Recently, four corresponding single-stage formulations for theP2SMM are presented in [30], two of them are based on the generallot 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 salesmanproblem (ATSP). It was shown that the corresponding single-stageformulations 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 probleminstances of the P2SMM described in [2]. The individuals in eachpopulation are hierarchically structured in ternary trees. The bestapproach reported is a memetic algorithm that uses a tabu searchto 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 addressedin this paper is provided, and then, all problem constraints aredescribed based on the MIP model presented in [2].

    3.1. Problem overview

    A carbonated soft drink production plant basically comprisestwo main production levels or stages, namely, the preparation andstorage of raw materials (soft drink avors) in tanks, and theproducts (soft drinks) bottling in automated lling lines. The rawmaterials are spread from the tanks to lling lines in which severaltypes of soft drinks can be produced. The aim is to determine thelot sizing and scheduling of raw materials and products suchthat the soft drink avors and bottle types are assigned to thetanks and bottling lines, respectively, in order to meet a knownweekly product demand.

    There are several problem constraints that should be considered.A setup time for raw material preparation in tanks occurs even if thenext raw material to be prepared in the tank is the same as the onepreviously prepared, i.e., the soft drink avor does not change. Aftera tank setup, raw materials are sent to a lling line where they arebottled. Each lling line receives raw material from only one tank ata time, no matter how many tanks are available. In some productionprocesses it is possible that a tank provides raw materials for morethan one lling line simultaneously, if lines are bottling the samesoft drink avor. However, this paper considers only productionprocesses for which only one tank is assigned to each lling line, asillustrated 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 ascans, bag-in-boxes, glass bottles and plastic bottles of differentsizes. Thus, a product is dened by the raw material (soft drinkavor) and the bottle type. The production lines are usually able toproduce a set of products with a different processing time for each

    bottle type. A setup time for products in lines occurs when thebottle type is changed.

    The setup times incurred for cleaning tanks or adjusting linesare both sequence dependent, i.e. the time wasted cleaning a tankor adjusting a line is related to the raw material or productpreviously processed. For instance, it is usually faster to clean upa tank if it will be lled by the same raw material. Likewise, thesetup 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 inverseoperation.

    As pointed out in [1,2,25], there is a crucial synchronizationissue between these two production levels. If a raw material is notready to be sent from a tank to a lling line, this line has to waituntil 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 timein this line has been nished. Therefore, this problem requiressynchronization between tanks and lines that has to be consideredat the same time as the lot sizing and scheduling decisions arebeing made.

    Fig. 2 illustrates this synchronization issue with four products(P1, P2, P3 and P4) and their respective raw materials (R1, R2, R3and R4). Note that the asynchronous production is not feasiblesince P3 is bottled by the lling line before its raw material getsready in the tank. Thus, the production process requires theinsertion of idle times to synchronize the production of the rawmaterial 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 constraintsadd complexity to the model building as well as to the solutiontechniques able to deal with them.

    Besides synchronization, other features are part of the problemconstraints. There are demands that should be met weekly andinventory costs incurred when production exceeds demand in aparticular time period. There are shortage costs related to ademand that was not met in its due period. There are alsosequence-dependent setup costs for lines and tanks, and theproduction capacities of tanks and lling lines cannot be violatedin any period. The aim is to nd feasible solutions for a two level lotsizing and scheduling problem with parallel processors (tanks onthe rst level and lines on the second one), capacity constraintsand sequence-dependent setup times and costs, so that the sum ofsetups, inventory and shortage costs is minimized.

    3.2. P2SMM model

    The two-stage multi-machine lot-scheduling model (P2SMM) isbriey described next. This formulation is based on that proposed

    Fig. 1. Production process.

    C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 405242

  • 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:

    Jnumber 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:

    Stset of micro-periods in each macro-period t;Pdtrst micro-period of macro-period t;jset of lines that can produce product j;mset of products that can be produced in line m;mset of raw materials that can be produced in tank m;mlset of products that can be produced in line m and needsraw material l.

    Superscript I below is related to the parameters and variables atLevel I (tanks) while superscript II is related to the ones at Level II(bottling lines):

    Data

    djtdemand of product j in macro-period t;hjnon-negative inventory cost of product j;gjnon-negative backorder cost of product j;sIklchangeover cost from raw material k to l;sIIijchangeover cost from product i to j;bIklchangeover time from raw material k to l;bIIijchangeover time from product i to j;aIImjproduction time of one unit of product j in line m;KImtotal capacity of tank m, in liters of raw material;KIImttotal time capacity available for line m in micro-period t;rjlquantity of raw material l necessary for the production ofone unit of product j;qIlmminimum quantity of raw material l necessary to ll tankm;Ij0 Initial inventory of product j;Ij0 Initial backorder of product jyIml01, if there is an initial setup of tank m for raw material l;0 otherwise;

    yIImj01, if there is an initial setup of line m for product j;0 otherwise;

    Variables:

    Ijt inventory of product j at the end of macro-period t;Ijt backorder of product j at the end of macro-period t;xIImjsproduction quantity of product j in linem in micro-period s;vIImswaiting time of line m in micro-period s;yImls

    1 if tankm is setup for raw material l in microperiod s0 otherwise

    yIImjs 1 if linem is setup for product j in micro period s0 otherwise

    zImkls 1 if there is a changeover in tank

    m from raw material k to l in microperiod s0otherwisegzIImijs 1 if there is a changeover in line m from

    item i to j in micro period s0otherwiseg

    Minimize

    J

    j 1T

    t 1hjIjt gjIjt

    N

    s 1M

    m 1

    kAm

    lAm

    sIklzImkls

    N

    s 1M

    m 1

    iAm

    jAmsIIij z

    IImijs 1

    Subject to:

    jA ml

    rjlxIImjsrKImyImls m 1;;M; lAm; s 1;;N; 2

    jA ml

    rjlxIImjsZq

    Ilmy

    Imls m 1;;M; lAm; s 1;;N; 3

    lAm

    yImls1Z lAm

    yImls m 1; :::;M; t 1; :::; T ; sAStfPdtg 4

    zImklsZyImks1 yImks1 m 1;;M; k; lAm; s 1;;N; 5

    zImklsZ jA mk

    yIImjs1 yImls1

    m 1;;M; k; lAm; t 2;; T ; s Pdt 6

    kAm

    lAm

    zImklsr1 m 1;;M; t 1;; T ; sASt 7

    Ijt1 Ijt mAj

    sA St

    xIImjs Ijt Ijt1 djt ;

    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

  • jAm

    sA St

    aIImjxIImjs

    iAm

    jAm

    sAStbIIij z

    IImijs

    sAStvIImsrKIImt

    m 1;;M; t 1;; T ; 9

    vIImsZ kAm

    lAm

    bIklzImkls

    iAm

    jAmbIIij z

    IImijs

    m 1;;M; s 1;;N; 10

    xIImjsrKIImtaIImj

    yIImjs; m 1; :::;M; jAm; t 1; :::; T ; sASt ; 11

    jAm

    yIImjs 1 m 1; :::;M; s 1; :::;N; 12

    zIImijsZyIImis1 yIImjs1 m 1;;M; i; jAm; s 1;;N; 13

    iAm

    jAm

    zIImijsr1 m 1;;M; s 1;;N 14

    Ijt ; Ijt Z0; j 1; :::; J; t 1; :::; T ; xIImjs; vIIms; zIImijs; zImklsZ0; yIImjs; yImlsAf0;1g

    m 1; :::;M; k; lAm; i; jAm; t 1; :::; T ; sASt : 15Constraints (2)(7) refers to Level I (tanks) while constraints

    (8)(14) to Level II (lines). Eq. (1) is the objective function thatminimizes inventory, shortage and setup costs. Production costswere not added to the objective function as it is assumed that theproduction unit cost of each product j does not vary by period t andit is the same for all production lines. Therefore, the sum of theproduction costs of all products and periods can be neglected as itis a constant term in the objective function because all demandsshould be met. On the other hand, shortage unit costs should beappropriately chosen so that shortage costs overcome productioncosts in case the demand is not met. Constraints (2) and (3)determine the maximum and minimum tank capacities, if rawmaterial is assigned to tank yImls 1. Constraints (4) enforce idlemicro-periods to occur at the end of each time period. The setup ofraw material in tanks and products in lines are established by

    constraints (5), (6) and (13). Constraints (6) are necessary tocontrol raw material changeovers at the beginning of each period,where jA my

    IImjs1 denes the last raw material setup at period

    s1. Constraints (7) and (14) ensure only one raw material andproduct setup in the tank and line, respectively, for each micro-period. Constraints (8) are the inventory balance equation forproducts in lines and constraints (9) dene the production capacityfor each line in each period. Variable vIIms keeps the line idle timefor 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.1this variable is represented by the dark boxes. This idle time isdetermined by constraints (10) and it equals the differencebetween the raw material setup time and the line setup time.Constraints (11) dene setup for products in lines, which meansthat nothing is produced if a product is not set up in a lineyIImjs 0. Constraints (12) ensure that a line is always ready toproduce exactly one product in each micro-period. The variabledomains are summarized by constraints (15).

    4. Genetic algorithm/mathematical programmingapproach - 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 modelthat will be embedded in the proposed GA and then several issuesrelated 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 ideaillustrated in Fig. 3. In a typical iteration, GAMP rst applies GAoperators, such as crossover and mutation, to exclusively ndsequences 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) 405244

  • the binary variables yImls and yIImjs 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 lotsizes. This model entails only continuous variables and it is easilysolved by an LP-solver. The optimal objective function value of theLP model is then added to the GA tness function in order to betterevaluate the individual under consideration.

    The details of the GA are provided in the next section and the LPmodel is described below. The rst step to build the LP model is toremove constraints (4)(7), (10) and (12)(14), which are con-straints dealing with sequencing decisions in model P2SMM. Theissues treated by these constraints are directly handled by the GA.Therefore, variables yImls, y

    IImjs, z

    Imkls and z

    IImijs are not present in the

    LP model as they are determined by the sequencing decisions ofthe GA solution. The objective function (1) is reformulated to takeinto account only inventory and shortage costs. As synchronizationconstraints are handled by the GA, variable vIIms can also be

    removed. The term iAm jAm sASt bIIij z

    IImijssA St vIImsof con-

    straints (9) becomes parameter wmt, which keeps the total timespent for the production setup of line m in period t previouslydetermined by the GA solution.

    The number of variables xIImjs is reduced by aggregating lot sizes

    produced in each micro-period, giving rise to a set of redenedvariables uIImjt , meaning the total lot size of product j to be produced

    by line m in macro-period t. This is possible because the sequence ofproduction in each period has already been dened by the GA solution.Thus, it is not necessary to dene lot sizes per micro period. The totalvalue stored in uIImjt can be evenly divided among occurrences of

    product j in the sequence of production in line m in macro-period t bymaking:

    xIImjs uIImjtnsmjt

    ; 16

    where, as dened next, nsmjt is a parameter that stores the number ofoccurrences of product j in macro-period t of linem in the GA solution.Constraints (2) and (3), which dene the maximum and minimum lotsizes, should also be changed to consider the aggregated lot sizes inuIImjt . This is done by taking into account the values of parameternsmjt .

    Constraints (11) ensure that there is no production if a product is notassigned to the line. However, the proposed change in constraints (2)and (3) already takes this into account, so that constraints (11) can alsobe removed. The LP model proposed is fully described next.

    Parameters:

    nsmjtsASt yIImjs: number of micro-periods adjusted to produce

    product j in line m in macro-period t (taken from the GAsolution);wmtiAmjAmsA St b

    IIij z

    IImijssA St vIIms: total time spent for

    the

    production setup of linem in macro-period t (taken from the GAsolution);

    Variables:uIImjt: lot size of product jm in line m in macro-period t;Linear programming model:Minimize

    J

    j 1T

    t 1hjIjt gjIjt 17

    Subject to

    Ijt1 mAj

    uIImjt Ijt Ijt Ijt1 djt j 1;; J; t 1;; T ; 18

    jAm

    aIImjuIImjtwmtrKIImt m 1;;M; t 1;; T ; 19

    rjluIImjtrKImnsmjt m 1;;M; lAm; j 1;; J; t 1;; T 20

    rjluIImjtZq

    Ilmnsmjt m 1;;M; lAm; j 1;; J; t 1;; T 21

    Ijt ; Ijt Z0;u

    IImjtZ0; m 1;;M; j 1;; J; t 1;; T 22

    This LP model has fewer constraints than the MIP modelP2SMM. The objective function (17) minimizes only inventoryand shortage costs. Product demand fulllment and line capacityconstraints are considered by constraints (1819); note that thecapacity constraints use parameter wmt taken from the GA solution.Tank capacities are described by constraints (2021), which useparameter nsmjt also taken from the GA solution. Note also thatconstraints (20) ensure that nothing is produced from product j inline m in period t if there is no assignment of this product to thisline and this period in the GA solution (i.e., if nsmjt 0). There areonly 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 matrixM T, where, as before, M is the number of lines and T is thenumber of macro-periods. Each matrix entry (m,t) has a productionsequence, 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 canbe obtained from the corresponding product sequences, once eachtank is dedicated to each line, i.e., it is assumed that tank m isassigned to line m. As explained in Section 4.1, the sequencingconstraints (47), (10) and (1214) of P2SMM are not included inthe LP model. However, these constraints are satised by theproposed representation of individuals. For a given productsequence 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 setupscan 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 linem occurs. These issues are dealt with by individual initializationand genetic operator procedures.

    The representation of an individual has enough information tocreate a problem solution. Parameters nsmjtand wmt are used in theLP model, and they are provided by decoding the individual repre-sentation. Parameter nsmjt is calculated by a simple procedure thatcounts howmany assignments of product j occur in linem in period t.Parameter wmt is dened comparing the setup times in line m withthe setup times in tank m. These values can be determined from theproduct sequence in entry (m,t) of an individual. For each changeover,the greatest setup value is added up to parameterwmt to satisfy thesynchronization 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 theindividual shown in Fig. 4. It is considered that product P1 needsraw material 1, P2 and P3 need raw material 2 and P4 needs rawmaterial 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 ofparameters ns111 1;ns121 0;ns131 1and ns141 1. This deneshow many times products P1, P2, P3 and P4 occur in line 1 duringmacro-period 1.

    The total setup times for (m,t)(1,1) is w11 maxbI12; bII13maxbI23; bII34. The greatest value maxbI12; bII13 is determined betweenthe setup time from raw material 1 to raw material 2 bI12 and setuptime from P1 to P3 bII13. In the same way, the greatest setup valuemaxbI23; bII34 is also chosen between the setup time from rawmaterial2 to raw material 3 and from product P3 to P4.

    The decoding of an individual also determines the setup cost forthis entry sI12sII13sI23sII34 It is possible to know whether thetotal setup time wmt exceeds the line capacity KIImt , which meansthat an infeasible solution has been obtained. A repair procedure isthen used to x this infeasibility in such a way that product units ofthis infeasible sequence are randomly discarded until wmtrKIImt ,which turns the sequence feasible.

    4.3. Fitness function

    The tness function measures the quality of a solution encodedby individual representation. The problem at hand aims for solutionsthat 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 tnessvalues. The decoding procedure returns setup costs:

    M

    m 1N

    s 1

    kAm

    lAmsIklz

    Imkls

    M

    m 1N

    s 1

    iAm

    jAmsIIij z

    IImijs 23

    and parameters nsmjt and wmt . Parameters nsmjt and wmt are used inthe LP model. The model solution yields inventory and shortage costsaccording to objective function (17). The sum of the values found byexpressions (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 theoptimization package ILOG CPLEX [32]. This package enables tosolve mathematical models using programming languages as C andC . It is then possible to code the LP model described in Section4.1, which is loaded only once in the computer memory beforeexecuting the method. For each tness evaluation, it is necessaryonly to adjust parameters nsmjtand wmt to re-optimize the model.The dual simplex-based re-optimization method was used. It isalso important to highlight that the LP model also returns lot sizevalues through variables uIImjt . These values are then handled by theGA to dene lot sizes for each product. This is easily done using Eq.(16) previously presented and the production sequence in eachentry (m,t) from the solution representation (individual).

    4.4. Population structure and genetic operators

    The GAMP has its individuals hierarchically structured in binarytrees. 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) 405246

  • recombination seems to be worthy since populations organized inhierarchical structures have contributed to develop more effectiveGAs. A population for a memetic algorithm (MA) where individualsare hierarchically structured in ternary trees was explored in [33].Instances randomly created were solved for the total tardinesssingle machine scheduling problem and the results proved that thestructured MA outperformed pure GAs. The same approach wassuccessfully applied in [34] to solve the problem of scheduling aow shop manufacturing cell with sequence dependent familysetups. A MA with population hierarchically structured as ternarytrees designed to solve instances of the asymmetric travelingsalesman problem (ATSP) was used in [35]. A total of 27 ATSPinstances were solved and the MA outperformed six other methodsfrom the literature. MA with population structured as ternary treeswas also applied to solve the gene ordering problem in [36]. In [37]a group scheduling problem for manufacturing cells using a GA andMA with 13 individuals also structured in ternary trees was solvedwith good performance.

    These population structures consist of several clusters, each onehaving a leader individual and two supporter individuals, as shownin 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 areconstantly generated and inserted into the population leading toperiodic adjustments to keep the hierarchy of the ordered treestructure.

    In Fig. 7, the numbers in a binary tree structure represent tnessvalues for a minimization problem. The population has sevenindividuals and three clusters, one at the top level and two at thebottom level. There is a specic selection criterion based on clusterto choose individuals to apply the crossover operator. Two indivi-duals are selected from a cluster randomly selected. The clusterleader is always chosen for reproduction and one of its followers israndomly chosen. The uniform crossover was chosen as the cross-over operator based on some computational tests during themethod design (Fig. 8).

    In the uniform crossover, a random value A[0,1] is generatedfor each product at the same position in the sequence of Ind1 andInd2. If o0.5, the Child inherits the product of Ind1; otherwise,the Child inherits the product of Ind2. Suppose that the productsselected are the shaded rectangles in Fig. 8. It is possible to havemore products in one sequence of Ind2 (Ind1) than in the sequencefor the same entry (m,t) of Ind1 (Ind2). In this case, the procedurecontinues in Ind2 (Ind1) selecting products for Z0.5. To keepdiversity in a population and avoid premature convergence, amutation operator is applied to new individuals according to somemutation rate A[0,1]. A random number A[0,1] is generated andif r, the new individual is mutated. In this case, one of theseven mutation operators dened next is randomly selected to beapplied over the new individual.

    1. Insertion1: randomly generate a new product and insert it in arandom position of a production sequence. The entry (m,t) ofthe individual representation with this selected productionsequence is also randomly chosen.

    2. Insertion2: randomly select an entry (m,t) and a product fromits sequence of production. Move this product into anotherrandomly selected entry (m0,t0) and into a random position in itssequence of production.

    3. Remove: randomly select an entry (m,t) and a product from itssequence of production. Next, remove the selected product.

    4. Change: randomly select an entry (m,t) and a product from itssequence of production. Next, replace this product by a newproduct randomly chosen.

    5. Swap: randomly select two entries (m,t) and (m0,t0) and twoproducts 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 newproduct sequence from the previous one in this entry. This isdone by randomly removing products from the previoussequence and inserting them into the new sequence. The newsequence obtained replaces the previous one at the end.

    7. Update sequence: randomly select both an entry (m,t) and aninteger value between 1 and the maximum number of micro-periods. The value becomes the new sequence length. If isless than the length of the product sequence, products arerandomly chosen and removed until the sequence lengthbecomes . Otherwise, new products are randomly selectedand inserted into this sequence. These products are alsoinserted 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 thanone of their parents. Adjustments are carried out to keep the clusterstructure ordered, where the best is always the leader (Fig. 9). Theadjustments 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 areswapped in the cluster. This procedure is repeated for clusters inhigher levels, while followers are better than leaders.

    4.5. Pseudo code for GAMP

    Fig. 10 summarizes the method previously explained using apseudo-code. First, the LP model is loaded and individuals areinitialized and evaluated. Execution time is used as a stop criterionand the population evolves until convergence has been reached. Theexecution time was set as stop criterion once other literatureapproaches for the same problem were also evaluated based on thiscriterion. The GAMP could be evaluated taking into account otherstop criteria but we decided to maintain execution time for the sakeof comparison. Crossover, mutation, insertion and rearrangement arethe operations executed in this evolution process. The crossover andmutation operators work on the individuals, whereas the insertionand rearrangement operators work on the tree structure. Thenumber of new individuals created at each evolution process bycrossover operator is dened as crossoverRate populationLength. Amutation can be applied over each new individual when themutation probability is satised. The new individual is inserted if itis better than one of its parents. After new individuals have beencreated and inserted, a population rearrangement takes place to keepthe hierarchy of the population, as explained in Section4.4. If newindividuals are not inserted during the evolution process, populationconvergence 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. Thishappens when the best individual is not improved after severalconsecutive 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 producedfrom 18 soft drink avors (raw material) using two lling lines. Oneline produces only 10 products from the 23 products with availablecapacity of 8640 min per week (macro-period). The other line canproduce all of them with available capacity of 5760 min per week.There are demands for each product that should be satised withina planning horizon of three production weeks. Instance I1 repre-sents the original production scenery and the others are variants ofI1 as follows:

    I2 and I3 have twice the inventory and backlogging costs,respectively.

    I4 presents the original demands randomly redistributedamong 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 theresults 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) 405248

  • this same set of instances. Two approaches are appointed by theauthors in [30] as the best to solve these real-world instances. Therst is the ATSP-based model F1, which is solved using the branch-and-cut algorithm available in CPLEX version 11.0. The second isthe ATSP-based model F2 which is solved using a patching strategy(PS). These methods are executed during 4 hours and they werenot able to nd optimal solutions for these real-world instances.However, the average performance of F1 outperforms PS takinginto account the best feasible solution achieved. A GA and memeticalgorithms (MAs) were applied in [31] to solve several probleminstances 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 ternarytree structures. These methods did not combine the metaheuristicswith mathematical programming techniques as introduced in thispaper. Instead, a complex representation of a solution as individualis adopted with tailor-made crossover and mutation operators.The MATS, a genetic algorithm executing tabu search to improvethe best individual found, is reported as the best approach solv-ing I1I5.

    The computational tests presented in this section were executedusing a Pentium Intel 4, 3.2 GHZ, 1.0 GB RAM, which allows a faircomparison with the results found in [30]. The GAMP was executed

    10 times over each instance within a time limit of 1 hour for eachexecution. 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 andCPLEX Callable Library from package ILOG CPLEXs 11.0, which alsoallows a fair comparison with [30]. A population of 31 individualshierarchically structured as a binary tree was used by GAMP, with acrossover rate set to 3.0 and a mutation rate set to 1.0. A total of 20convergences 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 F1and PS results are the nal solution values found after 4 h. TheGAMP results are the average among 10 best solutions reachedafter 10 executions over each instance after 1 hour. The deviationof each GAMP result from F1 and PS is determined by eq. (24),where Meth stands for F1 or PS. The standard deviation from theaverage value is also depicted in Table 1.

    Dev% 100 SolGAMPSolMethSolMeth

    24

    Table 1GAMP 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.93I2 210,997 198,811 205,287 4426 2.71 3.26I3 189,872 191,434 197,993 4883 4.28 3.43I4 195,432 177,874 194,296 3727 0.58 9.23I5 279,525 269,424 222,845 6301 20.28 17.29I6 352,464 352,975 362,507 7674 2.85 2.70I7 266,198 251,274 268,410 11,129 0.83 6.82I8 243,319 236,749 232,938 5808 4.27 1.61I9 215,631 245,796 206,030 4228 4.45 16.18I10 185,736 206,912 180,495 5470 2.82 12.77I11 191,831 195,105 199,047 4858 3.76 2.02I12 200,519 238,320 211,781 3808 5.62 11.14I13 210,624 317,830 208,351 3528 1.08 34.45I14 247,827 233,950 242,986 7306 1.95 3.86I15 297,638 288,639 307,545 8427 3.33 6.55Average 231,972 239,593 228,503 5636 1.34 3.77

    Table 2GAMP 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.10I2 198,811 5.78 0.00 212,604 0.76 6.94I3 189,872 0.00 0.82 206,649 8.84 7.95I4 187,757 3.93 5.56 199,925 2.30 12.40I5 213,111 23.76 20.90 235,413 15.78 12.62I6 350,293 0.62 0.76 376,516 6.82 6.67I7 256,317 3.71 2.01 283,969 6.68 13.01I8 223,529 8.13 5.58 240,507 1.16 1.59I9 199,806 7.34 18.71 212,687 1.37 13.47I10 174,845 5.86 15.50 192,174 3.47 7.12I11 193,573 0.91 0.79 210,591 9.78 7.94I12 206,175 2.82 13.49 216,777 8.11 9.04I13 203,563 3.35 35.95 216,809 2.94 31.78I14 231,252 6.69 1.15 254,762 2.80 8.90I15 288,607 3.03 0.01 317,857 6.79 10.12Average 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, asindicated by the last line in Table 1. The standard deviationindicates a stable performance of the GAMP during the 10 execu-tions. The average value reached by GAMP over each instanceoutperforms F1 in 9 out of 15 instances and PS in 7 out of 15instances. The average performance of GAMP outperforms bothliterature results in instances I1, I5, I8, I9, I10 and I13, where theimprovement 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 ininstance I13 and 20.28% against F1 in I5. The worst averagedeviations are 5.62% in I12 and 9.23% in I4 from F1 and PS,respectively. Besides, GAMP is more efcient since its executiontime was set to 50% of the time spent by F1 or PS (4 h).

    Thus, the average results of GAMP outperform both mainliterature results in the original real-world instance I1. It alsooutperforms both methods in the instance with machine capacityreduced 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 instanceswith new demand values. The method is able to improve F1 or PSresults 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 bestand the worst solution achieved by GAMP after 10 executions overeach instance. The best GAMP solutions outperform individually F1and PS in 12 out of 15 instances, and outperform both methods in9 out of 15 instances. The worst GAMP solutions still outperform F1and PS for instances I1, I5, I8, I9, I10, I12 and I13. The worstsolutions did not present deviations higher than 10% against F1.Against PS there are only three instances where GAMP worstdeviations are higher than 10% (I4, I7 and I15).

    The time spent by GAMP to nd the best solution is shown inFig. 11. It is represented the average time after 10 executions overeach instance to nd the nal solution (Average), as well as themaximum (Max) and minimum (Min) time. The GAMP spends lessthan 2000 s, on average, to nd the best solution. The solutionsfound quickly take less than 500 s for the majority of instances.However, the method can spend almost the time limit in the worstcase to reach the nal value.

    The next computational tests evaluate the GAMP performancewithin the time limit of four hours, which is the same time limit settoF1 and PS. However, it was selected only those instances forwhich GAMP did not improve on average the results found by F1 orPS. The method was executed 5 times within time limit of 4 h.Table 3 compares the results taking into account the averagesolution value of GAMP.

    After 1 h of execution, GAMP has an average positive deviationof 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 forthese instances. The results for instances I3 and I11 are improvedby GAMP against F1 and PS from positive deviations to negativevalues after 4 h. Thus, GAMP seems to need more time to solve aninstance like I3 that presents backlogging cost doubled. However,in the case of I6, where there are new demand values, both positivedeviations are only reduced without reaching an improvement.

    Next, GAMP is compared with the results found by twoother evolutionary approaches that did not use mathematical

    Fig. 11. Time spent by GAMP to nd the best solution.

    Table 3GAMP 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.18I3 197,993 4883 4.28 3.43 189,629 542 0.10 0.94I4 194,296 3727 0.60 9.23 190,271 2321 2.60 6.97I6 362,507 7674 2.85 2.70 354,604 3525 0.61 0.46I7 268,410 11,129 0.83 6.82 260,914 6588 2.00 3.84I11 199,047 4858 3.76 2.02 191,014 4420 0.40 2.10I12 211,781 3808 5.62 11.10 206,535 2797 3.00 13.30I14 242,986 7306 2.00 3.86 236,836 4828 4.40 1.23I15 307,545 8427 3.33 6.55 296,572 4575 0.40 2.75Average 243,316 624,867 1.71 2.97 236,393 3527 1.20 0.01

    Table 4Results 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.13I2 388,877 268,433 205,287 47.21 23.52I3 316,914 221,660 197,993 37.52 10.68I4 276,575 218,627 194,296 29.75 11.13I5 408,418 272,633 222,845 45.44 18.26I6 607,991 475,147 362,507 40.38 23.71I7 482,919 327,235 268,410 44.42 17.98I8 421,686 283,200 232,938 44.76 17.75I9 346,527 249,685 206,030 40.54 17.48I10 299,832 219,906 180,495 39.80 17.92I11 362,780 240,997 199,047 45.13 17.41I12 381,913 255,003 211,781 44.55 16.95I13 347,478 266,696 208,351 40.04 21.88I14 424,999 283,514 242,986 42.83 14.29I15 615,109 388,923 307,545 50.00 20.92Average 400,529 280,389 228,503 42.33 18.00

    C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 405250

  • programming techniques: GA and MATS proposed in [31]. Theauthors had reported in [31] results only for 5 out of 15 instancesdened in [2]. However, they provided to us the values found forthe other 10 instances of P2SMM. These values are the average of10 executions over each instance within a time limit of 1 h asdened in [31]. The computational results are in Table 4.

    The GAMP outperforms the evolutionary approach based on amulti-population GA and it is also better than the multi-populationhybrid approach, MATS, for all instances. The deviations aredetermined using expression (24), where the solution values ofMATS or GA replace Meth. There are relevant deviations obtainedby GAMP from GA that reach values larger than 30% in the majorityof instances. Taking into account MATS results, the improvementreached by GAMP is larger than 10% in all instances, reachingvalues greater than 15% for most of them. These results indicate asuperior performance of GAMP that combines one-populationhierarchically structured GA with mathematical programmingtechnique.

    6. Concluding remarks

    The present paper applies a genetic algorithm/mathematicalprogramming approach (GAMP) to solve the synchronized andintegrated two-level lot sizing and scheduling problem whicharises mainly in the soft beverage industry. Computational testswere executed over a set of real-world problem instances analyzedin [2], and the GAMP results were compared with two approachespresented in [30] using ATSP-based models, one solving model F1by a branch-and-cut method and the other based on model F2applying a patching strategy PS. The proposed method is alsocompared with two evolutionary algorithms recently proposed in[31], a multi-population genetic algorithm- GA- and a memeticalgorithm with tabu search-MATS.

    GAMP overcame F1 and PS spending a quarter of the time. Theaverage, worst and best results found by GAMP, obtained after 10repetitions for each instance, outperformed F1 and PS in severalinstances. The average performance of the method for all instancesreturns the lowest average cost with a stable performance asindicated by the standard deviation values. GAMP returns bestvalues for the original real-world instance I1 and when theproduction capacity is reduced by 25% (I5). In instances withinventory costs doubled (I2) and original demands redistributed(I4), the method nds on average better solutions than F1, but itdoes not outperform PS. When the original demands change, themethod is able to outperform F1 in some instances and PS in someothers.

    GAMP was also executed within four hours, but only over nineinstances where positive deviations from F1 or PS were reportedafter 1 h. The method was able to improve its original results forseveral instances and to outperform the lowest average cost foundby F1 and PS for all these nine instances. Finally, GAMP showed asuperior performance when compared with two other evolution-ary methods applied to the same problem. The GAMP outperformsGA and MATS for all instances in terms of solution quality.

    The main contribution of this paper is to present a solutionmethod whose results indicates the advantage of combining agenetic algorithm with mathematical programming to solve acomplex real-world production problem. The results reportedindicate that the use of a metaheuristic as genetic algorithm forsequence decisions embedded with mathematical programmingfor lot sizing decisions points out a promising approach for solvingthis synchronized and integrated two-level lot sizing and schedul-ing problem in practice. The complexity to deal with this problemis reduced by this approach once the GAMP provides binaryinformation (sequences), which can deal with a simple and fast

    continuous linear model for lot sizes. Furthermore, the linearmodel was coded in memory using a Callable library, which alsocontributes to improving the GAMP computational performance.

    GAMP is more suitable to solve real-world problem instancesthan pure mathematical programming methods, like the ones in[30]. This is sustained by its superior average performance solvinginstance I1 (original one), as well as solving several variants of I1within 1 hour. To sum up, this hybrid method is able to outperformrecent evolutionary methods like GA and MATS applied to thesame problem, as well as to reach competitive results within areduced time against model-based approaches like F1 and PSstrictly developed for this problem.

    As future work, GAMP will be adapted and evaluated over otherreal-world lot sizing and scheduling problems that happen inanimal nutrition, small foundries and electrofused grain plants,among others. The GAMP parameters were empirically determinedbased on previous tests. Thus, a study will be also conducted asfuture work to evaluate other parameter congurations, likedifferent population structures and sizes, crossover and mutationoperators, crossover and mutation rates, among others. The GAMPperformance will be also evaluated for other stop criteria, aspopulation convergence instead of only execution time.

    New GA approaches and other metaheuristics, like GRASP andparticle swarm optimization, can be combined with the linearmathematical model used by GAMP. The literature of the presentproblem does not provide good lower bounds for the optimalsolution value. As a future work, the development of tight lowerbounds will be conducted. This will allow evaluating better thequality of the solutions returned by the heuristic and metaheuristicapproaches.

    Acknowledgments

    We would like to thank the anonymous reviewers for theiruseful comments and suggestions, and Dr. Deisemara Ferreira forkindly providing us with problem instance data. The present workwas supported by Conselho Nacional de Desenvolvimento Cientco eTecnolgico (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 geneticalgorithm approach to solve the synchronized and integrated two-level lotsizing and scheduling problem. Int J Product Res 2009;47:3097119.

    [2] Ferreira D, Morabito R, Rangel S. Solution approaches for the soft drinkintegrated production lot sizing and scheduling problem. Eur J Oper Res2009;196:697706.

    [3] Drexl A, Kimms A. Lot sizing and schedulingsurvey and extensions. Eur J OperRes 1997;99:22135.

    [4] Karimi B, Ghomi SMTF, Wilson JM. The capacitated lot sizing problem: Areview 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 andcomparison of solution approaches. Eur J Oper Res 2007;177:185575.

    [7] Jans R, Degraeve Z. Modeling industrial lot sizing problems: a review. Int JProduct Res 2008;46(6):161943.

    [8] Robinson P, Narayananb A, Sahinc F. Coordinated deterministic dynamicdemand lot-sizing problem: A review of models and algorithms. Omega Int JManage Sci 2009;37:315.

    [9] Fleischmann B. The discrete lot-sizing and scheduling problem. Eur J Oper Res1990;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. ORSpektrum 1996;9:519.

    [12] Fleischmann B, Meyr H. The general lot sizing and scheduling problem. ORSpektrum 1997;19:1121.

    [13] Meyr H. Simultaneous lot sizing and scheduling by combining local search withdual 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 schedulingin 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 capacitatedlot 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 smallfoundries. Comput Oper Res 2008;35:91632.

    [17] Beraldi P, Ghianib G, Griecob A, Guerriero E. Rolling-horizon and x-and-relaxheuristics for the parallel machine lot-sizing and scheduling problem withsequence-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 ProductEcon 2009;118:28291.

    [19] Haase K, Kimms A. Lot-sizing and scheduling with sequence dependent setupcosts and times and efcient rescheduling opportunities. Int J Product Econ2000;66:15969.

    [20] Mateus GR, Ravetti MG, Souza MC, Valeriano TM. Capacitated lot sizing andsequence 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 sizingmodels for production scheduling of electrofused grains. Asia-Pacic J Oper Res2009;26(3):42143.

    [22] Clark A, Morabito R, Toso E. Production setup-sequencing and lot-sizing at ananimal nutrition plant through ATSP subtour elimination and patching. J Sched13 2010;2:11121.

    [23] Toso EAV, Morabito R, Clark AR. Lot sizing and sequencing optimization at ananimal-feed plant. Comput Ind Eng 2009;57:81321.

    [24] Menezes A, Clark A, Almada-Lobo B. Capacitated lotsizing and scheduling withsequence-dependent, period overlapping and non triangular setups. J Sched2011;14:20919.

    [25] Toledo CFM, Frana PM, Morabito R, Kimms A. Um modelo de otimizao parao problema integrado de dimensionamento de lotes e programao daproduo 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 bottleneckassembly 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 sizingcomplexity 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 forsynchronised two-stage lot sizing and scheduling in soft drink production. Int JProduct Econ 2012;136(2):25565.

    [31] Toledo CFM, Arantes MS, Frana PM, Morabito R. A memetic framework forsolving the lot sizing and scheduling problem in soft drink plants. In: ChiongRaymond, Weise Thomas, editors. Zbigniew Michalewicz. (Org.). Variants ofevolutionary 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. Evolutionaryalgorithms for scheduling a ow shop manufacturing cell with sequencedependent family setups. Comput Ind Eng 2005;48(3):491506.

    [35] Buriol L, Frana PM, Moscato P. A new memetic algorithm for the asymmetrictraveling salesman problem. J Heur 2004;10:483506.

    [36] Moscato PA, Mendes AS, Berretta RE. Benchmarking a memetic algorithm forordering microarray data. Biosystems 2007;88:5675.

    [37] Moghaddam R, Kanani Y, Cheraghalizadeh R. A genetic algorithm and memeticalgorithm to sequencing and scheduling of cellular manufacturing systems. IntJ Manage Sci Eng Manage 2008;3(2):11930.

    C.F. Motta Toledo et al. / Computers & Operations Research 48 (2014) 405252

    A genetic algorithm/mathematical programming approach to solve a two-level soft drink production problemIntroductionLiterature reviewTwo-level soft drink production problemProblem overviewP2SMM model

    Genetic algorithm/mathematical programming approach - GAMPOutline of the linear programming model for lot sizingRepresentation and decoding of individualsFitness functionPopulation structure and genetic operatorsPseudo code for GAMP

    Computational resultsConcluding remarksAcknowledgmentsReferences