ALGORITMOS EVOLUTIVOS HÍBRIDOS APLICADOS À SOLUÇÃO DO PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO

Documentos relacionados
UM ALGORITMO EVOLUTIVO HÍBRIDO APLICADO À SOLUÇÃO DO PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO

UM ALGORITMO EVOLUTIVO HÍBRIDO APLICADO À SOLUÇÃO DO PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO

OPEN DIMENSIONAL CUTTING PROBLEM: UMA ABORDAGEM HÍBRIDA VIA GRASP E ILS

UMA METAHEURÍSTICA HÍBRIDA GRASP-ILS APLICADA À SOLUÇÃO DO PROBLEMA DE CORTE BI-DIMENSIONAL GUILHOTINADO

Algoritmos Evolutivos Mono e Multiobjetivos para Problemas Bidimensionais de Corte

s:

Análise de formulações matemáticas para o problema de empacotamento em faixas bidimensional guilhotinado 2-estágios

Pesquisa Operacional Aplicada à Mineração

UMA ABORDAGEM AO PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO DA PRODUÇÃO POR MEIO DE ALGORITMOS EVOLUTIVOS

4 Implementação Computacional

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

3. Resolução de problemas por meio de busca

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

Otimização com Algoritmos Evolutivos

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

AN APPLICATION MULTIOBJECTIVE FOR OPEN DIMENSIONAL PROBLEM GUILLOTINED

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições

Angelo Aliano Filho 1 e Antônio Carlos Moretti 2 Universidade Estadual de Campinas - IMECC 1

META-HEURÍSTICA GRASP APLICADA AO PROBLEMA DO CORTE BIDIMENSIONAL NÃO-GUILHOTINADO

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Um algoritmo genético híbrido para o problema de corte industrial bidimensional

1. Computação Evolutiva

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares

Algoritmo Evolutivo para o Problema de Corte de Estoque Unidimensional com Redução do Número de Padrões de Corte

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

3 Algoritmos Genéticos

Marcone Jamilson Freitas Souza

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Técnicas de Inteligência Artificial

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

Técnicas de Inteligência Artificial

Um algoritmo genético para o problema de corte unidimensional inteiro

Modelos Evolucionários e Tratamento de Incertezas

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

ELABORAÇÃO DE UMA HEURÍSTICA PARA O PROBLEMA DE QUADRO DE HORÁRIOS DOS PROFESSORES DA UNIVERSIDADE ESTADUAL DO PARANÁ CAMPUS CAMPO MOURÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

MÉTODO HEURÍSTICO HÍBRIDO PARA RESOLUÇÃO DO PROBLEMA DE LOCALIZAÇÃO DE FACILIDADES CAPACITADAS EM DOIS NÍVEIS

TÍTULO DO PROJETO: O problema de empacotamento de figuras usando suas equações. Área do Conhecimento (Tabela do CNPq):

HEURÍSTICAS PARA O PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO E RESTRITO DE TECIDO

Um Estudo Empírico de Hiper-Heurísticas

UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO

3 Extensões dos modelos matemáticos

UM ALGORITMO HÍRIDO PARA A GERAÇÃO DE PADRÕES DE CORTE BIDIMENSIONAIS GUILHOTINADOS

BCC204 - Teoria dos Grafos

UM ALGORITMO HEURÍSTICO HÍBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Max Pereira. Inteligência Artificial

Aplicação de p-medianas ao Problema do Corte Guilhotinado Bi-Dimensional para Peças Regulares

SIMULATED ANNEALING APLICADO AO PROBLEMA DE ORDENAÇÃO EM LINHAS PARALAELAS

Buscas Informadas ou Heurísticas - Parte III

6 Experimentos realizados

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

PROPOSAL OF AN EVOLUTIONARY COMPUTATION BASED SYSTEM FOR HANDLING THE SPACE ALLOCATION PROBLEM: THE CASE OF UNIVERSIDADE FEDERAL DE UBERLÂNDIA

Algoritmos Genéticos

Computação Bioinspirada PROF. PAULO SALGADO

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

3 Algoritmos Genéticos

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

4 Métodos Existentes. 4.1 Algoritmo Genético

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB

1. Computação Evolutiva

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

ALGORITMOS HEURÍSTICOS UTILIZANDO BUSCA LOCAL ALEATÓRIA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

META-HEURÍSTICA SIMULATED ANNEALING APLICADA AO PROBLEMA DO ROTEAMENTO DE VEÍCULOS CAPACITADOS COM RESTRIÇÕES DE CARREGAMENTO BIDIMENSIONAL

Um Estudo Empírico de Métodos Hiper-Heurísticos

Redução de Ciclos da Serra no Problema de Corte de Estoque Bidimensional na Indústria de Móveis

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Busca Guiada por Agrupamentos aplicada à Alocação de Berços em Portos com Restrições de Navegabilidade

O Problema de Corte de Estoque com Data de Entrega

Algoritmos Genéticos e Evolucionários

Heurísticas para o problema de corte com reaproveitamento das sobras de material

4 Algoritmo Genético com Chaves Aleatórias

Algoritmo Branch-and-Price para o Problema de Corte de Estoque Não-Guilhotinado

5 VNS com Filtro e Reconexão por Caminhos

Problemas de otimização

Um algoritmo pseudo-periférico genérico para a heurística de Snay

Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo

Uma Introdução à Busca Tabu André Gomes

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS


Um algoritmo genético híbrido para o problema quadrático binário irrestrito

1_1 1_2 2_1 1_ _ _ Fonte: Autor

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Um Algoritmo Genético Paralelo Aplicado ao Problema de Cobertura de Conjuntos

Transcrição:

ALGORITMOS EVOLUTIVOS HÍBRIDOS APLICADOS À SOLUÇÃO DO PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO MARIANA SILVA FALEIRO DE ANDRADE, SÉRGIO RICARDO DE SOUZA, ELIAS CARLOS CORRÊA TEMPONI Programa de Mestrado em Modelagem Matemática e Computacional Centro Federal de Educação Tecnológica de Minas Gerais Av. Amazonas, 7675, 30.510-000, Belo Horizonte, MG, Brasil marifaleiro@yahoo.com.br, sergio@dppg.cefetmg.br, elias.temponi@gmail.com MARCONE JAMÍLSON FREITAS SOUZA Departamento de Computação, Universidade Federal de Ouro Preto Campus Universitário 35.400-000 Ouro Preto MG Brasil marcone@iceb.ufop.br Abstract This paper deals with the guilhotined Open Dimensional Problem (ODP). Given a set of rectangular small items and a rectangular large object of fixed width and variable length, the problem consists of placing all the items within the large object, such that the overall length of the layout is minimised. Two versions of an Hybrid Evolutionary Algorithm are proposed to solve the problem. In the algorithms, we use the Multi-Start and Iterated local Search metaheuristics, to improve the quality of inicial population, as well the approximate algorithm and, and a local search operator to solve it. Computational experiments realized with instances from the literature show that the proposed algorithm is able to reach the optimal solution in all of the small and medium instances (16 to 49 items) and yield small gaps in instances with 73 to 197 items. Keywords Open Dimensional Problem, Evolutionary Algorithms. Resumo Este trabalho trata do problema de corte com dimensão aberta guilhotinado. Dado um conjunto de peças menores (itens) e uma peça maior (objeto) com largura fixa e altura variável, o problema consiste em alocar todos os itens no objeto, de maneira que a altura utilizada seja minimizada. Propõe-se, para sua resolução, duas versões de um Algoritmo Evolutivo Híbrido (AEH). O que diferencia as versões é a utilização, na geração da população inicial do algoritmo evolutivo, das metaheurísticas Multi-Start e Iterated Local Search (ILS). Além disso, são utilizados e comparados os algoritmos aproximados e Best- Fit para o encaixe dos itens. Também foram incorporados ao AEH, em diferentes etapas, operadores de busca local. Experimentos computacionais realizados sobre um conjunto de problemas-teste da literatura indicam que o algoritmo proposto alcança o valor ótimo na maioria dos problemas de pequenas e médias dimensões (16 a 49 itens) e, em problemas de dimensões maiores (73 a 197 itens), obtém desvios baixos em relação à solução encontrada por um método exato. Palavras-chave Problema de corte bidimensional, Algoritmos Evolutivos. 1. Introdução Em diversas atividades industriais é necessário cortar peças menores (itens), a partir de peças maiores (objetos). Nessa atividade, o objetivo é atender a demanda de itens, de maneira a minimizar os custos do processo. A variedade de situações práticas envolvendo este atividade e a necessidade de otimizá-la fizeram surgir uma classe de problemas de otimização combinatória, denominada Problemas de Corte e Empacotamento (PCE). Os PCE consistem em determinar o melhor arranjo de um conjunto de itens sobre um objeto, que precisa ser cortado ou empacotado. O melhor arranjo se refere àquele que melhor atende ao objetivo em questão (minimizar o desperdício, por exemplo). Dentre os PCE, encontra-se o problema de corte com dimensão aberta (ODP Open Dimensional Problem) (WÄSCHER et al., 2006). Como o próprio nome sugere, trata-se de um problema que possui dimensões variáveis, sendo, portanto, definido para duas ou mais dimensões. Este problema, usualmente, trata de um único objeto. Este trabalho trata, especificamente, do ODP bidimensional (ODP-2D). O problema consiste em determinar o arranjo de um conjunto de itens retangulares sobre um objeto que possui largura (W) fixa e altura (H) variável, tendo como objetivo minimizar a altura utilizada do objeto. Esse problema ocorre em fábricas que realizam o corte de bobinas ou rolos, como, por exemplo, as fábricas de papel, aço e tecidos. Por se tratar de um problema de corte bidimensional, são acrescidas outras classificações, devidas às restrições impostas pelos equipamentos e pelo processo de corte. Uma dessas restrições é com relação ao tipo de corte, que pode ser guilhotinado quando o corte se estende de um lado ao outro do

objeto, produzindo, a cada corte, dois retângulos ou não-guilhotinado, se o corte acompanhar o contorno do item, sem descaracterizar o objeto. O problema também pode considerar ou não rotação ortogonal dos itens. Além disso, pode haver limitação no número de estágios de corte. Cada estágio indica uma mudança na direção do corte. No caso de ocorrer apenas uma mudança na direção, tem-se um corte do tipo 2-estágios. Vários autores já mostraram que o ODP é um problema NP-Difícil (HOCHBAUM, 1985; LEUNG et al., 1990), fato que justifica a utilização de métodos heurísticos para solucioná-lo. Neste trabalho, para a resolução do ODP-2D, fez-se o uso de uma combinação das metaheurísticas Algoritmo Genético (AG) e Multi-Start e AG e ILS. Tal escolha se baseou no sucesso alcançado por algoritmos híbridos na solução de problemas altamente combinatórios. Na resolução do ODP-2D ainda são utilizados e comparados os algoritmos aproximados e, usados como sub-rotinas do algoritmo proposto. Para validar resultados obtidos com o método heurístico proposto, utilizou-se o modelo de programação linear inteira (PLI) proposto por Lodi et al. (2004). Os resultados obtidos pelo algoritmo proposto são comparados com aqueles obtidos pela aplicação do otimizador CPLEX, versão 11.0, ao modelo de PLI. Este trabalho está organizado como segue. Na seção 2 são descritas as características do problema estudado, enquanto na seção 3 é apresentado o modelo de programação linear inteira para representar o mesmo. Na seção 4 são apresentadas as técnicas de encaixe utilizadas no trabalho, enquanto na seção 5 é desenvolvida a metodologia heurística de resolução do ODP-2D. Na seção 6 são apresentados e discutidos os resultados computacionais. A seção 7 conclui o trabalho. 2. Descrição do Problema Estudado O ODP-2D estudado neste trabalho possui as seguintes características: os itens são alocados ortogonalmente nos objetos; os itens têm orientação fixa; o corte é do tipo guilhotinado e feito em 2-estágios. Assim sendo, o ODP-2D pode ser descrito como segue. Seja S um objeto de largura W e altura grande o suficiente para alocar todos os itens ( altura infinita ) e uma lista de itens retangulares I = {r 1,..., r n }, onde cada item r i = (w i, h i ), tal que w i W, para i = 1,...,n, sendo w i a largura e h i a altura dos itens. O objetivo é cortar os itens de I em S com a menor altura possível. 3. Formulação Matemática A formulação apresentada a seguir para o ODP-2D foi proposta por Lodi et al. (2004), que assumiu as seguintes proposições para uma dada solução: a) O primeiro item alocado em cada faixa (mais à esquerda) é o de maior altura; b) A primeira faixa do objeto (mais baixa) é a mais alta; c) Os itens estão ordenados de forma decrescente em relação à altura, ou seja, h 1 h 2... h n. Como conseqüência de (c), tem-se que a altura de cada faixa corresponde à altura h i do item i que a inicializa (primeiro item alocado). Assim, sendo n o número de faixas formadas para alocar todos os itens demandados, pode-se definir a seguinte variável de decisão: y i 1 se o item i inicializa a faixa i (para i = 1,..., n) = 0 caso contrário Deve-se ressaltar ainda, que, devido às observações (a) e (c), somente os itens j, tal que j > i, podem ser alocados na faixa. Essa condição se deve ao fato de que, se um dado item j, tal que j = i, inicializa a faixa i, ele não pode ser atribuído novamente a essa faixa. Assim sendo, é definida a seguinte variável binária: x ij Min 1 se o item j está alocadona faixa i (para i = 1,..., n 1); j > i = 0 caso contrário n i= 1 h i. y i (3.1) j 1 s. a: x ij + y j = 1 j = 1,...,n; (3.2) i= 1 n j j= i+ 1 w x ( W w ) y ij x ij {0,1} y i {0,1} i i i = 1,...,(n 1); (3.3) i = 1,...,(n -1); j > i i = 1,...,n; (3.4) A função objetivo, representada pela equação (3.1), tem, como critério de otimização, a minimização da altura utilizada do objeto. As restrições (3.2) garantem que cada item é alocado apenas uma vez, ou seja, ou o item inicializa a faixa ou está numa faixa inicializada por outro item. As restrições (3.3) garantem que, em cada faixa, a largura do objeto não será ultrapassada. As restrições (3.4) definem o tipo das variáveis do problema. Para a resolução desta formulação matemática, fez-se uso do software CPLEX, versão 11.0, com o objetivo de encontrar a solução ótima para o ODP- 2D. Observa-se, entretanto, pela natureza combinatória do problema abordado, que tal método só consegue resolver, em tempos computacionais aceitáveis, problemas de pequenas e médias dimensões.

4. Técnicas de Encaixe Neste trabalho, a solução do problema é representada por uma seqüência de itens, que devem ser encaixados segundo essa ordem, sendo essa solução avaliada pela altura encontrada para essa disposição. Então, para o encaixe dos itens, foram utilizados e comparados, os algoritmos e Best Fit. Nos dois algoritmos, a primeira faixa se forma com a inserção dos itens na ordem em que aparecem na solução, a partir do canto inferior esquerdo do objeto, até que a largura do objeto se torne insuficiente. No, antes dos próximos itens serem inseridos, são pesquisadas as larguras disponíveis de cada faixa já formada, para avaliar a possibilidade de inseri-los. Caso não seja possível, é formada uma nova faixa. Assim, os itens são alocados na primeira faixa em que couberem, sem ultrapassar a largura W do objeto. No, antes de o próximo item ser inserido, são verificadas as áreas restantes de cada faixa já formada, sendo o item inserido naquela onde o espaço for mais bem utilizado, ou seja, onde a área restante após sua inserção seja menor. Se não for possível encaixá-lo, é formada uma nova faixa 5. Algoritmo Evolutivo aplicado ao ODP guilhotinado Os Algoritmos Genéticos (AG), apesar se seu sucesso na resolução de diversos problemas de otimização, em sua forma original não apresenta um desempenho satisfatório para muitos outros problemas. Em razão disto, diversos pesquisadores têm proposto modificações nos AG convencionais, incorporando a estes técnicas de busca local, ou incluindo conceitos de outras metaheurísticas. Assim foram geradas as versões conhecidas como Algoritmos Meméticos (MOSCATO, 1989), ou, simplesmente, Algoritmos Evolutivos (AE s). Os AE s têm as características básicas dos AG s, além de contarem com mecanismos adicionais de forma a torná-los mais especializado para determinadas aplicações. Neste trabalho, com o intuito de comparar o desempenho de duas metaheurísticas de uso bastante difundido, propõe-se o desenvolvimento de duas versões de um Algoritmo Evolutivo Híbrido (AEH): 1. AEH-ILS: a população inicial é gerada por meio da metaheurística Iterated Local Search (ILS). 2. AEH-MS: a população inicial é gerada por meio da metaheurística Multi-Start (MS). Além disso, o AEH apresenta as seguintes peculiaridades em relação a um AG tradicional: Em vez do operador de cruzamento (crossover) tradicional, utilizou-se o operador Order Crossover (OX). Um operador de busca local é aplicado nos melhores indivíduos da população a cada geração. A seguir são descritas as etapas do algoritmo evolutivo proposto. 5.1 Representação de uma solução Neste problema, um cromossomo representa a seqüência em que os itens serão inseridos no objeto, ou seja, é um vetor de n valores inteiros, sendo n o número de itens da solução. 5.2 Operadores genéticos Operadores do Tipo Crossover Neste trabalho, como os itens têm demanda unitária, não pode ocorrer repetição de um determinado item num mesmo indivíduo. Por isso, para realizar o cruzamento (crossover), foi utilizado o operador Order Crossover (OX), aplicado com uma dada probabilidade. Operadores do Tipo Mutação Os quatros operadores de mutação propostos basicamente executam uma permutação entre os itens de uma solução. São eles: - Operador troca: consiste em trocar a posição de dois itens, escolhidos aleatoriamente. - Operador realoca: consiste em realocar um item da posição i para a posição j, sendo i e j escolhidos aleatoriamente. - Operador realoca grupo: consiste em realocar um grupo composto por x itens que ocupam posições seqüenciais dentro do vetor solução. Assim, um grupo de itens cuja primeira posição é j, é realocado para uma nova posição k, com a condição de que k j e k n x, sendo n o número de itens da solução. O tamanho (x) deste grupo de itens, obtido experimentalmente, varia entre 2 e 6 itens. A nova posição k do primeiro item do grupo é escolhida de forma aleatória. - Operador troca altura: consiste em realocar um item, escolhido aleatoriamente, que ocupa a posição j do vetor de solução, para uma nova posição k, escolhida da seguinte maneira: inicialmente, calcula-se o módulo da diferença (dif) entre as alturas (h) do item da posição j e do item da posição j + 1, ou seja dif = h j h j+1. Em seguida, é pesquisada uma posição k tal que h j h k < dif. Para evitar uma busca exaustiva pela posição k, são executados 0,1n pesquisas pela posição k, onde n representa o número de itens da solução. Se não for encontrada uma posição k tal que h j h k < dif, o item não será realocado. 5.3 Função de custo e função de aptidão dos indivíduos A solução é avaliada pela própria função objetivo, dada pela expressão (3.1) do modelo de PLI. Devido à utilização do mecanismo da roleta para selecionar os indivíduos da próxima geração, não foi possível usar a função de custo como função de aptidão, pois este trabalho trata de um problema de minimização. Assim, para obter o valor da função de aptidão a

partir da função objetivo, foi utilizado um método de escalamento linear, que utiliza uma função linear para essa conversão. 5.5 Seleção dos indivíduos para a próxima geração Um mecanismo de seleção para as próximas gerações, muito utilizado em AG clássicos, é o chamado roulette wheel, ou roleta (HOLLAND, 1975). Para não perder indivíduos promissores com o uso dessa técnica, utiliza-se uma estratégia de elitismo, que consiste em manter sempre os dois melhores indivíduos da geração atual na geração seguinte. 5.6 Geração da população inicial Neste trabalho, a primeira versão do AEH utiliza a metaheurítica Multi-Start (MS), proposta em 1973 por Lin e Kernighan. O MS é um procedimento iterativo, composto por duas fases. Neste trabalho, na primeira fase se constrói uma solução aleatoriamente. Na segunda fase, é aplicado o método de busca local conhecido como Método Randômico de Descida (MRD) sobre a solução obtida na construção. O procedimento é executado por MS_max iterações sem melhora, e retorna a melhor das soluções refinadas. Na segunda versão do AEH, a população inicial é gerada pela metaheurística Iterated Local Search (ILS). Neste trabalho, o ILS inicia-se com a geração de uma solução aleatória, que em seguida sofre uma busca local (MRD). Em seguida, é aplicada uma perturbação nessa solução. Tais perturbações são divididas em níveis. Em cada nível, são escolhidos aleatoriamente e aplicados à solução os movimentos descritos como operadores de mutação, na seção 5.2, por ILS_max vezes sem melhora em um dado nível Após a perturbação, a solução passa por uma busca local (MRD), sendo avaliada em seguida. Se esta solução for pior que a anterior, o movimento é desfeito e o nível de perturbação cresce. Caso contrário, a solução encontrada passa a ser a solução corrente, e o nível de perturbação atual é aplicado. A solução corrente é a melhor solução encontrada até então. O MRD utilizado acima, no MS e no ILS, utiliza os movimentos descritos na seção 5.2 (o método é interrompido após um número fixo de iterações sem melhora no valor da melhor solução obtida até então, neste trabalho dado pelo valor MRD_max). 6. Experimentos Computacionais As duas versões do Algoritmo Evolutivo Híbrido proposto (AEH) foram implementadas na linguagem C, e compilado em C++ Builder 5.0; enquanto a formulação de programação matemática do ODP apresentada na Seção 3 foi resolvida no otimizador CPLEX, versão 11. Os testes computacionais foram feitos em dois ambientes computacionais diferentes: as duas versões do AEH foram testadas em um PC AMD Atlon XP 64 Bits 4000+ (aproximadamente 2.11 GHz), com 1 GB de memória RAM, sob plataforma Windows XP; enquanto o CPLEX foi usado em um PC Intel Core 2 Quad (Q6600) 2.40 GHz com 8 GB de RAM rodando Windows Vista Ultimate. Para avaliar os algoritmos de solução do ODP foram utilizados os problemas-teste de Hopper e Turton (2001), disponíveis na OR-Library (BEASLEY, 1990). Estes problemas-teste foram construídos de forma a não apresentarem perda quando solucionados de maneira não-guilhotinada e com a rotação dos itens permitida. Na Tabela 1 são apresentados o número de itens, a largura do objeto e a altura ótima para cada um dos 21 problemas. Tabela 1. Problemas-teste de Hopper e Turton (2001) Categoria Número de itens Largura Altura (n) do objeto ótima P 1 P 2 P 3 C1 16 17 16 20 20 C2 25 25 25 40 15 C3 28 29 28 60 30 C4 49 49 49 60 60 C5 73 73 73 60 90 C6 97 97 97 80 120 C7 196 197 196 160 240 A seguir, são apresentados os resultados obtidos, a partir dos dados dos problemas-teste, para o caso envolvendo o ODP guilhotinado, nos termos tratados no presente trabalho. São comparados os resultados obtidos pelo CPLEX, bem como do AEH proposto, em suas duas versões, cada uma utilizando uma das metaheurísticas: ILS e Multi-Start. Além disso, para cada uma das versões são comparados os algoritmos de encaixe ( e ). É importante ressaltar que estes resultados, na medida em que tratam do ODP guilhotinado, têm soluções com alturas maiores que as alturas ótimas encontradas segundo sua formulação original (ODP não-guilhotinado e rotação dos itens permitida). Cada problema-teste foi resolvido 10 vezes pelas duas versões do algoritmo heurístico proposto. Os parâmetros dos AEH s, obtidos experimentalmente, são apresentados na Tabela 2. A Tabela 3 apresenta os resultados do método exato. A primeira coluna apresenta o problema-teste e a segunda, os resultados obtidos pela resolução do modelo matemático apresentado na Seção 3, pelo software de otimização CPLEX, versão 11.0, limitado à uma hora de processamento. A terceira coluna apresenta o tempo gasto pelo método. Tabela 2. Parâmetros do AEH

Categoria do Problema-teste Parâmetros Valores C1,C2 4 C3 10 Nº de indivíduos C4 20 C5, C6, C7 50 C1,C2,C3 10 C4 Nº de gerações 50 C5, C6,C7 100 100 0,85 0,05 50 20 n Parâmetro α da função de escalamento linear Probabilidade de crossover (p c ) Probabilidade de mutação (p m ) Número máximo de iterações sem melhora do Multi-Start (MS_max ) Número máximo de iterações sem melhora do ILS (ILS_max) Número máximo de iterações sem melhora do MRD (MRD_max ) n: número de itens do problema-teste. Tabela 3. Resultados do Método Exato Solução Tempo médio (seg) Problemateste Problemateste Solução Tempo médio (seg) C1P1 27* 0,10 C5P1 101 3600 C1P2 29* 0,12 C5P2 106* 27,25 C1P3 23* 0,05 C5P3 106 3600 C2P1 20* 0,06 C6P1 136 3600 C2P2 34* 0,18 C6P2 145 3600 C2P3 23* 0,06 C6P3 139 3600 C3P1 40* 0,12 C7P1 263 3600 C3P2 42* 0,09 C7P2 283 3600 C3P3 43* 0,13 C7P3 283 3600 C4P1 74* 15,74 C4P2 74* 1,02 C4P3 80* 0,80 *Solução ótima. As tabelas 4 e 5 apresentam os resultados das duas versões do AEH (AEH-MS e AEH-ILS), para cada problema-teste. Ambas as tabelas mostram, na segunda e terceira colunas, os resultados médios obtidos com a utilização dos algoritmos e, respectivamente. A quarta e quinta colunas apresentam a melhor solução obtida em dez execuções do algoritmo. As duas últimas colunas apresentam o tempo de processamento de cada um dos métodos. O erro relativo (%gap), apresentado nas sexta e sétima colunas, é calculado pela expressão: gap = ((r médio - r melhor ) / r melhor ) 100 em que r médio é o resultado médio obtido pela aplicação do AEH e r melhor é o resultado obtido pelo otimizador CPLEX para cada problema-teste. Como pode ser observado pela Tabela 3, o CPLEX obteve a solução ótima para todos os problemas-teste com até 49 itens, e para um problema com 73 itens. Para o restante dos problemas, este otimizador não foi capaz de encontrar soluções ótimas em uma hora de execução. Quanto ao método AEH-MS, pode-se observar, pela Tabela 4, que o desvio da solução média produzida pelo método AEH-MS- chegou a 23,2% e para o método AEH-MS- não ultrapassou 12,7%. Tabela 4. Resultados do AEH-MS Problema-teste Solução média Melhor solução gap (%) da solução média Tempo Médio (s) C1P1 27* 27* 27* 27* 0,0% 0,0% 0,12 0,27 C1P2 29* 29* 29* 29* 0,0% 0,0% 0,11 0,27 C1P3 23* 23* 23* 23* 0,0% 0,0% 0,11 0,25 C2P1 20* 20* 20* 20* 0,0% 0,0% 0,11 0,27 C2P2 34* 34* 34* 34* 0,0% 0,0% 0,27 0,88 C2P3 23* 23* 23* 23* 0,0% 0,0% 0,11 0,28 C3P1 40* 40* 40* 40* 0,0% 0,0% 0,25 0,91 C3P2 42* 42* 42* 42* 0,0% 0,0% 0,29 1,04 C3P3 43* 43* 43* 43* 0,0% 0,0% 0,27 0,94 C4P1 77 74* 74* 74* 4,1% 0,0% 3,56 31,58 C4P2 78,3 75 76 74* 5,8% 1,4% 3,97 25,43 C4P3 83 80,3 82 80* 3,8% 0,4% 3,97 31,6 C5P1 106,5 102 104 101 5,4% 1,0% 15,64 113,52 C5P2 109 106,6 106* 106* 2,8% 0,6% 17,48 140,86 C5P3 113,5 107,6 110 106 7,1% 1,5% 16,28 139,36 C6P1 149,9 140 142 136 10,2% 2,9% 16,41 183,2 C6P2 154,8 148 151 146 6,8% 2,1% 16,87 189,73 C6P3 150,8 142,6 148 140 8,5% 2,6% 16,28 185,25 C7P1 324,1 296,4 314 288 23,2% 12,7% 36,15 528,27 C7P2 331,5 306,4 320 293 17,1% 8,3% 42,53 551,64 C7P3 342,2 309,6 330 302 20,9% 9,4% 36,2 539,2 *Solução ótima. Tabela 5. Resultados do AEH-ILS Problema-teste Solução média Melhor solução gap (%) da solução média Tempo Médio (s) C1P1 27* 27* 27* 27* 0,0% 0,0% 0,06 0,1 C1P2 29* 29* 29* 29* 0,0% 0,0% 0,06 0,1 C1P3 23* 23* 23* 23* 0,0% 0,0% 0,06 0,1 C2P1 20* 20* 20* 20* 0,0% 0,0% 0,09 0,3 C2P2 34* 34* 34* 34* 0,0% 0,0% 0,1 0,9 C2P3 23* 23* 23* 23* 0,0% 0,0% 0,03 0,2 C3P1 40* 40* 40* 40* 0,0% 0,0% 0,28 0,8 C3P2 42* 42* 42* 42* 0,0% 0,0% 0,3 1,04 C3P3 43* 43* 43* 43* 0,0% 0,0% 2,5 0,9 C4P1 78,5 74,9 76 74* 6,1% 1,2% 2,8 12,9 C4P2 78,3 75,1 77 74* 5,8% 1,5% 2,6 12,7 C4P3 84,6 80,5 82 80* 5,7% 0,6% 3,1 11,8 C5P1 109,1 102,5 104 102 8,0% 1,5% 7,9 57,1 C5P2 112,5 106,8 110 106* 6,1% 0,8% 8,9 56,9 C5P3 116,5 108,8 114 108 9,9% 2,6% 7,9 58,8 C6P1 150,9 139,4 148 137 11,0% 2,5% 26,5 288,1 C6P2 153,5 147,3 150 146 5,9% 1,6% 26,9 288,3 C6P3 149,9 142,7 145 141 7,8% 2,7% 26,1 312,3 C7P1 312,5 285,8 304 283 18,8% 8,7% 125,3 1825,1 C7P2 321,2 294,8 312 294 13,5% 4,2% 165,3 1912,3 C7P3 327,7 300,3 320 297 15,8% 6,1% 134,8 1930,5 * Solução ótima. Os tempos de processamento variaram, para o AEH- MS-, de 0,11 a 42,53 segundos e, para o AEH-MS-, de 0,25 a 551,3 segundos, em média. Observa-se também que os dois algoritmos heurísticos sempre alcançaram o resultado ótimo conhecido para os problemas-teste de 16 a 49 itens e para um problema com 73 itens. Além disso, comparando-se os tempos de processamento, nota-se que

para problemas com mais de 49 itens os tempos gastos pelos algoritmos propostos foram, geralmente, inferiores àqueles demandados pelo otimizador aplicado ao modelo de PLI. A tabela 5 mostra os resultados do método AEH-ILS. Pode-se observar que as duas versões do método encontraram o ótimo conhecido para todos os problemas com até 29 itens, sendo que o AEH- ILS- encontrou a solução ótima para todos os problemas com 49 itens e para um problema com 73 itens. Além disso, o desvio da solução média chegou a 18,8% no AEH-ILS-, e no método AEH- ILS- não ultrapassou 8,7%. 8. Conclusões O objetivo principal deste trabalho foi elaborar um Algoritmo Evolutivo Híbrido, em duas versões, utilizado as metaheurísticas Multi-Start e ILS, para a resolução do ODP-2D guilhotinado, além de comparar o desempenho de dois algoritmos aproximados ( e ) utilizados com sub-rotinas do método. Para tal, propôs-se incorporar a um Algoritmo Genético clássico as metaheurísticas Multi- Start e ILS, para a construção da população de indivíduos, produzindo assim as versões: AEH-MS e AEH-ILS. Também foi adicionado ao AG um operador de busca local, aplicado aos melhores indivíduos de cada geração. Nos experimentos computacionais realizados, verificou-se que a utilização de metaheurísticas na geração da população inicial leva a melhores resultados, quando comparados ao uso de uma população inicial gerada aleatoriamente, como geralmente é feito no AG. Em diversos outros problemas de natureza combinatorial, vêm sendo realizadas adaptações no AG clássico referentes ao procedimento de geração da população inicial. Foi observado que o trabalho computacional adicional exigido pela busca local pode ser compensado pela redução do número de indivíduos e do número de iterações do algoritmo. O algoritmo heurístico proposto foi aplicado nos problemas-teste de Hopper e Turton (2001), que tratam o ODP-2D de forma não-guilhotinada. Mostrouse nos experimentos que o AEH-MS e o AEH-ILS propostos alcançaram as soluções ótimas dos problemas com até 49 itens. Em um problema-teste com 73 itens, o AEH-MS, em suas duas versões ( e ) e o AEH-ILS- encontraram a solução ótima conhecida. Em termos de valor da função de avaliação, as versões do método que utilizaram o apresentaram, para problemas com mais de 49 itens, resultados bastante inferiores àqueles obtidos pelas versões com o. É demonstrada, assim, a superioridade do algoritmo aproximado em relação ao. O método AEH- ILS encontrou, em termos de função de avaliação, para problemas com mais de 49 itens, resultados razoavelmente melhores que os encontrados pelo AEH-MS. Isso mostra a eficiência do ILS para esse tipo de problema. O tempo de processamento das quatro versões do algoritmo, para problemas com mais de 49 itens, foi pequeno se comparado ao tempo gasto pelo método exato. Ressalta-se que a grande diferença observada entre os tempos médios das versões com o e o se deve ao modo como são encaixados os itens. O sempre pesquisa todas as faixas formadas antes de alocar um item, ao passo que o pesquisa as faixas somente até encontrar a primeira faixa onde é possível encaixar o item. O primeiro algoritmo exige, portanto, um esforço computacional maior. Os resultados obtidos e descritos acima mostram o potencial da técnica proposta e a possibilidade da utilização desta em situações práticas. Referências Beasley, J. E., OR-Library: distributing test problems by electronic mail. Journal of the Operational Research Society, v. 41, p. 1069-1072, 1990. Hochbaum, D. S.; Wolfgang, M. Approximation schemes for covering and packing problems in image processing and VLSI. Journal of the Association for Computing Machinery, v. 32, p. 130-6, 1985. Holland, J.H., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, Michigan, EUA, 1975. Hopper, E.; Turton, B.C.H. A Review of the Application of Meta-heuristic Algorithm to 2D Strip Packing Problems. Artificial Intelligence Review, v. 16, p. 257-300, 2001. Leung, J.; Tam, T.; Wong, C.S.; Young, G.; Chin, F. Packing squares into square, Journal of Parallel and Distributed Computing, v.10, p. 271-275, 1990. Lin, S.; Kernighan, B. W. An Effective Heuristic Algorithm for the Travelling-Salesman Problem. Operations Research, v. 21, p. 498-516. 1973. Lodi, A.; Martelo, S.; Vigo, D. Models and bounds for two-dimensional level packing problems. Journal of Combinatorial Optimization, v. 8, p.363 379, 2004. Moscato, P. On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms, Technical Report Caltech Concurrent Computation Program, Report 826, California Institute of Technology, 1989. Wäscher, G.; Hauβner, H; Schuann, H. An improved typology of cutting and packing problems, European Journal of Operations Research, v. 4, p. 44-454, 2006.