• Nenhum resultado encontrado

ESTRATÉGIAS EVOLUTIVAS PARA O PROBLEMA DE SEQÜENCIAMENTO EM MÁQUINAS PARALELAS IDÊNTICAS COM TEMPO DE PREPARAÇÃO DEPENDENTES DA SEQÜÊNCIA

N/A
N/A
Protected

Academic year: 2021

Share "ESTRATÉGIAS EVOLUTIVAS PARA O PROBLEMA DE SEQÜENCIAMENTO EM MÁQUINAS PARALELAS IDÊNTICAS COM TEMPO DE PREPARAÇÃO DEPENDENTES DA SEQÜÊNCIA"

Copied!
12
0
0

Texto

(1)

ESTRATÉGIAS EVOLUTIVAS PARA O PROBLEMA DE

SEQÜENCIAMENTO EM MÁQUINAS PARALELAS IDÊNTICAS COM

TEMPO DE PREPARAÇÃO DEPENDENTES DA SEQÜÊNCIA

Felipe Martins Müller Viviane Cátia Köhler Marcus Rosa Pereira

Universidade Federal de Santa Maria – CT – PPGEP Av. Roraima, Prédio 07 – Sala 120

97105-900 Santa Maria – RS {felipe,viviane,marcus}@inf.ufsm.br

Resumo

Este trabalho propõe três estratégias evolutivas para resolver o problema de seqüenciamento

de n tarefas em m máquinas paralelas idênticas buscando minimizar o tempo máximo de

finalização (makespan). São considerados tempos de preparação dependentes da seqüência.

Também é proposta uma possível modelagem matemática para o problema em questão. Os

métodos propostos são comparados com outras duas heurísticas de qualidade comprovada,

uma baseada em Busca Tabu e outra baseada em Algoritmos Meméticos. Para algumas

instâncias de pequeno porte comparações são feitas com o valor ótimo obtido através de uma

busca dicotômica. Para instâncias maiores as comparações demonstram a robustez e boa

qualidade das soluções encontradas pelas estratégias evolutivas

Palavras chaves: Estratégias evolutivas, metaheurísticas, máquinas paralelas idênticas

Abstract

This paper presents three evolutionary strategies and proposes a mathematical model in

order to solve the problem of scheduling a given set of n jobs to m identical parallel machines

with the objective of minimizing makespan. There is a sequence dependent setup times. We

also compares our method with two other well succeeded heuristics, one is a tabu search

based heuristic and the second is a memetic approach, which combines a population-based

method with local search procedures. As benchmarks for small-sized instances, optimal

values are used provide by a dichotomous search. For larger instances, the comparisons rely

try to show the robust behavior in solution quality as well as in computational effort of our

evolutionary strategy

Keywords: evolutionary strategies, scheduling problems, identical parallel machines.

1. Introducão

Este artigo trata com o problema de seqüenciamento de um dado conjunto de n tarefas para m maquinas paralelas idênticas com o objetivo de minimizar o makespan. Onde o tempo de preparação é dependente da seqüência, isto é, o tempo de preparação da tarefa é dependente da tarefa que esta atualmente em execução na máquina. Este problema de seqüenciamento do tipo made-to-stock aproxima-se freqüentemente das situações da vida real, onde os tempos de preparação são significativos, como os encontrados em industrias químicas, têxteis e de papel. De acordo com a classificação de 3 campos proposta por Graham et al. (1979) para problemas de seqüenciamento, o problema tratado nesse artigo pode ser categorizado como P|tpds|Cmax.

(2)

Apesar de sua relevância poucos algoritmos tem sido proposto para resolver este problema. Dearing e Henderson (1984) desenvolveram um modelo de programação linear inteira para alocação de tarefas aos teares em indústrias têxteis. Eles apresentam resultados através de soluções obtidas por uma relaxação linear do modelo inteiro. Sumichrast e Baker (1987) propuseram um método heurístico baseado na solução de uma série de subproblemas inteiros 0-1 que melhora os resultados de Dearing e Henderson (1984). Estes dois artigos lidam com um problema ligeiramente diferente do aqui apresentado, pois eles assumem que a tarefa pode ser dividida entre várias máquinas. No caso aqui apresentado o problema é combinatorialmente mais complexo. Na revisão de literatura feita, apenas cinco artigos apresentam resultados computacionais para este problema. Frederickson et al. (1978) apresenta um algoritmo aproximativo que deriva de um equivalente entre o P|tpds|Cmax e o problema do caixeiro viajante (PCV). França et al. (1996) propõe um algoritmo que utiliza a heurística baseada em busca tabu com um esquema de vizinhança mais forte que emprega conceitos de vizinhança local e global. Em Liu e Chang (2000) o problema é tratado como tendo diversos estágios, flexibilidade e tempos de preparação de máquinas dependentes da seqüência. Para sua solução foi utilizado uma relaxação lagrangeana sobre um modelo com uma formulação que leva em consideração restrições de fluxo. Acero e Delgado (2002) também propõe uma heurística baseada em busca tabu. Concluindo temos Mendes et al. (2002) apontando uma aproximação memética, que combina um método baseado em população com procedimentos de busca local e compara seus resultados com os resultados de Frederickson et al. (1978) e França et al. (1996).

Este artigo considera o problema de seqüenciamento de forma não preemptiva n tarefas, T1, T2, ..., Tn, para m máquinas paralelas idênticas, M1, M2, ..., Mm para minimizar o tempo de execução do conjunto de tarefas (makespan). Para cada tarefa Tj é alocado um tempo de processamento inteiro e positivo pj e um tempo de preparação inteiro e positivo sij, se a tarefa Tj é executada imediatamente após a tarefa Ti. O tempo de preparação considerado é assimétrico, ou seja, sij≠ sji. O P|tpds|Cmax é comprovadamente NP-difícil num sentido forte porque é equivalente ao Problema do Caixeiro Viajante (PCV) quando o número de máquinas é igual a um (Baker, 1974).

Um modelo matemático para o P|tpds|Cmax, também apresentado como resultado desse trabalho, pode ser visto na seqüência:

Minimizar Z = C (1)

s.a.

x

kk

=

0

,

k

=

1

,

K

,

n

(2)

n x k n k i i ik , , 2 , 1 2 K = =

≠ = (3) n x k n k j j kj 1, 2, , 2 K = =

≠ = (4) ukC, k =2,K,n (5) ukt1kx1k, k =2,K,n (6) ukG−(Gt1k)x1k, k =2,K,n (7) k i n k n i x t t x x G G t u uk i ik ki ik ik ki ki ≠ = = + − + + − + ≥ , , 2 , , 2 ) ( ) ( K K (8)

=

=

n j ij

m

i

n

x

2

,

,

1 K

(9)

(3)

xij

{ }

0,1 i=1,K,n j=1,K,n (10)

uk ≥0, k =2,K,n (11)

C≥0 (12)

Onde a função objetivo é minimizar o tempo máximo de finalização de todas as tarefas (makespan), expressa em (1). Existem n tarefas e m máquinas, com n > m. A variável inteira xij = 1 indica que a tarefa Tj será executada logo após a tarefa Ti, caso contrário, xij = 0. A variável x11 é uma variável

artificial da qual partem as seqüências de tarefas correspondentes a cada máquina. A variável uk corresponde a soma parcial da carga da máquina na qual a tarefa k esta alocada, considerando a seqüência de tarefas até k. G é um número suficientemente grande e é utilizado para ativar ou desativas as restrições (7) e (8).

A restrição (2) indica que uma tarefa não pode ser predecessora ou sucessora dela mesmo, enquanto que as restrições (3) e (4) indicam que cada tarefa só pode ter um sucessor e um predecessor, respectivamente.

Na restrição (5) a variável C é limitada pelo valor do makespan. Observe que a última tarefa na seqüência da máquina, dita Tk0, que determina o valor do makespan é associada ao valor uk que corresponde à carga total desta máquina.

A restrição (8) serve para evitar ciclos na seqüência em que uma nova tarefa será adicionada. As restrições (5) e (6) determinam a tarefa que vai iniciar uma seqüência.

A restrição (9) indica que nunca poderão ser utilizadas mais que m máquinas para alocar as n tarefas. São feitas duas contribuições com este artigo: a formulação matemática para o problema, que foi apresentada anteriormente, e as estratégias evolutivas, denominadas Esched, que superam, na média, a qualidade da solução de todas as outras heurísticas, mas o esforço computacional é bem menor. São propostas três versões paro o Esched que serão comparadas com outras duas metaheurísticas, a busca tabu (BT) implementado por França et al. (1996) e o algoritmo memético (AM) projetado especialmente para o P|tpds|Cmax proposta por Mendes et al. (2002), pois são os que melhor resultados apresentaram na literatura estudada.

Busca Tabu (BT) é uma metaheurística que guia um procedimento de busca local no sentido de explorar o espaço de soluções fugindo das armadilhas impostas pelos ótimos locais (Glover and Laguna, 1997). O procedimento de busca local usa uma operação chamada de movimento para definir a vizinhança de uma solução qualquer. BT reduz a vizinhança classificando certos movimentos como proibidos, ou seja, tabu. Este mecanismo evita a ciclagem, isto é, a execução infinita de uma mesma seqüência de movimentos, e direciona a busca para regiões inexploradas do espaço de soluções. O algoritmo baseado em BT utilizado neste artigo foi desenvolvido por (França et al., 1996) e é composto de três fases.

Inicialmente o algoritmo proposto constrói uma solução de partida. Então, dentro de um esquema de busca local e com a supervisão da metaheurística Busca Tabu, soluções vizinhas são exploradas removendo uma tarefa de uma máquina e reinserindo-a em outra. Por fim, um procedimento de pós-otimização é aplicado a cada máquina em separado.

As inserções são feitas usando a idéia proposta por Gendreau, Hertz e Laporte (1992) de um procedimento geral de inserção denominado GENI (de generalized insertion), que é menos míope e mais poderoso que os procedimentos padrão de inserção (por exemplo, 2-OPT). GENI permite que uma tarefa seja incluída na máquina contendo pelo menos um de seus vizinhos mais próximos, e cada inserção é executada simultaneamente com uma reotimização local da seqüência de tarefas da máquina em questão.

A fase de pós-otimização aplica o procedimento US (unstringing - stringing) também proposto pelos mesmos autores de GENI. O procedimento US remove, sucessivamente, tarefas de uma máquina,

(4)

usando o reverso de GENI e reinsere-a na mesma máquina usando GENI.

Os algoritmos meméticos (AMs) (Moscato, 1989), combinam o reconhecido potencial dos métodos populacionais com um incremento de capacidade fornecido pela busca local. E um AM todos os indivíduos da população correspondem a soluções que se desenvolveram até se tornarem um ótimo local de uma certa vizinhança (ou ainda, soluções que evoluíram através de estratégias individualizadas de busca), isto é, após a aplicação dos passos de recombinação e mutação, um algoritmo de busca local é aplicado às soluções obtidas. Uma introdução mais formal sobre AM pode ser encontrada em Moscato (1999). O AM utilizado nesse artigo foi proposto por Mendes et al. (2002) e utiliza um conceito de população estruturada como uma árvore ternária, que já controla a escolha dos indivíduos para as operações de recombinação e mutação, bem como hierarquiza as soluções baseada na função de avaliação. A representação escolhida para o indivíduo é bastante intuitiva, sendo o cromossomo composto de alelos assumindo inteiros diferentes no intervalo [1, n], onde n é o número de tarefas. Além disso existem m-1 pontos de corte no cromossomo que definem as seqüências alocadas em cada máquina. O operador de crossover implementado é o tradicional Order Crossover (OX). A mutação é baseada em troca de tarefas. A busca local é baseada em dois tipos de vizinhança, uma considerando todas as trocas possíveis e outra considerando as inserções. Os demais parâmetros do algoritmos podem encontrados no artigo original.

2. Estratégias Evolutivas

As estratégias evolutivas (EE) foram originalmente propostas por Ingo Rechenberg (1973) e Hans-Paul Schwefel (1981) e, mais recentemente por Fogel (1994). Os Algoritmos Evolutivos (AEs) são técnicas robustas e eficientes em espaços de procura irregulares, complexos e apresentando múltiplas dimensões. Um AE caracteriza-se por (Goldberg, 1989):

i. operar em uma população de pontos;

ii. não requerer cálculos de derivadas e informação sobre o gradiente da função objetivo;

iii. trabalhar com a codificação de seu conjunto de parâmetros ao invés de seus próprios (codificação binária);

iv. realizar transições probabilísticas, em vez de regras determinísticas;

v. necessitar apenas da informação sobre o valor da função objetivo para cada indivíduo da população;

vi. apresentar simplicidade conceitual;

vii. ser pouco afetado, quanto a eficiência, quanto a descontinuidade e ruídos presentes nos dados do problema.

As características iii a v não são comuns a todos os AEs, mas presentes nos algoritmos genéticos. Porém, os AEs também apresentam algumas limitações e que devem ser mencionadas. Os AEs tratam-se de métodos estocásticos e tratam-seu detratam-sempenho varia de execução para execução (a não tratam-ser que os parâmetros e o gerador de números aleatórios sejam os mesmos). Os AEs, nas suas configurações usuais, também apresentam dificuldades para a determinação do ótimo global. Outra limitação é a necessidade da análise de todas as amostras do processo a cada avaliação da função de aptidão. Esse aspecto é uma limitação relevante em aplicações de controle em tempo real.

Apesar desses aspectos os AEs vem resolvendo uma gama variada de problemas de otimização combinatória nas mais diferentes áreas e tem especial apelo quando se busca a hibridização com outros métodos, como por exemplo:

Hibridização com Métodos Exatos: Sato e Hagiwara, 1997; Yen et al. 1998 e Robin et al. 2003; Hibridização com Simulated Annealing: Sun, 1995.

(5)

EE foram inicialmente desenvolvidas para problemas de otimização contínuos. Além das hibridizações já referenciadas, podem ser encontrados vários artigos com aplicações para o caso discreto (veja, Cai e Thierauf, 1996; Corne et al.,1999; Gupta e Greenwood, 1996; Coelho, 2003; entre outros). Uma discussão detalhada sobre semelhanças e diferenças entre algoritmos genéticos e EE é dada em Hoffmeister e Baeck (1992).

As EEs proposta neste artigo são baseados nas idéias de Homberger e Gehring (1999) para resolver problemas de roteamento de veículos com janelas de tempo. A existência de uma relação entre o problema de seqüenciamento e o problema de roteamento foi o motivo de utilizar as idéias originais do roteamento com janelas de tempo para o problema de sequenciamento P|tpds|Cmax. A contribuição está no fato de adaptarmos a estratégia para outro problema combinatório e abrirmos espaço para a inclusão de novos operadores de recombinação mutação e busca local, oriundos de outros trabalhos. São propostas três estratégias evolutivas denominadas ESched1, ESched2 e ESched3 que vão ser detalhadas na seqüência.

Dado o tamanho inicial da população pop; popmax o tamanho da população; e imax é o número de iterações evolutivas. Considerando o conjunto MoveSet = {2-opt*, Or-OPT, two-interchange} onde o operador two-interchange remove duas tarefas Ti e Tj de duas diferentes máquinas Mi e Mj e realocando Ti em Mj e Tj em Mi utilizando a inserção mais barata.

Então ESched1 pode ser descrito formalmente como segue:

Passo 1: Crie uma população inicial de tamanho pop através de um Algoritmo Construtivo adaptado. Passo 2: Faça iter = 1.

Passo 3: Se iter > imax então PARE. Caso contrário, escolha aleatoriamente um indivíduo Ij.

Passo 4: Faça M +e M - ser a máquina mais e menos carregada do individuo I

j , respectivamente.

Passo 5: Escolha aleatoriamente um operador (algoritmo de melhoramento) do conjunto MoveSet. Passo 6: Aplique o operador selecionado no Passo 5 em M + e M - gerando um novo indivíduo I

n.

Passo 7: Se iter ≤ popmax então insira In na população. Caso contrário se In é melhor que o pior indivíduo da população troque este por In.

Passo 8: Faça iter = iter + 1 e vá para o Passo 3.

Antes de descrever ESched2 em detalhes são apresentadas definições. O operador de recombinação usado no Passo5 é o Uniform Order-Based Crossover que apresenta resultados superiores ao Cycle Crossover (Goldberg, 1989).

O código de mutação necessita de uma lista de índices de tarefas de tamanho 2n, onde n é o número total de tarefas. Cada índice de tarefa i, 1 ≤ i ≤ n, aparece duas vezes em diferentes locais na lista mencionada. Então, os dados de entrada do operador de mutação é um indivíduo IA e um código de mutação C. Desse modo, um novo indivíduo é gerado percorrendo-se a lista relativa ao código de mutação C e removendo a tarefa Ti de IA na primeira vez que aparece em C e reinserida quando i aparece pela segunda vez na lista C. O procedimento de remoção é uma adaptação do Or-OPT que faz uma melhora local após a remoção da tarefa. Na inserção das tarefas é utilizado o algoritmo de inserção mais barata.

O Or-OPT modificado inicialmente identifica a tarefa a ser removida, dita Tk, e sua predecessora e sucessora, ditas Ti e Tj, respectivamente. Após a remoção de Tk, o algoritmo Or-OPT é iniciado considerando unicamente as inserções entre Ti e Tj, fazendo uma melhora local nas tarefas restantes alocadas na máquina. Agora, vai-se apresentar formalmente a segunda estratégia evolutiva denominada ESched2.

Passo 1 e 2: Idênticos ao ESched1

Passo 3: Gere um código de mutação para cada indivíduo da população.

(6)

diferentes, chamados I1 e I2.Considere C1 e C2 os códigos de mutação de I1 e I2, respectivamente.

Passo 5: Gere um novo código de mutação C3’ do indivíduo resultante da recombinação entre C1 e C2.

Passo 6: Escolha, aleatoriamente na população, um indivíduo I3 diferente de I1 e I2.

Passo 7: Aplique o operador de mutação em I3 utilizando C3’ como código de mutação, obtendo como

resultado um novo indivíduo I3’.

Passo 8: Se iter ≤ popmax então insira I3’ na população. Caso contrário, se I3’ é melhor que o pior

indivíduo na população então substitua-o por I3’.

Passo 9: Faça iter = iter +1 e vá para o Passo 4.

A ultima estratégia evolutiva proposta aqui será denominada Esched3, faz uso da variável NMoves. Esta variável é um número aleatório que diz quantas iterações devem ser executadas pela operador de busca local, que irá parar nesse número de iterações ou quando não houverem mais movimentos de melhora. Esched3 difere de Esched1, unicamente no Passo 6 que pode ser rescrito como:

Passo 6’: Aplique o operador selecionado no Passo 5 em M+ e M- por NMoves iterações ou até que nenhum movimento de melhora seja possível, gerando um novo indivíduo In.

Nota-se que Esched1 e Esched3 não apresentam operadores de mutação, porém rapidamente poderia ser desenvolvida uma nova estratégia que combinasse Esched2 com Esched3 gerando uma nova EE que contemplasse os dois operadores. Nesse artigo procurou-se verificar a influência de cada um dos operadores na qualidade da solução obtida, para em futuros trabalhos combiná-las da melhor maneira possível, inclusive propondo novas hibridizações. Na próxima seção serão apresentados os resultados computacionais e suas analises.

3. Resultados Computacionais

As instâncias usadas nos experimentos computacionais foram geradas aleatoriamente, mas são as mesmas testadas em França et al. (1996) e Mendes et al. (2002), o que valoriza as comparações (as instâncias estão disponíveis em http://glover.ce.ufsm.br). Foram utilizadas instâncias com todas as combinações entre 2, 4, 6 e 8 máquinas e 20, 40, 60 e 80 tarefas. Os tempos de processamento foram gerados de acordo com a distribuição discreta uniforme DU (1,100). Os tempos de preparação foram divididos em duas categorias: tempo de processamento pequenos – com valores entre [1,10] e tempo de processamento grandes – com valores entre [1,100]. Os tempos de processamento também foram gerados de acordo de duas possibilidades: estruturados e não estruturados. Os tempos de processamento estruturado obedecem a desigualdade triangular, isto é, sij ≤ sik + skj, ∀ i, j, k ≠ i, j. Os tempos de processamento não estruturados não seguem a desigualdade triangular. Como, normalmente os operadores de recombinação, mutação e busca local foram originalmente desenvolvidos para problemas de roteamento, os problemas não estruturados apresentam uma maior dificuldade. Foram geradas 10 amostras de cada configuração do número de máquinas e de tarefas.

As comparações serão feita entre as três versões das EEs, denominadas, ESched1, ESched2 e

ESched3, a metaheurística Long Tabu descrita em França et al. (1996) e o Algoritmo Memético

proposta por Mendes et al. (2002). Todos os algoritmos foram implementados em Java e os códigos originais e as instâncias foram gentilmente cedidos pelos autores dos artigos. Os testes foram realizados em um computador Pentium III 1 GHz e 1Mb de memória RAM, sobre um sistema opracional Mandrake Linux 9.0. Os parâmetros utilizados para o Long Tabu e Memético foram os mesmo utilizados nos artigo originais. Para ESched1, ESched2 e ESched3 foi usado pop = 20, popmax = 50, imax = 400 e NMoves foi aleatoriamente gerado de acordo com a distribuição discreta uniforme no intervalo [1,10].

A escolha dos métodos para comparar com as EEs se deu devido a dois fatores importantes: a qualidade de solução obtida pelo Long Tabu e o esforço computacional despendido pelo Algoritmo Memético. Neste sentido foi mostrado que ESched1, ESched2 and ESched3 superam, na média, o desempenho dos outros dois métodos.

(7)

Para instâncias pequenas, os métodos podem ser comparados com a solução ótima obtida através de um método exato baseado em uma busca dicotômica (França et al., 1996), porém permitindo 5000 segundos como tempo limite para cada iteração de branch&bound realizada. Quando o método exato falha na obtenção da solução ótima a comparação é feita entre os métodos heurísticos. Cabe comentar que, para a busca dicotômica, o número de máquinas é o fato que determina quão difícil é o processo de obter uma solução. Portanto, com m = 2 e 4 são referenciados com “problemas pequenos” enquanto para outras instâncias são considerados “problemas grandes”.

As tabelas apresentam resumidamente os resultados computacionais. As tabelas 1 e 3 apresentam o desvio percentual da solução heurística em relação a solução ótima, dado pela fórmula: desvio médio = ((MH –SO)/SO) * 100, onde MH é a solução heurística obtida por, ESched1, ESched2, ESched3, Long Tabu e Memético, e SO é o valor da solução ótima. Os resultados apresentados são uma média dos resultados obtidos para as 10 instâncias testadas em cada combinação de n e m. Nos casos onde não foram encontradas todas as soluções ótimas, é mostrado entre parênteses o total de instâncias consideradas. As linhas omitidas são os casos onde não se encontrou nenhuma solução para a combinação de m e n. É apresentado o resultado para sij ∈ [1,100] em instâncias estruturadas (Tabela 1) e instâncias não estruturadas (Tabela 3) porque estes representam bem o comportamento geral dos métodos testados.

n/m ESched1 ESched2 Esched3 Long Tabu Memético

20/2 1,857 3,852 1,816 11,164 2,227 20/4(2) 6,461 5,197 7,584 7,444 2,388 20/8(3) 39,311 38,714 48,125 34,479 32,034 40/2(2) 2,679 7,192 2,895 23,325 8,070 60/2 3,066 6,739 3,309 26,509 8,139 80/2 3,105 5,982 3,223 29,967 8,029

Tabela 1 – Desvio Percentual da Solução Ótima, Instâncias Estruturadas, sij ∈ [1,100]

n/m ESched1 ESched2 Esched3 Long Tabu Memetic

20/2 273,2 241,8 282,6 10709,2 120045,8 20/4 292,4 231,9 292,3 8348,8 120050,2 20/6 294,7 238,4 298,6 7457,3 120037,7 20/8 298,3 244,1 323,0 7296,6 120073,8 40/2 459,3 438,4 498,9 74530,5 120024,4 40/4 401,0 371,1 425,3 26596,7 120032,3 40/6 398,8 352,4 407,4 12258,3 120027,3 40/8 412,1 360,2 433,8 10909,2 120022,5 60/2 627,9 745,7 628,4 529565,5 120023,5 60/4 459,3 571,9 490,6 114075,5 120034,7 60/6 435,5 530,9 454,8 50880,1 120033,6 60/8 430,5 527,6 442,6 27421,8 120034,6 80/2 869,1 1218,4 874,0 2027927,0 120035,3 80/4 543,7 884,1 562,5 354919,1 120052,9 80/6 547,5 803,1 506,1 184386,2 120042,8 80/8 595,4 762,2 563,7 83985,8 120080,2

Tabela 2 – Tempo de CPU em milisegundos, Instâncias Estruturadas, sij∈ [1,100]

n/m ESched1 ESched2 Esched3 Long Tabu Memético

20/2 2,612 5,738 2,918 15,094 3,989

20/4(2) 7,233 11,518 9,353 8,028 6,842

(8)

20/8(4) 14,746 8,611 21,928 7,455 5,569

40/2(9) 3,097 8,024 4,004 27,231 8,710

60/2(9) 3,018 5,643 3,405 31,116 9,479

80/2 2,838 5,745 3,153 33,532 9,828

Tabela 3 – Desvio Percentual da Solução Ótima, Instâncias Não Estruturadas, sij ∈ [1,100]

n/m ESched1 ESched2 Esched3 Long Tabu Memetic

20/2 260,7 237,3 261,9 10826,4 120047,4 20/4 282,2 230,9 289,1 8182,8 120055,9 20/6 271,2 237,5 289,7 7445,8 120047,3 20/8 293,0 250,3 318,3 7226,1 120050,9 40/2 432,5 409,9 473,3 74301,1 120031,2 40/4 409,9 354,4 472,3 26994,5 120020,8 40/6 438,5 352,2 408,0 12504,5 120040,1 40/8 416,9 357,0 425,3 10769,9 120050,9 60/2 639,4 662,9 662,7 494738,6 120029,1 60/4 470,3 559,5 529,8 120048,4 120032,1 60/6 536,3 524,6 525,2 47512,0 120025,3 60/8 551,0 529,3 431,3 24798,4 120047,4 80/2 102,5 1056,6 887,7 2059991,1 120057,5 80/4 612,9 861,0 597,0 384663,9 120092,2 80/6 675,9 765,7 537,1 167017,1 120069,7 80/8 642,5 749,9 547,5 74922,0 120071,8

Tabela 4 – Tempo de CPU milisegundos, Instâncias Não Estruturadas, sij∈ [1,100]

As tabelas 2 e 4 apresentam a média do tempo de CPU para resolver as dez instâncias testadas em cada combinação de m e n. Os valores são em milisegundos. Como pode se ver o tempo de CPU gasto pelas EEs é consideravelmente inferior ao gasto pelo Long Tabu e o Memético (limitado em 2 minutos de CPU).

n/m ESched1 ESched2 Esched3 Long Tabu Memetic

20/2 1,000 1,019 0,999 1,088 1,003 20/4 1,000 1,001 1,006 0,991 0,981 20/6 1,000 0,997 1,005 0,957 0,952 20/8 1,000 0,978 1,024 0,942 0,933 40/2 1,000 1,044 1,002 1,200 1,053 40/4 1,000 1,043 0,999 1,086 1,003 40/6 1,000 1,037 1,009 1,044 0,983 40/8 1,000 1,012 0,998 0,946 0,945 60/2 1,000 1,036 1,002 1,227 1,049 60/4 1,000 1,049 1,006 1,173 1,036 60/6 1,000 1,049 1,007 1,100 1,011 60/8 1,000 1,053 1,010 1,036 0,994 80/2 1,000 1,027 1,002 1,259 1,046 80/4 1,000 1,036 1,004 1,205 1,037 80/6 1,000 1,039 1,003 1,150 1,038 80/8 1,000 1,044 1,002 1,095 1,018

Tabela 5 – Valor da solução heurística relativa à solução do ESched1, Instâncias Estruturadas, sij∈ [1,100]

Também são apresentadas as tabelas 5 e 6 que comparam os métodos heurísticos entre si, os resultados são a média das soluções obtidas pelos métodos heurísticos dividida pela média das soluções obtidas por ESched1, para cada combinação de m e n. Os melhores resultados em todas as tabelas são apresentados em negrito. Isso se deve ao fato de que ESched1 que apresenta um maior número de

(9)

soluções boas para instâncias estruturadas. Porém, foi observado que ESched3, apresenta melhores resultados para instâncias não estruturadas. Estes resultados são esperados uma vez que ESched1, tira vantagem do fato das instâncias respeitarem a desigualdade triangular, obtendo um melhor desempenho quando utiliza operadores originalmente desenvolvidos para problemas de roteamento. Em instâncias não estruturadas ESched3 tenta superar a maior dificuldade através da combinação de várias buscas locais.

n/m ESched1 ESched2 Esched3 Long Tabu Memetic

20/2 1,000 1,033 0,996 1,112 1,006 20/4 1,000 0,997 0,988 0,963 0,952 20/6 1,000 0,969 0,974 0,931 0,928 20/8 1,000 0,958 0,995 0,926 0,908 40/2 1,000 1,055 1,004 1,225 1,049 40/4 1,000 1,043 0,996 1,105 1,019 40/6 1,000 1,019 0,973 1,026 0,968 40/8 1,000 0,996 0,978 0,937 0,937 60/2 1,000 1,030 1,002 1,271 1,058 60/4 1,000 1,041 0,994 1,204 1,041 60/6 1,000 1,045 1,002 1,109 1,022 60/8 1,000 1,037 0,987 1,022 0,984 80/2 1,000 1,030 1,001 1,295 1,065 80/4 1,000 1,039 0,996 1,248 1,055 80/6 1,000 1,047 1,001 1,180 1,037 80/8 1,000 1,049 0,991 1,103 1,015

Tabela 6 – Valor da solução heurística relativa à solução do ESched1, Instâncias Não Estruturadas, sij ∈ [1,100]

Buscando uma melhor visualização do comportamento das heurísticas apresentadas em relação a solução ótima são mostradas as Figuras 1 e 2. Na Figura 1 aparecem os resultados das dez instâncias estruturadas, para m = 2 e n = 60, sij ∈ [1,100] e a Figura 2 apresenta os resultados das dez instâncias não estruturadas, para m = 2 e n = 80, sij ∈ [1,100].

1600 1700 1800 1900 2000 2100 2200 2300 2400 1 2 3 4 5 6 7 8 9 10 Instância M akesp an

ESched1 ESched2 ESched3 Long Tabu

Memetic Optimal

Figura 1 – Valor da solução para dez instâncias testadas do tipo Estruturado para n/m = 60/2, sij ∈ [1,100]

(10)

1600 1900 2200 2500 2800 3100 1 2 3 4 5 6 7 8 9 10 Instância M akesp an

ESched1 ESched2 ESched3 Long Tabu

Memetic Optimal

Figura 2 – Valor da Solução para dez instâncias testadas do tipo Não Estruturado para n/m = 80/2, sij ∈ [1,100]

4. Conclusões

O conjunto de instâncias testadas soma um total de 640, metade são do tipo estruturado e a outra metade não estruturada, para cada conjunto de instâncias com 2, 4, 6, 8 máquinas e 20, 40, 60 e 80 tarefas. Os resultados mostrados são relacionados com tempos de preparação sij∈ [1,100] porque, em todos os casos,

eles são mais difíceis de resolver do que os com sij ∈ [1,10]. As instâncias estruturadas apresentam um grau

de dificuldade inferior se comparado às não estruturadas. Isso ocorre devido à forma que eles foram gerados, pois os estruturados foram gerados obedecendo às propriedades Euclidianas e apresentam melhores resultados quando se aplicam algoritmos de melhoramento que foram desenvolvidos com o objetivo de resolver problemas de roteamento.

O método Long Tabu agrega novas estruturas de inserção e retirada de tarefas fazendo com que ele obtenha soluções muito próximas do ótimo. O algoritmo memético (AM) proposto usa uma população estruturada e uma busca local que combina dois tipos de vizinhanças bem conhecidas: a de trocas e a de inserção. As EEs apresentadas buscam combinar as melhores características dos dois métodos anteriores gerando um método mais poderoso.

ESched1 trabalha de modo similar ao AM, porém com mais escolhas aleatórias, apresentando melhores resultados para instâncias estruturadas enquanto ESched3 tem um melhor desempenho em instâncias não estruturadas. ESched2 somente faz melhorias locais através do método Or-OPT adaptado, porém se apresenta como um bom campo de pesquisa o aumento do tamanho de MoveSet, através da inclusão de novos operadores (ou seja, novos algoritmos de busca local e novas estruturas de vizinhança que levem em conta as características específicas dos problemas de seqüenciamento). Tudo isso pode ser combinado com o operador de mutação apresentado aqui, gerando uma nova versão de EE talvez mais poderosa ainda. O esforço computacional despendido por ESched1, ESched2 e ESched3 é muito parecido, apresentando uma ligeira vantagem para ESched1, porém todos eles são muito mais rápidos que o Long Tabu e o AM que teve seu tempo limitado em 2 minutos de CPU, parâmetro mantido do artigo original (MENDES et al., 2002).

As Figuras 1 e 2 demonstram o bom desempenho de ESched1, ESched2 e ESched3, principalmente para instâncias grandes, apresentando os melhores resultados para 80 tarefas nas diferentes configurações de máquinas. Isso era esperado, pois nessas configurações o número médio de tarefas por máquina é maior diminuindo a dificuldade da instância.

Outro ponto que pode ser melhor explorado seria deixar de executar os operadores contidos em MoveSet até o final, como ocorre em ESched1, ajustando o parâmetro Nmoves como acontece em ESched3, combinando desse modo as boas características dos operadores disponíveis, tornando as EEs ainda mais robustas.

(11)

Referências

ACERO, R.D. & DELGADO, J.T. (2002) – Aplicación de Una Heurística de Búsqueda Tabú en un Problema de Programación de Tareas en Línea Flexible de Manufactura, CCIO-2002, Colômbia. BAKER, K.R. (1974) - Introduction to Sequencing and Scheduling, John Wiley & Sons. New York. CAI, J. & THIERAUF, G. - (1996) Evolution strategies for solving discrete optimization problems, Advances in Engineering Software Vol. 25, p. 177-183.

COELHO, L. S. (2003) - Fundamentos, Potencialidades e Aplicações de Algoritmos Evolutivos. Notas em Matemática Aplicada, Vol. 2 (Eds. Andrade, E.X.L., Sampaio, R. e Silva, G.N.), SBMAC.

CORNE, D.; DORIGO, M. & Glover, F. (1999) - New Ideas in Optimization. Mc Graw Hill. UK. DEARING, P.M. & HENDERSON, R.A. (1984) - Assigning looms in a textile weaving operation with changeover limitations, Production and Inventory Management Vol. 25, p. 23-31.

FOGEL, D. (1994) - An introduction to simulated evolutionary optimization. IEEE Transactions on Neural Networks, V. 5(1), p. 3-14.

FRANÇA, P.M.; GENDREAU, M.; LAPORTE, G. & MÜLLER, F.M. (1996) - A tabu search heuristic for the multiprocessor scheduling problem with sequence dependent setup times, International Journal of Production Economics Vol. 43, p. 79-89.

FREDERICKSON, G.; HECHT, M.S. & KIM, C.E. (1978) - Approximation algorithm for some routing problems, SIAM Journal on Computing Vol. 7, p.178-193.

GENDREAU, M., HERTZ, A. e LAPORTE, G., (1992) New insertion and post-optimization procedures for the traveling salesman problem, Operations Research, Vol. 40(6), p. 1086-1094.

GLOVER, F. e LAGUNA, M., (1997), Tabu Search, Kluwer.

GOLDBERG, D.E. (1989) - Genetic Algorithms in Search Optimization and Machine Learning, Addison Wesley. Reading, Massachusetts.

GRAHAM, R.L.; LAWLER, E.L.; LENSTRA, J.K. & RINNOOY KAN, A.H.G. (1979) - Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics Vol. 5, p. 287-326.

GUPTA, A.K. & GREENWOOD, G.W. (1996) Static Task Allocation Using (µ, λ) Evolutionary Strategies, Information Sciences Vol. 94, p. 141-150.

HOFFMEISTER, F. & BAECK, T. (1992) - Genetic algorithms and evolutionary strategies: similarities and differences. Technical Report n. SYS-1/92, University of Dortmund.

HOMBERGER, J. & GEHRING, H. (1999) - Two evolutionary metaheuristics for the vehicle routing problem with time windows, Information Systems and Operational Research - Special issue: Metaheuristics for location and routing problems, p. 297-318.

JIANG, T. e YANG, F. (2002) - An evolutionary tabu search for cell image segmentation. IEEE Transactions on Systems, Man and Cybernetics - Part B, V. 32(5), p. 675-678.

KIM, H., HAYASHI, Y. e NARA, K. (1997) - An algorithm for thermal unit maintenance scheduling through combined use of GA, SA and TS. IEEE Transactions on Power Systems, V. 12(1), pp. 329-335.

LIU, C.Y. & CHANG, S.C. (2000) – Scheduling flexible flow shops with sequence-dependent setup effects, IEEE Transactions on Robotics and Automation, vol. 16(4), p. 408-419.

MANTAWY, A.H.; ABDEL-MAGID, Y.L. & SELIM, S.Z. (1999) – Integrating genetic algorithms, tabu search, and simulated annealing for the unit commitment problem, IEEE Transactions on Power Systems, Vol. 14(3), p. 829-836.

(12)

meta-heuristic approaches for parallel machine scheduling problems, Production Planning & Control Vol. 13, p. 143-154.

MOSCATO, P. (1989) - On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms. Caltech Concurrent Computation Program, C3P Report 826.

MOSCATO, P. (1999) - Memetic algorithms: a short introduction. In D. Corne, M. Dorigo, and F. Glover (eds.) New Ideas in Optimization, McGraw-Hill.

RECHENBERG, I. (1973) - Evolutionsstrategie: Optimirerung technisher systeme nach prinzippien der biologischen evolution, Frommann-Holzboog. Stuttgart.

ROBIN, F., ORZATI, A., MORENO, E., HOMAN, O. J. e BACHTOLD, W. (2003) - Simulation and evolutionary optimization of electron-beam lithography with genetic and simplex-downhill algorithms. IEEE Transactions on Evolutionary Computation, V. 7(1), pp. 69-82.

SATO, T. e HAGIWARA, M. (1997) - Bee system: finding a solution by a concentrated search. In: Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, Orlando-FL, USA, V. 4, p. 3954-3959.

SCHWEFEL, H-P. (1981) - Numerical optimization of computers models, John Wiley & Sons. Chichester.

SUMICHRAST, R. & BAKER, J.R. (1987) - Scheduling parallel processors: an integer linear programming based heuristic for minimizing setup time, International Journal of Production Research Vol. 25, n.5, p.761-771.

SUN, R. L. (1995) - Evolving Population-based Search Algorithms through Thermodynamic Operation: Dynamic System Design and Integration. PhD Thesis, Institute for Systems Research, University of Maryland, USA.

YEN, J., LIAO, J. C., LEE, B. e RANDOLPH, D. (1998) - A hybrid approach to modeling metabolic systems using a genetic algorithm and a simplex method. IEEE Transactions on Systems, Man and Cybernetics - Part B, V. 28(2), p. 173-191.

Referências

Documentos relacionados

Mesmo com suas ativas participações na luta política, as mulheres militantes carregavam consigo o signo do preconceito existente para com elas por parte não somente dos militares,

Ficou com a impressão de estar na presença de um compositor ( Clique aqui para introduzir texto. ), de um guitarrista ( Clique aqui para introduzir texto. ), de um director

O facto da execução das tarefas do plano não exigirem um investimento avultado a nível das tarefas propostas é possível neste caso em concreto visto que na Empresa A

Os objetivos deste trabalho foram: comparar o conhecimento sobre a doença, o nível de atividade física diária e a qualidade de vida em portadores de DPOC submetidos e não

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for