• Nenhum resultado encontrado

Anais do XIX Congresso Brasileiro de Automática, CBA 2012.

N/A
N/A
Protected

Academic year: 2021

Share "Anais do XIX Congresso Brasileiro de Automática, CBA 2012."

Copied!
8
0
0

Texto

(1)

UM ALGORITMO BASEADO EM ESTRAT´EGIAS EVOLUTIVAS PARA

MINIMIZA ¸C ˜AO DO MAKESPAN NO PROBLEMA DE SEQUENCIAMENTO

FLOWSHOP H´IBRIDO E FLEX´IVEL

Eduardo Camargo de Siqueira∗, S´ergio Ricardo de Souza, Marcone Jamilson Freitas Souza†

Av. Amazonas, 7675, Nova Gameleira

Centro Federal de Educa¸c˜ao Tecnol´ogica de Minas Gerais Belo Horizonte, Minas Gerais, Brasil

Departamento de Computa¸c˜ao, Campus Universit´ario Universidade Federal de Ouro Preto

Ouro Preto, Minas Gerais

Emails: [email protected], [email protected], [email protected]

Abstract— This paper presents an algorithm based on Evolutionary strategies for solving the problem of scheduling hybrid flexible flowshop. The proposed algorithm uses a construction phase based on Greedy Ran-domized Adaptive Search Procedure (GRASP) to generate initial solutions. The algorithm have been described, tested and compared with an another one of the literature. The results show that the proposed algorithm is able to generate better solutions for a subset of instances of the problem.

Keywords— Scheduling, Flowshop, evolutionary strategy, GRASP

Resumo— Este trabalho prop˜oe um algoritmo baseado em Estrat´egias Evolutivas para resolu¸c˜ao do problema de sequenciamento flowshop h´ıbrido e flex´ıvel. O algoritmo proposto utiliza a fase de constru¸c˜ao GRASP (Greedy Randomized Adaptive Search Procedure) para gerar solu¸c˜oes iniciais. O algoritmo foi descrito, testado e compa-rado com um algoritmo da literatura. Os resultados mostram que ele ´e capaz de gerar solu¸c˜oes melhores para um subconjunto de instˆancias do problema.

Palavras-chave— Sequenciamento de tarefas, Flowshop, Estrat´egias Evolutivas, GRASP 1 Introdu¸c˜ao

Os problemas de sequenciamento s˜ao comuns em diversas ´areas do conhecimento, principalmente na produ¸c˜ao industrial. Nesse contexto, o pro-blema consiste em definir uma sequˆencia de tare-fas a serem executadas em um conjunto de m´ aqui-nas, a fim de atingir um objetivo, que pode ser a redu¸c˜ao de custos ou aumento na capacidade de produ¸c˜ao ou de estoque, dentre outros.

Existem diversos estudos a respeito dos pro-blemas de sequenciamento, por´em sempre exis-tiu uma distˆancia entre teoria e pr´atica. H´a, no entanto, uma tendˆencia recente em desenvolver abordagens de solu¸c˜ao para problemas reais (Ruiz et al., 2008).

Nesse sentido, este trabalho considera o pro-blema real descrito em Ruiz et al. (2008), que trata uma varia¸c˜ao do problema de flowshop h´ı-brido (HFS, do inglˆes Hybrid Flowshop), em que um conjunto de tarefas passa por um conjunto de est´agios e, para cada est´agio, existe um conjunto de m´aquinas paralelas n˜ao-relacionadas. A carac-ter´ıstica de um flowshop ´e que o fluxo de proces-samento nas m´aquinas ´e o mesmo, ou seja, todas as tarefas seguem a mesma sequˆencia de est´agios. No entanto, no problema considerado, os est´agios podem n˜ao ser todos executados. Esta variante, denominada Flowline H´ıbrido e Flex´ıvel (HFFL, do inglˆes Hybrid Flowshop and Flowline), ´e, desta

forma, uma generaliza¸c˜ao do HFS e do Flowline Flex´ıvel. O crit´erio de otimiza¸c˜ao considerado ´e o de minimizar o maior tempo de conclus˜ao das m´aquinas, o chamado makespan.

Tendo em vista o fato de o HFFL ser da classe NP-dif´ıcil (Ruiz et al., 2008), este trabalho prop˜oe um algoritmo baseado em Estrat´egias Evolutivas – ES (Beyer and Schwefel, 2002) para sua solu¸c˜ao. O uso dessa classe de algoritmos foi motivado pelo seu uso bem sucedido na solu¸c˜ao de v´arios proble-mas de otimiza¸c˜ao, como os relatados em Coelho et al. (2011) e Costa and Oliveira (2001).

O restante desse trabalho est´a organizado da seguinte forma. Na se¸c˜ao 2, ´e feito um levan-tamento bibliogr´afico dos problemas de flowshop. Na se¸c˜ao 3, o problema ´e formulado e exemplifi-cado. O algoritmo proposto, inspirado no traba-lho de Coetraba-lho et al. (2011), ´e descrito na se¸c˜ao 4. Na se¸c˜ao 5, s˜ao mostrados os resultados encontra-dos, enquanto a ´ultima se¸c˜ao conclui o trabalho e aponta propostas de trabalhos futuros.

2 Revis˜ao da Literatura

Como comentado anteriormente, o HFFL ´e uma generaliza¸c˜ao do flowshop h´ıbrido (HFS). O HFS, por sua vez, ´e um problema diferente do Flowshop Flex´ıvel e do Flowline Flex´ıvel, pois, para esses dois ´ultimos problemas, as m´aquinas dispon´ıveis em cada est´agio s˜ao idˆenticas. O HFS n˜ao tem

(2)

essa restri¸c˜ao. Alguns est´agios podem ter ape-nas uma m´aquina, mas pelo menos um est´agio deve ter um grupo de m´aquinas em paralelo. Es-tas m´aquinas geralmente s˜ao diferentes (Burtseva et al., 2012).

Segundo Ribas et al. (2010), os trabalhos de pesquisa sobre agendamento HFS apareceram na d´ecada de 1970. Um dos primeiros trabalhos sobre HFS na modelagem do sistema de produ¸c˜ao em uma ind´ustria de fibras sint´eticas ´e o de Salvador (1973). Garey and Johnson (1979) mostraram que o problema HFS com o objetivo makespan ´e NP-completo. Assim, como o HFFL ´e uma gene-raliza¸c˜ao do HFS, ent˜ao o HFFL tamb´em o ´e.

Ruiz and V´azquez-Rodr´ıguez (2010) fazem uma revis˜ao de algoritmos exatos, heur´ısticas e meta-heur´ısticas para o HFS. Nishi et al. (2010) apresentam um m´etodo de relaxa¸c˜ao lagrangeana com gera¸c˜ao de cortes para esse problema. Ziaei-far et al. (2011) apresentam uma nova modelagem matem´atica para o HFS, bem como um algoritmo gen´etico. Yaurima et al. (2009) modelaram um problema de Flowshop H´ıbrido em linhas de mon-tagem de placas de circuito e utilizaram um Algo-ritmo Gen´etico para resolvˆe-lo.

Naderi et al. (2010) chama a aten¸c˜ao para duas quest˜oes importantes a respeito de HFFL: a determina¸c˜ao da sequˆencia em cada est´agio e a distribui¸c˜ao das tarefas nas m´aquinas em cada est´agio. ´E apresentado um algoritmo baseado na meta-heur´ıstica Iterated Local Search (ILS), com o objetivo de minimizar o makespan.

Defersha (2010) apresenta um modelo mate-m´atico para o problema de sequenciamento HFFL baseado em uma t´ecnica de divis˜ao de tarefas em subtarefas. Defersha and Chen (2011) desen-volvem um processo de solu¸c˜ao baseado em Al-goritmo Gen´etico para o HFFL. O alAl-goritmo foi implementado em plataformas de computa¸c˜ao se-quenciais e paralelas, e os desempenhos avaliados e comparados. Urlings and Ruiz (2010) e Zandieh et al. (2010) tamb´em prop˜oem Algoritmos Gen´e-ticos para resolu¸c˜ao desse problema. O objetivo nesses dois ´ultimos trabalhos ´e a minimiza¸c˜ao do makespan.

Pacciarelli and D’Ariano (2011) e Venditti et al. (2010) apresentam problemas reais de se-quenciamento em ind´ustrias farmacˆeuticas. A meta-heur´ıstica Busca Tabu ´e utilizada para re-solver tais problemas.

Urlings et al. (2010) tratam a minimiza¸c˜ao do makespan em problemas HFFL por meio de uma nova meta-heur´ıstica, denominada SRS. Esse novo m´etodo combina um algoritmo guloso iterativo e o ILS.

3 Formula¸c˜ao do problema

No problema HFFL, tem-se um conjunto de tare-fas N = {1, 2, 3, ..., n}, que devem ser executadas

em um conjunto de est´agios M = {1, 2, 3, · · · , m}. Para cada etapa, h´a um conjunto Mi de m´ aqui-nas paralelas n˜ao-relacionadas. Algumas tarefas podem saltar est´agios. Seguem abaixo as demais caracter´ısticas que definem o problema:

• Fj: Conjunto de est´agios que a tarefa j visita, sendo 1 < Fj < m;

• pilj: Tempo de processamento da tarefa j na m´aquina l e est´agio i.

• rmil: Tempo de release da m´aquina l no est´ a-gio i, isto ´e, o tempo a partir do qual os pro-cessos podem iniciar na m´aquina. Nenhuma tarefa pode iniciar na m´aquina antes desse tempo.

• Eij: Conjunto de m´aquinas eleg´ıveis para a tarefa j no est´agio i.

• lagilj: Tempo de atraso entre o fim da tarefa j, na m´aquina l do est´agio i, e o in´ıcio do pr´oximo est´agio da tarefa j.

• Siljk: Tempo de prepara¸c˜ao (setup) da m´ a-quina l no est´agio i, quando a tarefa k ´e exe-cutada logo ap´os a tarefa j. Existe um valor bin´ario associado, Ailjk, que indica se o setup ´e antecipativo, ou seja, Ailjk assume o valor 1 se a prepara¸c˜ao pode ser feita antes que a tarefa seja liberada na fase anterior e o valor 0, caso contr´ario.

A formula¸c˜ao matem´atica do HFFL, apresen-tada a seguir e extra´ıda de Ruiz et al. (2008), con-sidera, ainda, as seguintes nota¸c˜oes:

• Gi: Conjunto de tarefas que visitam o est´agio i (Gi⊆ N e Gi= {j | i ∈ Fj}).

• Gil: Conjunto de tarefas que podem ser pro-cessadas na m´aquina l do est´agio i.

• F Sk: Primeiro est´agio da tarefa k. • LSk: ´Ultimo est´agio da tarefa k. e as seguintes vari´aveis de decis˜ao:

Xiljk=   

1 Se a tarefa j precede a tarefa k na m´aquina l no est´agio i 0 Caso contr´ario

Cij = Instante de t´ermino da tarefa j no est´agio i

Cmax = O maior tempo de t´ermino

O modelo de programa¸c˜ao matem´atica do HFFL est´a apresentado pelas equa¸c˜oes (1) a (12), a seguir:

(3)

min Cmax (1)

suj. a X

j∈Gi∪{0}

j6=k X

l∈Eij ∩EikXiljk = 1, k ∈ N, i ∈ Fk (2)

X j∈Gi

j6=k X

l∈Eij ∩EikXiljk ≤ 1, k ∈ N, i ∈ Fk

(3) X h∈Gil∪{0} h6=k,h6=j Xilhj ≥ Xiljk , j, k∈ N, j 6= k, i ∈ Fj ∩ Fk, l ∈ Eij ∩ Eik (4) X l∈Eij ∩Eik (Xiljk + Xilkj ) ≤ 1, j∈ N, k = j + 1, · · · , n, j 6= k, i ∈ Fj ∩ Fk (5) X k∈Gil Xil0k ≤ 1, i ∈ M, l ∈ Mi (6) Ci0 = 0, i ∈ M (7)

Cik + V.(1 − Xiljk ) ≥ max{rmil, Cij + Ailjk .Siljk } +(1 − Ailjk ).Siljk + pilk,

k∈ N, i = F Sk, l ∈ Eik, j ∈ Gil ∪ {0}, j 6= k (8)

Cik + V.(1 − Xiljk ) ≥ max{Ci−1,k + X

h∈Gi−1∪{0}

h6=k

X

l′∈Ei−1,h∩Ei−1,k

(lagi−1,l′ ,k.Xi−1,l′ ,h,k),

rmil, Cij + Ailjk .Siljk } + (1 − Ailjk ).Siljk + pilk,

k∈ N, i ∈ Fk \{F Sk}, l ∈ Eik, j ∈ Gil ∪ {0}, j 6= k (9)

Cmax ≥ CLSj ,j, j∈ N (10)

Xiljk ∈ {0, 1}, j ∈ N ∪ {0}, k ∈ N,

j6= k, i ∈ Fj ∩ Fk, l ∈ Eij ∩ Eik (11)

Cij ≥ 0, j ∈ N, i ∈ Fj (12)

O conjunto de restri¸c˜oes (2) assegura que cada tarefa seja precedida por exatamente uma tarefa em apenas uma m´aquina em cada est´agio. Para cada m´aquina considera-se uma tarefa 0, que pre-cede a primeira tarefa em cada m´aquina. O con-junto de restri¸c˜oes (3) garante que cada tarefa te-nha, no m´aximo, um sucessor. As restri¸c˜oes (4) asseguram que se uma tarefa ´e processada em uma m´aquina, dado um est´agio, ent˜ao ela deve ter uma antecessora na mesma m´aquina. As restri¸c˜oes (5) evitam a ocorrˆencia de precedˆencias cruzadas. O conjunto de restri¸c˜oes (6) assegura que a tarefa 0 s´o pode ser antecessora de, no m´aximo, uma tarefa em cada m´aquina. O conjunto de restri-¸c˜oes (7) garante que a tarefa 0 ´e conclu´ıda no ins-tante 0 em todos os est´agios. As restri¸c˜oes (8) controlam o instante de conclus˜ao das tarefas no primeiro est´agio em que iniciar o processamento, considerando todas as m´aquinas eleg´ıveis. O valor V representa um n´umero suficientemente grande de modo a tornar as restri¸c˜oes redundantes se a vari´avel de atribui¸c˜ao for zero. Nota-se que as re-la¸c˜oes de precedˆencia s˜ao consideradas e, tamb´em, que ambos os tipos de tempos de setup (antecipa-tivo ou n˜ao) tamb´em s˜ao levados em considera¸c˜ao. O conjunto de restri¸c˜oes (9) controla os instantes de conclus˜ao nos est´agios subsequentes. Aqui, os tempo de atraso s˜ao considerados. O conjunto de restri¸c˜oes (10) define o tempo m´aximo de conclu-s˜ao das tarefas, enquanto (11) e (12) definem as vari´aveis de decis˜ao.

De forma a exemplificar o problema, conside-remos uma instˆancia com 5 tarefas e 3 est´agios, com duas m´aquinas nos dois primeiros est´agios

Tabela 1: Elegibilidade i 1 2 3 j 1 1,2 4 5 2 1,2 3,4 -3 - 3 5 4 2 - 5 5 1,2 3,4 5

Tabela 2: Tempo de processamento e release

i 1 2 3 l 1 2 3 4 5 rmil 4 3 8 16 23 pilj j 1 10 15 0 8 6 2 6 9 11 4 0 3 0 0 9 0 8 4 0 10 0 0 6 5 11 14 6 12 3

e uma m´aquina no ´ultimo est´agio. A Tabela 1 mostra quais m´aquinas s˜ao eleg´ıveis para cada ta-refa em cada est´agio. Nesta Tabela, “j” indica uma tarefa, e a linha “i” representa cada um dos 3 est´agios. Por essa tabela, pode-se verificar, por exemplo, que a tarefa 1 pode ser executada nas m´aquinas 1 e 2, no est´agio 1, e na m´aquina 4, no est´agio 2. Pode-se verificar tamb´em, que as tare-fas 1 e 5 visitam todos os est´agios, enquanto as tarefas 2, 3 e 4 pulam os est´agios 3, 1 e 2, respec-tivamente.

A Tabela 2 cont´em o tempo de release para cada m´aquina e o tempo de processamento de cada tarefa em cada m´aquina, enquanto a Tabela 3 mostra os tempos de atraso. Nestas duas Tabelas, “j” indica uma tarefa, a linha “i” representa cada um dos 3 est´agios, e a linha “l” representa cada uma das 5 m´aquinas. Na Tabela 2 a linha rmil indica os tempos de release para cada m´aquina, e cada c´elula pilj os tempos de processamento.

A Tabela 4 mostra os tempos de prepara-¸c˜ao (tempos de setup), que s˜ao dependentes da sequˆencia, e seus valores bin´arios associados. Esse valor bin´ario representa se o setup ´e antecipativo (1), ou n˜ao (0). Nesta Tabela, “j” e “k” indicam uma tarefa, a linha “i” representa cada um dos 3 est´agios, e os dados de cada m´aquina em cada es-t´agio est˜ao separados por v´ırgula. Por exemplo, o tempo de setup entre as tarefas 1 e 4 na m´ a-quina 2 do primeiro est´agio ´e igual a 8 e o valor bin´ario igual a 1 (antecipativo), por´em o setup na m´aquina 1 n˜ao existe pois essa m´aquina n˜ao ´e ele-g´ıvel para a tarefa 4.

A Figura 1 ilustra um poss´ıvel sequencia-mento para esse exemplo. Note que o makespan para esse sequenciamento ´e igual a 63.

Tabela 3: Tempo de atraso

i 1 2 l 1 2 3 4 j 1 10 2 0 -4 2 2 -2 0 0 3 0 0 3 0 4 0 1 0 0 5 -5 -6 -3 8

(4)

Tabela 4: Tempos de setup e valores Ailjk i 1 k 1 2 3 4 5 j 1 -,- 3(1),6(1) -,- -,8(1) 4(1),2(1) 2 4(0),5(0) -,- -,- -,6(1) 1(1),4(1) 3 -,- -,- -,- -,- -,-4 -,8(0) -,- -,- -,- -,2(1) 5 6(0),10(0) -,- -,- -,4(0) -,-i 2 j 1 -,- -,6(1) -,- -,- -,6(1) 2 -,5(1) -,- 6(0),- -,- 4,2(0) 3 -,- 8(0),- -,- -,- 5(1),-4 -,- -,- -,- -,- -,-5 -,4(1) -,- -,- -,- -,-i 3 j 1 - - 6(1) 3(1) 9(1) 2 - - - - -3 4(0) - - 1(0) 8(1) 4 5(0) - - - 2(1) 5 2(0) - - 6(0) -5 10 15 20 25 30 35 40 45 50 55 60 1 1 5 4 3 2

1

3

2

l i rm rm rm rm rm 1 1 1 2 2 3 3 4 4 5 5 5 S S S S S S 4 14 18 29 3 12 18 28 8 10 21 27 36 16 24 32 38 23 28 34 40 48 55 lag lag 50

lag lag lag

60 63

Figura 1: Diagrama de GANTT. Cmax= 63

4 Descri¸c˜ao do Algoritmo Proposto

4.1 Representa¸c˜ao de um indiv´ıduo

Um indiv´ıduo ind do problema ´e representado por uma dupla (s, M ) e por dois vetores de parˆ ame-tros de muta¸c˜ao (prob e a), em que s ´e um ve-tor de est´agios, e para cada est´agio est´a associado um vetor que cont´em a sequˆencia de tarefas para processamento, e por uma matriz M , usada para identificar em qual m´aquina a tarefa ´e executada em cada est´agio. Os vetores prob e a contˆem um n´umero de posi¸c˜oes igual `a quantidade de tipos diferentes de muta¸c˜ao, sendo que em cada posi¸c˜ao de prob armazena-se a probabilidade de aplicar um tipo de muta¸c˜ao, enquanto que em a armazena-se a intensidade dessa muta¸c˜ao, isto ´e, a quantidade de vezes em que ela ´e aplicada.

A Figura 2 ilustra a dupla (s, M ) para o indi-v´ıduo apresentado no exemplo considerado.

1 2 1 5 4 2 2 1 3 5 3 1 3 4 5 Sequencia de Tarefas 1 1 2 0 2 Matriz M 1 2 4 3 3 0 4 3 5 0 5 5 5 1 2 3 4 5

Figura 2: Representa¸c˜ao de parte de um indiv´ıduo

4.2 Tipos de Muta¸c˜ao

A explora¸c˜ao do espa¸co de solu¸c˜oes do problema ´e feita com base em quatro tipos de muta¸c˜ao (ou movimentos, quando o uso ´e voltado para a fase de refinamento):

• Troca na sequˆencia: consiste em um dado es-t´agio fazer a troca de posi¸c˜ao entre duas ta-refas da sequˆencia;

• Realoca¸c˜ao na sequˆencia: consiste em esco-lher uma tarefa em um dado est´agio e mud´ a-la para uma nova posi¸c˜ao na sequˆencia; • Troca de m´aquina: consiste em considerar

duas tarefas de um dado est´agio e trocar as m´aquinas que as executam;

• Realoca¸c˜ao de m´aquina: consiste em realocar uma tarefa de um dado est´agio para uma nova m´aquina;

4.3 Algoritmo proposto

O algoritmo proposto, denominado EE-NEH-VND, ´e uma Estrat´egia Evolutiva (ES) em que a solu¸c˜ao inicial ´e gerada pela fase de constru-¸c˜ao do procedimento Greedy Randomized Adap-tive Search Procedure – GRASP (Feo and Re-sende, 1989). O seu pseudoc´odigo est´a esquema-tizado no Algoritmo 1.

Algoritmo 1: EE-NEH-VND

Entrada:α, µ, γ, κ, criterioParada 1. in´ıcio

2. Paraw← 1 at´eµ fa¸ca

3. sw ← construcaoGRASP(α);

4. Inicialize o vetor de probabilidade de muta¸c˜ao aw ; 5. Inicialize o vetor de intensidade de muta¸c˜ao probw ;

6. Forme indw aplicando os vetores probw e aw a sw ;

7. P opw ← indw;

8. Fim

9. repita

10. Paraw← 1 at´eγ fa¸ca

11. y← n´umero inteiro aleat´orio entre 1 e µ;

12. indw ← P opy ;

13. indw ← mutacaoParametros(indw , σreal, σbinomial);

14. F ilhow ← mutacaoIndividuo(indw );

15. Fim

16. Paraw← 1 at´eκ fa¸ca

17. y← n´umero inteiro aleat´orio entre 1 e γ;

18. F ilhoy ← VND(F ilhoy );

19. Fim

20. Pop = selecao(Pop, Filhos, µ);

21. at´eCrit´erio de parada ser satisfeito; 22. fim

23. retorne melhorIndividuoPop();

O algoritmo EE-NEH-VND ´e dividido em duas fases, sendo a primeira representada nas li-nhas 2 a 8, nas quais ´e gerada uma popula¸c˜ao inicial de µ indiv´ıduos.

A segunda fase (linhas 9 a 21) consiste em ge-rar uma popula¸c˜ao de γ filhos por meio de muta-¸c˜ao. A seguir, ´e aplicado o m´etodo Variable Neigh-borhood Descent– VND (Hansen et al., 2008) para

(5)

uma quantidade κ de filhos, com κ < γ. O VND, descrito pelo Algoritmo 4, n˜ao ´e aplicado a todos os indiv´ıduos da popula¸c˜ao de filhos por causa de seu alto custo computacional. Ap´os esses proce-dimentos, s˜ao selecionados, dentre a popula¸c˜ao de pais e filhos, os indiv´ıduos sobreviventes para a pr´oxima gera¸c˜ao. Esses passos s˜ao repetidos at´e que um crit´erio de parada seja atendido. Cada um dos procedimentos que comp˜oe o algoritmo proposto s˜ao, a seguir, detalhados.

A popula¸c˜ao inicial ´e gerada por um pro-cedimento de constru¸c˜ao GRASP. Inicialmente, calcula-se o tempo m´edio de processamento em cada est´agio para cada tarefa, isto ´e, se uma ta-refa j pode passar por duas m´aquinas no est´agio i e, essas m´aquinas consomem os tempos pij1 e pij2, ent˜ao a essa tarefa j ser´a atribu´ıdo o tempo m´edio, dado por ¯pij = (pij1 + pij2)/2. A se-guir, ´e calculado, para cada tarefa j, o somat´ o-rio desses tempos m´edios de processamento em todos os est´agios, isto ´e, ´e calculado o tempo ¯

pj =Pip¯ij. Com base nessa regra de avalia¸c˜ao de uma tarefa, ´e constru´ıda uma lista de candidatos (LC) ordenada, em ordem decrescente, das tare-fas. Ap´os esse ordenamento, ´e criada um Lista Restrita de Candidatos (LRC) contendo as ta-refas melhor classificadas segundo essa regra de avalia¸c˜ao. Assim, LRC = {j ∈ LC | ¯pj ≥ ¯ pmax − α × (¯pmax − ¯pmin )}, sendo ¯pmin e ¯pmax , respectivamente, o menor e maior somat´orio do tempo m´edio de processamento. O parˆametro α foi fixado em 0,8. Na primeira itera¸c˜ao s˜ao sele-cionadas, aleatoriamente, duas tarefas j ∈ LRC e executado o procedimento NEH Adaptado de Ruiz et al. (2008). Esse procedimento procura o melhor sequenciamento poss´ıvel entre essas duas tarefas. Nesse sequenciamento a tarefa escolhida ´e executada na m´aquina que possa termin´a-la o mais cedo. Na segunda itera¸c˜ao essas duas ta-refas s˜ao retiradas da LC e reconstru´ıda a LRC. Uma ´unica tarefa da LRC ´e, ent˜ao, escolhida ale-atoriamente, sendo novamente aplicado o procedi-mento NEH Adaptado, desta vez para verificar a melhor posi¸c˜ao de inser¸c˜ao da tarefa escolhida. O processo continua retirando a tarefa escolhida da LC, reconstruindo a LRC e aplicando o procedi-mento NEH at´e que todas as tarefas tenham sido sequenciadas. Observa-se que esta estrat´egia de gera¸c˜ao de solu¸c˜ao inicial gera uma sequˆencia que ´e a mesma para todos os est´agios.

Nas linhas 4 a 6 do Algoritmo 1 ´e formado um indiv´ıduo ind a partir da aplica¸c˜ao dos vetores probe a a um indiv´ıduo (sequˆencia) s. Para tanto, o vetor de probabilidade de muta¸c˜ao prob de cada indiv´ıduo ´e inicializado com um n´umero real esco-lhido aleatoriamente no intervalo [0, 1] para cada um dos quatro tipos de muta¸c˜ao, enquanto que o vetor a de intensidade de muta¸c˜ao desse indi-v´ıduo ´e inicializado com um n´umero inteiro esco-lhido aleatoriamente no conjunto {1, · · · , 8}.

O Algoritmo 2 mostra como os vetores de pa-rˆametros de muta¸c˜ao s˜ao modificados (linha 13 do Algoritmo 1). Para o vetor prob de probabi-lidade aplica-se uma muta¸c˜ao seguindo uma dis-tribui¸c˜ao normal com desvio-padr˜ao σreal e m´edia zero. Para o vetor a de intensidade aplica-se uma muta¸c˜ao seguindo uma distribui¸c˜ao binomial com desvio-padr˜ao σbinomial e m´edia zero.

Algoritmo 2: mutacaoParametros

Entrada: indiv´ıduo, σreal, σbinomial 1. in´ıcio

2. prob← Vetor de probabilidade do indiv´ıduo; 3. a← Vetor de intensidade do indiv´ıduo; 4. Paral← 1 at´e4 fa¸ca

5. probl ← probl + N(0, σreal);

6. al ← al + B(0, σbinomial);

7. Fim

8. retorna individuo;

O Algoritmo 3 mostra o pseudoc´odigo da mu-ta¸c˜ao dos indiv´ıduos (linha 14 do Algoritmo 1). Para cada tipo de muta¸c˜ao ´e gerado um n´umero real aleat´orio entre 0 e 1 (linha 6), e verificado se esse valor satisfaz a condi¸c˜ao de probabilidade probl (linha 7). Caso afirmativo, aplica-se al ve-zes o respectivo tipo de muta¸c˜ao. A ordem das muta¸c˜oes ´e escolhida aleatoriamente.

Algoritmo 3: mutacaoIndividuo

Entrada: individuo 1. in´ıcio

2. prob← Vetor de probabilidade do indiv´ıduo; 3. a← Vetor de intensidade do indiv´ıduo; 4. v← Vetor de movimentos em ordem aleat´oria; 5. Paral← 1 at´e4 fa¸ca

6. z← n´umero real aleat´orio entre 0 e 1; 7. sez < probl ent˜ao

8. Paray← 1 at´eal fa¸ca

9. individuo ← AplicaMutacao(indiv´ıduo, vl);

10. Fim

11. Fim

12. Fim

13. retorna individuo;

Na linha 18 do Algoritmo 1 ´e feito o refina-mento de κ indiv´ıduos filhos pelo m´etodo Variable Neighborhood Descent – VND. O m´etodo VND ´e um algoritmo de busca local em vizinhan¸ca vari´ a-vel, e est´a detalhado no Algoritmo 4. Ele consiste em procurar o melhor vizinho variando sistema-ticamente os tipos de movimento (detalhados na se¸c˜ao 4.2) usados na explora¸c˜ao do espa¸co de so-lu¸c˜oes. Se o melhor vizinho com rela¸c˜ao a um determinado tipo de movimento for melhor que a solu¸c˜ao corrente, a solu¸c˜ao corrente ´e atualizada e o procedimento reiniciado; caso contr´ario, o tipo de movimento ´e alterado. Esses passos s˜ao repeti-dos at´e que n˜ao se consiga melhorar a solu¸c˜ao para

(6)

Tabela 5: Fam´ılia de Instˆancias

Fam´ılia de Instˆancias n m mi

15 2 1 1 15 2 1 15 2 3 1 15 2 3 15 3 1 1 15 3 1 15 3 3 1 15 3 3 50 4 2 1 50 4 2 50 4 4 1 50 4 4 50 8 2 1 50 8 2 50 8 4 1 50 8 4

Tabela 6: Parˆametros das variantes do algoritmo

Variante µ γ κ

EE-NEH-VND1 100 600 5

EE-NEH-VND2 60 200 5

nenhuma das estruturas de vizinhan¸ca. A ordem em que os tipos de movimentos s˜ao aplicados ´e aleat´oria tal como em Souza et al. (2010).

Algoritmo 4: VND

Entrada: ind 1. in´ıcio

2. r← Quantidade de movimentos (no caso, r = 4);

3. v← Vetor de movimentos em ordem aleat´oria;

4. q← 1;

5. enquantoq≤ r fa¸ca

6. ind′← melhor vizinho com movimento q

7. se ind′melhor que ind ent˜ao

8. ind← ind′; 9. q← 1; 10. sen˜ao 11. q← q + 1; 12. Fim 13. Fim 14. retorna individuo;

Os µ indiv´ıduos que compor˜ao a pr´oxima ge-ra¸c˜ao (linha 20 do Algoritmo 1) s˜ao aqueles com os menores valores de makespan, dentre a popula¸c˜ao de pais e filhos.

Por fim, ap´os o crit´erio de parada ser atingido, ´e retornado o melhor indiv´ıduo da popula¸c˜ao final.

5 Resultados

O algoritmo proposto foi implementado em C++, utilizando-se a IDE Borland C++ Builder 6. Os testes foram executados em um computador Intel Core i5-2310, 2.90GHz, com 4 GB de mem´oria RAM, sob sistema operacional Windows 7 64 bits. Para test´a-lo foram utilizadas 8 fam´ılias de instˆancias, de Ruiz et al. (2008), cujas caracte-r´ısticas principais est˜ao mostradas na Tabela 5. Nesta Tabela, n ´e a quantidade de m´aquinas, m ´e o n´umero de est´agios e mi o n´umero de m´ aqui-nas em cada est´agio. Como em cada fam´ılia h´a 12 instˆancias, h´a um total de 96 instˆancias.

Foram consideradas duas variantes do algo-ritmo testado, que se diferem entre si pelos valores adotados para os parˆametros. A Tabela 6 mostra os valores adotados em cada variante.

Em seguida, foram realizadas v´arias an´alises de probabilidade emp´ırica em diversas instˆancias

do problema seguindo o procedimento apontado em Aiex et al. (2007). Em todas elas, o compor-tamento foi o mesmo. A Figura 3 ilustra uma dessas an´alises. Ela foi gerada a partir da apli-ca¸c˜ao das variantes do algoritmo a uma instˆancia da fam´ılia 15 3 3 1, denominada Ism_15_3_3_1-200_0_50_75-125_50-100_-99-99_0-0_3. O al-goritmo foi executado 100 vezes para cada uma das variantes consideradas. Sempre que a fun-¸c˜ao objetivo atingia o valor 1040, distante de 3% do valor ´otimo, a execu¸c˜ao era interrompida e o tempo registrado. Esses tempos foram, ent˜ao, or-denados de forma crescente e, para cada tempo ti foi associada uma probabilidade acumulada, dada por pi=(i - 0,5)/100. A seguir, os pontos (ti, pi, ) foram plotados, resultando na Figura 3.

O gr´afico da Figura 3 mostra que a variante EE-NEH-VND1 ´e a primeira a atingir o alvo de-sejado com uma probabilidade de quase 100%, alcan¸cando-o em cerca de 250000 milisegundos, enquando a EE-NEH-VND2 somente o alcan¸ca em aproximadamente 600000 ms. 0 10 20 30 40 50 60 70 80 90 100 0 100000 200000 300000 400000 500000 600000 Probabilidade(%) Tempo (ms) Alvo: 1040 EE-NEH-VND1 EE-NEH-VND2

Figura 3: An´alise de Probabilidade Emp´ırica

Em vista desse comportamento, a variante EE-NEH-VND1 foi escolhida para ser comparada com um algoritmo da literatura, no caso, o Algo-ritmo Gen´etico de Urlings and Ruiz (2010). Fo-ram feitas 10 execu¸c˜oes da variante do algoritmo proposto para cada uma das 96 instˆancias. O cri-t´erio de parada para esses testes foi o tempo de execu¸c˜ao, calculado como 50 × n ×Pm

i=1mi mi-lisegundos, sendo n o n´umero de tarefas e mi a quantidade de m´aquinas por est´agio. Esse crit´erio ´e o mesmo adotado em Ruiz et al. (2008).

O algoritmo EE-NEH-VND1 foi comparado em rela¸c˜ao a trˆes aspectos: 1) Influˆencia da busca local VND; 2) Capacidade de encontrar as melho-res solu¸c˜oes existentes e 3) Variabilidade das solu-¸c˜oes finais. Para avaliar o primeiro aspecto, foram eliminadas as chamadas ao m´etodo VND, isto ´e, as linhas 16 a 19 do Algoritmo 1. O algoritmo com tal restri¸c˜ao foi denotado por EE-NEH. Para ava-liar o segundo aspecto, calculou-se o gap das me-lhores solu¸c˜oes geradas pelo algoritmo para cada grupo de instˆancias em rela¸c˜ao aos valores ´otimos

(7)

Tabela 7: gap m´edio do algoritmo

gapMelhor gapmelhor gapdo

Instˆancia makespan makespan makespanm´edio

EE-NEH EE-NEH-VND1 EE-NEH-VND1

15 2 1 1 3,59 1,26 1,53 15 2 3 1 13,94 3,94 5,68 15 3 1 1 4,49 1,38 1,80 15 3 3 1 12,61 4,19 5,96 50 4 2 1 12,73 6,02 7,36 50 4 4 1 9,08 1,14 3,03 50 8 2 1 6,07 -0,35 0,93 50 8 4 1 0,77 -7,66 -6,31 M´edia 7,91 1,24 2,50

(no caso das instˆancias envolvendo 15 tarefas) ou melhores valores da literatura (no caso das instˆ an-cias de 50 tarefas). Para avaliar o terceiro aspecto, em lugar dos melhores valores, s˜ao calculados os valores m´edios encontrados pelo algoritmo.

A Tabela 7 mostra os resultados da compa-ra¸c˜ao da variante EE-NEH-VND1 do algoritmo proposto com rela¸c˜ao aos trˆes aspectos apontados. Na primeira coluna dessa Tabela s˜ao apresenta-dos os conjuntos de instˆancias; na segunda coluna ´e apresentado para cada conjunto de instˆancias o gap dos melhores valores para o makespan encon-trados nas 10 execu¸c˜oes do algoritmo sem a apli-ca¸c˜ao da fase de busca local; na terceira coluna os valores se referem ao gap dos melhores valores para o makespan do algoritmo com a aplica¸c˜ao da fase de busca local e, finalmente, na ´ultima coluna, o gap dos valores m´edios do makespan. Neste ´ ul-timo caso, o gap ´e em rela¸c˜ao `a melhor solu¸c˜ao conhecida na literatura, encontrada em Urlings and Ruiz (2010).

Os resultados encontrados mostram clara-mente a influˆencia da busca local no algoritmo proposto. De fato, em todas as instˆancias houve redu¸c˜ao no valor do makespan quando o refina-mento baseado em VND foi aplicado. Por ou-tro lado, o algoritmo proposto conseguiu melhorar as solu¸c˜oes de dois conjuntos de instˆancias, sendo bastante significativa a melhora em um desses gru-pos, inclusive em rela¸c˜ao aos valores das solu¸c˜oes m´edias. Entretanto, em algumas instˆancias o gap mostrou-se elevado. Na m´edia, o gap das melho-res solu¸c˜oes foi de 1,24% e o das solu¸c˜oes m´edias foi de 2,50%.

Alguns detalhes dos experimentos s˜ao apon-tados a seguir. Em cerca de 14% das instˆancias de 15 tarefas, o algoritmo proposto conseguiu al-can¸car o valor ´otimo em todas execu¸c˜oes, e em cerca de 23%, esse valor foi atingido pelo menos uma vez. J´a para as instˆancias de 50 tarefas, em cerca de 35% delas a estrat´egia evolutiva encon-trou melhores resultados que o da literatura em todas as execu¸c˜oes, e em aproximadamente 42%, os resultados da literatura foram superados pelo menos uma vez. Dos 48 ´otimos globais conheci-dos, o algoritmo desenvolvido foi capaz de encon-trar 11 deles e aqueles em que ele n˜ao encontrou o ´otimo conhecido, o gap foi de 3,80%. Nos 48 outros problemas-teste em que o ´otimo global n˜ao era conhecido, o algoritmo EE-NEH-VND1

pro-duziu solu¸c˜oes, em m´edia, 0,21% melhores, tendo em vista o gap da melhor solu¸c˜ao obtida pelo algo-ritmo em rela¸c˜ao `a melhor solu¸c˜ao conhecida at´e ent˜ao.

6 Conclus˜oes e trabalhos futuros

Este trabalho tratou o problema de sequencia-mento flowshop h´ıbrido e flex´ıvel, com o objetivo de minimizar o makespan. Em vista de sua com-plexidade, ele foi resolvido por meio de um algo-ritmo baseado em Estrat´egias Evolutivas.

No algoritmo proposto, as solu¸c˜oes iniciais fo-ram geradas pela aplica¸c˜ao da fase de constru¸c˜ao GRASP usando a regra de avalia¸c˜ao NEH. O prin-cipal mecanismo de busca no espa¸co de solu¸c˜oes do algoritmo desenvolvido ´e a muta¸c˜ao, que ´e feita com base em dois vetores, sendo um relativo `a probabilidade de aplicar cada tipo de muta¸c˜ao, e outro relativo ao n´umero de vezes em que cada muta¸c˜ao ´e aplicada. Feita a muta¸c˜ao, uma parcela da popula¸c˜ao de filhos ´e refinada por um procedi-mento de busca local baseado no m´etodo Variable Neighborhood Descent (VND).

Duas variantes do algoritmo proposto, que se diferem pelo tamanho das popula¸c˜oes de pais e filhos, foram testadas. A variante nomeada EE-NEH-VND1, que fixava as popula¸c˜oes de pais e fi-lhos em 100 e 600 indiv´ıduos, foi a que teve melhor desempenho nos testes de distribui¸c˜ao de proba-bilidade emp´ırica, em que se buscava alcan¸car um valor alvo.

Em seguida, os resultados dessa variante fo-ram comparados com os de um algoritmo recente da literatura, tendo-se por base 96 problemas-teste encontrados na literatura. No cˆomputo ge-ral, o algoritmo EE-NEH-VND1 teve desempenho pior. No entanto, os resultados mostraram que o algoritmo proposto teve um desempenho melhor nas instˆancias maiores, tendo conseguido melho-rar um n´umero significativo de resultados da lite-ratura. Nessas instˆancias, os resultados encontra-dos foram, em m´edia, 0,21% melhores.

Como trabalhos futuros, prop˜oe-se testar a ge-ra¸c˜ao de solu¸c˜oes iniciais com outras regras de avalia¸c˜ao, desenvolver outros tipos de muta¸c˜ao, bem como testar o desempenho do algoritmo em problemas-teste de maior porte.

7 Agradecimentos

Os autores agradecem ao CEFET-MG e `as agˆen-cias CAPES, CNPq e FAPEMIG, pelo apoio ao desenvolvimento deste trabalho.

Referˆencias

Aiex, R., Resende, M. and Ribeiro, C. (2007). Ttt-plots: a perl program to create time-to-target plots, Optimization Letters 1: 355–366.

(8)

Beyer, H. G. and Schwefel, H. P. (2002). Evo-lution strategies - a comprehensive introduc-tion, Natural Computing 1: 3–52.

Burtseva, L., Romero, R., Ramirez, S., Yaurima, V., Gonz´alez-Navarro, F. F. and Perez, P. F. (2012). Lot processing in Hybrid Flow Shop scheduling problem, Production Scheduling, InTech, pp. 65–96.

Coelho, V. N., Souza, M. F. J., Coelho, I. M., Gui-maraes, F. G. and Coelho, B. N. (2011). Es-trat´egias evolutivas aplicadas a um problema de programa¸c˜ao inteira mista, Anais do X Congresso Brasileiro de Inteligˆeencia Com-putacional, Fortaleza, novembro de 2011, 8p. Costa, L. and Oliveira, P. (2001). Evolutio-nary algorithms approach to the solution of mixed integer non-linear programming pro-blems, Computers & Chemical Engineering 25(10): 257–266.

Defersha, F. M. (2010). A comprehensive mathe-matical model for hybrid flexible flowshop lot streaming problem, International Journal of Industrial Engineering Computations 2: 283– 294.

Defersha, F. M. and Chen, M. (2011). Mathe-matical model and parallel genetic algorithm for hybrid flexible flowshop lot streaming pro-blem, International Journal of Advanced Ma-nufacturing Technology 57: 1–17.

Feo, T. and Resende, M. (1989). A probabilistic heuristic for a computationally difficult set covering problem, Operations Research Let-ters 8: 67–71.

Garey, M. and Johnson, D. (1979). Computers and intractability: a guide to the theory of NP-completness, Freeman, San Francisco. Hansen, P., Mladenovic, N. and P´erez, J.

A. M. (2008). Variable neighborhood search: methods and applications, 4OR: Quarterly journal of the Belgian, French and Italian operations research societies 6: 319–360. Naderi, B., Ruiz, R. and M.Zandieh (2010).

Al-gorithms for a realistic variant of flowshop scheduling, Computers & OperationsRese-arch 37: 236–246.

Nishi, T., Hiranaka, Y. and Inuiguchi, M. (2010). Lagrangian relaxation with cut generation for hybrid flowshop scheduling problems to mini-mize the total weighted tardiness, Computers & Operations Research 37: 189–198.

Pacciarelli, D. and D’Ariano, A. (2011). Incre-asing the reliability of production schedules in a pharmaceutical packaging department, Journal of Medical Systems 35: 1–15.

Ribas, I., Leisten, R. and M.Frami˜nan, J. (2010). Review and classification of hybrid flowshop scheduling problems from a production sys-tem and a solutions procedure perspective, Computers & Operations Research 37: 1439– 1454.

Ruiz, R., Sivrikaya, F. and Urlings, T. (2008). Mo-deling realistic hybrid flexible flowshop sche-duling problems, Computers & Operations Research 35: 1151–1175.

Ruiz, R. and V´azquez-Rodr´ıguez, J. A. (2010). The hybrid flow shop scheduling problem, European Journal of Operational Research 205: 1–18.

Salvador, M. (1973). A solution to a special class of flowshop scheduling problems, Symposium on the theory of scheduling and its applicati-ons, Berlin:Springer, pp. 83–91.

Souza, M. J. F., Coelho, I. M., Sabir, S., San-tos, H. G. and Merschamann, L. H. C. (2010). A hybrid heuristic algorithm for the open-pit-mining operational planning pro-blem, European Journal of Operational Re-search 207: 1041–1051.

Urlings, T. and Ruiz, R. (2010). Genetic al-gorithms with different representation sche-mes for complex hybrid flexible flow line pro-blems, International Journal of Metaheuris-tics 1: 30–54.

Urlings, T., Ruiz, R. and St¨utzle, T. (2010). Shif-ting representation search for hybrid flexible flowline problems, European Journal of Ope-rational Research 207: 1086–1095.

Venditti, L., Pacciarelli, D. and Meloni, C. (2010). A tabu search algorithm for scheduling phar-maceutical packaging operations, European Journal of Operational Research 202: 538– 546.

Yaurima, V., Burtseva, L. and Tchernykh, A. (2009). Hybrid flowshop with unrelated ma-chines, sequence-dependent setup time, avai-lability constraints and limited buffers, Com-puters & Industrial Engineering 56: 1452– 1463.

Zandieh, M., Mozaffari, E. and Gholami, M. (2010). A robust genetic algorithm for sche-duling realistic hybrid flexible flow line pro-blems, Journal of Intelligent Manufacturing 21: 731–743.

Ziaeifar, A., Tavakkoli-Moghaddam, R. and Pi-chka, K. (2011). Solving a new mathemati-cal model for a hybrid flow shop scheduling problem with a processor assignment by a ge-netic algorithm, International Journal of Ad-vanced Manufacturing Technology 56: 1–11.

Referências

Documentos relacionados

Diante dos dados obtidos durante o desenvolvimento deste trabalho, conclui-se que a pecuária é uma das principais e mais tradicionais atividades econômicas, geradora de renda e

Apreciada a mate ria, a Ca mara, por unanimidade, deliberou: --- 1.º - Aprovar a proposta da solução urbanística a considerar no projeto da operaça o do Loteamento Municipal Rosa

6.2 - Procedida à análise das Propostas, a Comissão de Seleção fará o julgamento das mesmas e comunicará o resultado aos proponentes através do Portal do Fornecedor, para que

Servem de suporte ao curso de Açorianidades e Insularidades que pretendemos (um dia) levar em linha - online - para todo o mundo e de iniciação para os que querem ler

O PPZUE -R é enquadrado pelo Plano Director Municipal de Castelo Branco, aprovado pela Assembleia Municipal e ratificado pela Resolução de Conselho de Ministros n.º 66/94,

Aspergillus fumigatus e Trichoderma virens, isolados apenas em fevereiro, estiveram associados à maior pluviosidade na época de seca (157,6 mm³), bem como à maior taxa de

Nas sociedades ocidentais, o aparecimento do pensamento bioético levou o médico a essa transição de comportamento muitas vezes consagrada em normas éticas, mas ainda

E a todos que de alguma forma contribuíram para a realização deste trabalho.. Entender a evolução histórica do Direito do Trabalho no mundo e no Brasil é importante