A GENETIC ALGORITHM FOR CAPACITATED LOTSIZING AND SCHEDULING WITH SEQUENCE-DEPENDENT

10
A GENETIC ALGORITHM FOR CAPACITATED LOTSIZING AND SCHEDULING WITH SEQUENCE-DEPENDENT Maristela Oliveira Santos Universidade de S˜ ao Paulo - Instituto de Cinˆ ecias Matem´ aticas e de Computac ¸˜ ao Av. Trabalhador S˜ ao-carlense, 400, 13560-970 S˜ ao Carlos-SP Brasil e-mail: [email protected] Sadao Massago Universidade Federal de S˜ ao Carlos -Departamento de Matem´ atica Rod. Washington Lu´ s, Km 235 - C.P. 676 - 13565-905 S?o Carlos, SP - Brasil e-mail: [email protected] Bernardo Almada-Lobo Faculdade de Engenharia da Universidade do Porto Rua Dr. Roberto Frias s/n, Porto 4200-465, Portugal e-mail: [email protected] ABSTRACT In this paper we present a genetic algorithm for capacitated lot sizing and scheduling problems with sequence dependent setups. We propose a new scheme of classifying individuals based on nested domains to determine the solutions according to the level of infeasibility, which in our case represents bands of additional production hours (overtime). Within each band, individuals are just differentiated by their fitness function. As iterations are conducted, the widths of the bands are dynamically adjusted to improve the convergence of the individuals into the feasible domain. The numerical experiments on highly capacitated instances show the effectiveness of this computational tractable approach to guide the search toward the feasible domain. KEYWORDS. Capacitated Lotsizing and Scheduling Problem, Feasible Solutions, Genetic Algorithm. RESUMO Este artigo apresenta um algoritmo gen´ etico para o problema de dimensionamento e sequen- ciamento de lotes com preparac ¸˜ oes dependentes da sequˆ encia. ´ E proposto um novo esquema de classificac ¸˜ ao dos indiv´ ıduos baseado em dom´ ınios encaixantes para classificar as soluc ¸˜ oes de acordo com o n´ ıvel de infactibilidade, que neste caso, representa faixas adicionais de horas extras. Dentro de cada faixa, os indiv´ ıduos s˜ ao apenas diferenciados pelo valor da func ¸˜ ao objetivo. Durante o processo iterativo, as larguras das faixas s˜ ao ajustadas dinamicamente com a intenc ¸˜ ao de melhorar a convergˆ encia para o dom´ ınio fact´ ıvel. Os experimentos computacionais considerando exemplos com capacidades apertadas mostram a eficiˆ encia da abordagem para guiar o processo de busca em direc ¸˜ ao ao dom´ ınio fact´ ıvel. PALAVRAS CHAVE. Dimensionamento e Sequenciamento de Lotes com Limitac ¸˜ oes de Ca- pacidade, Soluc ¸˜ oes Fact´ ıveis, Algoritmo Gen´ etico. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3299

Transcript of A GENETIC ALGORITHM FOR CAPACITATED LOTSIZING AND SCHEDULING WITH SEQUENCE-DEPENDENT

A GENETIC ALGORITHM FOR CAPACITATED LOTSIZING ANDSCHEDULING WITH SEQUENCE-DEPENDENT

Maristela Oliveira SantosUniversidade de Sao Paulo - Instituto de Cinecias Matematicas e de Computacao

Av. Trabalhador Sao-carlense, 400, 13560-970 Sao Carlos-SP Brasile-mail: [email protected]

Sadao MassagoUniversidade Federal de Sao Carlos -Departamento de Matematica

Rod. Washington Lus, Km 235 - C.P. 676 - 13565-905 S?o Carlos, SP - Brasile-mail: [email protected]

Bernardo Almada-LoboFaculdade de Engenharia da Universidade do PortoRua Dr. Roberto Frias s/n, Porto 4200-465, Portugal

e-mail: [email protected]

ABSTRACT

In this paper we present a genetic algorithm for capacitated lot sizing and scheduling problemswith sequence dependent setups. We propose a new scheme of classifying individuals based onnested domains to determine the solutions according to the level of infeasibility, which in our caserepresents bands of additional production hours (overtime). Within each band, individuals are justdifferentiated by their fitness function. As iterations are conducted, the widths of the bands aredynamically adjusted to improve the convergence of the individuals into the feasible domain. Thenumerical experiments on highly capacitated instances show the effectiveness of this computationaltractable approach to guide the search toward the feasible domain.

KEYWORDS. Capacitated Lotsizing and Scheduling Problem, Feasible Solutions, GeneticAlgorithm.

RESUMO

Este artigo apresenta um algoritmo genetico para o problema de dimensionamento e sequen-ciamento de lotes com preparacoes dependentes da sequencia. E proposto um novo esquema declassificacao dos indivıduos baseado em domınios encaixantes para classificar as solucoes de acordocom o nıvel de infactibilidade, que neste caso, representa faixas adicionais de horas extras. Dentrode cada faixa, os indivıduos sao apenas diferenciados pelo valor da funcao objetivo. Durante oprocesso iterativo, as larguras das faixas sao ajustadas dinamicamente com a intencao de melhorara convergencia para o domınio factıvel. Os experimentos computacionais considerando exemploscom capacidades apertadas mostram a eficiencia da abordagem para guiar o processo de busca emdirecao ao domınio factıvel.

PALAVRAS CHAVE. Dimensionamento e Sequenciamento de Lotes com Limitacoes de Ca-pacidade, Solucoes Factıveis, Algoritmo Genetico.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3299

1. IntroductionA genetic algorithm (GA) is a method based on processes observed in biology, which may be

used to solve a variety of combinatorial optimization problems, as first proposed by Holland (1975).The GA starts with an initial population of individuals generated randomly or using specialized op-erators. Usually, the fitness of individuals is evaluated using an objective function, which indicatesthe merit of the individual with respect to the overall population. Then, the individuals reproduce,passing through simulated crossover and mutation operations, to create the members of the newgeneration (that may replace the whole previous population or just the less fit individuals). Whendealing with a constrained problem, depending on the representation of the individuals used, fea-sibility may not be guaranteed when these operators are applied, since feasible parents may easilygive rise to infeasible offspring.

An important GA design issue is whether or not to allow infeasible individuals to be part of thepopulation. If infeasible solutions are not discarded, we have to deal during the search with feasibleand infeasible individuals. Then, in case of constrained optimization, not only the objective functionbut also the constraints of the problem have to be taken into account in evaluating the performanceof the individuals.

Various strategies have been applied by the research community to measure the quality of fea-sible and infeasible individuals. For additional information about these strategies see Michalewicz(1995). The existing techniques can be classified into methods based on the penalty function, onpreserving feasibility of solutions (fixing infeasible solutions through specific repair procedures),on the separation of constraints and objectives (i.e. without combining the amount of constraintviolation and the objective function value), as well as into hybrid methods. Clearly, the commonapproach to tackle constrained optimization problems is to consider a penalty function to deal withinfeasible solutions. However, one of the hurdles of working with penalty functions is to estab-lish the weights of the violations during the process, i.e. to determine how the penalty function isdesigned and applied to infeasible solutions (Deb (2000)).

In a recent work Defersha and Chen (2008), the authors present a heuristic method based on aGA for an integrated cell formation and lot sizing where the GA determines the value of the integervariables while the corresponding values of the continuous variables are determined by solving alinear programming subproblem. In order to fix the integer variables, a repair algorithm tries toobtain integer feasible solutions for most of the constraints, while for the others a penalty functionis considered. In Kimbrough et al. (2008) the population is split into two groups: the feasibleindividuals group, that tries to improve objective function, and the group of infeasible members,that attempts to reduce the constraint violation. Once a new individual is generated, it is allocatedin one of these two mutually exclusive groups. Naturally, the authors avoid working with the penaltyfunctions and present an interesting study about convergency.

In Michalewicz (1995) is discussed the difficulty of how “to order” the individuals and measurethe feasibility and infeasibility, namely how to establish the order in the elements of a group ofinfeasible individuals, or how to prioritize the feasible individuals. In this direction, the followingstrategy to implement a GA for highly constrained problems and to find good solutions for the SetPartitioning problem is proposed in Chu and Beasley (1998): instead of classifying the populationbased on a single fitness measure (combining original objective and penalty terms), the authorsseparate the fitness (related to the objective function value) and unfitness (related to the constraintviolation degree) scores. Each member of the population has a pair of values (fitness, unfitness).In this way, the problem of determining the weight of the penalty term is eliminated at the costof having to deal with a multiobjective function afterwards. Using these scores of unfitness, thepopulation can be divided into several subgroups of distinct characteristics, which are useful for theselection and replacement processes. This strategy was used in the following works Beasley (2004)for the cutting stock problem and Beasley et al. (2001) for the aircraft landing scheduling.

In this paper we propose a GA based on the separation of fitness (related to the objective func-

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3300

tion value) and unfitness (related to the constraint violation degree) scores. Each member of thepopulation has a pair of values (fitness, unfitness). We consider N products to be manufactured inthe same capacitated machine over a discrete planning horizon of T periods. Due to the sequence-dependency of setups in a product changeover, lot sizing and sequencing are simultaneously tackled.The objective is to find the strategy that satisfies demands without backlogging and minimizes bothsetup and holding costs. This problem is known as capacitated lotsizing with sequence dependentsetup times and costs (CLSP).

The solution representation includes only the production sequence (binary variables). The val-ues of the continuous variables are determined by a commercial solver. After the mutation andcrossover operators set the binary variables of new solutions, there is no guarantee that the corre-sponding linear sub-problem is feasible due to capacity constraints. We develop a new scheme thatuses a feasibility classification using nested domains to determine the solutions according to thelevel of infeasibility, which in our case represents bands of additional production hours (overtime).Within each band, individuals are just differentiated by their fitness function. As iterations are con-ducted, the widths of the bands are adjusted to guarantee the convergence of the individuals intothe feasible domain. A numerical experiment on highly capacitated instances, for which findingfeasible solutions is a very difficult task, shows the effectiveness of this procedure in guiding thesearch toward the feasible domain.

The paper is organized as follows. In Section 2, we present the model formulation of the capac-itated lotsizing with sequence dependent setup times and costs. The concept of nested domains, aswell as the solution representation, are reported in Section 3. The other components of our hybridGA are detailed in Section 4. Numerical experiments are given in Section 5. Finally, conclusionsdrawn from the experimental results are provided in Section 6.

2. Model for CLSP with Sequence-dependent SetupsWe consider a general single-stage model involving multiple items to be scheduled on a single

machine, in which stockouts are not allowed. The model size is defined by (N,T ) representing thenumber of products and the number of time periods, respectively. The index set (i, j, t) is definedas: i, j ∈ {1,2, . . . ,N} and t ∈ {1,2, . . . ,T}. In order to define the input data required by the model,let dit denote the demand of product i in period t, si j and ci j the time and cost incurred when asetup occurs from product i to product j, respectively, and hi the capacity-unit inventory carryingcost for product i. In addition, the processing time of one unit of product i is given by pi and theupper bound on the quantity of product i to be produced in period t by Mit = min

{Ctpi

,∑Tu=t diu

}. We

assume that the triangle inequality with respect to the setup cost and time holds, i.e., cik ≤ ci j + c jkand sik ≤ si j + s jk for all products i, j, and k, this implies that, it is not efficient to produce morethan one batch of the same product in a given period.

The output of the model are the continuous decision variables Xit , Iit , Vit and the binary variablesαit and Ti jt . Xit denotes the quantity of product i produced in the period t, Iit computes the stockof product i at the end of the period t and Vit ranks the production lot of product i in the periodt, assuring that the machine is set up for just one product on any given time. Finally, the setupcarryover variable αit equals 1 if the machine is set up for product i at the beginning of the periodt, while Ti jt equals 1 or 0 wether or not a setup occurs from product i to product j in period t. Themodel for CLSP with sequence-dependent setup costs and times, and setup carryover reads:

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3301

min∑i

∑j∑

tci j ·Ti jt +∑

i∑

thi · Iit (1)

Iit =Ii(t−1) +Xit −dit ∀i, t (2)

∑i

pi ·Xit +∑i

∑j

si j ·Ti jt ≤Ct ∀t (3)

Xit ≤Mit ·(

∑j

Tjit +αit

)∀i, t (4)

∑i

αit =1 ∀t (5)

αit +∑j

Tjit =αi(t+1) +∑j

Ti jt∀i, t (6)

Vit +N ·Ti jt − (N−1)−N ·αit ≤Vjt ∀i 6= j, j, t (7)

(Xit , Iit ,Vit)≥ 0,(αit ,Ti jt) ∈ {0,1}. (8)

The objective is to minimize the function (1), which is the sum of sequence-dependent setupcosts and holding cost. The constraints (2) ensure the demand supply in each period without back-logging and (3) ensures the the machine is used for no longer than its available capacity. Therequirements (4) guarantee that a product is produced only if the machine has been set up for it.The constraints (5) impose that the machine is set up for exactly one product at the beginning ofeach period. The constraints (6) ensure a balanced network flow of the machine configuration statesand carry the setup configuration state of the machine into the next period. The constraints (7) cutdisconnected subtours off, in the presence of one subtour, they force the machine to be set up at thebeginning of that period for one of the products belonging to the subtour (see Almada-Lobo et al.(2007)). Finally, the constraints (8) define the variables domain.

We note that powerful commercial solvers fail to solve even medium-sized instances of thisNP-hard problem, therefore we employ a novel hybrid GA to solve it.

3. Representation and fitness functionThe problem of minimizing f (λ ,X) : D ⊂ Γ×Rn → R such that D = ∪

λ∈Γ{λ}×Dλ is de-

composed in the standard way as min(λ ,X)∈D

{ f (λ ,X)}= minλ∈Γ

{minX∈Dλ

{ fλ (X)}} where fλ (X) = f (λ ,X).

Thus, one complex minimization problem is converted as combination of two more simpler mini-mization problems, and appropriate methods are chosen for internal and external minimizations. Inour problem, λ represents all binary setup-related variables and is controlled by the genetic algo-rithm due to its complex relationship with function f . For the minimization problem min

X∈Dλ{ fλ (X)},

only the continuous variables (production and inventory amounts) remain to be determined in Xand this is relatively simple to solve. Given a fixed set of λ , the remaining linear subproblem to besolved optimally with the available capacity, in each period t is:

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3302

zλ = min∑i

T

∑s=1

s−1

∑t=1

hi

pi·ξits + g(λ ) (9)

s

∑t=1

ξits = pi ·dit ∀i, t (10)

∑i

T

∑s=t

ξits ≤C′t ∀t (11)

ξits ≥ 0, (12)

where ξits defines the amount (in capacity units) of product i produced in period t to satisfy demandin period s, C′t = Ct −∑i, j si j ·T ?

i jt and g(λ ) a fixed setup-related cost (given by ∑i, j ci j ·T ?i jt). It is

well known that such transportation problem can be solved in polynomial time. In our work, it issolved using a state-of-the art commercial solver. The procedure has similarities with that proposedin Defersha and Chen (2008). For each λ , the value zλ = min

X∈Dλ{ fλ (X)} is used to classify λ in

the GA. The problem is the proper classification of the infeasible parameters λ , in other words,to establish if minX∈Dλ { fλ (X)} is infeasible. In this case, Dλ is empty and no suitable value isreturned to score λ . One possible strategy to overcome this issue is to construct a sequence ofnested domains Dλ = D0

λ ⊂ D1λ · · · ⊂ DK

λ and then try to minimize fλ : Dkλ → R. The infeasible

parameter λ is scored as lλ = l with l ≤ K, if l is the first index such that fλ : Dlλ → R yields a

solution. We set zλ = minX∈D

lλλ

{ fλ (X)} if lλ exists. Using lλ as the score of λ , we establish the order

of the parameters as the lexicographical order of the pair (lλ ,zλ ). Such scheme allows us to classifya significant amount of infeasible parameters that will be used in the genetic algorithm, providedthat the sequence of nested domains is defined in an appropriate manner.

3.1 (In) Feasibility classification using nested domainsIn our problem, the additional overtime over a given capacity is used to define the sequence of

nested domains. Let Dlλ = {X : gt(λ ,X)≤Ct +Ol} where gt(λ ,X) gives the capacity restriction of

problem in the period t and Ol the additional overtime. If Ol < Om ≤OK for l < m, then the domainsin sequence are nested. To guarantee that a significant amount of different sets λ are scored, we setthe last (maximum) overtime (denoted by W ) in such way that the lot-for-lot scheduling capacity isattended as follows:

W = maxt

{0;∑

idit +N ·max

i, jsi j−Ct

}.

Now, the appropriate values of the overtime need to be established in order to increase the powerof the GA to evolve good feasible solutions. Since the overtime is represented by a real number,we will work in one dimension. The unfitness axis (that takes values from 0 to W ), is divided intoa certain number K of bands. As the solution search progresses, we want to move infeasible λtowards the feasible region.

Instead of ranking the infeasible individuals according to a continuous overtime function, theindividuals belonging to the same “unfitness band” are not differentiated by the unfitness dimen-sion, but solely by the fitness values. The purpose of such approach is that the solutions that havesimilar infeasibility degrees are equal likely to generate children close to the feasibility domain,avoiding the greediness of the usual ranking of unfit solutions. The boundaries of each band k aredynamically adjusted throughout the search, in such a way that, excluding the feasible individualsof the population, the member with the best unfitness value is placed into the second band. Thisband is edged by goal limit and best limit. Only the first two bands may be of different

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3303

widths. The interval between the best limit and W is subdivided into k−2 bands with the samewidth, in order to classify the elements that are farther from the feasibility domain. At the end ofeach iteration, if a member of the current generation is classified in the first band, both the goallimit and best limit are updated, so that the member with the best unfitness value stays inthe second band. The best limit is set to goal limit and the new goal limit becomessmaller (see Figure 1). As iterations are done, the width of the first band (or the goal limit)

best limitgoal limit

best element

0 W

new best limit = goal limitnew goal limit

0 W

Figura 1: best/goal-limit-adjustment.

tends to zero, and infeasible solutions converge to the feasible domain. Naturally, the unfitness isonly zero if the solution is feasible. Clearly, the goal limit has to be adjusted in an effectiveway, so that the unfit individuals are able to reach the first band, and then to be transformed into fea-sible solutions. In other words, the nested domain boundaries are changed in order to promote thefeasibility movement direction. In order to increase performance, if no element becomes a memberof the first band during a fixed number of iterations, the goal limit is increased to reduce itsdistance from the best limit.

3.2 Solution RepresentationThe first step in designing a population-based algorithm is to devise a suitable representation

scheme. Consider a feasible solution for a given instance, where the machine is set up for product3 at the beginning of the planning period, i.e. α31 = 1. The machine is then set up in period 1 toproduct 1, followed by 2 and, finally, by product 3, forming a cycle. The last setup in period 1 isempty, since the idle time at the end of that period is used to set up for product 3, the first one tobe produced at the beginning of period 2, but no production of 3 occurs at the end of period 1. Inperiod 2, the solution entails the production sequence 3 → 1 → 4. The setup state of the machinefor product 4 is carried on from period 2 to period 3 and then, finally, there is a setup from product4 to 1. At the end of the planning horizon the machine is ready to produce product 1.

Each individual is decoded with T integers for initial setup (i0[t]) and T variable length integer-strings, each containing the production sequence of one planning period (sequence[t]). Therefore,the length of the each string varies from one up to N. Figure 2 depicts the individual representationof the solution presented before. This representation defines the λ presented previously. The pro-duction (and inventory) quantities are then determined by the remaining linear subproblem solveduntil optimality. As the individual may not be feasible, its infeasibility degree is measured throughthe unfitness band it belongs to. Note that at the end of the procedure, we may have individual thatdoes not belong to any of the nested domains.

4. Selection, Mutation and Crossover4.1 Parent Selection techniqueTwo individuals are compared according to the following rules: (a) between two feasible so-

lutions, the one having the better objective function value is preferred; (b) between two infeasible

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3304

ind.i0[1] 3 ind.sequence[1] 3 1 2

ind.i0[2] 3 ind.sequence[2] 3 1 4

ind.i0[3] 4 ind.sequence[3] 4 1

Figura 2: Individual representation example

solutions, the one belonging to the lower band is preferred, and in case both are in the same band,the one having a better objective function value is preferred; (c) a feasible solution is preferred overan infeasible one. The purpose of parent selection in a GA is to give more reproductive chances tothose populations members that are most fit.

4.2 Generating the initial populationThe first step in a GA is the generation of the initial population. Four different methods are

employed to generate the solutions of the first generation, trying to obtain a diversified representa-tion of the search space: (a) lot-for-lot pass followed by a random lot sequencing; (b) lot-for-lotpass followed by backward sequencing and amending procedures. The sequencing is the minmaxalgorithm detailed in Almada-Lobo et al. (2007), that places feasibility over optimality by tryingto minimize the sequence-dependent setup times; (c) lot-for-lot pass followed by a random lot se-quencing and by the amending procedure of the previous method; (d) all products are allocated tothe machine in the first period, and random products are assigned to it in the following periods; thelots are sequenced randomly.

Remark that the initial population does not have duplicates (identical solutions) in order topromote diversification. All its solutions satisfy the demand requirements. Thus, in case of infea-sibility, it is due to machine capacity violation. The implementation guarantees that at least oneindividual of the population is computed by heuristic (a). In other words, at the end of the first stepof GA, at least one individual belongs to the nested domain.

4.3 Crossover and Mutation operatorsCrossover operators play a very important role, since they are responsible for creating new so-

lutions, hopefully better than their parents, and in this way, to effectively search the solution space.Crossover should increase the average quality of the population. We implement four crossover op-erators. The first three are the standard one-point crossover, intersection and union crossover. Thelast operator starts with a T -point crossover operator working with segments of the two parents.C[t] := ind1.sequence[t] or C[t] := ind2.sequence[t] according to roulette with the same weight asthe union crossover. Except for the union crossover, we use repair algorithm to satisfy demand. Foreach period, add necessary item, if it is missing.

The role of the mutation operator is to provide a higher level of diversification, in order toguarantee that the whole solution space is searched. Besides the typical scramble, insertion, dis-placement and replacement, we develop and implement the following mutation operators:

(a) Setup carryover: looks for improvements and diversification in the links between adjacentperiods, by changing the initial state of the machine in a randomly selected period.

(b) Minmax feasibility: re-sequences every string according to the minmax random version ofthe algorithm detailed in Almada-Lobo et al. (2007), that tries to minimize the setup times.

(c) Minmax feasibility: similar to the above, but with static ones.(d) Minmax feasibility: period per period, using minmax part of the above random version.(e) Shifting Forward: tries to reduce the inventory holding costs by shifting forward a fraction

or an entire lot of every product from a source period to the following period. ( f ) Shifting Forward(and backward): tries to reduce the infeasibility by shifting forward or backward, a fraction or anentire lot of every product from a source period to the following period.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3305

After some operators are performed, repair algorithms might be necessary to keep the consis-tency of a production sequence.

With regard to the population replacement strategy, at each iteration we retain for the nextgeneration the best (fittest) #Elite individuals from the previous one, while the rest of the membersare replaced by the new individuals. The percentage of elitism, mutation and crossover are given byparameters. We used weighted roulette to select specific inicializer for each individuals on initialpopulation. For each iteraction, use same scheme to select specific mutation operator or specificcrossover operator to generate individuals of new population.

5. Computational ExperimentsWe test the three different nested domain strategies of our GA (variable band, fixed band and

no band) on the random data sets generated using the approach of Almada-Lobo et al. (2007), butonly considering highly capacitated scenarios, with a high variability of demand figures and setupcosts. It is our main driver to test instances for which finding a feasible solution is a hard task.Period Capacity is proportional to the total demand in that period as defined by the parameter Cut(Capacity Utilization per period), set to 0.9, as Ct = ∑i dit/Cut. Demand (dit) is selected basedon uniform distribution U [0,100] (coefficient of variation of 0.58), holding costs on U [2,10] andsetup times (si j) on U [5,10]. Setup costs are proportional to setup times as follows: ci j = 100 · si j.Processing time for one unit equals to one unit of time. We consider the following combinations ofnumber of products and number of periods to create different problem types: N = 20/T = 10, andN = 20/T = 15. In each case 10 different instances were generated.

The default parameter settings for all problems were population size equal to 100, mutation rateof 9, static crossover rate is set to 9, elitism rate to 3 and new individuals rate to 1. The total numberof overtime bands is set at five. On the mutation and crossover, all kind of operator are used withsame chance to be selected, but for initialization, we used weight 0.5, 2.0, 1.0, and 0.5 to determinethe choice between (a), (b), (c) and (d) for each individual.

Because GA is reliant on randomization, we ran it five different times on the same problem in-stance using different random number seeds. To evaluate the quality of heuristics, we use the lowerbound generation procedure described in Almada-Lobo et al. (2007). Computational experimentswere performed on a computer with a Pentium T7700 CPU running at 2.4 GHz with 2GB of ran-dom access memory. Parallel CPLEX 11.2 from ILOG was used as the mixed integer programmingsolver, while GA was coded in Visual C++ .NET 2005. The maximum time for the search overallis set at one hour.

Tables 1 and 2 summarize the computational results of the algorithms proposed for N = 20/T =10, and N = 20/T = 15, respectively. The first two columns refer to the nested domain strategy(dom.) and instance to be solved. The next columns present the feasible best solution obtained(b.so) on the 5 trials of the algorithm, the number of iterations and the running times that the GAtakes to first reach the final best solution (#it.b.so and t.b.sol, respectively), the relative gap (%)between the best solution and the lower bound, the worst solution (w.so), the average fitness of thebest feasible solution obtained in each run (av.so), the number of runs (#.runs out of five that wereable to find a feasible solution after one hour, the average number of iterations (#iter), the averagenumber of iterations to find the first feasible solution (#it.f.so), the average of the first feasiblesolution (#f.so) and the time average to find it (t.f.so). The instances are not reported here (e.g. inTable 1, the instance ex.10) when the algorithms were not able to generate any feasible solution.

CPLEX 11.2 is only able to find a feasible solution to the instance #1 of N = 20/T = 10 withinthe one hour time limit, with the fitness value of 81145. For all other nine cases, as well as for all theinstances of type N = 20/T = 15, it fails to do so. Clearly, these results show the superiority of thevariable band width strategy for finding feasible solutions. From the 50 trials on N = 20/T = 10,the algorithm with variable band width found feasible solutions in 40 of them, contrasting to 22 ofthe fixed band algorithm and 18 of the procedure without overtime bands. It is worth of note that

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3306

Tabela 1: Computational results for N = 20/T = 10dom. prob. b.so #it.b.so t.b.so gap() w.so av.so #runs #it. #it.f.so f.so t.f.so

ex1 86371 395 3309 9.9% 89155 87498 5 429 42 100791 371ex2 88631 344 3534 9.7% 90443 89601 5 386 4 103470 45ex3 89759 384 3375 10.4% 93479 91442 5 402 9 102682 90ex4 87495 413 3354 9.4% 90667 88905 5 420 9 104974 89

var.b. ex5 91792 373 3535 10.6% 93038 92390 3 355 143 102973 1492ex6 85558 353 3593 13.3% 99754 89502 5 423 156 100972 1060ex7 95600 389 3563 10.0% 97807 97143 4 399 107 103058 933ex8 90544 458 3604 12.8% 95067 92513 5 447 39 83930 306ex9 98806 426 3441 17.3% 100360 99765 3 447 207 102283 1584ex2 87900 400 3556 8.8% 102000 92027 4 466 203 102387 1495ex3 90285 457 3416 11.0% 92938 91843 5 473 3 102562 25ex4 87502 513 3586 9.4% 89946 88348 5 495 2 106862 14

fix.b. ex5 91347 366 3286 10.1% 91366 91357 2 407 155 109350 1318ex8 89778 522 3579 11.8% 94573 92433 5 524 29 101530 210ex9 98941 503 3518 17.4% 98941 98941 1 515 113 102740 757ex2 89941 726 3429 11.3% 89941 89941 1 767 154 99971 501ex3 88861 739 3577 9.3% 92668 91049 5 790 15 106522 36

no b. ex4 88764 741 3593 11.0% 90967 90448 5 709 15 106522 36ex8 89343 901 3556 11.3% 92492 90766 5 908 28 102410 59ex9 95153 782 3235 12.9% 97300 96227 2 1075 354 102125 610

the best solutions were generated near the time limit stoppage criteria. Regarding the quality ofthe solution, the variable band has beaten the other two procedures for over half of the instances,however the differences are quite small.

Tabela 2: Computational results for N = 20/T = 15Domain problem b.so #it.b.so t.b. gap() w.so av.so #runs #it. #it.f.so f.so t.f.so

ex1 137600 201 3613 18.5% 139630 137583 4 204 89 153050 1583ex2 142200 20 3605 18.8% 145170 141570 5 193 67 151952 1257ex3 131600 206 3587 15.0% 141400 137324 5 198 5 155316 102ex4 139120 205 3558 22.6% 143010 141508 5 206 7 153848 135

var.b. ex5 134300 197 3612 19.5% 137980 136184 5 196 23 156178 446ex6 143690 184 3435 24.3% 151280 146920 4 191 94 153755 1717ex7 138530 197 3600 19.4% 142420 140042 5 193 5 154928 110ex8 135650 197 3566 17.8% 142420 137468 5 197 7 158216 161ex9 139130 192 3568 22.8% 144550 142278 5 194 34 155054 645

ex10 141370 186 3592 26.1% 144370 143216 5 188 47 153218 903ex1 150680 253 3575 29.8% 150680 150680 1 255 206 156710 2836ex2 138230 222 3541 15.5% 143020 140625 2 221 22 159145 388ex3 146400 237 3557 27.9% 143750 114788 5 235 86 155548 1273

fix.b. ex4 140120 240 3472 23.5% 145810 142890 5 241 41 154242 601ex5 132750 229 3545 18.1% 137220 134773 3 231 36 156920 559ex7 140710 239 3570 21.2% 152950 147626 5 258 184 155398 2473ex8 134750 234 3578 17.0% 152950 134750 1 236 26 158880 430ex1 144250 703 3593 24.2% 144250 144250 1 704 584 155630 2396ex2 142370 35 3587 18.9% 142370 142370 1 352 58 155810 259

no b. ex3 132300 599 3558 15.6% 143930 112354 5 545 325 156138 1307ex4 136320 402 3581 20.1% 139330 138228 5 441 82 154328 339ex5 143800 722 3563 27.9% 143800 143800 1 726 607 158520 2336ex7 142500 501 3557 22.8% 137370 105125 4 485 228 155547 919

6. ConclusionIn this paper we propose a GA based on the separation of fitness (related to the objective func-

tion value) and unfitness (related to the constraint violation degree) scores to treat a capacitatedlotsizing and scheduling problem with sequence-dependent setup times and costs. We develop anew scheme that relies on the feasibility classification using dynamic adjustable nested domainsaccording to the level of infeasibility. A numerical experiment on highly capacitated instances, forwhich finding feasible solutions is a very difficult task, shows the effectiveness of this procedure inguiding the search toward the feasible domain.

Acknowledgements: This research was partially funded by the FAPESP and CNPq, Brazil.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3307

Referencias

Almada-Lobo, B., Klabjan, D., Carravilla, M. e Oliveira, J. F., (2007), Single machine multi-product capacitated lot sizing with sequence-dependent setups. International Journal of Produc-tion Research 45, 4873–4894.

Beasley, J., (2004), A population heuristic for constrained two-dimensional non-guillotine cutting.European Journal of Operational Research 156, 601–627.

Beasley, J. E. e Sonander, J. e Havelock, P., (2001), Scheduling aircraft landings at londonheathrow using a population heuristic. Journal of the Operational Research Society 52, 483–493.

Chu, P. C. e Beasley, J. E., (1998), Constraint handling in genetic algorithms: The set partitioningproblem. Journal of Heuristics 11, 323–357.

Deb, K., (2000), An efficient constrained handling method for genetic algorithms. Comput. Meth-ods Appl. Mech. Engrg. 186, 311–338.

Defersha, F. M. e Chen, M., (2008), A linear programming embedded genetic algorithm for anintegrated cell formation and lot sizing considering product quality. European Journal of Opera-tional Research 187, 46–69.

Holland, J. H., (1975), Adaptation in natural and Artificial Systems: An Introductory Analisyswith Applications to Biology, Control, and Artificial Inteligence. University of Michigan Press.

Kimbrough, S. O., Koehler, G. J. e Lu, M. e Wood, D. H., (2008), On a feasible-infeasible two-population (fi-2pop) genetic algorithm for constrained optimization: Distance tracing and no freelunch. European Journal of Operational Research 19, 310–327.

Michalewicz, Z., (1995), A Survery of constraint Handling Tecniques in Evolutionary Computa-tion methods, Proc. of the 4th Annual conference on Evolutionary Programming, ,. MIT Press,Cambridge, MA.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3308