SciELO - Scientific Electronic Library Online

 
vol.4 número1Organização e sistema de gestão: à procura de uma nova coerênciaSistematização para a implantação integrada de sistemas de planejamento fino da produção índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

Compartilhar


Gestão & Produção

versão impressa ISSN 0104-530X

Gest. Prod. vol.4 no.1 São Carlos abr. 1997

http://dx.doi.org/10.1590/S0104-530X1997000100005 

Otimização de leiaute usando busca tabu

 

Facility layout optimization using tabu search

 

 

João Carlos Furtado; Luiz Antônio Nogueira Lorena

LAC/INPE - Instituto Nacional de Pesquisas Espaciais. Av. dos Astronautas 1758 - São José dos Campos - SP

 

 


RESUMO

A busca por leiautes de facilidades de alta qualidade pode ser vista como um problema de otimização combinatória que surge numa grande variedade de contextos de planejamento espacial. Examina-se aqui o problema de otimização de leiaute de facilidades numa área que pode incluir espaços ocupados. O espaço do leiaute e as áreas das facilidades são retangulares e limitados por razões de aspecto. Considerando a complexidade do problema, propõe-se uma heurística de busca tabu para sua solução. Primeiro um leiaute inicial é produzido, usando um procedimento de aglomeração ou aleatoriamente. Considerando n facilidades, a representação é dada por meio de uma árvore binária com um espaço de soluções n!. A busca tabu é então aplicada, usando os leiautes iniciais (aglomeração e aleatoriamente). Resultados com alta qualidade são obtidos para problemas da literatura.

Palavras-chave: busca tabu, leiaute de facilidades, otimização.


ABSTRACT

The search for high quality facility layouts can be viewed as combinatorial optimization problems arising in a wide variety of spatial planning contexts. We examine here the problem of optimizing a layout of facilities in a supplied space that can include unallowed areas. The layout space and facility areas are rectangular and limited by aspect rations. Considering the problem complexity, we propose a tabu search heuristic for the problem. First, an initial layout is generated using a clustering procedure. Considering n facilities, the representation is given by a binary tree with solution space size n!. The tabu search is then applied twofold, using the initial layout and using a random generated layout that maintains only the tree structure of the first layout. Quality results for both cases are obtained for problems of the literature.

Key words: tabu search; facility layout; optimization.


 

 

1. Introdução

O planejamento de facilidades é um assunto complexo, amplo, e é tema de diferentes disciplinas especializadas. Por exemplo: engenharia civil, elétrica, industrial, e mecânica estão todas envolvidas em planejamento de facilidades.

Num sistema de manufatura, o projetista, que é responsável por projetar o leiaute, deve considerar o número de facilidades, o volume de tráfego entre as facilidades, a área necessária e restrições geométricas das facilidades individuais.

Para ajudar o projetista no seu trabalho, diversas técnicas, auxiliadas por computador, foram desenvolvidas e são úteis na determinação de leiautes. Leiautes podem ser gerados ou melhorando um leiaute existente ou construindo um leiaute a partir de dados básicos. Quando o algoritmo gera um leiaute mediante o melhoramento de um leiaute existente, o algoritmo é chamado de algoritmo de melhoramento. São exemplos de algoritmos de melhoramento: CRAFT (ARMOUR & BUFFA, 1963) e COFAD (TOMPKINS & REED, 1976) Quando o algoritmo constrói um leiaute em uma área livre, o algoritmo é chamado de algoritmo de construção. São exemplos de algoritmos de construção: PLANET (DEISENROTH & APPLE, 1972), CORELAP (LEE & MOORE, 1967) e ALDEP (SEEHOF & EVANS, 1967).

Muitas técnicas adotam a programação quadrática para a formulação do problema de leiaute. Foi demonstrado que este procedimento pertence à classe de problemas NP-completo (SAHNI & GONZALEZ, 1976).

Um dos grandes problemas dos algoritmos citados e de outros do gênero (BLAND & DAWSON, 1991; CO & REISMAN, 1989; COHOON et al., 1991; DIAZ, 1992; GLOVER & McMILLAN, 1985; HERAGU & ALFA, 1992; KIM et al., 1991; LANCE & WILLIAMS, 1966; O'BRIEN & BARR, 1980; SKORIN-KAPOV, 1990 e YEAP & SARRAFZADEH, 1993) é a incapacidade de tratar restrições geométricas, tais como uma construção que não seja um retângulo, ou a existência de regiões no interior da construção que não possam ser usadas pelas facilidades, pois já estão ocupadas, como por exemplo, a existência de elevadores, escadas, pilares de sustentação da construção e outras. Um dos poucos trabalhos que consideram restrições geométricas é o de TAM (1992).

Neste trabalho procuraremos atacar esse problema, usando como estrutura de dados uma árvore binária. Após obter duas soluções iniciais: uma com procedimento de aglomeração e outra aleatoriamente, uma busca tabu é usada para melhorar essas soluções. Finalmente os dois resultados são comparados.

 

2. Busca Tabu

A busca tabu é um método heurístico, aplicado com grande êxito a um bom número de problemas de otimização combinatória. A forma básica moderna é de Glover (GLOVER, 1989a e 1989b), bem como seus melhoramentos (GLOVER, 1990).

A idéia básica consiste em evitar mínimos locais na busca, usando algumas estruturas para soluções (ou movimentos) proibidas (tabu).

Seja X o conjunto de possíveis soluções e S(x) o conjunto de movimentos que levam de uma solução x para uma outra solução x'. É criado um subconjunto T de S, cujos elementos são chamados movimentos tabu. Os elementos de T são determinados por meio de uma função que utiliza informações históricas do processo de busca. Um elemento importante na busca tabu é a incorporação da aspiração A(f(x)), critério que permite que um movimento seja realizado mesmo sendo tabu. Uma das características da busca tabu é apresentar-se como uma forma de busca em vizinhança. Desta forma, cada solução x ∈ X, tem um conjunto de vizinhos, N(x) ⊂ X, chamado de vizinhança de x. Cada elemento x'N(x) pode ser alcançado diretamente a partir de x, mediante um movimento. A qualidade de cada solução x gerada é avaliada mediante o cálculo da função objetivo f(x).

Nós usamos o seguinte o algoritmo de busca tabu (ABT), adaptado de (GLOVER, 1989a):

Inicialização:  a árvore binária (usando o algoritmo de aglomeração ou produzida aleatoriamente). Solução inicial para o leiaute s ∈ S, e nbmax (nbmax representa o número máximo de iterações);

cálculo: f(x);

Inicialização: uma lista tabu Tnbiter := 0;

while nbiter < nbmax do

Gerar rep soluções x' ∈ N(x) com [x → x'] ∉ T ou satisfazer a A(f(x));

Verifique a melhor x' gerada por meio de f(x');

atualize a lista tabu T, com o movimento que gerou a melhor x';

atualize A(f(x)); { valor da melhor f(x) gerada até a presente iteração}

x := x';

nbiter := nbiter + 1;

endwhile

A árvore binária inicial é produzida de duas formas: pelo processo de aglomeração (seção 3.3) ou aleatoriamente. A solução inicial x ∈ X é um vetor de dimensão n (n representa o número de facilidades do problema). Cada componente é uma facilidade diferente e corresponde a uma folha na árvore binária. X é o espaço de todas as soluções possíveis, um espaço de dimensão n!. A vizinhança N(x) é dada por todas as possíveis permutações (movimentos) das diferentes facilidades ou dos diferentes nós internos. O tamanho de N(x) é dado pela soma (n-1 + n-2 + ... + 1) = (n-1)n/2 para a permutação das folhas da árvore binária. Para a permutação dos nós internos, N(x) depende da estrutura da árvore binária, uma vez que não é possível permutar um nó filho com o nó pai ou qualquer outro ancestral. Além disso, a estrutura da árvore binária esta variando ao longo do processo de busca, por meio da permutação de nós internos.

Caracterizamos como sendo um movimento duas situações: a) o movimento corresponde à permutação de folhas da árvore binária; b) o movimento corresponde à permutação de nós internos da árvore binária. Na implementação, as duas situações foram testadas e comparadas.

 

3. Formulação do Problema

3.1 A estrutura de Dados

A estrutura de dados usada é uma árvore binária, conforme figura 3.1.1. A árvore apresenta números positivos nas folhas que correspondem às facilidades e números negativos nos nós internos como resultado do processo de construção da árvore (ver seção 3.3). Cada facilidade requer uma quantidade de área, conforme coluna 2 da tabela 3.1.1. As colunas 3 e 4 serão discutidas posteriormente.

 

 

 

 

Dispondo da árvore binária e das dimensões da região onde as facilidades serão introduzidas, inicia-se o processo de particionamento dessa região. Para isso, percorre-se recursivamente a árvore binária, a partir da raiz, verificando as áreas correspondentes na região de particionamento. Por exemplo, na figura 3.1.1, inicia-se na raiz (nó -5) e calcula-se o somatório das áreas das facilidades que estão no ramo esquerdo (as áreas dos nós 1, 2 e 3). O valor obtido é usado na região de particionamento, na qual se varre a região até obter a área correspondente, figura 3.1.2. Nesse momento um particionamento é realizado. Em seguida, continua-se a percorrer a árvore binária (seguindo para o nó -4) e novamente a área do ramo esquerdo é calculada (área do nó 1) e traduzida em particionamento na região de particionamento (é colocada a identificação da região particionada, ou seja, facilidade número 1). O processo continua até toda a árvore binária ser percorrida, o que corresponde em um leiaute na região de particionamento, no final do processo. A cada particionamento é necessário decidir se o particionamento será horizontal ou vertical. O critério é o seguinte: verificamos a distância entre os limites inferior e superior para os cortes vertical e horizontal no local considerado naquele instante a ser cortado. Se a distância vertical é menor do que a horizontal realizamos um corte vertical, caso contrário, o corte será horizontal. Usamos este critério por acreditar que desta maneira produziremos leiautes que violem menos as limitações das razões de aspecto máxima e mínima (seção 3.4).

 

 

3.2  A Geração de Novos Leiautes

Após a obtenção da solução inicial (árvore binária), obtida pelo método de aglomeração ou aleatoriamente, procuramos melhorar o resultado por meio da busca tabu.

Conforme o conceito de movimento (seção 2), implementamos duas situações:

3.2.1  Movimento Mediante Troca de Folhas da Árvore Binária

No primeiro caso, para obter novos leiautes, caracterizamos o movimento como sendo a permutação de folhas da árvore binária. Assim, conforme a seqüência abaixo, vemos que para cada permutação de folhas geramos um novo leiaute.

 

 

 

 

 

 

Assim, vemos que na primeira iteração permutamos as folhas 1 e 6, e geramos conseqüentemente um novo leiaute. Na segunda iteração permutamos as folhas 3 e 5 e um novo leiaute foi produzido. Percebemos que a cada permutação de folhas da árvore binária, geramos um novo leiaute.

3.2.2  Movimento Mediante Troca de Nós Internos

De forma análoga à permutação de folhas na árvore binária, podemos permutar os nós internos na árvore e produzir novos leiautes a cada iteração, conforme a seqüência de figuras abaixo:

 

 

 

 

 

 

Na primeira iteração permutamos os nós internos -1 e -2, conseqüentemente os filhos destes nós mudaram de posição na árvore binária, produzindo um novo leiaute. Na segunda iteração permutamos os nós internos -2 e -3 e produzimos um novo leiaute. É importante observar que quando permutamos nós internos alteramos a estrutura da árvore binária, produzindo modificações mais profundas no leiaute gerado.

3.3 O Processo de Construção da Árvore Binária

Foram construídas duas árvores binárias. Uma aleatoriamente e outra usando um método de aglomeração, no qual facilidades com alto tráfego entre si formam um aglomerado (ANDERBERG, 1973 e ZUPAN, 1982). O processo é descrito pelo seguinte algoritmo de aglomeração (AA):

Passo 1: { Inicialização da matriz de tráfego }

ΘnXn = [θi,j], i, j = 1,...,n (simetricamente) e n aglomerados formados pelas facilidades individuais;

Passo 2: { Geração de um novo aglomerado combinando dois aglomerados }

Geração de um novo aglomerado com os aglomerados i e j para os quais θi,j é máxima;

Passo 3: { Atualização na matriz de tráfego }

A nova matriz de tráfego é formada:

  • Excluindo as linhas ( e colunas ) correspondentes aos aglomerados i e j;
  • Mantendo os tráfegos antigos θpq (em que os aglomerados p e q não pertencem aos aglomerados i ou j unidos no passo 2, e
  • Incluindo um novo conjunto (linha e coluna) de tráfego θ(ij),h entre os novos aglomerados (ij) e os aglomerados antigos remanescentes (representados aqui por h);

Passo 4: { Aglomerado final ? }

Parar com um aglomerado final ou voltar ao passo 2.

Existem diferentes possibilidades para o passo 3.3. Nós usamos a seguinte relação para calcular os novos tráfegos:

onde ni é o aglomerado i, nj é o aglomerado j, e n[ij] é o aglomerado formado pela união dos aglomerados i e j.

3.3.1  Exemplo

Usando o procedimento descrito acima, e considerando que a matriz de tráfego seja a da tabela 3.3.1.1, construímos um exemplo.

 

 

A cada iteração, as duas facilidades com o maior tráfego entre si são unidas num aglomerado, o que é traduzido num ramo da árvore binária. Vemos na figura 3.3.1.1 a seqüência de aglomerações até a formação da árvore final.

Inicialmente, cada aglomerado corresponde a uma única facilidade, ou seja, temos 7 aglomerados, com uma facilidade para cada aglomerado.

Verificamos o maior tráfego na matriz, e percebemos que os aglomerados 6 e 5 apresentam o maior tráfego entre si. Portanto, os aglomerados 6 e 5 devem ser unidos num único aglomerado, conforme mostrado na iteração 1 da figura 3.3.1.1. Seguindo os passos do algoritmo de aglomeração, temos a seqüência de construção da árvore, conforme a figura 3.3.1.1.

Percebemos que ao final do processo encontramos uma única árvore binária, na qual as facilidades com alto tráfego entre si, permanecem mais próximas na estrutura de árvore, produzindo conseqüentemente um leiaute inicial de melhor qualidade.

3.3.2  A Árvore Binária Produzida Aleatoriamente

Vimos na seção anterior como é produzida a árvore binária pelo procedimento de aglomeração. Também produzimos aleatoriamente árvores binárias para a solução inicial. No entanto, na árvore binária aleatória os números de nós internos e de folhas correspondem exatamente aos das produzidas pelo procedimento de aglomeração, ou seja, a estrutura da árvore binária é preservada como base. São geradas aleatoriamente as facilidades e colocadas nas folhas da árvore binária.

3.4  Restrições Geométricas

A forma das facilidades é descrita por dois parâmetros: a razão de aspecto e a razão de área morta. A razão de aspecto ai da facilidade i é definida como:

onde:    hp =  altura da partição alocada à facilidade i;

lp =   largura da partição alocada à facilidade i.

Podemos impor restrições na forma da facilidade, restringindo sua razão de aspecto a [ai(min), ai(max)], onde ai(min) e ai(max) são os limites inferior e superior da razão de aspecto ai.

Freqüentemente existem regiões no leiaute que não podem ser alocadas integralmente às facilidades, isto porque já estão parcialmente ocupadas, com construções, tais como elevadores, escadas, pilares, etc. Essas áreas ocupadas precisam ser subtraídas da área a ser alocada à facilidade. Considere os três espaços ocupados mostrados na figura 3.4.1, a área alocada à facilidade 1 é igual à área da partição retangular menos a porção de espaço já ocupada.

 

 

A existência de áreas ocupadas dentro da facilidade distorcerá a forma retangular da área usável; portanto, é necessário providenciar uma medida que reflita o grau de distorção da forma. A razão de área morta é introduzida com esse propósito. A razão de área morta da facilidade i denotada por si é definida como:

Se o leiaute estiver livre de áreas ocupadas, a razão de área morta de todas as facilidades será zero. Para cada facilidade i, podemos restringir o valor de si ao intervalo [0, σi(max)], onde , σi(max) é o limite superior de σi.

3.5 Função Objetivo

O objetivo é alocar espaço às facilidades de tal maneira que facilidades com grande volume de tráfego estejam próximas entre si, enquanto ainda satisfazem individualmente as restrições de área e forma. Dada uma árvore de particionamento x ∈ X, o problema de alocação de espaço pode ser formulado como:

min θij dij ,      x ∈ X

sujeito a:      ai(min) < ai  < ai(max)

                   0 < σi < σi(max)

                   i = 1, 2, ... , n.

onde

θij        =   Volume de tráfego entre as facilidades i e j.

dij           =   Distância retangular entre os centros das partições alocadas às facilidades i e j.

ai         =   Razão de aspecto da partição alocada a facilidade i.

ai(min)    =   Limite inferior de ai.

ai(max)   =   Limite superior de ai.

σi(max)   =   Limite superior de σi.

Considerando que o centro da partição alocada à facilidade i seja i1, ρi2) e o centro da partição alocada à facilidade j seja j1, ρj2), a distância retangular dij é dada por:

dij = |ρi1 - ρj1| + |ρi2 - ρj2|.

Na formulação, as restrições são convertidas em funções de penalidades. Desta forma, temos:

onde:

αk = max { 0, max{(ak - max{ak(max), 1/ak(min)}), (min{ak(min), 1/ak(max)} - ak)}},

βk = max { 0, σk - σk(max)},

wαk, wβk > 0,

k = 1, 2, ...., n.

O primeiro termo da função objetivo mede o volume de tráfego. O segundo termo representa uma função de penalidades para restrições geométricas. O primeiro termo da função de penalidades mede a extensão em que a razão de aspecto é violada. Uma vez que cada facilidade tem um único nível de tolerância para a violação destas restrições, αk  é multiplicada por um fator wkα.

Igualmente, o segundo termo βk pune a existência de espaços ocupados dentro da facilidade. Pesos individuais wkβ > 0 podem ser atribuídos às facilidades, para refletir seus níveis de tolerância de irregularidade de forma.

 

4. Testes Realizados

Realizamos sete grupos de testes usando como matriz de tráfego os dados do trabalho de NUGGENT et al. (1968) e como áreas das facilidades dimensões da região em que o leiaute será construído, os dados de trabalho de TAM (1992).

O programa de computação foi implementado na linguagem C++, usando compilador Borland, em um computador PC-486, DX2-66.

GRUPO 1:      rep = 4 (vizinhança, são escolhidos quatro pares de folhas aleatoriamente e permutados),

                        t = 3 (tamanho da lista tabu),

                        nbmax = 150, e

                        xinicial = a solução do algoritmo AA,

                        movimento: exclusivamente permutação de folhas na árvore binária.

GRUPO 2:      rep = 4,

                        t = 3,

                        nbmax = 400, e

                        xinicial = a solução do algoritmo AA,

                        movimento: exclusivamente permutação de folhas na árvore binária.

GRUPO 3:      rep = 4,

                        t = 3,

                        nbmax = 150, e

                        xinicial = a geração de uma solução aleatória (mas com mesma estrutura de árvore binária gerada pelo algoritmo AA),

                        movimento: exclusivamente permutação de folhas na árvore binária.

GRUPO 4:      rep = 4,

                        t = 3,

                        nbmax = 400, e

                        xinicial = a geração de uma solução aleatória (mas com mesma estrutura de árvore binária gerada pelo algoritmo AA),

                        movimento: exclusivamente permutação de folhas na árvore binária.

GRUPO 5:      rep = 4,

                        t = 3,

                        nbmax = 150, e

                        xinicial = a solução do algoritmo AA,

                        movimento: permutação de folhas e de nós internos.

GRUPO 6:      rep = 4,

                        t = 3,

                        nbmax = 400, e

                        xinicial = a solução do algoritmo AA,

                        movimento: permutação de folhas e de nós internos.

GRUPO 7:      rep = toda vizinhança, ou seja, a permutação de todos os nós internos, seguido da permutação de todas as folhas;

                        t = 3,

                        nbmax = 150, e

                        xinicial = a solução do algoritmo AA,

                        movimento: permutação de folhas e de nós internos.

Os grupos de teste 1 e 2 usam como solução inicial o algoritmo de aglomeração AA. Estas soluções iniciais apresentam bons resultados e conseqüentemente de difícil melhoramento. As figuras 4.1, 4.2, 4.3 e 4.4 mostram os leiautes finais para os problemas teste usando os dados do grupo 1. As figuras 4.5, 4.6, 4.7 e 4.8 mostram os leiautes finais para os problemas teste usando os dados do grupo 2. A tabela 4.1 mostra a qualidade dos leiautes iniciais produzidos pelo AA. A tabela 4.2 mostra a qualidade dos leiautes após aplicação do algoritmo ABT, usando o grupo de dados 1, e tabela 4.3 mostra a qualidade do leiaute para o grupo 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Os grupos de teste 3 e 4 são formados para verificar a eficiência do algoritmo ABT numa inicialização aleatória. Nós usamos a árvore binária gerada pelo algoritmo AA, mas com facilidades introduzidas aleatoriamente nas suas folhas. Cinco instâncias são consideradas para cada problema. A tabela 4.4 mostra os resultados para o grupo 3, e a tabela 4.5 mostra os resultados para o grupo 4.

Os grupos de teste 5 e 6 são formados para verificar o comportamento na busca quanto existe troca de nós internos. Como há uma alteração mais profunda na estrutura da árvore binária, acreditamos que a troca de nós internos pode ser vista como um processo de diversificação na busca tabu. Os resultados obtidos para 150 iterações encontram-se na tabela 4.6 e para 400 iterações na tabela 4.7.

No grupo de teste 7 usamos como solução inicial o resultado obtido pelo algoritmo AA. A cada iteração é realizada a permutação de todos os nós internos e a permutação de todas as folhas da árvore binária, ou seja, toda a vizinhança é considerada. Nesta implementação, duas listas tabu são usadas. Na primeira lista, os movimentos tabu relativos à permutação de nós internos são armazenados e na segunda os movimentos tabu relativos à permutação de folhas são armazenados. Vemos na tabela 4.8 que os resultados obtidos são melhores que os dos testes anteriores, usando-se menos iterações (50 iterações). No entanto, é necessário destacar que cada iteração apresenta tempo de execução maior que o dos casos anteriormente estudados.

 

5. Conclusões

Este trabalho apresenta restrições maiores que as dos normalmente encontrados na literatura. Consideramos áreas ocupadas no interior da região a ser usada para alocação das facilidades, o que torna mais complexo e demorado o processo de busca. O único trabalho que trata destas restrições, citado na literatura, é o de TAM (1992).

No trabalho realizado, podemos observar que a solução inicial encontrada é de qualidade considerável, devido ao processo de aglomeração que aproxima facilidades de alto tráfego e afasta as de baixo tráfego. Vemos também que o processo de aglomeração é bastante rápido.

A busca tabu implementada conseguiu melhorar a qualidade dos leiautes iniciais produzidos com o processo de aglomeração. No entanto, devemos observar que esse aumento na qualidade torna-se difícil de ser muito significativo, uma vez que o leiaute inicial é de uma boa qualidade e que durante o processo de busca, a maioria das permutações (movimentos tabu) realizadas pioram a qualidade da solução inicial.

A busca tabu conseguiu melhorar mais acentuadamente a qualidade das soluções iniciais (em termos percentuais) produzidas aleatoriamente do que quando a busca foi aplicada às soluções iniciais produzidas pelo procedimento de aglomeração. Isso se deve ao fato de que, em regra, as soluções iniciais obtidas pelo procedimento de aglomeração estão mais próximas de uma solução de boa qualidade do que aquelas obtidas aleatoriamente.

A introdução do procedimento de diversificação, representado pela permutação de nós internos foi responsável pelos melhores resultados para 20 e 30 facilidades, quando toda a vizinhança foi considerada.

Nos testes realizados com o programa de computação, observamos que o aumento do número de iterações processadas pela busca tabu implicou sistematicamente uma melhoria da solução final. Para os testes em que o número máximo de iterações foi estendido para 400, a busca tabu obteve resultados ligeiramente superiores quando aplicada em soluções iniciais obtidas pelo procedimento de aglomeração se comparada à aplicação da busca tabu em soluções iniciais produzidas aleatoriamente.

Como atividades que podem ser desenvolvidos em trabalhos futuros, destacamos: os critérios de aspiração podem ser aperfeiçoados, o número de iterações pode ser aumentado, a lista tabu pode ser variada. Acreditamos que os valores dos parâmetros wak e wbk devam ser mais elevados, para que a razão de aspecto das facilidades não seja tão fortemente violada.

 

Referências Bibliográficas:

ANDERBERG, M.R.: Cluster Analysis for Applications, Nova York, Academic Press, 1973.         [ Links ]

ARMOUR, G.C. & BUFFA, E.S.: "A heuristic algorithm and simulation approach to the relative location of facilities". Management Science, 9:295-309, 1963.         [ Links ]

BLAND, J.A. & DAWSON, G.P.: "Tabu search and design optimization". Computer-aided design, 23(3):195-201, 1991.         [ Links ]

CO, H.; WU, A. & REISMAN A.: "A throughput-maximizing facility planning and layout model". International Journal Production Research, 27(1):1-12, 1989.         [ Links ]

COHOON, J.P.; HEGDE, S.U.; MARTIN, W.N. & RICHARDS, D.S.: "Distributed Genetic Algorithms for the Floorplan Design Problem". IEEE transactions on computer-aided design, 10(4):483-492, 1991.         [ Links ]

DEISENROTH, M.P. & APPLE J.M.: "A Computerized Plant Layout Analysis and Evalution Technique (PLANET)", Technical papers 1962, American Institute of Industrial Engineers, Norcross, Ga., 1972.         [ Links ]

DIAZ, B.A.: "Restricted neighborhood in the tabu search for the flowshop problem". European Journal of Operational Research, 62:27-37, 1992.         [ Links ]

GLOVER, F.: "Tabu Search - Part I". ORSA Journal on Computing, 1(3):190-206, 1989a.         [ Links ]

GLOVER, F.: "Tabu Search - Part II", ORSA Journal on Computing, 2(1):4-32, 1989b.         [ Links ]

GLOVER, F.: "Tabu Search - A tutorial". Interfaces, 20(4):74-94, 1990.         [ Links ]

GLOVER, F. & McMILLAN, C.: "Interactive decision software and computer graphics for architectural and space planning". Annals of operations research, 5:557-573, 1985.         [ Links ]

HERAGU, S.S. & ALFA, A.S.: "Experimental analysis of simulated annealing based algorithms for the layout problem". European Journal of Operational Research, 57:190-202, 1992.         [ Links ]

KIM, Y.; JANG Y. & KIM, M.: "Stepwise-overlapped parallel annealing and its application to floorplan designs". Computer-aided design, 23(2):133-144, 1991.         [ Links ]

LANCE, G.N. & WILLIAMS, W.T.: "A Generalized sorting strategy for computer classification". Nature, 5:212-218, 1966.         [ Links ]

LEE, R.C. & MOORE, J.M.: "CORELAP - Computerized Relationship Layout Planning". Industrial Engineering, 18:195-200, 1967.         [ Links ]

NUGENT, C.E.; VOLLMANN, T.E. & RUML, J.: "An Experimental comparison of techniques for the assignment of facilities to locations". Operations Research 16:150-173, 1968.         [ Links ]

O'BRIEN, C. & BARR, S.E.Z.A.: "An interactive approach to computer aided facility layout". International Journal Production Research, 18(2):201-211, 1980.         [ Links ]

SAHNI, S. & GONZALEZ, T.: "P-complete approximation problem". Journal of Associated Computing Machinery, 23(3):555-565, 1976.         [ Links ]

SEEHOF, J.M. & EVANS, W.O.: "Automated layout design program". Industrial Engineering, 18:690-695, 1967.         [ Links ]

SKORIN-KAPOV, J.: "Tabu search applied to the quadratic assignment problem". ORSA Journal on computing, 2(1):33-45, 1990.         [ Links ]

TAM, K.Y.: "Genetic algorithms, function optimization, and facility layout design". European Journal of Operational Research, 63:322-346, 1992.         [ Links ]

TOMPKINS, J.A. & REED Jr, R.: "An Applied Model for the Facilities Design Problem". International Journal of Production Research, vol. 14, no. 5, pp. 583-595, setembro 1976.         [ Links ]

YEAP, G.K. & SARRAFZADEH, M.: "A unified approach to floorplan sizing and enumeration". IEEE transactions on computer-aided design of integrated circuits and systems, 12(12),1858-1867, 1993.         [ Links ]

ZUPAN, J.: Clustering of large data sets. Nova York, Research Studies Press, 1982.         [ Links ]

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons