Acessibilidade / Reportar erro

Resolução de problemas de Bin Packing utilizando rede neural aumentada e Minimum Bin Slack

Solving Bin Packing problems with augmented neural networks and Minimum Bin Slack

Resumo

O objetivo do presente trabalho é comparar a utilização da meta-heurística Rede Neural Artificial Aumentada (RNAA) com a heurística Minimum Bin Slack (MBS) para resolução de Problemas de Otimização Combinatória, mais especificamente, em problemas de Bin Packing, uma classe de Problemas de Corte e Empacotamento (PCE). PCEs são vastamente encontrados em diversos ramos da indústria e o tratamento adequado deste tipo de problema pode gerar impactos diretos na economia de matérias-primas e/ou espaço físico das empresas. Para a otimização dos parâmetros da RNAA, fez-se uso de um projeto de Delineamento de Experimento (DOE) do tipo Fatorial Completo. Os testes, realizados em diversos problemas benchmark da literatura, mostraram que, de uma forma geral, a heurística MBS foi superior tanto em relação à qualidade das respostas (cerca de 70% melhor), quanto em relação ao tempo computacional (aproximadamente 90% menor).

Palavras-chave:
Rede neural; Corte e empacotamento; Delineamento de experimentos; Bin Packing ; Minimum Bin Slack

Abstract

The objective of this work is to compare the Augmented Neural Network (AugNN) metaheuristic with Minimum Bin Slack (MBS) heuristic to solve Combinatorial Optimization Problems, specifically, in this case, the bin packing problem, a class of Cutting and Packing Problems (CPP). CPPs are easily found among various industry sectors and its proper treatment can impact directly in savings of raw material and/or physical space of enterprises. In order to optimize the parameters of AugNN, a Full Factorial Design of Experiment (DOE) was applied. The tests, developed in many benchmark problems found in the literature, showed that MBS heuristic was generally superior, both in terms of quality of solution (approximately 70% better) and computational time (about 90% shorter).

Keywords:
Neural network; Cutting and packing; Design of experiments; Bin Packing; Minimum Bin Slack

1 Introdução

O processo diário de tomada de decisão nas empresas frequentemente envolve o objetivo de maximizar ou minimizar alguma função, respeitando um determinado conjunto de restrições. Como produzir de forma mais eficiente respeitando as capacidades dos recursos humanos, máquinas e insumos disponíveis num dado momento? Qual a melhor rota a seguir para entregar produtos minimizando a distância percorrida e evitando atrasos ao cliente? Qual a forma de acomodar produtos em um contêiner de modo a maximizar o espaço utilizado, respeitando as dimensões do contêiner? Qual a melhor forma de distribuir tarefas entre recursos considerando suas capacidades? Quando o domínio da função objetivo modelada para estes problemas é finito, envolvendo numerosas possibilidades de combinações, temos então Problemas de Otimização Combinatória (POC). Muitos destes problemas são classificados como NP-difíceis, dado que, conforme cresce o número de restrições, como ocorre em situações práticas, a resolução por meio de métodos exatos se torna inviável e até intratável. Desta forma, diversos métodos heurísticos e meta-heurísticos têm sido criados, adaptados e aperfeiçoados de forma a se conseguir um tratamento adequado dos problemas encontrados na prática das indústrias, auxiliando-as a aumentar sua eficiência e consequentemente sua lucratividade e competitividade.

Uma categoria relevante de POCs são os Problemas de Corte e Empacotamento (PCE). Tanto os problemas de corte como os de empacotamento compartilham a mesma estrutura e consistem em, dado um estoque de objetos grandes, designar a estes objetos itens pequenos, formando subconjuntos. É necessário que sejam respeitadas condições geométricas, ou seja, que o somatório das dimensões consideradas dos itens designados a um subconjunto não exceda a dimensão do objeto e que não haja sobreposição de itens, além disso, uma dada função objetivo deve ser otimizada.

Vários métodos meta-heurísticos têm sido propostos para resolução de PCEs. Exemplos podem ser encontrados em Woodcock & Wilson (2010)Woodcock, A. J., & Wilson, J. M. (2010). A hybrid tabu search/branch & bound approach to solving the generalized assignment problem. European Journal of Operational Research, 207(2), 566-578. http://dx.doi.org/10.1016/j.ejor.2010.05.007.
http://dx.doi.org/10.1016/j.ejor.2010.05...
, que testam um método híbrido de Busca Tabu e Branch & Bound para problemas de designação. O problema de corte de estoque com objetos variados e limitados é tratado por Araújo et al. (2011)Araújo, S. A., Constantino, A. A., & Poldi, K. C. (2011). An evolutionary algorithm for the one-dimensional cutting stock problem. International Transactions in Operational Research, 18(1), 115-127. http://dx.doi.org/10.1111/j.1475-3995.2009.00760.x.
http://dx.doi.org/10.1111/j.1475-3995.20...
, com a aplicação de um algoritmo evolucionário. Falkenauer (1996)Falkenauer, E. (1996). A hybrid grouping genetic algorithm for bin packing. Journal of Heuristics, 2(1), 5-30. http://dx.doi.org/10.1007/BF00226291.
http://dx.doi.org/10.1007/BF00226291...
utiliza um algoritmo de grupamento genético híbrido e Loh et al. (2008)Loh, K., Golden, B., & Wasil, E. (2008). Solving the one-dimensional bin packing problem with a weight annealing heuristic. Computers & Operations Research, 35(7), 2283-2291. http://dx.doi.org/10.1016/j.cor.2006.10.021.
http://dx.doi.org/10.1016/j.cor.2006.10....
, um algoritmo de Weight Annealing para problemas de Bin-Packing. Ainda para problemas de Bin-Packing, métodos baseados em Redes Neurais Artificiais são utilizados por Kasap & Agarwal (2012)Kasap, N., & Agarwal, A. (2012). Augmented neural networks and problem structure-based heuristics for the bin-packing problem. International Journal of Systems Science, 43(8), 1412-1430. http://dx.doi.org/10.1080/00207721.2010.549587.
http://dx.doi.org/10.1080/00207721.2010....
e Almeida & Steiner (2013aAlmeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro., bAlmeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal.).

Dentro da categoria de PCEs, o problema do tipo Bin-Packing é uma variação que tem como característica uma forte heterogeneidade de itens. Estes itens devem ser designados a objetos que podem ser idênticos, fracamente heterogêneos ou fortemente heterogêneos, caracterizando os problemas do tipo Single Bin Size Bin Packing Problem(SBSBPP), Multiple Bin Size Bin Packing Problem (MBSBPP) e Residual Bin Packing Problem (RBPP), respectivamente, de acordo com a tipologia proposta por Wäscher et al. (2007)Wäscher, G., Haußner, H., & Schumann, H. (2007). An improved typology of cutting and packing problems. European Journal of Operational Research, 183(3), 1109-1130. http://dx.doi.org/10.1016/j.ejor.2005.12.047.
http://dx.doi.org/10.1016/j.ejor.2005.12...
.

Depois de ajustar e analisar os parâmetros da Rede Neural Artificial Aumentada (RNAA) de Kasap & Agarwal (2012)Kasap, N., & Agarwal, A. (2012). Augmented neural networks and problem structure-based heuristics for the bin-packing problem. International Journal of Systems Science, 43(8), 1412-1430. http://dx.doi.org/10.1080/00207721.2010.549587.
http://dx.doi.org/10.1080/00207721.2010....
, utilizando delineamento de experimentos (Almeida & Steiner, 2013aAlmeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro.), Almeida & Steiner (2013b)Almeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal.propõem alterações na função de aprendizagem, resultando em melhora de aproximadamente 15% na qualidade de solução em relação à RNAA original, e melhora de 50,4% em relação às heurísticas best-fit decreasing(BFD) e first-fit decreasing (FFD), apresentadas por Johnson et al. (1974)Johnson, D. S., Demers, A., Ullman, J. D., Garey, M. R., & Graham, R. L. (1974). Worst-case performance bounds for simple one-dimensional packing algorithm. SIAM Journal on Computing, 3(4), 299-326. http://dx.doi.org/10.1137/0203025.
http://dx.doi.org/10.1137/0203025...
. Scholl et al. (1997)Scholl, A., Klein, R., & Jürgens, C. (1997). BISON: a fast hybrid procedure for exactly solving the one-dimensional bin packing problem. Computers & Operations Research, 24(7), 627-645. http://dx.doi.org/10.1016/S0305-0548(96)00082-2.
http://dx.doi.org/10.1016/S0305-0548(96)...
, analisaram o pior caso de desempenho das heurísticas BFD e FFD e mostraram que estas heurísticas precisam de no máximo 22,2% mais objetos que a solução ótima. Também se observa que a eficiência destas heurísticas aumenta conforme a relação item/objeto aumenta. A complexidade computacional das heurísticas FFD e BFD é O(n.log.n). Como estas heurísticas requerem o arranjo dos itens em ordem decrescente, depois de feito este arranjo a complexidade diminui para O(n). A complexidade computacional da RNAA é a mesma da heurística (O(n.log.n)), multiplicada pela quantidade de iterações, lembrando que a RNAA possui mecanismos de parada que podem limitar a quantidade de iterações.

Neste contexto, o objetivo deste trabalho é comparar o desempenho da RNAA aprimorada por Almeida & Steiner (2013aAlmeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro., bAlmeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal.) a um método que produza melhores resultados que as heurísticas BFD e FFD. Um método comprovadamente superior às heurísticas BFD e FFD em termos de qualidade de solução é a heurística Minimum Bin Slack (MBS), proposta por Gupta & Ho (1999)Gupta, J. N. D., & Ho, J. C. (1999). A new heuristic algorithm for the one-dimensional bin-packing problem. Production Planning and Control, 10(6), 598-603. http://dx.doi.org/10.1080/095372899232894.
http://dx.doi.org/10.1080/09537289923289...
, a qual será analisada neste trabalho e comparada com a RNAA, sendo esta comparação a contribuição original deste trabalho. Partindo dos resultados obtidos em Almeida & Steiner (2013b)Almeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal., um novo delineamento de experimento (DOE) é realizado na busca de parâmetros ótimos para a RNAA. Exemplos de ajuste de meta-heurísticas por meio de DOE podem ser encontrados em Ruiz et al. (2005)Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics. European Journal of Operational Research, 165(1), 34-54. http://dx.doi.org/10.1016/j.ejor.2004.01.022.
http://dx.doi.org/10.1016/j.ejor.2004.01...
, que aplicam DOE para ajuste dos parâmetros de dois Algoritmos Genéticos; em Demirel & Toksari (2006)Demirel, N. Ç., & Toksari, M. D. (2006). Optimization of the quadratic assignment problem using an ant colony algorithm. Applied Mathematics and Computation, 183(1), 427-435. http://dx.doi.org/10.1016/j.amc.2006.05.073.
http://dx.doi.org/10.1016/j.amc.2006.05....
, que utilizam um experimento do tipo 2k para ajuste de um algoritmo de Colônia de Formigas; e em Pan & Ruiz (2012)Pan, Q., & Ruiz, R. (2012). Local search methods for the flowshop scheduling problem with flowtime minimization. European Journal of Operational Research, 222(1), 31-43. http://dx.doi.org/10.1016/j.ejor.2012.04.034.
http://dx.doi.org/10.1016/j.ejor.2012.04...
, que utilizam DOE para calibração de um algoritmo de busca local para resolver o problema de Programação de Fluxo de Produção.

O restante do artigo está organizado da seguinte forma: na seção 2, a heurística MBS é explorada; na seção 3 é descrita a meta-heurística RNAA; e na seção 4 é apresentada a metodologia utilizada. Na seção 5, os resultados dos testes realizados são analisados; e, por fim, na seção 6, serão discutidas as conclusões.

2 Minimum Bin Slack (MBS)

A heurística MBS foi apresentada por Gupta & Ho (1999)Gupta, J. N. D., & Ho, J. C. (1999). A new heuristic algorithm for the one-dimensional bin-packing problem. Production Planning and Control, 10(6), 598-603. http://dx.doi.org/10.1080/095372899232894.
http://dx.doi.org/10.1080/09537289923289...
, como alternativa para resolução de problemas do tipo Bin Packing unidimensional. Este algoritmo é orientado ao objeto/bin(bin-focus), ou seja, procura de forma lexicográfica um conjunto de itens que melhor se ajuste à capacidade do objeto. Primeiramente uma lista de itens não designados, classificados em ordem decrescente, é criada. A designação dos itens a cada objeto é determinada por um procedimento de busca que testa todos os subconjuntos possíveis, iniciando pelos itens de maior tamanho. Quando o processo de busca encontra um subconjunto que preencha o objeto de forma completa, a busca é interrompida e o preenchimento de um novo objeto é iniciado. A notação utilizada é apresentada a seguir:

n = quantidade de itens;

n' = quantidade de itens atualizada;

i = número do item;

ti = tamanho do item i;

tmin = tamanho do menor item;

Z = lista de itens;

r,q = índice da lista de itens Z;

Zr' = r-ésimo item da lista Z;

A = conjunto de itens;

s(A) = espaço remanescente em um objeto devido à designação dos itens contidos em A.

No Quadro 1, a seguir, tem-se a implementação recursiva do algoritmo MBS.

Quadro 1
Procedimento MBS (Adaptado de Fleszar & Hindi, 2002Fleszar, K., & Hindi, K. S. (2002). New heuristics for one-dimensional bin-packing. Computers & Operations Research, 29(7), 821-839. http://dx.doi.org/10.1016/S0305-0548(00)00082-4.
http://dx.doi.org/10.1016/S0305-0548(00)...
).

Gupta & Ho (1999)Gupta, J. N. D., & Ho, J. C. (1999). A new heuristic algorithm for the one-dimensional bin-packing problem. Production Planning and Control, 10(6), 598-603. http://dx.doi.org/10.1080/095372899232894.
http://dx.doi.org/10.1080/09537289923289...
demonstram que a heurística MBS é superior às heurísticas BFD e FFD em termos de qualidade de solução com pouco acréscimo de tempo computacional, sendo que as instâncias testadas possuíam não mais que 70 itens. A complexidade computacional deste procedimento é O (2n) e testes preliminares mostraram que, em instâncias com 200 itens, o tempo de processamento pode ser superior a 13 minutos. Este fato poderia inviabilizar a utilização do MBS em instâncias com muitos itens. Entretanto, Fleszar & Hindi (2002)Fleszar, K., & Hindi, K. S. (2002). New heuristics for one-dimensional bin-packing. Computers & Operations Research, 29(7), 821-839. http://dx.doi.org/10.1016/S0305-0548(00)00082-4.
http://dx.doi.org/10.1016/S0305-0548(00)...
propõem modificações no algoritmo com o objetivo de reduzir o tempo computacional, eliminando cálculos redundantes, sem influenciar no resultado final. Com as modificações propostas, testes preliminares mostraram que problemas de 1000 itens são resolvidos em cerca de 2 segundos, tornando o algoritmo bastante eficiente em relação ao tempo de processamento. As modificações propostas por Fleszar & Hindi (2002)Fleszar, K., & Hindi, K. S. (2002). New heuristics for one-dimensional bin-packing. Computers & Operations Research, 29(7), 821-839. http://dx.doi.org/10.1016/S0305-0548(00)00082-4.
http://dx.doi.org/10.1016/S0305-0548(00)...
são as seguintes:

  1. 1

    No loop for, se r > q e o tamanho dos itens Z'r1 e Z'r é igual, o processamento do item Z'r é ignorado, considerando que o item Z'r não irá gerar empacotamento melhor que aqueles gerados com Z'r1;

  2. 2

    Fazendo Tr a soma dos tamanhos dos itens Z'r Zn, se no loop for, s(A) Trs(A*), então o procedimento é interrompido, visto que não é possível construir um empacotamento melhor que s(A*) com os itens remanescentes. Esta restrição é particularmente útil quando o tamanho do objeto é muito grande em relação aos tamanhos dos itens;

  3. 3

    No início do procedimento, se s(A) < tmin, nenhum item pode ser adicionado ao empacotamento A e o loop for é então ignorado.

3 Rede neural aumentada

A Rede Neural Artificial (RNA) é uma técnica poderosa para solução de problemas de previsão, classificação e reconhecimento de padrões, entretanto não tem alcançado o mesmo sucesso na resolução de POCs (Smith, 1999Smith, K. A. (1999). Neural networks for combinatorial optimization: a review of more than a decade of research. INFORMS Journal on Computing, 11(1), 15-34. http://dx.doi.org/10.1287/ijoc.11.1.15.
http://dx.doi.org/10.1287/ijoc.11.1.15...
). Os resultados obtidos por meio desta técnica, porém, em termos de qualidade de solução, têm sido comparáveis aos de outras meta-heurísticas. Ainda, segundo Smith (1999)Smith, K. A. (1999). Neural networks for combinatorial optimization: a review of more than a decade of research. INFORMS Journal on Computing, 11(1), 15-34. http://dx.doi.org/10.1287/ijoc.11.1.15.
http://dx.doi.org/10.1287/ijoc.11.1.15...
, a primeira demonstração de resolução de um POC utilizando RNA foi feita por Hopfield & Tank (1985)Hopfield, J. J., & Tank, D. W. (1985). “Neural” computation of decisions in optimization problems. Biological Cybernetics, 52(3), 141-152. PMid:4027280., em um Problema de Caixeiro Viajante (PCV). Este trabalho serviu de inspiração para a RNAA proposta por Agarwal et al. (2003)Agarwal, A., Pirkul, H., & Jacob, V. S. (2003). Augmented neural networks for task scheduling. European Journal of Operational Research, 151(3), 481-502. http://dx.doi.org/10.1016/S0377-2217(02)00605-7.
http://dx.doi.org/10.1016/S0377-2217(02)...
.

A primeira RNAA foi utilizada como alternativa para resolução de um problema de agendamento de tarefas (Agarwal et al., 2003Agarwal, A., Pirkul, H., & Jacob, V. S. (2003). Augmented neural networks for task scheduling. European Journal of Operational Research, 151(3), 481-502. http://dx.doi.org/10.1016/S0377-2217(02)00605-7.
http://dx.doi.org/10.1016/S0377-2217(02)...
). A RNAA é uma meta-heurística híbrida que combina um método heurístico a uma RNA. Nas RNAAs, o método heurístico é construído em uma estrutura de rede neural, com elementos interligados, em que funções de entrada são transformadas em funções de saída por meio de funções de ativação. Estas funções são modeladas de forma a capturar as características e restrições dos problemas sob a ótica da heurística utilizada, permitindo grande flexibilidade na construção de arquiteturas de rede. A mudança controlada de pesos entre os elementos de processamento é responsável pela característica de busca local por soluções melhores. Kasap & Agarwal (2012)Kasap, N., & Agarwal, A. (2012). Augmented neural networks and problem structure-based heuristics for the bin-packing problem. International Journal of Systems Science, 43(8), 1412-1430. http://dx.doi.org/10.1080/00207721.2010.549587.
http://dx.doi.org/10.1080/00207721.2010....
propõem uma RNAA para resolução de um PCE, fazendo uso de uma estrutura como a mostrada na Figura 1.

Figura 1
Estrutura da RNAA para PCEs. Kasap & Agarwal (2012)Kasap, N., & Agarwal, A. (2012). Augmented neural networks and problem structure-based heuristics for the bin-packing problem. International Journal of Systems Science, 43(8), 1412-1430. http://dx.doi.org/10.1080/00207721.2010.549587.
http://dx.doi.org/10.1080/00207721.2010....
.

A notação utilizada para a RNAA da Figura 1, com seus respectivos significados é a seguinte:

n = número de itens;

m = número de objetos (UB);

T = conjunto de itens (1, 2,..., n) (Camada de itens/camada de entrada);

B = conjunto de objetos (1, 2,..., m) (Camada de objetos/camada escondida);

C = capacidade do objeto;

k = número de iterações;

t = iteração de designação [0, n];

I = nó inicial;

F= nó final;

Ti = i-ésimo nó da camada de itens, i T;

Bj = j-ésimo nó da camada de objetos, j B;

Si = tamanho do item i, i T;

SUI = conjunto de itens não designados;

LB = limite inferior da quantidade de objetos;

UB = limite superior da quantidade de objetos;

RF = fator de reforço;

BF = fator de retorno;

alpha = taxa de aprendizagem/coeficiente de busca;

IFI(t) = função de entrada do nó inicial;

IFTi(t) = função de entrada para os nós dos itens Ti, i T;

IFBij(t) = função de entrada do nó Ti para os nós dos objetos Bj, j B, i T;

IFFT(t) = função de entrada do nó final a partir dos nós dos itens;

IFFB(t) = função de entrada do nó final a partir dos nós dos objetos;

OFI(t) = função de saída do nó inicial;

OFTBi(t) = função de saída dos nós dos itens Ti para os nós dos objetos, i  T;

OFTFi(t) = função de saída dos nós dos itens Ti para o nó final, i  T;

OFBFj(t) = função de saída dos nós dos objetos Bj para o nó final, j  B;

OFBTji(t) = função de saída dos nós dos objetos Bj para os nós dos itens Ti, i T, j  B;

OFBBj(t) = função de saída do nó do objeto Bj para o objeto Bj+1, j  B, j m;

OFFI(t) = função de saída do nó final;

θI(t) = função de ativação do nó inicial;

θTi (t) = função de ativação para os nós dos itens Ti, i T;

θBj (t) = função de ativação dos nós dos objetos Bj, j B;

θF(t) = função de ativação do nó final;

assignij (t) = designação do item i para o objeto j, i T, j B;

RCj (t) = capacidade residual do objeto j, j B;

OFF(k) = função de saída do nó final na iteração k;

ωi (k) = peso da ligação entre os nós dos itens Ti para os nós dos objetos na iteração k, i  T;

ε(k) = erro ou diferença entre a solução corrente e o limite inferior na iteração k.

A heurística utilizada como base para construção da RNAA analisada neste trabalho é a FFD. Este é um algoritmo bastante eficiente que consiste em, após organizar os itens em ordem decrescente de comprimento, designar cada item, em ordem crescente de índice, no primeiro objeto aberto em que a capacidade residual (RCj) seja suficiente. Caso o tamanho do item a ser designado seja maior que a capacidade residual dos objetos abertos, um novo objeto é aberto (Martello & Toth, 1990Martello, S., & Toth, P. (1990). Knapsack problems: algorithms and computer implementations. Cichester: John Wiley & Sons.). Outras heurísticas que poderiam ser utilizadas são: Next-Fit (NF), First-Fit(FF), Best-Fit (BF), Next-Fit-Descending (NFD) e Best-Fit-Descending (BFD).

3.1 Funcionamento da RNAA

Primeiramente, os pesos ωi (0)são inicializados em 1,00. Também são calculados os limites inferior LB(Equação 1) e superior UB (Equação 2), ou seja, a quantidade mínima e máxima de objetos necessários para colocação dos itens, respectivamente. O limite inferior pode ou não ser a solução ótima. O limite superior será usado para definir a quantidade m de nós na camada dos objetos.

L B =   ( i T S i ) / C (1)
UB= n/(C/maxi(Si)), i  T(2)

3.1.1 Nó inicial

Iniciam-se as iterações, sendo atribuído t = 0.

Função de entrada. No início do algoritmo (t = 0), a função de entrada recebe sinal “1” (Equação 3) para inicializar a primeira designação da primeira iteração. A seguir, quando t > 0, a função de entrada recebe sinal do nó final, conforme Equação 4.

I F I ( 0 ) =   1, (3)
I F I ( t ) =   O F F I ( t ) ,   p a r a   t > 0. (4)

Função de ativação. O estado do nó inicial é definido por t e k, que são inicializados em “1” conforme Equação 5.

θ I ( 0 ) : { t = 1,   k = 1 } . (5)

Para t>0, t e k são atualizados de acordo com o sinal da função de entrada, IFI(t), conforme Equação 6.

θI(t)={t=t+1 e k=k, {se IFI(t)=1,t=1 e k=k+1, {se IFI(t)=2,t=0 e k=0, {se IFI(t)=3.} ,(6)

em que IFI = 1 indica nova designação (incrementa t), IFI = 2 indica fim de uma iteração (incrementa k) e IFI = 3, fim do problema.

Função de saída. Sempre que t>0, o problema precisa ser resolvido, assim, o nó inicial envia o sinal “1” para a camada de itens, indicando que se algum item ainda não está designado, deverá ser, conforme apresentado em Equação 7.

O F I ( t ) = { 1,   { s e   t > 0, 0,   { c a s o   c o n t r á r i o . } (7)

3.1.2 Camada de itens

Função de entrada. Dada pela Equação 8, recebe sinal da função de saída do nó inicial (Equação 7).

I F T i ( t ) =   O F I ( t ) ,   i   T . (8)

Função de ativação. O estado “1” indica que o “nó” correspondente ao item Ti  ainda não foi designado; o estado “0” indica que Ti  se encontra designado. Em t=0, todos os nós são inicializados em “1”, como em Equação 9, em seguida, o estado da função é dado pela Equação 10.

  i   T ,   j   B ,

θ T i ( 0 ) =   1, (9)
θTi(t)={0, {se θTi(t1)=0 (θTi(t1)=1  OFBTji(t)=1),1, {se θTi(t1)=1 (θTi(t1)=0  IFIi(t)=2).}, t>0.(10)

Função de saída. O sinal OFTB envia um sinal, com o comprimento do item multiplicado pelo peso (Equação 11), para a camada de objetos, em que o maior valor será priorizado. Se o item já estiver designado (θTi(t)=0), OFTB é “0”. OFTF envia um sinal para o nó final (Equação 12), informando se o item está (“1”) ou não (“0”) designado.

  i   T ,

O F T B i ( t ) =   θ T i ( t ) * S i * ω i ( k ) , (11)
O F T F i ( t ) =   { 1,   { s e   θ T i ( t ) = 0, 0,   { c a s o   c o n t r á r i o . } (12)

3.1.3 Camada de objetos

Na camada de objetos, a função de ativação precede a função de entrada, por fornecer informação para esta.

Função de ativação. No início, o primeiro objeto está aberto (Equação 14) e os demais estão não abertos (Equação 15), sendo que a capacidade residual do primeiro objeto é igual a sua capacidade total (Equação 13). Um novo objeto é aberto quando recebe sinal do objeto anterior (OFBBj1(t)). Este sinal é enviado quando nenhum dos objetos abertos possui capacidade residual suficiente para designar o item com máximo OFTBi(t). Quando a capacidade residual é inferior ao menor item não designado, o objeto é fechado. A capacidade residual é atualizada de acordo com a Equação 17.

R C i ( 1 ) =   C , (13)
θ B 1 ( 1 ) =   1,   ( o   e s t a d o   d o   p r i m e i r o   o b j e t o   n a   p r i m e i r a   i t e r a çã o é 1   ( a b e r t o ) ) , (14)

para j>1  jB e t>1.

θ B j ( 1 ) =   0, (15)
θ B j ( t ) =   { 0,   { s e   θ B j ( t 1 ) = 0   I F I ( t ) = 2 : o b j e t o   n ã o   a b e r t o , 1,   { θ B j ( t 1 ) = 1   ( θ B j ( t ) = 0     O F B B j 1 ( t ) = 1 ) : o b j e t o   a b e r t o , 2,   { s e   θ B j ( t 1 ) = 1     R C j ( t ) < min [ S l ] ,   l   S U I : o b j e t o   f e c h a d o . } (16)
R C j ( t ) =   R C j ( t )   S i ,   e m   q u e   i é o í n d i c e   p a r a   m a x   O F T B i ( t ) . (17)

Função de entrada. Se o objeto está aberto (Equação 16), este aceita como entrada a saída máxima da camada dos itens (Equação 18).

  i   T ,   j B ,

I F B j ( t ) = { max i ( O F T B j ( t ) ) ,   { s e θ B j ( t ) = 1, 0,   { s e   θ B j ( t ) = 0     θ B j ( t ) = 2. } (18)

Designação de item para objeto. Quando um item é designado para um objeto, os demais objetos não tentam designar este item, seguindo a lógica da heurística FFD (Equação 19).

a s s i g n i j ( t ) = { 0,   { s e   S i >   R C j ( t ) , 1,   { s e   S i   R C j ( t ) . } ,   s e n d o   i   o í n d i c e   p a r a   m a x   O F T B i ( t ) . (19)

Função de saída. Quando um objeto é fechado (estado “2”), o sinal OFBFj(t) (Equação 20) é enviado para o nó final, que a partir deste sinal faz a contagem de objetos fechados.

OFBFj(t)={1, {se θBj(t)=2,0, {caso contrário.},  i T, j B.(20)

O sinal OFBB é enviado para a abertura do próximo objeto quando o tamanho do item referente à max OFTBi(t) é maior que a capacidade residual do objeto atual (Equação 21).

O F B B j ( t ) = { 1,    { s e   θ B j ( t 1 ) = 1 R C j ( t ) < S i ( t ) ,   i é o í n d i c e   p a r a   m a x   O F T B i ( t ) , 0,   { c a s o   c o n t r á r i o . } (21)

Se o item é designado para o objeto, o sinal “1” é enviado para o nó do item, conforme Equação 22.

O F B T j i ( t ) = { 1,   { s e   a s s i g n i j ( t ) = 1, 0,   { c a s o   c o n t r á r i o . } (22)

3.1.4 Nó final

Função de entrada. O nó final recebe um sinal da camada de itens (IFFT), que representa a soma de todos os itens designados (Equação 23). Outro sinal é originado na camada de objetos (IFFB) e é utilizado para somar a quantidade de objetos utilizados para designação dos itens na iteração t (Equação 24).

I F F T ( t ) =   i = 1 n O F T F i ( t ) , (23)
I F F B ( t ) =   j = 1 m O F B F j ( t ) . (24)

Função de ativação. Existem três estados possíveis como pode ser observado na Equação 25. O estado “0”, que implica na existência de itens a serem designados; o estado “1”, que indica que todos os itens foram designados, finalizando uma iteração; e o estado “2”, que indica que o limite inferior foi atingido e a solução ótima foi encontrada.

θ F ( t ) =   { 0,   { s e   I F F T ( t ) < n , 1,   { s e   I F F T ( t ) = n , 2,   { s e   I F F T ( t ) = n   I F F B ( t ) = L B . } (25)

Função de saída. Os três estados possíveis, 1, 2 e 3 indicam, respectivamente: existência de itens a serem designados; todos os itens foram designados, mas LB não foi atingido; e fim do problema (Equação 26).

OFFI(t)= {1, {se θF(t)=0,2, {se θF(t)=1 k< kmax,3, {se (θF(t)=1k= kmax) θF(t)=2.},(26)

O valor de saída dado pela Equação 27representa a solução do problema, ou seja, a quantidade de objetos utilizada, tanto no fim de uma designação (OFFI(t)=2), como no fim do problema (OFFI(t)=3).

O F F ( k ) = I F F B ( t ) ,   s e   O F F I ( t ) = 2   o u   3. (27)

3.1.5 Estratégia de busca

A característica de busca local da RNAA é conseguida pela modificação controlada dos pesos (ωi). Os pesos têm como função alterar o comprimento aparente do item, acarretando mudança na ordem de designação dos itens nos objetos, na busca por soluções melhores. A estratégia de busca apresentada por Agarwal (2009)Agarwal, A. (2009). Theoretical insights into the augmented-neural-network approach for combinatorial optimization. Annals of Operations Research, 168(1), 101-117. http://dx.doi.org/10.1007/s10479-008-0364-8.
http://dx.doi.org/10.1007/s10479-008-036...
consiste em, a cada iteração, alterar os pesos em função do erro (ε), medido pela diferença entre a solução anterior e o LB. A estratégia de busca considerada neste trabalho é aquela apresentada por Almeida & Steiner (2013b)Almeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal., visto se mostrar superior em relação à qualidade de solução quando comparada à estratégia de Agarwal (2009)Agarwal, A. (2009). Theoretical insights into the augmented-neural-network approach for combinatorial optimization. Annals of Operations Research, 168(1), 101-117. http://dx.doi.org/10.1007/s10479-008-0364-8.
http://dx.doi.org/10.1007/s10479-008-036...
. Nesta abordagem, além de se considerar ε, também é considerada a capacidade residual do objeto ao qual o item está designado (RC), aumentando a variação do comprimento aparente de itens alocados em objetos mal empacotados, ou seja, com maiores valores de RC. Para um dado número aleatório Rnd [0, 1], os pesos são alterados como mostrado na Equação 28:

ω i ( k + 1 ) = { ω i ( k ) + ( a l p h a * R n d * ε * S i * R C j ) ,           { s e   R n d < 0.5, ω i ( k ) ( a l p h a * R n d * ε * S i * R C j ) ,   { c a s o   c o n t r á r i o . } , i T ,         (28)

em que o erro ε é dado por OFF(k)LB.

Quando há melhora no resultado em relação à iteração anterior, um reforço (RF) é aplicado no vetor de pesos, seguindo a regra apresentada na Equação 29:

ω i ( k ) = ω i ( k ) + R F * ( ω i ( k ) ω i ( k 1 ) )     i   T . (29)

Para prevenir que a rede siga um caminho que não gere soluções melhores por muitas iterações, é aplicado o mecanismo de retorno, que consiste em, após um número determinado de iterações sem melhoria da solução, reiniciar os pesos com o melhor vetor de pesos encontrado até o momento.

Na seção 4, a seguir, são apresentadas as condições em que a rede foi avaliada no presente artigo.

4 Medotologia

Partindo dos resultados obtidos pela aplicação de DOE por Almeida & Steiner (2013a)Almeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro., foi realizado um novo DOE com o objetivo de buscar um conjunto de parâmetros mais acurados para a RNAA. O projeto escolhido foi do tipo Fatorial Completo, em que todas as combinações entre os fatores são avaliadas e espera-se, com este teste, estimar os efeitos de cada fator, comparar os efeitos das combinações de fatores, estimar os efeitos das interações entre os fatores e estimar a variância.

Os fatores controláveis da RNAA são: taxa de aprendizagem (alpha); fator de reforço (RF), fator de retorno (BF) e número de iterações (k). Os níveis dos fatores representam o intervalo de cada parâmetro, no qual se pretende analisar as respostas do algoritmo, e foram definidos a partir dos resultados obtidos por Almeida & Steiner (2013aAlmeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro., 2013b)Almeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal., sendo que os valores dos parâmetros que apresentaram melhores resultados foram: alpha = 0,0000005; RF = 2; BF = 1000; e k = 3000 (Almeida & Steiner, 2013bAlmeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal.). Os níveis de cada fator, analisados neste trabalho, são os seguintes:

  • -

    alpha: 11 níveis (0,00000010; 0,00000059; 0,00000108; 0,00000157; 0,00000206; 0,00000255; 0,00000304; 0,00000353; 0,00000402; 0,00000451 e 0,00000500);

  • -

    RF: 7 níveis (0, 1, 2, 3, 4, 5 e 6);

  • -

    BF: 8 níveis (250, 500, 750, 1.000, 1.250, 1.500, 1.750 e 2.000);

  • -

    k: 5 níveis (1.500, 2.000, 2.500, 3.000 e 3.500).

Duas variáveis de resposta são avaliadas na análise estatística: a quantidade de resultados ótimos (ótimo) e o gap, que representa a diferença entre a quantidade total de objetos na solução encontrada e a quantidade de objetos na resposta ótima, sendo ótimo uma variável do tipo maior-é-melhor e gap do tipo menor-é-melhor. A quantidade de experimentos realizados no projeto Fatorial Completo é dada pelo produto dos níveis dos fatores e o número de repetições, ou seja, alpha*RF*BF*k*n, que resulta em 11*7*8*5*1. = 3080 experimentos. Toda a análise estatística foi feita com auxílio do software Minitab® 16.1.0.

A RNAA, bem como a heurística MBS, foram codificadas em Visual Basic® 6.0. Para a realização dos testes, foi utilizado o conjunto de problemas benchmarkdisponível em OR-Library (http://www.wiwi.uni-jena.de/Entscheidung/binpp/bin2dat.htm) da Technische Universitat Darmstadt. Este conjunto de problemas é dividido em duas classes. Na primeira classe (u), o tamanho dos itens é uniformemente distribuído entre 20 e 100 e o tamanho dos objetos (bins) é 150. Esta classe é dividida em 4 conjuntos, u120, u250, u500 e u1000, cada conjunto contém 20 instâncias e a quantidade de itens a serem alocados nos objetos é de 120, 250, 500 e 1.000, respectivamente. A segunda classe (t) consiste em triplets, com itens de tamanhos variando entre 25 e 50, para serem empacotados em objetos de tamanho igual a 100. A classe t também é dividida em quatro conjuntos, t60, t120, t249 e t501, cada conjunto contendo 20 problemas com 60, 120, 249 e 501 itens a serem empacotados, respectivamente. Esta classe foi projetada de modo que, a cada objeto, sejam designados 3 itens, o que implica que a solução ótima seja igual à quantidade total de itens dividida por 3, além de não existir folga nos objetos na designação ótima, ou seja, o somatório dos tamanhos dos itens é igual ao somatório do tamanho dos objetos na quantidade mínima necessária, o que torna o problema difícil de ser resolvido.

O principal objetivo da análise estatística da variação dos níveis de cada fator do experimento é definir quais fatores ou interação entre fatores são mais importantes, e em que direção estes fatores devem ser ajustados para melhorar a resposta do algoritmo. Como testes preliminares mostraram que existe pouca variabilidade nas respostas para um mesmo tratamento (combinação de parâmetros) e a eficiência relativa de um experimento fatorial cresce conforme o número de fatores (Calegare, 2001Calegare, A. J. A. (2001). Introdução ao delineamento de experimentos. São Paulo: Blücher. 130 p.), foi realizado apenas um ensaio de cada tratamento, com poucas chances de conclusões errôneas sobre os efeitos dos fatores (Montgomery, 2001Montgomery, D. C. (2001). Design and analysis of experiments (5th ed.). New York: John Wiley & Sons.).

5 Resultados

A Tabela 1 mostra o resultado da análise de variância do experimento obtido no Minitab® para a quantidade de respostas ótimas obtidas pela RNAA.

Tabela 1
Análise de variância para variável ótimo.

Como este experimento foi realizado sem réplicas, o valor do erro residual não pode ser estimado. Este erro serve de parâmetro para o cálculo do valor de F, que é a razão entre a variância explicada pelo fator e a variância relacionada à variabilidade (Ruiz et al., 2005Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics. European Journal of Operational Research, 165(1), 34-54. http://dx.doi.org/10.1016/j.ejor.2004.01.022.
http://dx.doi.org/10.1016/j.ejor.2004.01...
). Quando não se possui o valor do erro residual, uma das práticas é utilizar a interação de maior ordem, neste caso, alpha*RF*BF*k, como estimador do erro. Como o valor de F é obtido pela divisão dos quadrados médios (MS) dos fatores pelo quadrado médio dos resíduos, o valor dos quadrados médios foi utilizado para avaliar quais fatores são mais significativos na variação das respostas. Da Tabela 1, observa-se que os fatores, taxa de aprendizagem (alpha), seguido pelo número de iterações (k) e pela interação alpha*k, são os maiores responsáveis pela variação nas respostas, contribuindo com aproximadamente 99,5% da variabilidade.

Os valores dos quadrados médios obtidos pela análise da variável gap, mostrado na Tabela 2, corroboram com as conclusões obtidas para a variável de resposta ótimo.

Tabela 2
Análise de variância para variável gap.

Nas Figuras 2 e 3, são mostrados os efeitos do fator alpha nas variáveis de resposta ótimo e gap, respectivamente. Para a variável ótimo, os melhores resultados foram obtidos para taxas de aprendizagem maiores, com uma tendência à estabilidade para valores entre 0,0000035 e 0,0000050. Já para a variável gap, o algoritmo responde melhor em taxas intermediárias, entre 0,0000016 e 0,0000026.

Figura 2
Efeito principal do fator alpha na variável de resposta ótimo.
Figura 3
Efeito principal do fator alpha na variável de resposta gap.

O número de iterações (k), tanto aumenta a quantidade de respostas ótimas como diminui o gap, conforme seu valor aumenta. Entretanto, ao se aumentar o valor de k, deve-se levar em consideração que o tempo computacional cresce proporcionalmente (k*[O.(n.log.n)]). As Figuras 4 e 5 mostram os efeitos de k nas variáveis ótimo e gap, respectivamente.

Figura 4
Efeito principal do fator k na variável de resposta ótimo.
Figura 5
Efeito principal do fator k na variável de resposta gap.

A interação entre k e alpha, apresentada nas Figuras 6 e 7 para as variáveis ótimo e gap, respectivamente, indica que, para maiores valores de alpha, a quantidade de iterações tem pouca influência. Para valores intermediários de alpha, em que se conseguiram os menores valores médios de gap, um aumento no número de iterações pode compensar a perda de eficiência. Para efeito de aplicações práticas, a variável de maior interesse é o gap, pois é a que traz maior resultado financeiro ao longo do tempo, por exemplo, reduzindo a quantidade global de estoques utilizados para produção de itens. As demais interações possuem baixo valor de F, o que indica que seus efeitos não são significativos para os resultados e, portanto, não serão analisados.

Figura 6
Efeito da interação k*alpha na variável de resposta ótimo.
Figura 7
Efeito da interação k*alpha na variável de resposta gap.

Com as conclusões obtidas pela análise estatística, foram definidas três combinações de parâmetros buscando otimização das respostas pela RNAA. Na primeira, é utilizado alpha = 0,0000021, que resultou nos menores valores médios de gap, e número de iterações igual a 3.500, que tende a produzir as melhores médias em todos os níveis dos demais parâmetros. Na segunda combinação, é utilizado alpha igual a 0,0000040, que produz bons resultados médios para qualquer nível do fator k, e k igual a 1.500, visando melhor eficiência computacional. Na terceira combinação, é utilizado alpha de 0,0000021 e número de iterações igual a 10.000, buscando melhor qualidade na solução. O baixo valor de F para o fator de retorno e fator de reforço indica que não existe diferença significativa entre as médias de cada nível destes fatores, ou seja, qualquer valor utilizado para estes valores produz as mesmas repostas médias. Entretanto, preferiu-se eliminar estas variáveis, tornando o algoritmo mais “enxuto”.

Cada combinação foi testada 10 vezes e os resultados são comparados com os resultados da heurística MBS acrescida das restrições propostas por Fleszar & Hind (2002). Os testes foram executados em processador Intel® Core™ i3-2310M CPU @ 2.1GHz com memória de 4,00 GB.

A Tabela 3 mostra o resultado das médias obtidas com os 10 experimentos realizados para cada combinação e cada tipo de problema, para as variáveis ótimo e gap. A variável tempo representa o tempo médio, em milissegundos, necessário para a resolução de cada problema.

Tabela 3
Resultados médios das combinações de fatores por classe de problema.

As médias apresentadas na Tabela 3, para as combinações 1 e 2, ficaram de acordo com as observações obtidas com a análise estatística, confirmando a significância dos fatores alpha e k, além da interação entre estes fatores. Na classe t, a RNAA não conseguiu encontrar nenhum resultado ótimo e os gaps foram bastante superiores à classe u, indicando ineficiência da RNAA na resolução de problemas difíceis.

Analisando a classe u, a combinação 1 foi 2,8% superior em relação à combinação 2 na busca por soluções ótimas. Entretanto, a combinação 2 reduziu o valor médio do gap em 3,5%, apesar de aumentar o tempo computacional em aproximadamente 136%. Os resultados da combinação 3 mostram que a tendência de melhor qualidade das respostas com o aumento do número de iterações, não se confirmou, dada uma diminuição de apenas 1,8% no gap em relação à combinação 2. Este fato pode ser um indicativo de que o algoritmo fique “preso” a soluções locais. O aumento no tempo computacional decorrente da grande quantidade de iterações foi da ordem de 186%. Na classe t, o gap médio obtido na combinação 3 foi 0,3% pior que a combinação 2, com tempo médio de processamento 200% superior.

A seguir, na Tabela 4, são apresentados os resultados obtidos com a heurística MBS.

Tabela 4
Resultados da heurística MBS por conjunto de problemas.

Considerando a qualidade das respostas, a RNAA foi superior ao MBS nos conjuntos u120 e u250, com um gap menor em relação ao MBS na ordem de 40%, 36% e 42% no conjunto u120 e 17,1%, 15,7% e 13,5% no conjunto u250, para as combinações 1, 2 e 3, respectivamente, sendo que no conjunto u120, a RNAA foi superior ao MBS também em relação à quantidade de respostas ótimas. O tempo computacional gasto pela RNAA foi superior, no conjunto u120, em 1.500%, 3.770% e 12.110%, respectivamente, para as combinações 1, 2 e 3. Apesar de o tempo de processamento ser percentualmente muito superior, estes tempos são menores que 1 segundo, nas combinações 1 e 2, e de aproximadamente 2 segundos, na combinação 3. No conjunto u250, o tempo foi de 1,1, 2,6, chegando a aproximadamente 7 segundos, em média, nas combinações 1, 2 e 3, nesta ordem. Estes resultados são bastante razoáveis para aplicações práticas, em que o corte de um padrão de perfil metálico, por exemplo, pode durar dezenas ou até centenas de minutos.

Nos conjuntos de problemas u500 e u1000, a heurística MBS foi mais efetiva na resolução. O tempo computacional médio gasto pela heurística MBS para resolução de cada problema do conjunto u500 foi de aproximadamente 0,3 segundos e, para cada problema do conjunto u1000, de aproximadamente 1,3 segundos. Considerando a combinação 2 da RNAA, que tem uma quantidade razoável de iterações (3.500), o tempo chega a 13,5 segundos no conjunto u500, e 54,5 segundos no conjunto u1000. Para o caso extremo analisado de 1.000 itens e 10.000 iterações, o tempo computacional pode chegar a 158,9 segundos. Considerando ainda o tempo computacional necessário para processamento e apresentação das respostas, criação de relatórios, etc., uma aplicação prática com este gasto em tempo de processamento deve ser analisada com mais critério, avaliando outras variáveis como quantidade de vezes que o problema precisa ser resolvido e disponibilidade de mão de obra. Vale ressaltar que em aplicações práticas de corte ou empacotamento, problemas que consideram 500 ou 1.000 itens são pouco comuns.

A qualidade das respostas obtidas pelo MBS nos conjuntos u500 e u1000 foi bastante superior, tanto em relação à quantidade de ótimos, quanto em relação ao gap. Considerando o gap da combinação que obteve as melhores respostas (combinação 3), a heurística MBS reduziu o gap em 34,4% no conjunto u500 e 78,6% no conjunto u1000.

Nos problemas da classe t, nenhum dos métodos foi capaz de chegar a uma resposta ótima, entretanto o gap obtido pela heurística MBS é drasticamente menor que aquele produzido pelo melhor caso da RNAA (combinações 2 e 3), com uma economia de aproximadamente 333 objetos, ou 76,2%. Observa-se que nos problemas mais difíceis (classe t) o tempo computacional cresce em relação aos problemas da classe u. Por exemplo, nos conjuntos u120 e t120, o tempo necessário para a resolução dos problemas de classe t é de aproximadamente 144% maior em relação à classe u, entretanto os tempos ainda são bastante inferiores aos tempos de processamento da RNAA.

Em geral, a heurística MBS foi bastante superior à meta-heurística RNAA, em todos os quesitos. O tempo computacional médio gasto pelo MBS foi de 4,2 segundos, enquanto a RNAA, na combinação 1, que tem o menor número de iterações, registrou média de 37,3 segundos. O gaptotal obtido pela heurística MBS, que pode representar, por exemplo, uma medida de eficiência de aproveitamento de matéria-prima em processos de corte, foi de 156 objetos, enquanto que, no melhor caso da RNAA, o gapmédio foi de 513 objetos, ou seja, num processo de corte que utilizasse RNAA para geração dos padrões de corte, seriam necessários 357 objetos a mais que um processo que utilizasse MBS, resultando em maiores custos, tanto em gasto matéria-prima, como no tratamento das consequentes sobras ocasionadas pela menor eficiência no aproveitamento dos estoques.

6 Conclusões

Este trabalho descreve os passos da implementação de uma meta-heurística RNAA para resolução de problemas do tipo Bin Packing unidimensional. Também é apresentada uma avaliação dos parâmetros da meta-heurística, por meio de delineamento de experimentos, com o objetivo de se buscar melhor efetividade da rede pela otimização de seus parâmetros.

A análise de significância, feita a partir de DOE do tipo Fatorial Completo colaborou para verificar como os parâmetros podem influenciar o funcionamento da RNAA. Observou-se que a alpha e k, além da interação entre estes fatores, são os maiores responsáveis pela variação nas respostas produzidas pela RNAA. Foi observada uma tendência de melhora das respostas conforme se aumenta o número de iterações, entretanto a análise da interação entre os fatores permitiu definir níveis de fatores em que o número de iterações fosse consideravelmente menor, privilegiando o tempo computacional, sem comprometer significativamente as respostas. A análise também permitiu concluir que a variação do fator de reforço e fator de retorno não causam variações nas médias, subsidiando a eliminação destes fatores sem prejudicar a resposta do algoritmo, inclusive aumentando sutilmente a eficiência computacional da RNAA. Isto coloca o DOE como um poderoso aliado no ajuste de algoritmos, em especial os meta-heurísticos. A pouca melhora obtida nas respostas com a extrapolação de k (10.000 iterações) indica que, possivelmente, o algoritmo fica “preso” em regiões específicas de solução, ou ótimos locais. Este fato abre espaço para uma potencial melhora do algoritmo, com a inclusão de mecanismos de fuga de ótimos locais. Este papel deveria ser realizado pelo mecanismo de retorno, entretanto os testes estatísticos mostraram que este mecanismo não produz os resultados desejados. Alguns testes foram realizados com reinicialização de pesos aleatória e os resultados foram bastante insatisfatórios.

A RNAA mostrou ser um método competitivo para a resolução de problemas com até 250 itens, exceto para a classe t, de problemas difíceis. Entretanto, no resultado geral, a heurística MBS foi superior em relação à qualidade das respostas e tempo computacional, reduzindo o gap em 69,6% em relação à RNAA, com tempo 88,7% menor. Vale ressaltar que, no trabalho de Fleszar & Hindi (2002Fleszar, K., & Hindi, K. S. (2002). New heuristics for one-dimensional bin-packing. Computers & Operations Research, 29(7), 821-839. http://dx.doi.org/10.1016/S0305-0548(00)00082-4.
http://dx.doi.org/10.1016/S0305-0548(00)...
), os autores propõem outras heurísticas, entre elas perturbation MBS e Variable Neighbourhood Search (VNS), cuja combinação gera excelentes resultados com pouco impacto no tempo computacional, chegando a reduzir o gap para apenas um objeto nos problemas considerados neste trabalho.

  • Suporte financeiro: Nenhum.

Referências

  • Agarwal, A. (2009). Theoretical insights into the augmented-neural-network approach for combinatorial optimization. Annals of Operations Research, 168(1), 101-117. http://dx.doi.org/10.1007/s10479-008-0364-8.
    » http://dx.doi.org/10.1007/s10479-008-0364-8
  • Agarwal, A., Pirkul, H., & Jacob, V. S. (2003). Augmented neural networks for task scheduling. European Journal of Operational Research, 151(3), 481-502. http://dx.doi.org/10.1016/S0377-2217(02)00605-7.
    » http://dx.doi.org/10.1016/S0377-2217(02)00605-7
  • Almeida, R., & Steiner, M. T. A. (2013a). Aplicação de uma rede neural aumentada ajustada por delineamento de experimentos para resolução de problemas de corte e empacotamento. In Anais do 16 Simpósio de Pesquisa Operacional e Logística da Marinha - SPOLM. Rio de Janeiro.
  • Almeida, R., & Steiner, M. T. A. (2013b). Aplicação de uma rede neural aumentada para resolução de problemas de corte e empacotamento utilizando novas estratégias de aprendizagem. In Anais do 45 Simpósio Brasileiro de Pesquisa Operacional - SBPO. Natal.
  • Araújo, S. A., Constantino, A. A., & Poldi, K. C. (2011). An evolutionary algorithm for the one-dimensional cutting stock problem. International Transactions in Operational Research, 18(1), 115-127. http://dx.doi.org/10.1111/j.1475-3995.2009.00760.x.
    » http://dx.doi.org/10.1111/j.1475-3995.2009.00760.x
  • Calegare, A. J. A. (2001). Introdução ao delineamento de experimentos. São Paulo: Blücher. 130 p.
  • Demirel, N. Ç., & Toksari, M. D. (2006). Optimization of the quadratic assignment problem using an ant colony algorithm. Applied Mathematics and Computation, 183(1), 427-435. http://dx.doi.org/10.1016/j.amc.2006.05.073.
    » http://dx.doi.org/10.1016/j.amc.2006.05.073
  • Falkenauer, E. (1996). A hybrid grouping genetic algorithm for bin packing. Journal of Heuristics, 2(1), 5-30. http://dx.doi.org/10.1007/BF00226291.
    » http://dx.doi.org/10.1007/BF00226291
  • Fleszar, K., & Hindi, K. S. (2002). New heuristics for one-dimensional bin-packing. Computers & Operations Research, 29(7), 821-839. http://dx.doi.org/10.1016/S0305-0548(00)00082-4.
    » http://dx.doi.org/10.1016/S0305-0548(00)00082-4
  • Gupta, J. N. D., & Ho, J. C. (1999). A new heuristic algorithm for the one-dimensional bin-packing problem. Production Planning and Control, 10(6), 598-603. http://dx.doi.org/10.1080/095372899232894.
    » http://dx.doi.org/10.1080/095372899232894
  • Hopfield, J. J., & Tank, D. W. (1985). “Neural” computation of decisions in optimization problems. Biological Cybernetics, 52(3), 141-152. PMid:4027280.
  • Johnson, D. S., Demers, A., Ullman, J. D., Garey, M. R., & Graham, R. L. (1974). Worst-case performance bounds for simple one-dimensional packing algorithm. SIAM Journal on Computing, 3(4), 299-326. http://dx.doi.org/10.1137/0203025.
    » http://dx.doi.org/10.1137/0203025
  • Kasap, N., & Agarwal, A. (2012). Augmented neural networks and problem structure-based heuristics for the bin-packing problem. International Journal of Systems Science, 43(8), 1412-1430. http://dx.doi.org/10.1080/00207721.2010.549587.
    » http://dx.doi.org/10.1080/00207721.2010.549587
  • Loh, K., Golden, B., & Wasil, E. (2008). Solving the one-dimensional bin packing problem with a weight annealing heuristic. Computers & Operations Research, 35(7), 2283-2291. http://dx.doi.org/10.1016/j.cor.2006.10.021.
    » http://dx.doi.org/10.1016/j.cor.2006.10.021
  • Martello, S., & Toth, P. (1990). Knapsack problems: algorithms and computer implementations. Cichester: John Wiley & Sons.
  • Montgomery, D. C. (2001). Design and analysis of experiments (5th ed.). New York: John Wiley & Sons.
  • Pan, Q., & Ruiz, R. (2012). Local search methods for the flowshop scheduling problem with flowtime minimization. European Journal of Operational Research, 222(1), 31-43. http://dx.doi.org/10.1016/j.ejor.2012.04.034.
    » http://dx.doi.org/10.1016/j.ejor.2012.04.034
  • Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics. European Journal of Operational Research, 165(1), 34-54. http://dx.doi.org/10.1016/j.ejor.2004.01.022.
    » http://dx.doi.org/10.1016/j.ejor.2004.01.022
  • Scholl, A., Klein, R., & Jürgens, C. (1997). BISON: a fast hybrid procedure for exactly solving the one-dimensional bin packing problem. Computers & Operations Research, 24(7), 627-645. http://dx.doi.org/10.1016/S0305-0548(96)00082-2.
    » http://dx.doi.org/10.1016/S0305-0548(96)00082-2
  • Smith, K. A. (1999). Neural networks for combinatorial optimization: a review of more than a decade of research. INFORMS Journal on Computing, 11(1), 15-34. http://dx.doi.org/10.1287/ijoc.11.1.15.
    » http://dx.doi.org/10.1287/ijoc.11.1.15
  • Wäscher, G., Haußner, H., & Schumann, H. (2007). An improved typology of cutting and packing problems. European Journal of Operational Research, 183(3), 1109-1130. http://dx.doi.org/10.1016/j.ejor.2005.12.047.
    » http://dx.doi.org/10.1016/j.ejor.2005.12.047
  • Woodcock, A. J., & Wilson, J. M. (2010). A hybrid tabu search/branch & bound approach to solving the generalized assignment problem. European Journal of Operational Research, 207(2), 566-578. http://dx.doi.org/10.1016/j.ejor.2010.05.007.
    » http://dx.doi.org/10.1016/j.ejor.2010.05.007

Datas de Publicação

  • Publicação nesta coleção
    04 Set 2015
  • Data do Fascículo
    Jul-Sep 2015

Histórico

  • Recebido
    10 Fev 2014
  • Aceito
    20 Nov 2014
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