• Nenhum resultado encontrado

5.4 Conclusão

6.1.2 Buscas Locais

Visando intensificar a exploração realizado pelo BRKGA, são incorporadas ao seu processo evolutivo três buscas locais que consideram características intrínsecas ao SSP-NPM, organizadas em um VND. As buscas locais selecionadas foram apresentadas na Seção 5.2.2. Assim, a seguir são descritas apenas as diferenças de implementação para abordagem ao SSP-NPM.

6.1.2.1 Busca local por inserção de tarefas

Visando uma melhor utilização das máquinas que compõem o SMF, esta busca local tenta equilibrar o tempo de processamento entre as máquinas, movendo as tarefas alocadas às máquinas com maior tempo de processamento para as máquinas menos utilizadas.

Para isso, as máquinas que compõem uma solução são ordenadas de forma não decrescente pelo tempo de processamento. Entre as tarefas alocadas à máquina crítica, ele- gíveis à máquina com o menor tempo de processamento, uma é selecionada aleatoriamente.

Esta tarefa é removida da máquina crítica e inserida na máquina com o menor tempo de processamento na posição em que acarretar o menor número de trocas de ferramentas. A solução vizinha é avaliada e, caso haja melhoria no valor de avaliação, as máquinas são reordenadas e o processo se reinicia a partir desta nova solução. Caso não haja melhoria na solução, para o BRKGA a busca local se encerra e a solução anterior é retornada. Para o BRKGAT F T, a próxima máquina com o maior tempo de processamento é selecionada, considerada como máquina crítica e o processo se reinicia. A busca local se encerra quando nenhum movimento de inserção resultar na melhoria da solução atual.

A Figura 32 apresenta um movimento hipotético desta busca local considerando a instância apresentada na Tabela 24. Esta instância será considerada para exemplo em todas as buscas locais. Em (a) tem-se uma dada solução viável. A máquina 2 é a máquina crítica, sendo responsável pelo makespan da solução, 31 unidades de tempo. O flow time total da solução é 96 unidades de tempo. Em (b), ilustra-se a seleção aleatória de uma tarefa entre as alocadas à máquina crítica. Apenas as tarefas elegíveis à máquina com o menor tempo de processamento são consideradas. Neste exemplo, foi selecionada a tarefa 2.

Em (c), apresenta-se a seleção da melhor posição para inserir a tarefa 2. Todas as possíveis

Capítulo 6. Sequenciamento de tarefas em máquinas paralelas não-idênticas com restrições de

ferramentas 133

posições são consideradas e é selecionada aquela que gerar o menor número de trocas de ferramentas. Caso haja empate, a tarefa é posicionada na posição mais à esquerda possível. Em (d) apresenta-se a nova solução gerada e os novos valores de flow time total e makespan obtidos, respectivamente, 101 e 27 unidades de tempo. Esta nova solução seria aceita pelo BRKGA pois resulta em menor valor de makespan, mas seria rejeitada pelo BRKGAT F T pois resulta em aumento no valor do flow time total.

(a) Solução inicial.

(b) Seleção de tarefa candidata na máquina crítica. (c) Seleção da melhor posição para inserção da tarefa 2.

(d) Solução vizinha gerada.

Figura 32 – Busca local por inserção de tarefas.

Capítulo 6. Sequenciamento de tarefas em máquinas paralelas não-idênticas com restrições de

ferramentas 134

6.1.2.2 Busca local por troca de tarefas

Soluções para o SSP-NPM com tempo de processamento equilibrado entre as máquinas, tendem a possuir menos espaço para que inserções simples resultem em melhoria das funções objetivo consideradas neste trabalho. Assim, esta busca local propõe a realização de inserções cruzadas, onde duas tarefas, alocadas em máquinas diferentes, são trocadas. Tal movimento pode resultar em melhoria da solução dado o diferente tempo de processamento das tarefas em cada máquina ou por resultar em um menor número de trocas de ferramentas.

Com este objetivo, as máquinas que compõem uma solução são ordenadas de forma não decrescente pelo tempo de processamento total. Para cada tarefa alocada à máquina crítica elegível à máquina com o menor tempo de processamento, consideram-se todas as tarefas alocadas à máquina com o menor tempo de processamento como candidatas à troca, respeitando-se a elegibilidade de máquinas. As tarefas são selecionadas aleatoriamente.

Visando diminuir o tamanho da vizinhança explorada por esta busca local, somente são efetuadas trocas entre tarefas cuja máquina de destino já requeira, desconsiderando-se a tarefa que será removida, um mínimo de 50% das ferramentas necessárias para o seu processamento. Havendo compatibilidade em ambas as máquinas, as tarefas selecionadas são trocadas e a nova solução avaliada de acordo com a função objetivo considerada. Caso haja melhoria no valor de avaliação, a solução é atualizada e o processo se reinicia. Caso contrário, a troca é desfeita e move-se para a próxima tarefa candidata. O algoritmo se encerra quando nenhuma troca entre tarefas produzir solução com melhor valor de avaliação.

A Figura33 apresenta um movimento hipotético desta busca local. Em (a) tem-se uma solução viável com flow time total e makespan iguais a 109 e 36 unidades de tempo, respectivamente. Em (b), ilustra-se a seleção de tarefas candidatas à troca. Apenas tarefas elegíveis à máquina destino são consideradas. Neste exemplo, foram selecionadas a tarefa 3 na máquina crítica e a tarefa 5 na máquina com o menor tempo de processamento. A compatibilidade de ferramentas é averiguada em ambas as máquinas. Como a compatibili- dade mínima exigida é atendida, o movimento é efetuado e avaliado. Em (d) apresenta-se a nova solução obtida e os novos valores de flow time total e makespan, respectivamente, 94 e 26 unidades de tempo.

6.1.2.3 Busca local por agrupamento de blocos de uns

Ao analisarmos a matriz de trocas de ferramentas de uma solução para o SSP-NPM, a ocorrência de descontinuidades indica que uma ferramenta foi removida do magazine da máquina e reinserida em um estágio posterior da produção. Evitar que tais descontinuidades ocorram pode resultar na diminuição do número total de trocas de ferramentas, reduzindo o tempo de configuração necessário e, consequentemente, o tempo de processamento total

Capítulo 6. Sequenciamento de tarefas em máquinas paralelas não-idênticas com restrições de

ferramentas 135

(a) Solução inicial.

(b) Seleção de tarefas candidatas para troca.

(c) Solução vizinha gerada.

Figura 33 – Busca local por troca de tarefas.

da máquina. Explorando tal característica, Paiva e Carvalho (2017) apresentam a busca local por agrupamento de blocos de uns visando diminuir o número total de trocas de ferramentas para o SSP.

Para aplicação desta busca local em uma solução para o SSP-NPM, cada máquina da solução é considerada como uma instância do SSP. A matriz de trocas de ferramentas de uma máquina é analisada linha a linha, aleatoriamente. Caso existam descontinuidades, a busca local move as colunas do bloco de uns que antecede a descontinuidade, para a esquerda e para a direita do bloco de uns que sucede a descontinuidade. Cada movimento

Capítulo 6. Sequenciamento de tarefas em máquinas paralelas não-idênticas com restrições de

ferramentas 136

é analisado utilizando-se a avaliação δ apresentada porHaddadi et al. (2015) para o CBM.

Esta função de avaliação eficiente retorna a quantidade de blocos de uns criados pela movimento. Havendo aumento na quantidade total de blocos de uns, este movimento não possui potencial para melhorar a solução e é descartado. Caso contrário, o plano de troca de ferramentas é avaliado utilizando-se o método KTNS. Entre os movimentos realizados, à esquerda ou à direita do segundo bloco de uns, é selecionado aquele que resultar no menor número de trocas de ferramentas. Havendo empate, o último movimento realizado é mantido. A cada melhoria, a busca local se reinicia. A busca local encerra-se quando não houver movimentos que resultem na diminuição do número total de trocas de ferramentas.

Quando aplicada pelo BRKGA, esta busca local limita-se à máquina crítica. Quando aplicada pelo BRKGAT F T, todas as máquinas são consideradas, individualmente.

A Figura 34 ilustra um movimento hipotético desta busca local. Em (a) tem-se a matriz de trocas de ferramentas de uma máquina carregada com as tarefas [2,5,3] e o número total de trocas de ferramentas geradas por este escalonamento (KTNS = 5).

Em (b) ilustra-se a seleção aleatória de uma linha da matriz de troca de ferramentas para análise. Neste exemplo, foi selecionada a segunda linha da matriz, possuindo dois blocos de uns. Em seguida, a busca local move as colunas do primeiro bloco de uns para a esquerda e para a direita do segundo bloco de uns. O movimento à esquerda é avaliado com a δ avaliação e não resulta em aumento no número do blocos de uns. Entretanto, conforme ilustrado em (c), o movimento não reduz o número de trocas de ferramentas e por isso é descartado. O movimento à direita diminui o número de blocos de uns da matriz de trocas de ferramentas e por isso é avaliado com o KTNS. Conforme demonstrado em (d), o movimento diminui em uma unidade o número total de trocas de ferramentas e por isso é mantido, resultando no escalonamento de tarefas [5,3,2].