Acessibilidade / Reportar erro

Métodos simplificados para o problema de minimização de pilhas abertas

Simplified methods for the minimization of open stacks problem

Resumos

Este trabalho apresenta dois métodos para a solução do Problema de Minimização de Pilhas Abertas (ou MOSP, de Minimization of Open Stacks Problem), um problema de sequenciamento de padrões oriundo do contexto de produção de peças, cuja aplicação industrial é direta. O primeiro é relativo a uma heurística baseada em teoria de grafos e critérios gulosos, enquanto o segundo é relativo a um método de programação dinâmica. Os resultados do experimento realizado comprovam a eficácia das simplificações propostas quando comparadas com os métodos da literatura.

Minimização de pilhas abertas; Sequenciamento de padrões; MOSP


This paper presents two methods for solving the minimization of open stack problem (MOSP), a pattern sequencing problem found in production systems with direct industrial application. The first method refers to a heuristic based on graph theory and greedy criteria, while the second refers to the dynamic programming method. The results show the effectiveness of the proposed simplifications compared to the methods reported in the literature.

Minimization of open stacks; Pattern sequencing; MOSP


Marco Antonio Moreira de CarvalhoI; Nei Yoshihiro SomaII

IUniversidade Federal de Ouro Preto - UFOP, Campus Morro do Cruzeiro, CEP 35400-000, Ouro Preto - MG, Brasil, E-mail: mamc@iceb.ufop.br

IIInstituto Tecnológico de Aeronáutica - ITA, Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP 12228-900, São José dos Campos - SP, Brasil, E-mail: soma@ita.br

RESUMO

Este trabalho apresenta dois métodos para a solução do Problema de Minimização de Pilhas Abertas (ou MOSP, de Minimization of Open Stacks Problem), um problema de sequenciamento de padrões oriundo do contexto de produção de peças, cuja aplicação industrial é direta. O primeiro é relativo a uma heurística baseada em teoria de grafos e critérios gulosos, enquanto o segundo é relativo a um método de programação dinâmica. Os resultados do experimento realizado comprovam a eficácia das simplificações propostas quando comparadas com os métodos da literatura.

Palavras-chave: Minimização de pilhas abertas. Sequenciamento de padrões. MOSP.

ABSTRACT

This paper presents two methods for solving the minimization of open stack problem (MOSP), a pattern sequencing problem found in production systems with direct industrial application. The first method refers to a heuristic based on graph theory and greedy criteria, while the second refers to the dynamic programming method. The results show the effectiveness of the proposed simplifications compared to the methods reported in the literature.

Keywords: Minimization of open stacks. Pattern sequencing. MOSP.

1 Introdução

O problema de minimização de pilhas abertas (ou MOSP, de Minimization of Open Stacks Problem) é um problema de sequenciamento de padrões, encontrado frequentemente no contexto industrial de produção de peças, no qual é preciso produzir objetos menores a partir de objetos maiores. Problemas de sequenciamento de padrões são correlatos aos problemas de corte e empacotamento, por serem fases de um processo produtivo em que ocorre o corte de objetos maiores (ou padrões) para a produção de objetos menores (ou peças).

Padrões são compostos pelas peças que serão produzidas. A definição da composição dos padrões é um problema de corte e empacotamento, e pode influenciar no desperdício de matéria-prima. Uma vez definidos os padrões, a sequência em que os mesmos são processados pode influenciar o ritmo de atendimento à demanda por peças, no esforço necessário para manipulação das peças produzidas e no maquinário utilizado para produção, caracterizando assim diferentes objetivos para os problemas de sequenciamento de padrões.

A Figura 1 apresenta um exemplo de instância MOSP, em que são fornecidos dados sobre a composição de padrões. Note que informações sobre a quantidade de peças de um mesmo tipo na composição de um padrão não são relevantes para este problema específico, conforme detalhado a seguir. Os padrões são enumerados de P1 a P6, e as peças, enumeradas de 1 a 6. O bloco numerado representa a existência de determinada peça no padrão correspondente. O tipo da peça é determinado pela sua numeração. Por exemplo, o padrão P1 é composto pelas peças 1, 3 e 5.


Depois de produzida, cada peça é mantida em uma pilha ao redor da máquina que a produziu; cada pilha armazena somente peças de um mesmo tipo. Quando a primeira peça de um determinado tipo tiver de ser produzida, a respectiva pilha é considerada "aberta" e assim permanece até que a última peça do mesmo tipo seja produzida, quando então a pilha é considerada "fechada" e pode ser removida para outro local a fim de dar continuidade ao processo de produção.

Admite-se a existência de uma limitação física para o armazenamento de pilhas ao redor da máquina de produção, de tal forma que não haja espaço suficiente para que uma pilha para cada tipo de peça esteja aberta ao mesmo tempo. Sendo assim, pode ser necessária a remoção temporária de pilhas ainda não fechadas para que novas pilhas sejam abertas e as peças continuem sendo produzidas. Posteriormente, quando as peças referentes às pilhas removidas forem produzidas, tais pilhas são trazidas de volta para o ambiente de produção e outras pilhas são removidas a fim de obter-se o espaço necessário.

A remoção constante de pilhas abertas afeta o custo associado à produção de peças, exigindo a alocação de mão-de-obra, maquinário e tempo adicionais para o transporte e a administração das pilhas removidas temporariamente. Além disso, algumas peças são frágeis, como na indústria de vidro, em que o manuseio excessivo pode gerar outros prejuízos. É desejável então que as pilhas de peças sejam removidas uma única vez, depois de fechadas, a fim de diminuir os custos relacionados à produção de peças.

A Figura 2 apresenta dois possíveis sequenciamentos dos padrões do exemplo anterior, em que os blocos sólidos representam que uma peça de determinado tipo foi produzida e o bloco hachurado indica que a pilha permanece aberta, embora não esteja sendo utilizada. Por exemplo, no primeiro sequenciamento (à esquerda na referida Figura), o padrão P2 produz as peças 1 e 6, enquanto as pilhas referentes às peças 3 e 5 permanecem abertas.


De acordo com a representação utilizada, o número máximo de pilhas abertas é determinado pela maior quantidade de blocos em uma mesma linha do sequenciamento. No primeiro sequenciamento, representado por Spa = {P1, P2, P3, P4, P5, P6}, o número máximo de pilhas abertas é 5, obtido quando o padrão P3 é sequenciado, enquanto que no segundo sequenciamento, representado por Spa = {P4, P1, P2, P6, P5, P3}, o número máximo de pilhas abertas é 4, obtido quando o padrão P2 é sequenciado. Note-se que o valor ótimo para o número máximo de pilhas abertas para este exemplo é 4, pois esta é a maior quantidade de peças em um padrão, neste caso, P5.

Além da motivação prática para o tratamento do problema, também há forte motivação teórica, pois se trata de um problema NP-difícil (LINHARES; YANASSE, 2002). Existem ainda vários problemas equivalentes que podem ser solucionados através do MOSP (LINHARES; YANASSE, 2002; MÖHRING, 2002): Problema de Corte Modificado (Modified Cutwidth), Problema de Leiaute de Matriz-Porta (Gate Matrix Layout Problem - GMLP), Dobradura de Arranjos Lógicos Programáveis (PLA Folding), Interval Thickness, Node Search Game, Edge Search Game, Narrowness, Split Bandwidth, Graph Path-Width, Edge Separation, Vertex Separation.

Outros problemas de sequenciamento de padrões, cujos objetivos não são minimizar a quantidade de pilhas abertas, embora correlatos, são: Minimização de Espalhamento de Ordens, Minimização de Descontinuidades e Minimização de Trocas de Ferramentas (para maiores detalhes sobre estes problemas, veja Linhares e Yanasse, 2002). Há ainda os problemas de corte e empacotamento e sequenciamento de padrões integrados, em que a geração de padrões e o respectivo sequenciamento são tratados conjuntamente.

O trabalho está organizado da seguinte maneira: na Seção 2, abordagens recentes para o MOSP são brevemente descritas, e na Seção 3 dois métodos selecionados da literatura são apresentados detalhadamente. Na Seção 4, as simplificações propostas para os métodos selecionados da literatura são apresentadas. Na seção 5, o experimento realizado é reportado, seguido pelas conclusões do trabalho e as referências bibliográficas.

2 Abordagens recentes

A literatura sobre o MOSP é restrita, porém, o problema vem ganhando mais importância ultimamente. Os trabalhos recentes relacionados ao problema podem ser divididos pela abordagem utilizada.

Em Yanasse, Becceneri e Soma (2002, 2007) e Becceneri, Yanasse e Soma (2004), são aplicados métodos de ordenamento parcial com diferentes critérios de equivalência. Em Yanasse e Limeira (2004) e Yanasse e Lamosa (2007) aplica-se programação linear inteira ao problema integrado de corte de estoque unidimensional e sequenciamento de padrões, também tratado por Beluzzo e Morabito (2005) e Morabito e Beluzzo (2007), por meio de geração de colunas. Variações de um modelo de programação linear para o MOSP são descritas em Fink, Costa e Yanasse (2009).

Os trabalhos de Pileggi, Morabito e Arenales (2005, 2007) utilizam relaxação lagrangeana, método simplex, geração de colunas e heurísticas para propor três abordagens para o problema integrado unidimensional e posteriormente à versão bidimensional guilhotinado 2-estágios do problema de corte de estoque integrado com o sequenciamento de padrões.

Entre os métodos aproximados, destacam-se os trabalhos de Yuen, 1991, 1995 e Ashikaga, 2009. Nesses dois primeiros trabalhos, propõem-se cinco heurísticas rápidas e simples para o tratamento do MOSP, entre as quais, está a provavelmente mais difundida para o tratamento do MOSP, denominada Yuen3. Para aquele último, se propôs a heurística de Extensão-Rotação, baseada em teoria de grafos para solução do MOSP.

Em 2005 o MOSP foi tema do primeiro Desafio de Modelagem por Restrições (SMITH; GENT, 2005), em que os participantes deveriam modelar o MOSP como um problema de restrições. O modelo vencedor foi proposto por De La Banda e Stuckey (2007), o qual utiliza pré-processamento de dados e o algoritmo A*, para o qual foram propostas 11 heurísticas para obtenção de um limitante superior e uma versão modificada da heurística de contração de arcos apresentada em (BECCENERI; YANASSE; SOMA, 2004).

Outros modelos interessantes submetidos ao desafio são os apresentados em Miller, 2005 e Miller, Prosser e Unsworth, 2005, em que são utilizados busca em profundidade e operadores de redução, e o modelo apresentado em Cambazard e Jussien, 2007, em que programação dinâmica e mecanismos de explicações são utilizados.

Entre as metaheurísticas, cita-se Oliveira e Lorena, 2005, em cujo trabalho é apresentado o método Population Training Heuristic aplicado ao MOSP e ao GMLP; Oliveira e Lorena (2006, 2007), em que são apresentados os métodos Greedy Randomized Adaptive Clustering Search e Evolutionary Clustering Search aplicados ao MOSP e ao GMLP. Em Respício e Captivo (2005), apresenta-se a metaheurística Strength Pareto Evolutionary Algorithm 2, aplicado ao MOSP e ao Problema de Minimização de Espalhamento de Ordens.

Em (YANASSE, 2008), sete métodos de pré-processamento para o MOSP são discutidos, a fim de reduzir o tamanho dos problemas tratados e o esforço necessário para sua solução.

3 Métodos selecionados da literatura

Dentre os métodos para solução do MOSP encontrados na literatura, dois foram selecionados para utilização neste trabalho. Os métodos são relativos às simplificações propostas, sendo eles a heurística de Extensão-Rotação (ASHIKAGA; SOMA, 2009) e o método de programação dinâmica proposto em De La Banda e Stuckey (2007); ambos os métodos são considerados recentes e de bom desempenho quando comparados a outros métodos também recentes.

3.1 O Método de De La Banda e Stuckey

O modelo vencedor do primeiro Desafio de Modelagem por Restrições, apresentado em De La Banda e Stuckey (2007), consiste de dois métodos de pré-processamento de dados e uma implementação do conhecido algoritmo A* (RUSSELL; NORVIG, 1995). Para tanto, foram propostos um método para obtenção de um limitante inferior e 11 heurísticas para obtenção de um limitante superior, entre elas, uma melhoria da heurística de Contração de Arcos (BECCENERI et al., 2004) e a heurística Yuen3 (YUEN, 1995), que obteve o melhor desempenho, seguida de quatro das heurísticas inéditas propostas.

À implementação do algoritmo A*, adicionou-se uma abordagem inversa gradual para detectar pilhas que se tornam o gargalo do problema, na tentativa de alterar a ordem em que são abertas e com isso melhorar o resultado obtido.

As instâncias utilizadas, divididas em 47 conjuntos, compreendiam de 10 a 100 padrões e peças, para as quais foram encontrados os valores ótimos, sendo que o modelo foi o que mais instâncias resolveu no desafio. Dentre 21 instâncias individuais do desafio, que compreendiam de 20 a 100 padrões e de 40 a 100 peças, apenas para três não foram encontradas as soluções provadamente ótimas, devido ao fato de o limite de chamadas a procedimentos ter sido atingido. Nenhum outro modelo do evento resolveu tais instâncias.

Não foi possível ter acesso aos códigos do referido método, portanto, a descrição limita-se ao que é encontrado na literatura.

3.2 A heurística de extensão-rotação

Proposta em (ASHIKAGA; SOMA, 2009), a heurística de Extensão-Rotação (hER) modela o problema de minimização de pilhas abertas como um problema de percurso em grafos. Para a representação do problema, foram utilizados grafos MOSP, em que os vértices representam peças, ligados por arestas se e somente se as respectivas peças fazem parte da composição de um mesmo padrão. Desta forma, todas as peças de um padrão são ligadas entre si, induzindo cliques em tais grafos, de maneira que os grafos MOSP são formados pela união dos cliques de uma instância. Novos e maiores cliques podem ainda ser induzidos por tal união, indicando regiões de concentração no grafo e fornecendo informações importantes para solução do problema.

A Figura 3 apresenta um exemplo de formação de um grafo MOSP a partir da união dos cliques induzidos pelos padrões de uma instância MOSP.


A importância da obtenção de cliques grandes - eventualmente maximais - em grafos MOSP também havia sido ressaltada anteriormente em Yanasse, Becceneri e Soma (1999). Segundo Ashikaga (2001), o tamanho dos cliques maximais em grafos MOSP aumenta rapidamente em função do número máximo de peças permitidas por padrão, da mesma forma que os grafos MOSP complementares são bastante esparsos e possuidores de conjuntos independentes muito grandes em relação a grafos aleatórios. Estas propriedades favorecem para que a versão dual do problema de detecção de cliques maximais - a detecção de conjuntos independentes maximais - seja explorada a fim de se obter uma solução para o problema original.

Embora o problema de detecção de cliques/conjuntos independentes maximais seja NP-difícil (GAREY; JOHNSON, 1979), a heurística gulosa por vértice de grau mínimo (Minimum-Degree Greedy) (JOHNSON, 1974) para detecção de conjuntos independentes maximais possui um bom desempenho em grafos MOSP complementares. Desta forma, busca-se o conjunto independente no grafo MOSP complementar a fim de se obter o clique - eventualmente maximal - no grafo MOSP original.

Os vértices que constituem o clique obtido por meio da heurística gulosa de vértice de grau mínimo são inseridos em um caminho a princípio vazio, na ordem em que foram obtidos no clique. A partir deste caminho inicial, a heurística de Extensão-Rotação sequencia os demais vértices de um grafo MOSP por meio do algoritmo de extensão-rotação de Pósa (1976) para detecção de circuitos hamiltonianos. O algoritmo tenta estender (adicionar vértices a) um caminho em um grafo utilizando critérios gulosos até não ser mais possível; caso ainda haja vértices a serem adicionados, o final do caminho é rotacionado (a ordem dos vértices no caminho é alterada) a fim de que o caminho seja estendido novamente. São impostos limites para a quantidade de rotações executadas (máximo de duas) e para a quantidade de extensões executadas antes de uma rotação - não mais que min(n/10, 5), em que n denota o número de padrões.

Para a execução de uma rotação, dado um caminho incompleto em um grafo MOSP, seleciona-se um vizinho do último vértice do caminho, levando em conta quatro restrições:

  • Não selecionar o penúltimo vértice do caminho, uma vez que a rotação da aresta que o liga ao último vértice do caminho não surtiria efeito;

  • Não escolher o último vértice escolhido na rotação anterior;

  • Não exceder o limite de rotações; e

  • Não permitir rotações caso o limite de extensões tenha sido alcançado.

Uma vez selecionado o vértice para rotação, altera-se a ordem dos vértices no caminho por meio da inserção do vértice final do caminho antes do vértice selecionado, dotando o caminho de um novo vértice final, a partir do qual o caminho possa ser novamente estendido.

Devido às restrições impostas, é possível que após a aplicação do algoritmo de extensão-rotação ainda haja vértices não sequenciados. O sequenciamento de tais vértices é realizado em duas etapas:

  • Primeiramente, são sequenciados os vértices

    conjugados: vértices que possuem todos os seus vizinhos já sequenciados de forma contígua, e são sequenciados imediatamente antes de tais vizinhos; e

  • Por fim, os demais vértices são sequenciados em ordem não crescente de grau no grafo MOSP resultante da aplicação de todos os passos anteriores.

Note-se que desta forma as peças do problema são sequenciadas, em vez dos padrões. Surge então a necessidade de obter a sequência de padrões a partir da sequência de peças. Para isso, a sequência de peças é percorrida do final para o início e todos os padrões ainda não sequenciados que contêm a peça sob análise são inseridos, também do final para o início, na respectiva sequência de padrões, de forma que padrões relacionados ao maior clique encontrado estejam no início da sequência.

A Figura 4 apresenta um exemplo de instância MOSP e o sequenciamento de padrões obtido pela aplicação da heurística de Extensão-Rotação.


A Figura 5 apresenta um exemplo de execução da heurística de Extensão-Rotação. Inicialmente, apresenta-se o grafo MOSP correspondente à instância do exemplo anterior; em seguida, o caminho inicial, formado pelos vértices 3, 7, 5 e 6 é obtido; como não é possível estender o caminho, logo os vértices 3 e 6 são rotacionados, a fim de que, logo após os vértices 2 e 1 possam ser adicionados ao caminho; como o vértice 4 é conjugado, logo é sequenciado antes de seus vizinhos, os vértices 7 e 5. Não há mais vértices a serem adicionados e a execução termina com Spe = {7, 5, 6, 3, 2, 1, 4}, cuja sequência de padrões correspondente é Spa = {P1, P3, P4, P2}, abrindo no máximo quatro pilhas.


Nos experimentos reportados originalmente, a heurística de Extensão-Rotação foi comparada com a heurística Yuen3 utilizando-se 90 conjuntos de instâncias, variando de 100 a 1000 padrões e peças, e densidade variando de 10% a 90%. Em 87 dos 90 conjuntos de instâncias, a heurística de Extensão-Rotação obteve melhores valores médios para o número máximo de pilhas abertas e para o tempo de execução. Esta heurística possui complexidade O(n2) no pior caso, em que n denota o número de padrões/peças no problema, conforme (ASHIKAGA; SOMA, 2009).

4 Simplificações propostas

Nesta Seção, são apresentadas simplificações para dois dos métodos selecionados da literatura e detalhados na Seção anterior: a primeira, relativa ao método de De La Banda e Stuckey, e a segunda, relativa à heurística de Extensão-Rotação. O objetivo destas simplificações é aprimorar as soluções e os tempos de execução obtidos pelos métodos originais, criando métodos diferentes para solução do MOSP por meio da utilização de algumas da ideias empregadas, do realce de características consideradas interessantes e da inserção de modificações tanto conceituais quanto de implementação computacional.

4.1 Simplificação do método de De La Banda e Stuckey: DLB5

Entre os métodos propostos para obtenção de limitantes superiores no método proposto em (DE LA BANDA; STUCKEY, 2007), o quinto método chama a atenção por sua originalidade, apesar de ter obtido o segundo melhor desempenho na comparação geral, aproximando-se bastante da heurística de contração de arcos (BECCENERI; YANASSE; SOMA, 2004). Neste trabalho, é proposta a sua utilização direta como uma heurística para a solução do MOSP. O método, denominado então DLB5, é baseado no cálculo de duas estimativas para o sequenciamento de padrões:

  • E

    1: Estimativa sobre o número máximo de pilhas abertas caso o padrão sob análise seja imediatamente sequenciado (ou seja, a soma das pilhas já abertas e as pilhas abertas adicionalmente pelo padrão sob análise); e

  • E

    2: Estimativa sobre o número de pilhas que permanecerão abertas caso o padrão sob análise seja imediatamente sequenciado (ou seja, a quantidade de pilhas abertas que o padrão atual não fechará) e o menor tempo necessário para fechar uma pilha referente ao mesmo padrão (ou seja, a menor demanda por uma peça do padrão sob análise).

Note-se que, na estimativa E1, o número de pilhas fechadas com o sequenciamento do padrão sob análise não é levada em consideração, o que acontece na estimativa E2. Para cada padrão, os valores de E1 e E2 são calculados, sendo que o maior entre os dois valores é escolhido para representá-lo e o padrão de menor valor é sequenciado. Empates são resolvidos a favor do padrão de primeira ocorrência.

A Figura 6 apresenta um exemplo de sequenciamento pelo método proposto. A sequência de padrões obtida é denotada por Spa = {P2, P4, P5, P1, P3} e abre no máximo quatro pilhas.


A execução do método para o exemplo anterior é apresentada na Tabela 1. A cada iteração, o padrão selecionado é indicado pelo valor em negrito na coluna "MAX". A última iteração não é apresentada, uma vez que há apenas um único padrão a ser sequenciado: P3.

A simplificação consiste, portanto, em fazer uso apenas da heurística utilizada anteriormente para obtenção de um limitante superior, a despeito do modelo de programação dinâmica, da implementação do algoritmo A* e de outras estratégias de busca originalmente utilizadas. Esta heurística possui complexidade O(n3) no pior caso, em que n denota o número de padrões/peças nos problemas.

4.2 Simplificação da heurística de extensão-rotação: Ωh

O método Ωh utiliza alguns dos conceitos da heurística de Extensão-Rotação e propõe uma implementação diferente de alguns aspectos. O método sequência os padrões a partir do clique - eventualmente maximal - obtido por meio da aplicação da heurística gulosa por vértice de grau mínimo e, em seguida, sequencia os vértices conjugados; os vértices remanescentes são sequenciados em ordem não crescente de grau no grafo MOSP original, diferentemente do proposto na heurística de Extensão-Rotação, que utiliza os graus obtidos no grafo MOSP resultante da aplicação de duas heurísticas e, portanto, possuidor de menos vértices.

O método Ωh propõe uma implementação diferente da proposta pela heurística de Extensão-Rotação, obtendo cliques de maior tamanho. O método proposto ainda não aplica o algoritmo de extensão-rotação de Pósa (1976) para auxiliar no sequenciamento de padrões; em vez disso, os vértices remanescentes são sequenciados de forma gulosa. A utilização dos graus obtidos no grafo MOSP original reflete a real importância de cada peça em um problema MOSP, permitindo que o sequenciamento seja mais apurado.

A Figura 7 apresenta um exemplo de instância MOSP à qual será aplicado o método Ωh.


O sequenciamento obtido pela aplicação do método proposto à instância do exemplo anterior é apresentado na Figura 8.


O número máximo de pilhas abertas é cinco, quando o padrão P3 é sequenciado. Note-se que este é o valor ótimo para este exemplo, uma vez que corresponde ao tamanho do maior padrão e, portanto, é impossível obter um menor valor para o número máximo de pilhas abertas. A execução do método é ilustrada na Figura 9.


Inicialmente, apresenta-se o grafo MOSP correspondente à instância de exemplo. Em seguida, detecta-se o clique formado pelos vértices 7, 1, 5, 3 e 6. Após este sequenciamento inicial, nota-se que o vértice 7 é conjugado, logo, é sequenciado antes de seus vizinhos. Os vértices remanescentes são destacados no grafo MOSP original e então são sequenciados em ordem não crescente de grau.

A sequência de peças obtida é denotada por Spe = {2, 7, 1, 5, 3, 6, 4, 9, 8, 10} e a sequência de padrões correspondente é Spa = {P2, P4, P3, P5, P6, P1}.

Esta simplificação possui complexidade O(n2) no pior caso (em que n denota o número de padrões/peças nos problemas), assim como o método que a originou, uma vez que não realiza passos adicionais. Pelo contrário, a simplificação consiste da realização de menos passos, pois não utiliza o algoritmo de extensão-rotação de Pósa (1976). Também uma implementação diferente é proposta, a qual permite a detecção de cliques maiores e a utilização de informações mais completas para o sequenciamento final de vértices.

5 Experimentos computacionais

No experimento computacional realizado, compararam-se as simplificações propostas com a heurística de Extensão-Rotação e a implementação do algoritmo A* proposta em De La Banda e Stuckey (2007), a fim de avaliar o desempenho dos métodos e a qualidade das soluções geradas.

Os critérios de avaliação utilizados na comparação são a qualidade da solução obtida, em valores médios para o número máximo de pilhas abertas e valores médios para o tempo de execução.

5.1 Ambiente computacional

O ambiente computacional utilizado no experimento computacional consiste de um processador Intel Pentium Dual Core de 2,5 GHz de frequência e 2 GB de memória RAM, sob o sistema operacional Windows XP Professional Edition.

Todos os algoritmos foram implementados pelos autores, exceto a heurística de Extensão-Rotação, cujos códigos-fonte e executável foram cedidos por Ashikaga, e o método A*, cujos resultados são reportados originalmente em (DE LA BANDA; STUCKEY, 2007). Todas as implementações realizadas foram codificadas em linguagem C, utilizando-se o ambiente de desenvolvimento integrado Visual Studio 6.0, sem nenhuma opção de otimização ativada. A heurística de Extensão Rotação foi codificada originalmente em linguagem C, utilizando-se o ambiente de desenvolvimento integrado Borland C++ Builder. Não foram utilizadas opções de otimização e o padrão ANSI foi seguido o mais fielmente possível.

5.2 Conjuntos de instâncias

No experimento computacional conduzido, utilizou-se o conjunto de instâncias benchmark proposto no First Constraint Modeling Challenge (SMITH; GENT, 2005), composto por 5785 instâncias agrupadas por características comuns e 21 instâncias individuais .

5.3 Experimento com instâncias benchmark

As Tabelas 2, 3 e 4 apresentam os valores médios para os resultados referentes a grupos de instâncias que variam entre 10 e 40 padrões/peças e diferentes proporções entre padrões e peças. O nome de cada grupo segue o formato Nome_m_n_p, em que m denota o número de peças, n denota o número de padrões e p denota a quantidade de instâncias do grupo. A solução ótima é apresentada na segunda coluna da tabela.

O método DLB5 obteve uma ligeira vantagem sobre as duas outras simplificações no número de pilhas abertas para as instâncias agrupadas. Em média, DLB5 abriu 16,46 pilhas, seguido por Ωh (16,76 pilhas em média) e hER (17,36 pilhas em média). A média dos valores ótimos para as instâncias agrupadas é 15,44 pilhas abertas. Desta forma, as simplificações propostas abrem em média aproximadamente uma pilha a mais, em média, em relação ao ótimo. Como se trata de instâncias pequenas, os valores ótimos foram atingidos em grande parte dos casos pelos diferentes métodos. O desvio padrão de todos os métodos é aproximadamente de duas pilhas.

Ambas as simplificações obtiveram tempos de execução médios abaixo de um milissegundo, havendo uma ligeira diferença entre os métodos nos grupos de instâncias com mais padrões e peças. Este comportamento é em parte justificado pelas dimensões reduzidas das instâncias agrupadas.

A Tabela 4 apresenta os resultados referentes a instâncias individuais que variam de 10 a 100 padrões/peças. Estas instâncias foram construídas levando-se em consideração estruturas, como a largura da decomposição arbórea do grafo associado, e também diferentes proporções entre a quantidade de padrões e peças.

Considerando-se as instâncias individuais, a simplificação DLB5 obteve o melhor resultado médio (36,6 pilhas abertas) e atingiu o valor ótimo para seis das 21 instâncias. Os outros dois métodos obtiveram resultados aproximados entre si, respectivamente 40,19 e 41,90 pilhas abertas em média, por Ωh e hER. Tal diferença foi fortemente influenciada pelos resultados das instâncias com 100 padrões e peças, nas quais ocorreram as maiores distâncias entre as soluções de DLB5 e Ωh e hER . A média dos valores ótimos para estas instâncias é de 31,62 pilhas abertas. Ao contrário da comparação anterior, a distância entre os valores médios obtidos e a média dos valores ótimos é grande, chegando a aproximadamente dez pilhas abertas a mais por Ωh.

Como descrito anteriormente, o método DLB5 toma decisões durante o sequenciamento de padrões com base no maior valor entre as métricas utilizadas para cada padrão e empates são resolvidos a favor do primeiro padrão em ordem de ocorrência. Este critério leva a decisões erradas em determinadas situções, acarretando más soluções. Depois de uma análise aprofundada, chegou-se à conclusão de que este é o caso para algumas das instâncias individuais NWRS e SP.

Novamente, os tempos de execução são abaixo de um milissegundo, permanecendo zerados por 10 casas decimais, mesmo para as instâncias com 100 peças e padrões.

Os resultados ótimos apresentados nas tabelas foram obtidos pelo método A* proposto em De La Banda e Stuckey (2007), exceto para as instâncias SP3_75_75 e SP4_100_100, cujos valores ótimos são apresentados em Chu e Stuckey (2010). É possível, portanto, comparar a versão original com sua simplificação, o método DLB5. Em média, a simplificação abre 2,39 pilhas a mais que o método que lhe deu origem. Os tempos de execução de DLB5 são muito menores que os do método original - sempre abaixo de um milissegundo, ao passo que o método original chega a dois segundos para algumas instâncias. Ainda, para as duas últimas instâncias individuais, não foi possível encontrar a solução ótima em mais de uma hora de execução. Ressalta-se que o método original é um método exato e a simplificação proposta é uma heurística.

6 Conclusões

Foram propostas duas simplificações de métodos da literatura para solução do problema de minimização de pilhas abertas, um problema de sequenciamento de padrões com aplicação industrial direta e também forte motivação teórica.

No experimento envolvendo um grande conjunto de instâncias da literatura, comparou-se a simplificação Ωh com seu método original, a heurística de Extensão-Rotação e a simplificação DLB5 com seu método original, proposto em De La Banda e Stuckey (2007). A primeira simplificação (Ωh) obteve desempenho ligeiramente superior ao método que lhe deu origem, ao passo que a segunda simplificação (DLB5, uma heurística), obteve desempenho inferior ao método original, uma vez que este se trata de um método exato. Contudo, DLB5 obteve o melhor desempenho entre as heurísticas comparadas.

O método Ωh, proposto como uma simplificação da heurística de Extensão-Rotação, apresentou melhoria da solução em relação ao método original e manteve similaridade para os valores de tempo de execução médio, dominando, desta forma, o método que lhe deu origem. Tal simplificação executa um passo a menos que o método original - o algoritmo de extensão-rotação de Pósa (1976) -, o que embora não tenha sido refletido nos tempos de execução, certamente o seria em instâncias de maior porte. Devido à supressão deste mesmo passo, a solução também é aprimorada, uma vez que os vértices por ele sequenciados não configuram em melhoria para a solução.

Em relação aos outros métodos comparados, DLB5 apresentou um ótimo desempenho, abrindo grande margem de diferença em valores médios de solução ao mesmo passo em que manteve bons valores para os tempos de execução, desta forma representando uma boa contribuição para a solução do MOSP, como heurística rápida, simples e de bons resultados.

A aplicação de fases adicionais aos métodos propostos será objeto de estudo em futuros trabalhos, a fim de atender à dificuldade em obter melhores soluções para problemas pequenos e esparsos.

Agradecimentos

Os autores agradecem ao Conselho Nacional de Desenvolvimento Científico e Tecnológico - CNPq, pelo apoio financeiro recebido durante a elaboração deste trabalho, e a Fernando Masanori Ashikaga, pelo envio dos códigos-fonte e executável da heurística de Extensão-Rotação.

Recebido em 7/7/2009 - Aceito em 25/5/2011

Suporte financeiro: CNPq.

  • ASHIKAGA, F. M. Um método frugal para o problema de minimização de pilhas abertas 2001. 89 f. Dissertação (Mestrado em Engenharia Eletrônica e Computação)-Instituto Tecnológico de Aeronáutica, São José dos Campos, 2001.
  • ASHIKAGA, F. M.; SOMA, N. Y. A heuristic for the minimization of open stacks problem. Pesquisa Operacional, v. 29, n. 2, p. 439-450, 2009. http://dx.doi.org/10.1590/S0101-74382009000200010
  • BECCENERI, J. C.; YANASSE, H. H.; SOMA, N. Y. A method for solving the minimization of the maximum number of open stacks problem within a cutting process. Computers & Operations Research, v. 31, n. 14, p. 2315-2332, 2004. http://dx.doi.org/10.1016/S0305-0548(03)00189-8
  • BELLUZZO, L.; MORABITO, R. Otimização nos padrões de corte de chapas de fibra de madeira reconstituída: um estudo de caso. Pesquisa Operacional, v. 25, p. 391-415, 2005. http://dx.doi.org/110.1590/S0101-74382005000300006
  • CAMBAZARD, H.; JUSSIEN, N. Solving the minimum number of open stacks problem with explanation-based techniques. In: ASSOCIATION FOR THE ADVANCEMENT OF ARTIFICIAL INTELLIGENCE WORKSHOP, 2007, Vancouver. Proceedings.. Vancouver: AAAI, 2007. p. 14-19. (Technical Report, v. WS-07-06). Conference Paper.
  • CHU, G.; STUCKEY, P. J. Minimizing the maximum number of open stacks by customer search. In: INTERNATIONAL CONFERENCE ON PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING, 15., 2009, Berlin. Proceedings.. Berlin, Heidelberg: Springer-Verlag , 2009. p. 242-257. Lecture Notes In Computer Science.
  • DE LA BANDA, M. G.; STUCKEY, P. Dynamic programming to minimize the maximum number of open stacks. INFORMS Journal on Computing, v. 19, p. 607-617, 2007. http://dx.doi.org/10.1287/ijoc.1060.0205
  • FINK, C.; YANASSE, H. H.; COSTA, A. M. Análise do desempenho de variações de uma formulação linear para o problema de minimização do número máximo de pilhas abertas. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 41., 2009, Porto Seguro. Anais.. Porto Seguro: SBPO, 2009. p. 2934-2945.
  • GAREY, M. R.; JOHNSON, D. S. Computers and intractability: a guide to the theory of NP completeness. W. H. Freeman, 1979. (Books in the mathematical sciences).
  • JOHNSON, D. S. Approximation algorithms for combinatorial problems. J. Comput. System. Sci. v. 9, p. 256-278, 1974.
  • LINHARES, A.; YANASSE, H. H. Connections between cutting-pattern sequencing, vlsi design, and flexible machines. Computers & Operations Research, v. 29, n. 12, p. 1759-1772, 2002. http://dx.doi.org/10.1016/S0305-0548(01)00054-5
  • MILLER, A. Improved lower bounds for solving the minimal open stacks problem. In: CONSTRAINT MODELING CHALLENGE, 2005, Edinburgh. Proceedings.. Edinburgh: University of Glasgow, 2005. p. 36-43.
  • MILLER, A.; PROSSER, P.; UNSWORTH, C. A constraint model and a reduction operator for the minimising open stacks problem. In: CONSTRAINT MODELING CHALLENGE, 2005, Edinburgh. Proceedings Edinburgh: University of Glasgow, 2005. p. 44-50.
  • MÖHRING, R. H. Graph problems related to gate matrix layout and PLA folding. Computational Graph Theory, v. 7, p.17-51, 1990.
  • MORABITO, R.; BELLUZZO, L. Optimising the cutting of wood fibre plates in the hardboard industry. European Journal of Operational Research, v. 183, p. 1405-1420, 2007. http://dx.doi.org/10.1016/j.ejor.2005.11.066
  • OLIVEIRA, A. C. M.; LORENA, L. A. N. Population training heuristics. In: RAIDL, G. R.; GOTTLIEB, J. (Ed.). EvoCOP Berlin: Springer, 2005. p. 166-176. (Lecture Notes in Computer Science, v. 3448).
  • OLIVEIRA, A. C. M.; LORENA, L. A. N. Hybrid evolutionary algorithms and clustering search. In: HYBRID evolutionary algorithms. Berlin: Springer, 2007. p. 77-99. (Studies in computational intelligence, v. 75).
  • OLIVEIRA, A. C. M.; LORENA, L. A. N. Pattern sequencing problems by clustering search. In: ADVANCES in artificial intelligence: IBERAMIA-SBIA. Berlin: Springer, 2006. p. 218-227. (Lecture notes in computer science, v. 4140).
  • PILEGGI, G. C. F.; MORABITO, R.; ARENALES, M. N. Abordagens para otimização integrada dos problemas de geração e seqüenciamento de padrões de corte: caso unidimensional. Pesquisa Operacional, v. 25, p. 417-447, 2005. http://dx.doi.org/10.1590/S0101-74382005000300007
  • PILEGGI, G. C. F.; MORABITO, R.; ARENALES, M. N. Heurísticas para os problemas de geração e seqüenciamento de padrões de corte bidimensionais. Pesquisa Operacional, v. 27, p. 549-568, 2007. http://dx.doi.org/10.1590/S0101-74382007000300008
  • PÓSA, L. Hamiltonian circuits in random graphs. Discrete Mathematics, v. 14, n. 4, p. 359-364, 1976. http://dx.doi.org/10.1016/0012-365X(76)90068-6
  • RESPICIO, A.; CAPTIVO, M. E. Bi-objective sequencing of cutting patterns an application for the paper industry. In: METAHEURISTICS: progress as real problem solvers. Berlin: Springer, 2005. p. 227-241. (Operations research/computer science interfaces series, v. 32).
  • RUSSELL S.; NORVIG, P. Artificial Intelligence: A Modern Approach, Prentice Hall Series in Artificial Intelligence. New Jersey: Englewood Cliffs, 1995.
  • SMITH, B.; GENT, I. (Ed.). First Constraint Modeling Challenge Edinburgh, Scotland: IJCAI, 2005. The Fifth Workshop on Modeling and Solving Problems with Constraints.
  • YANASSE, H. H. Pre processing operations for the minimization of open stacks problem. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 40., 2008, João Pessoa. Anais.. João Pessoa: SBPO, 2008.
  • YANASSE, H. H.; BECCENERI, J. C.; SOMA, N. Y. Bounds for a problem of sequencing patterns. Pesquisa Operacional, v. 19, n. 2, p. 249-277, 1999.
  • YANASSE, H. H.; BECCENERI, J. C.; SOMA, N. Y. Ordenamento parcial para reduzir o espaço de busca de uma solução ótima para um problema de seqüenciamento de padrões. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 34., 2002, Rio de Janeiro. Anais.. Rio de Janeiro: SBPO, 2002.
  • YANASSE, H. H.; BECCENERI, J. C.; SOMA, N. Y. Um algoritmo exato com ordenamento parcial para solução de um problema de programação da produção: experimentos computacionais. Gestão & Produção, v. 14, p. 353-361, 2007. http://dx.doi.org/10.1590/S0104-530X2007000200012
  • YANASSE, H. H.; LAMOSA, M. J. P. An integrated cutting stock and sequencing problem. European Journal of Operational Research, v. 127, n. 3, p. 1353-1370, 2007. http://dx.doi.org/10.1016/j.ejor.2005.09.054
  • YANASSE, H. H.; LIMEIRA, M. S. Refinements on an enumeration scheme for solving a pattern sequencing problem. International Transactions In Operational Research, v. 11, p. 277-292, 2004. http://dx.doi.org/10.1111/j.1475-3995.2004.00458.x
  • YUEN, B. J. Heuristics for sequencing cutting patterns. European Journal of Operational Research, v. 55, n. 2, p. 183-190, 1991. http://dx.doi.org/10.1016/0377-2217(91)90222-H
  • YUEN, B. J. Improved heuristics for sequencing cutting patterns. European Journal of Operational Research, v. 87, n. 1, p. 57-64, 1995. http://dx.doi.org/10.1016/0377-2217(94)00068-N
  • Métodos simplificados para o problema de minimização de pilhas abertas

    Simplified methods for the minimization of open stacks problem
  • Datas de Publicação

    • Publicação nesta coleção
      14 Jul 2011
    • Data do Fascículo
      2011

    Histórico

    • Aceito
      25 Maio 2011
    • Recebido
      07 Jul 2009
    Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
    E-mail: gp@dep.ufscar.br