Escolar Documentos
Profissional Documentos
Cultura Documentos
, no qual cada
componente
.
Christofides e Whitlock (1977) tambm desenvolveram um mtodo de rvore
de busca que encontra a soluo exata para o problema, no qual utilizaram os
resultados de Gilmore e Gomory (1966) e uma rotina baseada no problema clssico
de transporte para determinar limitantes superiores para os ns durante a busca. No
entanto, este algoritmo falha quando se tem uma demanda com mais que vinte
elementos (FRITSCH, 1995).
Beasley (1985) tratou do problema atravs de programao dinmica
utilizando tambm os pontos de discretizao de Herz. Criou uma frmula recursiva,
alcanando resultados timos para as instncias testadas. Seja o problema em que
se deseja cortar, a partir de um objeto de dimenses (largura e altura), tipos
de itens com dimenses
(1)
o valor de um item mais valioso que cabe no objeto, sendo
- e
,
, com e
, onde e representam a quantidade de pontos de discretizao para a
largura e altura, respectivamente, e sendo que indica a direo do
primeiro corte guilhotinado a ser realizado (vertical ou horizontal), e a
posio em que deve ser feito o corte, no eixo ou no eixo , dependendo da
orientao do corte. Quando nenhum corte puder ser feito na placa,
, e indica qual item deve ser alocado nela. Ao final do
procedimento, a soluo tima dada por .
29
Entrada: Uma instncia , onde , e
Sada: Uma soluo tima de .
Calcule
} )
({
} )
Para at
Para at
(
)
Para at
Se
)
Para at
(
)
Se
FIGURA 7 ALGORITMO PCGV
2
PD
FONTE: CINTRA (2004)
2.2.1.2 Construes
Wang (1982) props um mtodo combinatrio que gera padres de corte
restritos, atravs de sucessivas combinaes verticais e horizontais de semi-
solues j geradas. As novas semi-solues so aceitas se no excederem as
dimenses do objeto quando sobrepostas ao mesmo, ou uma perda mxima
tolervel estabelecida no incio do processo (), relativa rea do objeto. A autora
define ainda em seus algoritmos um limite para o erro, que mensura o quanto sua
soluo se aproxima da soluo tima. Deste modo, possvel determinar as
condies de otimalidade para aplicao do algoritmo.
30
Melhorias para o algoritmo de Wang foram propostas por Vasko (1988),
Oliveira e Ferreira (1990), e Daza et al. (1995). Os ltimos propuseram a soluo do
problema de corte bidimensional restrito atravs da associao do algoritmo de
Wang a um grafo E/Ou, obtendo resultados melhores com menor esforo
computacional quando da comparao de seu desempenho aos mtodos de Wang
(1982) e Oliveira e Ferreira (1990).
Amaral e Wright (2001) tambm utilizaram a construo de semi-solues
proposta por Wang, porm fizeram uma considerao simples, no entanto relevante,
acerca da eliminao prvia de elementos que no auxiliariam na formao da
soluo tima, no caso da rotao permitida de itens. Para tal, mostraram que
combinaes verticais e horizontais simultneas, aliadas rotao dos itens, so
operaes redundantes. Com isto, conseguiram reduzir consideravelmente a
quantidade de semi-solues a fazer parte da iterao subseqente.
2.2.2 Mtodos Heursticos
Morabito (1995) estudou duas heursticas para o problema do corte
bidimensional guilhotinado, utilizando a representao em um grafo e/ou, no qual o
n inicial representa o objeto, enquanto os arcos representam os cortes
guilhotinados, resultando em dois outros ns, que sero ns finais se nenhum outro
corte puder ser feito neles.
Fritsch e Vornberger (1995) apresentaram um procedimento para anlise do
melhor encaixe entre dois itens, criando o conceito de rvore Fatiada. Para a
soluo do problema, utilizaram uma heurstica fundamentada no algoritmo do
Matching de Peso Mximo.
Christofides e Hadjiconstantinou (1995) estabeleceram um estudo para o
problema de corte guilhotinado de itens retangulares, no qual utilizam um algoritmo
de busca em rvore, com limitantes derivados de uma relaxao do espao de
estados de uma formulao de Programao Dinmica, e tambm aplicaram um
procedimento usando otimizao do subgradiente.
31
2.2.2.1 Heursticas para o corte em dois estgios
Procedimentos de encaixe foram desenvolvidos inicialmente para solucionar
o Problema de Dimenso Aberta (ODP). Entretanto, possvel utiliz-los para a
gerao de um padro de corte bidimensional, apenas considerando a limitao na
altura do objeto ao criar as faixas ou nveis de encaixe. Temponi (2007) sintetiza trs
destes procedimentos, que sero mencionados a seguir. A FIGURA 8 ilustra o
resultado final de cada um deles. A partir do desenho, possvel observar a
diferena de funcionamento e eficcia de cada abordagem.
a) Next Fit: A heurstica Next Fit o procedimento mais bsico de encaixe de
itens. Nela, os itens so colocados em uma lista. O primeiro item
posicionado no canto inferior esquerdo do objeto, e os prximos itens so
inseridos atravs de um processo iterativo, ao lado direito do ltimo objeto
alocado, at que a largura restante do objeto se torne insuficiente para
acomodar o prximo item. Quando isto ocorre, cria-se uma faixa, da altura do
maior item presente nela, e cria-se um novo nvel acima do existente, onde se
passa a alocar os itens remanescentes na lista, da mesma forma como tem
sido feito at agora: justificando-os esquerda. O procedimento repetido
at que nenhum outro nvel possa ser criado.Uma variao deste mtodo
consiste em ordenar a lista de itens de ordem decrescente de altura: o Next
Fit Decreasing Height (NFDH).
b) First Fit: Neste algoritmo, procura-se alocar o item da lista no primeiro nvel
que o acomode. Um novo nvel somente ser criado se nenhum dos
existentes comportar o item a ser posicionado. Assim como a anterior, esta
tcnica tambm possui a variao de assumir que a lista esteja ordenada em
ordem decrescente de altura, caracterizando o First Fit Decreasing Height
(FFDH).
c) Best Fit: Na heurstica Best Fit, o item alocado no nvel existente que
apresente o melhor cenrio de encaixe para sua insero. A qualidade de um
possvel encaixe pode ser avaliada pelo resduo horizontal da faixa ou pela
relao entre a rea no ocupada da faixa e a rea do item, traduzindo qual
faixa apresenta melhor benefcio pela recepo do item em relao s
demais. Como nos outros mtodos, um novo nvel criado quando o item no
32
pode ser alocado em nenhum dos nveis j existentes. Quando o processo se
inicia com a lista ordenada em relao decrescente de altura, temos o Best Fit
Decreasing Height (BFDH).
5 6
3 4 3 3 4
5
1 2 1 2 1 2
4
6 5 6
NFDH FFDH BFDH
FIGURA 8 TCNICAS DE ENCAIXE PARA O CORTE EM DOIS ESTGIOS
FONTE: LODI (2002)
2.2.3 Mtodos Meta-heursticos
Uma meta-heurstica um mtodo aproximativo, ou heurstico, para
solucionar de forma genrica problemas de otimizao. Em geral, as meta-
heursticas apresentam boas solues, em tempo de soluo consideravelmente
reduzido em relao aos mtodos exatos, e por isso tm sido amplamente aplicadas
a problemas de otimizao combinatria np-completos, nos quais incluem-se os
problemas de corte e empacotamento. Diferentes abordagens, utilizando meta-
heursticas distintas, alcanaram bons resultados, utilizando tempo computacional
reduzido em relao aos mtodos exatos.
Hopper e Turton (2001) compilaram os estudos acerca da utilizao de
meta-heursticas para a soluo do problema de corte bidimensional. Destacam-se,
neste sentido, os Algoritmos Genticos, Busca Tabu, Simulated Annealing e
GRASP, tanto para problemas regulares quanto irregulares.
Em geral, as meta-heursticas so combinadas com alguma tcnica de
encaixe para obter padres de corte factveis e assim a soluo para o problema,
caracterizando um mtodo para soluo em dois estgios.
33
2.2.3.1 Algoritmos Genticos
Uma das primeiras aplicaes de meta-heursticas para a gerao de
padres de corte bidimensionais foi realizada por Smith (1985), que implementou
algoritmos genticos para a soluo de problemas de corte com orientao fixa dos
itens, aliando-os a duas diferentes heursticas para encaixe das peas.
Rahmani (1995) abordou o problema de corte bi-dimensional de uma forma
evolucionria, utilizando Algoritmos Genticos combinados com uma codificao em
rvore binria. O autor considera que, neste caso, o fator determinante para o
sucesso da utilizao dos mesmos a forma de codificao do espao de busca, os
parmetros, operadores genticos e funo de avaliao utilizados.
2.2.3.2 Busca Tabu
Lodi et al. (1999) apresentaram um algoritmo de Busca Tabu para o
problema do Bin Packing Bidimensional com restrio de layout guilhotinado e
orientao fixa dos itens. No mtodo desenvolvido, uma soluo inicial gerada por
um mtodo heurstico simples, e ento melhorada pela Busca Tabu. O esquema de
busca e vizinhana empregados permitem a extenso do uso do algoritmo para
problemas de maiores dimenses, pois o que depende do escopo do problema
original a ser resolvido somente a heurstica construtiva, utilizada para gerar uma
soluo inicial factvel e para recombinar os itens a cada movimento executado no
algoritmo.
Alvarez-Valdes et al. (2002) apresentam em seu trabalho uma anlise do
mtodo de gerao de colunas proposto por Gilmore e Gomory (1961). Os autores
propuseram uma metodologia alternativa para o sub-problema da gerao de
padres, baseada na meta-heurstica Busca Tabu, que tambm foi utilizada por Toro
O et al. (2007) para resolver o problema, atravs da codificao em rvore.
A cada iterao, a metodologia de Valdes avalia todos os movimentos
possveis de um determinado item, considerando sua vizinhana como os itens que
compartilhem com ele ao menos um vrtice. Esta avaliao realizada atravs de
34
uma sub-rotina que utiliza a meta-heurstica GRASP que, por sua vez, executa um
algoritmo construtivo para a formao do padro, a fim de escolher o melhor
movimento a ser realizado.
2.2.3.3 Simulated Annealing
Poucos so os trabalhos encontrados na literatura que utilizam a meta-
heurstica Simulated Annealing para problemas de corte e empacotamento.
Dowsland (1993) aplicou esta metodologia a um problema de carregamento de
estrados para movimentao de cargas (paletes), focando-se no caso de itens
idnticos e estendendo a abordagem a itens heterogneos. Utilizou o conceito de
vizinhana, definindo-a como o conjunto de novas solues obtidas pela mudana
de posio de algum dos itens. Os resultados foram capazes de gerar apenas
solues prximas das solues timas, para todos os casos testados.
Faina (1990) tambm estudou a aplicao de Simulated Annealing a este
tipo de problema. Sua codificao representa a ordem de empacotamento dos itens,
que realizado por heursticas de encaixe.
2.2.3.4 GRASP
Barros (2004) props um algoritmo GRASP para o problema em dois
estgios, utilizando a estratgia de resoluo atravs da construo de faixas. A
cada soluo construda por um mtodo guloso, aplica-se um procedimento de
busca local para tentar melhorar a soluo obtida.
Temponi (2007) tambm abordou o problema em dois estgios atravs de
uma meta-heurstica GRASP aliada a um mtodo de busca local. Inicialmente, um
algoritmo parcialmente guloso gera uma soluo inicial, onde o primeiro item de
cada faixa escolhido aleatoriamente entre os itens que apresentam demanda no-
nula, e em seguida so inseridos os itens que minimizem a diferena de
comprimento entre eles e o primeiro item da faixa. Em seguida, realiza-se a busca
35
local atravs do Mtodo da Descida Randmico, gerando uma soluo vizinha que,
se apresentar funo de avaliao melhor que a melhor soluo encontrada, passa
a ser a melhor soluo. Este procedimento se repete at que seja executado um
nmero mximo de iteraes, previamente estabelecido, em que no ocorra
melhoria da soluo.
2.3 ALGORITMOS GENTICOS
Os Algoritmos Genticos podem ser considerados uma meta-heurstica
evolutiva inspirada na Biologia. Baseados nos fundamentos da teoria da seleo
natural de Darwin, defendem a superioridade dos indivduos mais adaptados. Para
isso, simulam iterativamente os processos naturais de sobrevivncia e reproduo
de populaes, tornando-se uma difundida ferramenta de inteligncia computacional.
A teoria da evoluo diz que, na natureza, todos os indivduos de um
ecossistema competem entre sim por recursos limitados, como gua e comida.
Aqueles, dentro de uma espcie, que no obtiverem xito, tendem a no sobreviver
ou ter sua prole menor em virtude de suas limitaes, o que faz com que exista uma
dificuldade na propagao de sua herana gentica ao longo das geraes. Por
outro lado, os indivduos que obtiverem xito, tm maior chance de produzir
descendentes capazes de sobrevier num horizonte em que h limitao de recursos.
A determinao de aptido, isto , o sucesso de um indivduo em se adaptar
s limitaes do meio e a forma como isto ocorre, caracteriza um evento
completamente aleatrio. No existe padro de ocorrncia para a seleo natural e,
inclusive, para as mudanas no ambiente que causam a competio ou a
necessidade de adaptao. Deste modo, a seleo natural se apresenta como um
conceito puramente probabilstico, fazendo com que os Algoritmos Genticos se
comportem da mesma forma.
A inspirao na natureza para buscar solues para problemas com difcil
resoluo computacional se iniciou no incio da dcada de 1940. A partir de ento,
deu-se incio ao que conhecemos hoje por inteligncia computacional. Estratgias
com operaes evolucionrias foram elaboradas e tinham por base a perturbao
36
das solues, atravs de operadores que foram os precursores dos que se utilizam
atualmente (LINDEN, 2008).
A sistematizao e o estudo formal dos Algoritmos Genticos deve-se a
John Holland, que publicou em 1975 o livro Adaptation in Natural and Artificial
Systems no qual faz um estudo sobre os processos evolutivos e apresenta os
Algoritmos Genticos como uma metfora dos mesmos, possibilitando o estudo do
comportamento dos sistemas naturais atravs de simulaes computacionais. No
entanto, os cientistas da poca utilizaram as idias de Holland de forma muito mais
abrangente, tornando os Algoritmos Genticos uma importante ferramenta de
inteligncia computacional.
37
3 MATERIAIS E MTODOS
Nesta seo apresenta-se inicialmente a formulao do problema a ser
resolvido. Posteriormente, descreve-se a estratgia para a resoluo do problema,
detalhando-se minuciosamente cada etapa do mtodo proposto.
3.1 O PROBLEMA DE GERAO DE PADRES DE CORTE BIDIMENSIONAIS
O problema de se encontrar um padro de corte bidimensional pode ser
enquadrado, segundo a tipologia de Washer (2007), em trs diferentes classes de
problemas, dependendo do sortimento dos itens a serem cortados:
a) Problema de Empacotamento de Itens Idnticos Bidimensional (2-IIPP),
quando os itens so idnticos;
b) Problema da Alocao em um nico Objeto Bidimensional (2-SLOPP),
quando os itens so fracamente heterogneos; ou
c) Problema da Mochila nica Bidimensional (2-SKP), quando os itens so
fortemente heterogneos.
O problema a ser tratado neste trabalho formulado como um Problema da
Mochila nica Bidimensional com itens regulares (2-regular-SKP), e consiste em
determinar a melhor maneira de se cortar objetos maiores, de dimenses ,
onde e denotam o comprimento e a largura, respectivamente, de modo a obter
um conjunto
e
demanda
Sujeito a:
e inteiro, para
(3)
Deve-se ainda considerar ser possvel alocar os itens no objeto de forma
que as dimenses deste no sejam excedidas e que o corte seja possvel do ponto
de vista operacional.
A soluo final de um problema de corte e empacotamento deve contemplar,
portanto, a seleo de itens e objetos, o agrupamento dos itens e a subseqente
designao dos grupos de itens para os objetos e, por fim, o arranjo do grupo de
itens nos objetos, respeitando-se as restries geomtricas j mencionadas.
3.2 ESTRATGIA DE RESOLUO
Para encontrar o melhor padro de corte, ou seja, obter o conjunto de itens
que maximize o aproveitamento do objeto, o problema foi resolvido atravs de uma
metodologia em dois estgios. Primeiramente, a fim de encontrar a melhor
combinao de itens a ser alocada no objeto, utilizou-se um algoritmo gentico para
agrupar os itens a formar um padro de corte. No segundo estgio, aplicou-se uma
tcnica de encaixe aos itens agrupados na primeira etapa, a fim de determinar qual
dos subconjuntos de itens constitui efetivamente um padro de corte e o arranjo
geomtrico que o factibiliza.
39
Considerou-se neste estudo a gerao de padres de corte no-estagiados
e em dois estgios. Para cada um destes casos, considerou-se ainda a permisso
de rotao dos itens. Deste modo, ao todo foram avaliados quatro tipos de padro
de corte, sendo que os cortes no-estagiados e em dois estgios receberam
tcnicas de encaixe distintas.
Os dados de entrada para o algoritmo compreendem a altura e o
comprimento do objeto, a quantidade de tipos de itens e as informaes
relacionadas a cada um deles, altura
, comprimento
e demanda
, para
.
3.2.1 Etapa 1: Algoritmo Gentico
Os Algoritmos Genticos pertencem classe dos algoritmos evolucionrios,
cujo princpio bsico o conceito de simulao da evoluo das espcies atravs
de seleo, mutao e reproduo, processos estes que dependem do
desempenho dos indivduos desta espcie dentro do ambiente (LINDEN, 2008, p.
40).
Deste modo, o algoritmo mantm uma populao de indivduos, em que
cada um destes codifica uma soluo para o problema. A qualidade de cada um dos
indivduos mensurada atravs de uma funo de avaliao, tambm denominada
fitness. Com base nesta avaliao, so aplicados aos indivduos os chamados
operadores genticos, os quais sero apresentados com maiores detalhes na
seqncia do texto. Todo este processo feito de modo a simular a sobrevivncia e
reproduo do mais apto.
Como os Algoritmos Genticos so inspirados nos conceitos da gentica e
da seleo natural, existe uma analogia entre os termos biolgicos destas reas e os
que so utilizados no algoritmo. A seguir so descritos alguns importantes termos
que utilizaremos com freqncia no decorrer do texto:
Cromossomo: Um cromossomo a representao de uma soluo, que
possui todas as suas caractersticas genticas. Em geral, os algoritmos
concebem o cromossomo como um vetor.
40
Gene: Cada gene representa uma caracterstica gentica do cromossomo.
Desta forma, cada cromossomo formado por um conjunto de genes. No
caso de um vetor, cada posio corresponde a um gene.
Alelo: Os alelos so as possveis atribuies que um gene pode assumir.
Fitness: O fitness, tambm chamado de funo de avaliao, mensura a
qualidade de cada soluo da populao. Com base nesta funo, realizada
a seleo para aplicao dos operadores genticos, garantindo a
sobrevivncia dos melhores indivduos.
A escolha adequada da forma de codificao das solues, assim como da
funo de avaliao que ser utilizada, so os fatores mais importantes, aliados
escolha dos parmetros iniciais, para que se tenha um algoritmo gentico eficaz.
Partindo destas primeiras observaes, Linden (2008) descreve o
funcionamento bsico de um Algoritmo Gentico com o seguinte esquema:
1. Crie uma populao inicial;
2. Avalie cada cromossomo da populao;
3. Selecione os pais para gerar novos cromossomos;
4. Aplique os operadores genticos a estes pais, de modo a gerar os indivduos
da nova gerao;
5. Avalie todos os novos cromossomos e insira-os na populao, removendo os
piores indivduos da populao anterior;
6. Se algum critrio de parada foi atingido, retorne o melhor cromossomo;
seno, volte para o passo 3.
A ilustrao deste esquema apresentada na FIGURA 9, e cada uma das
etapas detalhada na seqncia.
41
Criar populao
Inicial
Avaliar fitness
dos indivduos
Retornar o melhor S Critrio de
Indivduo parada atingido?
N
Seleo
Operadores genticos
Nova populao
FIGURA 9 FLUXOGRAMA DO FUNCIONAMENTO DE UM ALGORITMO GENTICO
FONTE: A autora (2011)
A gerao da populao inicial, na maioria dos trabalhos desta rea, feita
de forma simples, atravs de uma escolha aleatria independente para cada
indivduo. A codificao dos cromossomos depende do tipo de problema tratado e
da estrutura de soluo desejada. No entanto, os valores dos genes so, em geral,
obtidos atravs de um procedimento de gerao de nmeros aleatrios, baseada em
uma distribuio uniforme, numa faixa previamente estabelecida de acordo com a
natureza do problema, garantindo a cobertura de todo o espao de busca e tambm
a diversidade da populao.
O tamanho da populao inicial deve ser escolhido de acordo com o tipo de
problema estudado. Populaes muito pequenas podem acarretar a perda da
diversidade gentica dos indivduos e com isso a convergncia para um timo local.
Por outro lado, nas populaes muito grandes pode ocorrer baixa eficincia
computacional, pela demora durante a avaliao de todos os indivduos.
A etapa subseqente envolve a avaliao dos indivduos. A funo de
avaliao a maneira utilizada pelos Algoritmos Genticos para determinar a
42
qualidade de um indivduo como soluo do problema em questo (LINDEN, 2008,
p. 65).
O valor da funo de avaliao, ou fitness, de um indivduo , denotado por
, determinante para a escolha dos indivduos no mdulo de seleo dos pais, que
sofrero a atuao dos operadores genticos. Por este motivo, deve refletir o
objetivo a ser alcanado e levar em conta todas as especificidades conhecidas do
problema.
O mecanismo de seleo escolhe os indivduos aos quais sero aplicados
os operadores genticos para formar a gerao subseqente. Existem diferentes
formas de seleo e importante que o mtodo escolhido simule o processo de
seleo natural, privilegiando os indivduos que apresentam maior valor de aptido e
penalizando os menos aptos, porm sem desprez-los completamente, pois existe
uma probabilidade, embora muito reduzida, de que produzam bons descendentes.
As formas mais comuns de seleo so o mtodo da roleta, torneio e
ranking, descritos a seguir.
a) Mtodo da Roleta
O mtodo da roleta emprega a seleo proporcional qualidade do
indivduo, isto , sua funo de avaliao. Primeiramente, determina-se a
probabilidade de seleo de cada indivduo , dada pela frmula (4), em que
o
fitness do indivduo .
(4)
Desta forma, cada indivduo recebe uma poro da roleta, que ento
rodada a fim de selecionar os pais. claro que a idia da roleta envolve um
conceito abstrato. Durante a implementao do mtodo, cria-se uma lista ordenada
de forma decrescente das probabilidades acumuladas de cada indivduo, e sorteia-
se um nmero aleatrio entre 0 e 1, que indicar na lista das probabilidades qual o
indivduo escolhido.
b) Mtodo do Torneio
Neste mtodo, selecionam-se aleatoriamente indivduos da populao,
formando uma sub-populao temporria. Deste conjunto, escolhe-se o indivduo
que apresentar melhor fitness.
43
c) Mtodo do Ranking
De forma similar ao Mtodo da Roleta, cada indivduo recebe uma
probabilidade de ser escolhido, porm de acordo com sua posio numa lista
ordenada de acordo com o fitness.
Portanto, cria-se uma lista ordenada de forma decrescente dos itens, em
relao qualidade de sua funo de avaliao. O indivduo menos adaptado
recebe valor 1, enquanto o indivduo mais adaptado recebe valor igual ao nmero de
indivduos, ou seja, ao tamanho da populao. Esta lista chamada de ranking, e a
probabilidade de seleo calculada em relao ao valor que o indivduo recebeu
na ordenao.
Aos indivduos selecionados, aplicam-se os operadores genticos,
responsveis pelas modificaes na populao e, conseqentemente, pela
convergncia do algoritmo. Existem diversos operadores genticos e variaes dos
mesmos, que diferem principalmente em virtude do tipo de codificao escolhido,
visto que atuam diretamente sobre os cromossomos. Os mais utilizados so os
operadores de reproduo, cruzamento e mutao. Cada operador possui uma taxa
de ocorrncia, definida pelo pesquisador. A seguir, so descritos os principais
operadores genticos.
a) Reproduo
No operador de reproduo, como o prprio nome diz, o indivduo
selecionado na populao atual reproduzido, ou seja, copiado para a prxima
gerao, sem nenhuma alterao em sua estrutura.
b) Cruzamento
O operador de cruzamento (crossover), caracteriza o operador gentico mais
popular e mais utilizado. Atravs dele, os pais selecionados trocam informaes
genticas para a composio dos novos indivduos, chamados de filhos.
Aps selecionados os pais, sorteia-se um ponto de corte para a realizao
do cruzamento, sendo que um ponto de corte constitui uma posio entre dois genes
de um cromossomo (LINDEN, 2008), e assim um cromossomo com genes possui
pontos de corte.
44
Na etapa seguinte, separa-se o contedo dos cromossomos pais em duas
partes: uma esquerda e outra direita do ponto de corte. O primeiro filho ser
composto pela concatenao da primeira parte do primeiro pai e da segunda parte
do segundo pai, enquanto o segundo filho ser formado pela primeira parte do
segundo pai e a segunda parte do primeiro pai. Esta operao chamada de
cruzamento de um ponto, pois utiliza apenas um ponto de corte (FIGURA 10).
Pai1 Filho1
Pai2 Filho2
FIGURA 10 CRUZAMENTO DE UM PONTO
FONTE: A autora (2011)
Se forem escolhidos dois pontos de corte, tem-se o cruzamento de dois
pontos, no qual a troca de material gentico ocorre entre os pontos de cruzamento
(FIGURA 11).
Pai1 Filho1
Pai2 Filho2
FIGURA 11 CRUZAMENTO DE DOIS PONTOS
FONTE: A autora (2011)
c) Mutao
O operador de mutao altera o valor de um gene do cromossomo. Em
geral, utiliza-se uma baixa taxa de probabilidade de ocorrncia de mutao,
freqentemente entre 5% e 10%, para que o processo no se torne uma busca
aleatria. O procedimento executado pelo operador de mutao realizado como
segue.
Sorteia-se um nmero aleatrio entre 0 e 1. Se este nmero for menor que a
taxa de mutao previamente definida, altera-se o valor do gene dentre os possveis
45
valores que ele pode assumir. Este procedimento repetido para todos os genes do
cromossomo.
O operador de mutao tem papel importante durante a execuo do
Algoritmo Gentico. Ele garante a diversidade da populao na medida em que
ocorrem os cruzamentos, pois exploram globalmente o espao de busca e
possibilitam a recuperao de material gentico de boa qualidade que possa ter sido
perdido durante as sucessivas recombinaes e avaliaes. Por outro lado, Linden
(2008) refora que a taxa de mutao deve ser fixada num valor baixo, caso
contrrio o Algoritmo Gentico se aproximar das tcnicas de busca aleatria,
desprezando sua principal caracterstica evolucionria.
Como se trata de um mtodo iterativo, os Algoritmos Genticos necessitam
de um critrio de parada para a finalizao do processo. Os critrios de parada mais
utilizados so o nmero mximo de iteraes e o incremento na qualidade da
soluo. Se as novas solues encontradas a cada gerao no apresentam
melhora significativa em relao gerao anterior, finaliza-se o algoritmo e retorna-
se a melhor soluo encontrada.
Nos Algoritmos Genticos convencionais, os operadores genticos so
efetuados de modo que toda a populao substituda a cada gerao. Numa outra
estratgia, chamada Steady State, faz-se o contrrio: cria-se os filhos um a um, ou
dois a dois, por ser mais conveniente para o operador de cruzamento, e substitui-se
os piores indivduos da populao por estes novos indivduos (LINDEN, 2008).
Em geral, ao se utilizar o Algoritmo Gentico Steady State, perde-se a
essncia do conceito de gerao, pois indivduos muito velhos podem permanecer
na populao, coexistir e at mesmo se reproduzir com indivduos novos ou mesmo
recm criados que, por sua vez, podem desaparecer rapidamente se no
apresentarem boa funo de avaliao. Entretanto, esta estratgia de controle da
populao permite a dominao dos melhores cromossomos e uma convergncia
mais rpida do algoritmo.
No mtodo proposto neste trabalho, o objetivo da aplicao do algoritmo
gentico foi selecionar itens e agrup-los, a fim de que os mesmos constituam um
padro de corte depois de aplicada a heurstica de encaixe designada para cada
tratamento do problema.
46
Os Algoritmos Genticos so considerados tcnicas probabilsticas que
fazem uso da gerao de nmeros aleatrios durante sua execuo. Neste estudo,
foi considerada a gerao de nmeros aleatrios segundo a distribuio de
probabilidade uniforme num intervalo . Estes nmeros sero denotados por
.
Um importante fator na implementao de um Algoritmo Gentico a
definio da estrutura e codificao dos cromossomos e o mtodo de avaliao dos
mesmos. Neste trabalho, denota-se um padro de corte por um vetor
(5)
Deve-se observar que a aptido de cada indivduo obtida considerando-se
apenas a rea ocupada, e no avalia se existe a possibilidade de arranjo dos itens
sobre o objeto, o que ser atribuio das heursticas de encaixe.
Se a soma das reas dos itens exceder a rea do objeto, o padro de corte
declarado infactvel e no chega a ser includo na populao que, em todas as
etapas do procedimento, permite somente cromossomos factveis.
O Algoritmo Gentico utilizado neste trabalho foi o AG Steady State, criando-
se dois novos indivduos a cada iterao, que so gerados pelo operador de
cruzamento.
A seguir, apresentam-se os parmetros utilizados neste trabalho, e tambm
os detalhes da execuo do Algoritmo Gentico proposto.
3.2.1.1 Parmetros Utilizados
Os parmetros do Algoritmo Gentico utilizados no trabalho esto resumidos
no QUADRO 3.
47
Tamanho da Populao Inicial 200
Taxas de ocorrncia dos
operadores genticos
Cruzamento 0,8
Mutao 0,2
Critrios de Parada
Nmero mximo de
iteraes
100
Nmero mximo de
iteraes sem melhoria
no fitness dos indivduos
50
QUADRO 3 PARMETROS UTILIZADOS
FONTE: A autora (2011)
O tamanho da populao foi fixado em 200 indivduos, o que possibilita uma
grande diversidade na mesma. Isto uma caracterstica essencial para a eficincia
do algoritmo, pois nem todos os cromossomos sero considerados factveis na
etapa de encaixe.
As taxas dos operadores genticos foram mantidas em 80% para o operador
de cruzamento, e 20% para o operador de mutao, o que evita que a populao
perca a diversidade.
Foram considerados no trabalho dois diferentes critrios de parada: um
nmero mximo de iteraes, fixado em 100; e um nmero mximo de iteraes
sem a ocorrncia da insero dos filhos na populao, fixado em 50, isto , quando
os operadores genticos no mais produzirem solues melhores que as existentes
durante 50 iteraes.
3.2.1.2 Execuo do Algoritmo
Primeiramente, gerou-se aleatoriamente uma populao inicial de indivduos
factveis, utilizando-se a gerao de nmeros aleatrios seguindo uma distribuio
uniforme.
A gerao da populao inicial foi feita da seguinte forma: para obter um
indivduo, optou-se por gerar um nmero aleatrio para cada posio do vetor que o
representa. O limite superior para cada posio o valor mnimo entre a demanda
correspondente ao item da referida posio e quantidade que o objeto comporta
deste item, segundo o critrio de rea.
48
Um exemplo de um indivduo pode ser visto no cromossomo A=(3, 5, 0, 2),
que indica que o padro A possui 3 itens do tipo 1, 5 itens do tipo 2, nenhum item do
tipo 3 e 2 itens do tipo 4.
Ao fim da gerao de cada cromossomo, avaliava-se sua factibilidade em
relao ao critrio unidimensional de rea: se o mesmo fosse considerado factvel, o
cromossomo era inserido na populao; caso contrrio, o processo era repetido e
um novo indivduo era completamente gerado.
No entanto, como utilizada a gerao aleatria uniformemente distribuda,
observou-se que, nos problemas em que as dimenses dos itens so
consideravelmente grandes, gerava-se uma quantidade muito grande de indivduos
infactveis, o que causa um aumento considervel no tempo computacional visto que
estes indivduos teriam que ser novamente gerados, at que se completasse uma
populao de indivduos factveis.
Para evitar esta situao, a estratgia de gerao da populao foi
modificada: quando um indivduo declarado infactvel, uma de suas posies, com
valor no-nulo, sorteada aleatoriamente. Esse valor sofre ento decrscimo de
uma unidade. Este recurso utilizado at que o indivduo se torne factvel.
Aps completar o nmero de indivduos da populao, feita uma avaliao
dos mesmos atravs do clculo do fitness, utilizando-se a equao (5). Os
indivduos so ento ordenados numa lista crescente em relao funo de
aptido. Como esta mede a perda absoluta do objeto, os primeiros indivduos da
lista correspondem aos mais adaptados e os ltimos aos menos favorecidos.
Na fase de seleo dos indivduos pais, utilizou-se o mtodo da roleta,
descrito na alnea a) da seo 3.2.1, que favorece os melhores cromossomos. Este
mtodo atribui a cada indivduo uma probabilidade de seleo acumulada
,
relacionada ao seu valor de aptido.
Como foi utilizado o Algoritmo Gentico Steady State, a cada gerao
aplicam-se os operadores de cruzamento e mutao, de acordo com o valor de
probabilidade determinado. Destas operaes resultam dois novos filhos, que so
avaliados e inseridos na populao, caso o fitness apresentado por eles seja maior
que o fitness dos piores indivduos.
As etapas de seleo e aplicao dos operadores so repetidas at que seja
atingido algum critrio de parada. Conforme descrito no item 3.2.1.1, se for atingido
um nmero mximo de 100 iteraes, interrompe-se a execuo do algoritmo; e o
49
mesmo feito quando ocorrem 50 iteraes consecutivas sem que sejam criados
filhos com funo de avaliao melhor que a dos indivduos j existentes.
Neste caso, considera-se que houve a convergncia gentica, embora
alguns pesquisadores defendam que tal convergncia no deve ser medida pela
funo de avaliao, e sim pelas caractersticas dos indivduos, pois diferentes
indivduos podem possuir o mesmo fitness atravs de informaes genticas
distintas. No entanto, a comparao dos indivduos seria uma opo bastante
custosa (LINDEN, 2008).
Quando algum dos critrios de parada atingido, encerra-se a etapa de
execuo do Algoritmo Gentico e inicia-se a busca por um padro factvel em
relao ao aspecto geomtrico atravs das tcnicas de encaixe.
A FIGURA 12 apresenta o Algoritmo Gentico utilizado neste trabalho.
50
Passo 1: Gerao da populao inicial
1.1 Crie um indivduo gerando para cada posio um nmero aleatrio no intervalo
* ,
2.2 Crie uma lista dos indivduos, em ordem crescente de fitness.
Passo 3: Seleo dos pais: Selecione dois indivduos da populao, usando o Mtodo da Roleta.
Passo 4: Aplicao dos operadores genticos
4.1 Cruzamento ou reproduo: Gere um nmero aleatrio entre 0 e 1. Se tal nmero
for menos ou igual taxa de cruzamento, aplique o operador de cruzamento aos
indivduos selecionados no Passo 3; seno, aplique a eles o operador de reproduo.
4.2 Aplique o operador de mutao a cada filho criado no Passo 4.1.
Passo 5: Avaliao dos novos indivduos: Calcule o fitness dos novos indivduos e verifique se seu
valor de aptido menor que o do ltimo indivduo da lista. Em caso positivo, substitua o pior
indivduo pelo novo, e reordene a lista.
Passo 6: Repita os passos 3 a 5 at que algum critrio de parada seja atingido.
FIGURA 12 ALGORITMO GENTICO PARA GERAO DE PADRES DE CORTE
FONTE: A autora (2011)
3.2.2 Etapa 2: Tcnicas de Encaixe
Como pde ser visto anteriormente, o Algoritmo Gentico empregado
percorre o espao de busca procura das melhores solues considerando apenas
o aspecto unidimensional, isto , o conjunto de itens cuja soma das reas mais se
aproxime da rea do objeto, sem, contudo, exced-la.
Entretanto, apenas este critrio no suficiente para garantir a factibilidade
de um padro de corte. A informao mais importante fornecida por um padro de
51
corte, que o arranjo geomtrico dos itens, no disponibilizada e tampouco pode
ser obtida a partir da formulao do Algoritmo Gentico, pois o cromossomo fornece
apenas a quantidade de cada tipo de item presente no padro.
Para construir esse arranjo geomtrico, foram utilizadas duas tcnicas de
encaixe diferentes: uma para o corte no-estagiado e outra para o corte em dois
estgios, visto que estes dois tipos de padro de corte possuem caractersticas
distintas e peculiares quanto sua geometria.
Durante a execuo do Algoritmo Gentico, devido prpria estratgia
Steady State utilizada, os indivduos ficam sempre ordenados numa lista crescente
de acordo com seu fitness. Nesta mesma ordem, so submetidos ao processo de
encaixe, at que seja encontrado um padro de corte factvel geometricamente. Tal
factibilidade compreende a possibilidade de arranjo de todos os itens, sem que
excedam as dimenses do objeto ou se sobreponham.
3.2.2.1 Corte no-estagiado
Para os padres de corte sem restrio quanto ao nmero de estgios de
corte, empregou-se uma tcnica baseada no algoritmo de Wang. Este mtodo
realiza, a cada iterao, construes verticais e horizontais dos itens.
Uma combinao horizontal de dois itens
, de dimenses
. A rea da construo
que no for ocupada por nenhum dos itens corresponde perda interna da mesma.
Este processo pode ser verificado na FIGURA 13.
52
(b)
(a)
FIGURA 13 CONSTRUES: (a) horizontal; (b) vertical
FONTE: A autora (2011)
Uma construo caracteriza uma semi-soluo que, na iterao seguinte,
ser combinada com outras semi-solues atravs de construes verticais e
horizontais, enquanto a soma das quantidades de cada item presentes nas mesmas
no for maior que sua respectiva demanda. Se uma nova construo apresenta as
mesmas dimenses de uma construo j existente, elimina-se da lista a de maior
perda interna. Ao fim do processo, escolhe-se a construo de menor perda total,
isto , com menor perda quando sobreposto ao objeto.
Este mtodo baseado em construes horizontais e verticais pressupe que
o problema no seja estagiado, mas garante que o corte seja guilhotinado. O
algoritmo completo detalhado na FIGURA 14, sendo as dimenses do
objeto,
os itens da demanda e
suas respectivas
demandas.
53
Passo 1.a: Escolha um valor para , .
1.b: Defina
e faa .
Passo 2.a: Construa
;
(ii) A perda interna de no excede a ;
(iii) Os retngulos que aparecem em no excedem as quantidades
.
2.b: Faa
.
Passo 3: Se
,
admitindo a rotao, obtm-se as seguintes possibilidades:
Contudo, notou-se que a aplicao da rotao dos itens, e dos operadores H
e V, que efetuam construes horizontais e verticais, respectivamente, resulta em
semi-solues equivalentes:
Desta forma, os autores mostram que basta aplicar o operador horizontal e o
de rotao para conseguir todas as construes possveis a partir de dois itens. Esta
54
observao simples reduz pela metade o tempo gasto com as construes e em at
metade a quantidade de solues parciais enviadas para a iterao subseqente.
Portanto, quando a rotao dos itens permitida, optou-se por efetuar
somente construes horizontais, considerando tanto os itens em sua posio
original quanto os correspondentes rotacionados em 90, o que suficiente para
gerar todas as possveis combinaes, segundo Amaral e Wright (2001).
Uma importante modificao no algoritmo mencionado, implementada neste
trabalho, foi a escolha do parmetro , que representa a perda mxima aceitvel
para que uma semi-soluo faa parte do conjunto de solues na iterao seguinte.
Como vimos, a escolha deste parmetro interfere na quantidade de semi-solues
aceitas e, conseqentemente, na quantidade de combinaes realizadas a cada
iterao.
Os itens agrupados na Etapa 1 j apresentam uma perda absoluta fixa, no
caso do arranjo geomtrico ser factvel. Deste modo, para cada cromossomo
submetido a esta tcnica de encaixe, a perda mxima aceitvel igual ao seu
fitness, pois se a perda de uma semi-soluo ultrapassar este valor, esta no ser
til para a construo da soluo final.
Para o corte com orientao fixa dos itens, o conjunto de itens
, em que
corresponde ao
retngulo
correspondem mesma demanda.
A FIGURA 15 e a FIGURA 16 mostram o Algoritmo de Wang adaptado ao
problema, para o corte no-estagiado sem rotao e com rotao, respectivamente.
O valor do parmetro deixa de ser arbitrrio e passa a se definido como o fitness
do indivduo que ser submetido ao encaixe.
55
Inicializao do mtodo: Crie , que o conjunto dos vetores provenientes da Etapa 1,
dispostos em ordem crescente de fitness, e rotule todos os seus elementos como no-analisados.
Selecione .
Passo 1.a: Determine
1.b: Defina
e faa .
Passo 2.a: Construa
;
(ii) A perda interna de no excede a ;
(iii) Os retngulos que aparecem em no excedem as quantidades
.
2.b: Faa
.
2.c: Se todos os itens do vetor
1.b: Defina
e faa .
Passo 2.a: Construa
;
(ii) A perda interna de no excede a ;
(iii) Os retngulos que aparecem em no excedem as quantidades
.
2.b: Faa
, em que
representa as semi-solues de
rotacionadas em 90. Remova os retngulos equivalentes de
.
2.c: Se todos os itens do vetor
,
cria-se um correspondente
.
Passo 3: Para , enquanto
. Se isto no
for possvel,
3.b: Crie uma nova faixa, insira o item e faa
.
Passo 4: Se