Acessibilidade / Reportar erro

Algoritmo híbrido para resolver o problema de escalonamento job shop com incertezas

Resumos

O problema de escalonamento do tipo job shop é considerado NP-difícil. Em aplicações reais, o tempo de processamento de cada tarefa é muitas vezes impreciso. Neste trabalho é abordado o problema de escalonamento do tipo job shop, onde o tempo de processamento das operações é representado por números triangulares fuzzy (NTF). O objetivo do problema é encontrar um escalonamento que minimize o makespan fuzzy. Na abordagem proposta, trabalhamos com o algoritmo memético (MA) e o algoritmo de sistema de colônia de formigas (ACS) para resolver o problema. Uma hibridização destas duas abordagens denominada MA-ACS(CC-MO) é proposta, e para comparar a eficiência da abordagem é realizada uma comparação entre três algoritmos AG-ACS, MA-ACS(MO) e MA-ACS(CC-MO), utilizando 8 problemas do OR-Library.

Job shop Fuzzy; sistema de colônia de formigas; algoritmo memético


The job shop scheduling problem is considered NP-hard. In real applications, the processing time of each task is often imprecise. Therefore, this paper deals with the job shop scheduling problem, where the processing time of each task is modeled by triangular fuzzy numbers (NTF). The aim of the problem is to find a schedule that minimizes the fuzzy makespan. In this approach it was worked with the memetic algorithm (MA) and the algorithm of ant colony system (ACS) to solve the problem. A hybridization of these two approaches called MA-ACS(CC-MO) is proposed, and to compare the efficiency of the approach is realized a comparison between three algorithms AG-ACS, ACS-ΜΑ (MO) and MA-ACS (CC-MO), using eight of the OR-Library problems.

Fuzzy job shop scheduling problem; Ant colony system; memetic algorithm


IDQE - Departamento de Química e Exatas, UESB - Univ Estadual do Sudoeste da Bahia, 45026-190 Jequié, BA, Brasil. E-mail: marciabragac@gmail.com

IIDepartamento de Telemática, UNICAMP - Universidade Estadual de Campinas, 13083-852 Campinas, SP, Brasil

IIIInovação, Educação e Soluções Tecnológicas, 1309-1605 Campinas, SP, Brasil

RESUMO

O problema de escalonamento do tipo job shop é considerado NP-difícil. Em aplicações reais, o tempo de processamento de cada tarefa é muitas vezes impreciso. Neste trabalho é abordado o problema de escalonamento do tipo job shop, onde o tempo de processamento das operações é representado por números triangulares fuzzy (NTF). O objetivo do problema é encontrar um escalonamento que minimize o makespan fuzzy. Na abordagem proposta, trabalhamos com o algoritmo memético (MA) e o algoritmo de sistema de colônia de formigas (ACS) para resolver o problema. Uma hibridização destas duas abordagens denominada MA-ACS(CC-MO) é proposta, e para comparar a eficiência da abordagem é realizada uma comparação entre três algoritmos AG-ACS, MA-ACS(MO) e MA-ACS(CC-MO), utilizando 8 problemas do OR-Library.

Palavras-chave: Job shop Fuzzy, sistema de colônia de formigas, algoritmo memético.

ABSTRACT

The job shop scheduling problem is considered NP-hard. In real applications, the processing time of each task is often imprecise. Therefore, this paper deals with the job shop scheduling problem, where the processing time of each task is modeled by triangular fuzzy numbers (NTF). The aim of the problem is to find a schedule that minimizes the fuzzy makespan. In this approach it was worked with the memetic algorithm (MA) and the algorithm of ant colony system (ACS) to solve the problem. A hybridization of these two approaches called MA-ACS(CC-MO) is proposed, and to compare the efficiency of the approach is realized a comparison between three algorithms AG-ACS, ACS-ΜΑ (MO) and MA-ACS (CC-MO), using eight of the OR-Library problems.

Keywords: Fuzzy job shop scheduling problem, Ant colony system, memetic algorithm.

1. Introdução

Muitos trabalhos propostos na literatura baseiam-se na condição de que todos os dados do problema são conhecidos. Entretanto, esta suposição pode trazer dificuldades na prática, pois em problemas reais podem haver incertezas em um número de fatores, como disponibilidade de equipamentos, tempos de processamento, tempos de transporte e custos. Assim, nestes casos, as soluções geradas utilizando modelos com incertezas certamente deixarão o problema mais próximo da realidade.

A lógica fuzzy introduzida por Zadeh em 1965 [12] é um meio de aproximar a precisão da matemática clássica à inexatidão do mundo real. Esta teoria consegue manipular e operar quantidades exatas e inexatas quantificadas através de valores lingüísticos.

O problema de escalonamento fuzzy foi formulado por Dubois et al. em 1995 [4], como um problema de otimização com satisfação de restrições fuzzy, onde as

restrições associadas ao problema são representadas por um conjunto fuzzy. No problema de escalonamento job shop fuzzy (JSSPF), os tempos de processamento das operações são imprecisos. Desta forma, a noção de "escalonamento ótimo" é considerada também imprecisa, já que um escalonamento é avaliado através de um número fuzzy. Neste caso, a noção de escalonamento ótimo é avaliado seguindo um critério de ordenação entre os valores dos escalonamentos. Esse critério é importante e pode ser utilizado em situações onde se tem vários escalonamentos e se quer saber qual é o melhor entre eles.

O JSSPF é um problema de alta complexidade computacional, visto que os tempos de processamentos das tarefas são números fuzzy e a comparação entre estes é difícil, sendo às vezes impossível determinar qual o melhor. Devido a isso, muitos trabalhos da literatura utilizam índices de defuzzificação, para assim resolver um problema clássico (crisp). Outros, utilizam algum método de ordenação (rankeamento) de números fuzzy, que associa a cada número fuzzy um valor crisp, e com este valor resolvem um problema clássico associado. Ou ainda, utilizam métodos de ordenação lexicográfica ou comparação baseada em α-cortes, com o objetivo de otimizar um escalonamento em termos do makespan fuzzy.

Dentre os principais trabalhos da literatura, alguns que consideramos importantes são: [[2], [5], [6], [8], [9]].

Em [2], o problema é resolvido utilizando um algoritmo memêtico com população estruturada. Para avaliar qual é o makespan de cada indivíduo, o autor utiliza o conceito de possibilidade. O makespan é calculado através de uma janela de tempo onde cada valor é representado por um número crisp associado.

Uma das primeiras aplicações que considera a incerteza nos parâmetros de tempo é encontrado em [5]. Nele, o autor resolve o problema de job shop modelando o tempo de duração das tarefas como números de seis-pontos fuzzy, com o objetivo de minimizar o makespan. O makespan é obtido através da comparação de números fuzzy, utilizando o algoritmo Simulated Annealing.

Em [6], os autores propõem um algoritmo memêtico para resolver o problema job shop fuzzy e introduzem um modelo de escalonamento baseado no valor esperado do makespan. Este valor, associa a cada variável fuzzy, um valor esperado e, assim, resolve o problema com o objetivo de minimizar o makespan esperado (E[Cmax(x, ξ ν)]).

Em [8], as incertezas nos tempos de processamento são modeladas usando tanto NTF, como λ-cortes. Os autores minimizam o makespan, resolvendo o problema do job shop crisp que resulta da defuzzificação dos tempos de processamento.

Em [9], os autores propõem um algoritmo de Particle Swarm combinado com operadores genéticos denominado GPSO, para resolver o problema de job shop com tempo de processamento fuzzy. O tempo de processamento das operações é descrito por NTF, e o objetivo é encontrar um escalonamento que minimize o makespan e sua incerteza. Os autores utilizam um método de classificação de números fuzzy para estimar o valor do makespan fuzzy e sua incerteza.

Os trabalhos citados acima, possuem a desvantagem de lidarem somente com um problema associado, ou seja, em todos os trabalhos é utilizado algum método que associa um número real ao número fuzzy, para então encontrar o makespan do problema. Neste trabalho é proposto um algoritmo que contorna esta dificuldade, mantendo a incerteza em todo processo de resolução do problema.

2. Modelagem matemática do job shop fuzzy

Seja m, um conjunto de máquinas e n, um conjunto de tarefas. Seja O = 0, ... ,n -1 o conjunto de operações. Neste problema, todas as tarefas possuem a mesma quantidade de operações, que é igual ao número de máquinas. Seja A, o conjunto de pares ordenados de operações restringidos por relações de precedência para cada tarefa. Para cada máquina k, o conjunto Ek, descreve o conjunto de todos os pares de operações a serem executadas na máquina k. Para cada operação i, seu tempo de processamento é fixado, e o tempo possível para início do processamento da operação i na máquina l é , que é uma variável determinada durante a otimização do problema.

O objetivo é minimizar o tempo total gasto entre o início da primeira operação e o término da última operação, que representa o makespan . A variável representa o tempo final de execução da tarefa mais ocupada. Cada parâmetro de tempo do problema é um número fuzzy, e o valor do makespan é representado por um NTF. O modelo matemático para este problema é caracterizado à seguir.

Neste modelo matemático, a primeira restrição assegura que a seqüência de processamento das operações em cada tarefa corresponde a uma ordem pré-determinada. A segunda restrição, assegura que existe somente uma tarefa sendo atendida por uma máquina, em um determinado momento. E, a terceira restrição, assegura a execução de todas as operações. Qualquer solução que atenda essas três restrições, é chamada de escalonamento.

2.1. Tempo de processamento fuzzy

Em aplicações reais, freqüentemente nos deparamos com situações onde o tempo que uma tarefa leva para ser processada numa determinada máquina não é conhecido. Desta forma, na literatura é comum utilizar números fuzzy para representar um tempo de processamento incerto. Esta incerteza, dentro da teoria fuzzy, pode ser modelada utilizando NTF da forma à = (ai,am, as), onde am éo valor modal, e os espalhamentos inferiores e superiores são ai e as, respectivamente.

A Tabela 1, apresenta uma instância gerada para um problema com 3 tarefas e 3 máquinas com tempos de processamento incerto. Para a geração desses números, foi utilizado o benckmark [11], onde o valor modal am corresponde ao valor crisp deste benckmark e, os espalhamentos a esquerda (am - ai) e a direita (as - am) foram gerados segundo uma distribuição uniforme no intervalo [0,1].

Tabela 1: Instância do problema job shop fuzzy (3 x 3).

Na instância exemplificada acima, a ordem de processamento das tarefas nas máquinas é pré-estabelecida. De acordo com a Tabela 1, a tarefa 1 precisa ser processada inicialmente na máquina 1, com tempo fuzzy [2.40,3,3.23], em seguida pela máquina 2, com tempo fuzzy [2.45,3,3.35] e assim por diante. Um escalonamento é factível quando a ordem das operações é preservada.

2.2. Relação de ordem

Para determinar o makespan do problema, é utilizado o algoritmo proposto por [7], com algumas modificações. Este algoritmo tem como finalidade encontrar todos os caminhos não-dominados entre o nó origem e o nó destino, e utiliza a relação de ordem proposta em [10]. No algoritmo proposto, utiliza-se NTF e é determinado o seguinte critério de dominância parcial fuzzy [10].

Definition 2.1.(Dominância Parcial) Sejam à = (ai, am, as) e = (bi, bm, bs) dois NTF e ε - [0,1], então à domina com grau ε, denotado por , se, e somente se, am< bm, (ai)ε < (bi)ε, (as)ε < (bs)ε e Ã.

2.3. Comparação de números triangulares fuzzy

A comparação entre os NTF é um recurso utilizado no desenvolvimento do algoritmo proposto neste artigo, pois é necessário, entre vários números fuzzy, definir qual é o maior ou menor. O método de comparação utilizado [3], consiste em definir um número real que represente o NTF. A seguir serão apresentados os 3 critérios de comparação de números fuzzy, utilizados para ordenar os NTF.

Primeiramente, tenta-se ordenar os números de acordo com o primeiro critério de ordenação. Se este não propiciar uma única ordem linear, o segundo critério é utilizado. Se este também não for suficiente, utiliza-se então o terceiro critério a fim de se obter uma seqüência ordenada.

3. Modelagem por grafo disjuntivo fuzzy

A característica fuzzy de um problema pode ser encontrada em diversos níveis: da estrutura do grafo (nós e arestas), aos parâmetros associados ao grafo (custo, tempo, etc). Problemas com estrutura de grafo crisp e parâmetros fuzzy é um dos mais estudados da literatura. Estes são problemas em que a estrutura do grafo é bem conhecida e rígida e os parâmetros associados são representados por números fuzzy.

Um dos problemas de grafos com parâmetros fuzzy mais estudados na literatura É o de caminho mínimo com parâmetros incertos. Um outro problema de otimização que pode ser modelado na forma de grafo com parâmetros fuzzy, bastante complexo e estudado na literatura, é o problema de escalonamento tipo job shop.

Inicialmente estes dois problemas não apresentam nenhuma relação em comum, já que o objetivo do problema de caminho mínimo é encontrar um menor caminho entre dois nós do grafo, ou seja, minimizar a função objetivo (min{f (x)}) e o objetivo do problema de job shop, é minimizar o makespan (caminho máximo) do grafo, ou seja, min(max{f(x)}). Entretando, podemos estabelecer uma relação entre estes dois problemas, o que é bastante interessante, pois o problema de caminho máximo é NP-completo e não existe algoritmo exato para resolvê-lo.

Em [7], é proposto um algoritmo de caminho mínimo, baseado no algoritmo clássico de Bellman-Ford-Moore (FBM), que pode ser aplicado em grafos com parâmetros negativos fuzzy. Desta forma, fizemos as modificações necessárias e utilizamos este algoritmo para calcular o caminho crítico (makespan) para o problema job shop fuzzy.

Na modelagem do JSSPF através do grafo disjuntivo com parâmetros incertos, os tempos de processamento das tarefas nas máquinas são representados por NTF (Figura 1). Na literatura, não foi encontrado nenhum trabalho que resolve este problema, modelado através de grafo disjuntivo com parâmetros incertos, sendo esta mais uma justificativa para o algoritmo proposto neste trabalho.


Figura 1: Grafo disjuntivo com parâmetros fuzzy do JSSPF (n = 3 e m = 3)

Inicialmente o grafo disjuntivo fuzzy não representa uma solução para o JSSPF. Quando todas as direções dos arcos disjuntivos são definidas, obtém-se um grafo direcionado, se este grafo direcionado for acíclico, temos uma solução (escalonamento) factível para o problema. Para calcular o makespan, basta calcular o caminho crítico do grafo acíclico fuzzy. Este caminho é determinado pela maior distância entre o nó inicial e o nó final do grafo com parâmetros incertos, e será calculado de acordo com o algoritmo descrito na Seção 3.1..

3.1. Algoritmo para calcular o makespan do problema job shop fuzzy

Em [7], é proposto um algoritmo para encontrar o caminho mínimo em grafos com parâmetros fuzzy. Tal algoritmo é baseado no algoritmo clássico FBM [1], e utiliza a relação de ordem (Seção 2.2.) para determinar o conjunto de caminhos não-dominados. Desta forma, iremos adaptar o algoritmo proposto em [7], a fim de calcular o makespan do JSSPF.

4. Abordagem proposta

Devido a complexidade do problema de escalonamento do tipo job shop, os métodos heurísticos são recomendados para resolvê-lo. Em se tratando de um problema onde o tempo de processamento das tarefas são representados por NTF, essa complexidade aumenta, sendo necessária uma reformulação significativa do problema e métodos eficientes para solucioná-lo.

Neste trabalho, propomos um algoritmo híbrido que trabalha com o algoritmo de colônia de formigas(ACS) e o algoritmo genético com busca local, mais conhecido como algoritmo memético (MA), para resolver o problema de escalonamento tipo job shop com tempo de processamento incerto. O algoritmo de colônia de formigas é utilizado para criar uma população inicial de escalonamentos factíveis, e o algoritmo memético é utilizado para melhorar esses escalonamentos.

O algoritmo híbrido é utilizado para encontrar boas soluções para o problema e, para avaliar a melhor solução, é utilizado o método de comparação descrito na Seção 2.3., que têm a finalidade de definir entre vários números fuzzy qual é o maior ou menor.

4.1. Algoritmo híbrido de sistema de colônia de formigas e genético para o problema do job shop fuzzy

Um conceito importante e crítico na execução de um algoritmo é a escolha da representação de possíveis soluções para o problema. Neste trabalho, o JSSPF (Tabela 1) é representado por um grafo disjuntivo fuzzy (Figura 1) e cada solução é representada através de um vetor V de n.m + 2 colunas, onde néo número de tarefas e m o número de máquinas. Cada campo do vetor vk com 1 < k < n.m + 2, é preenchido por um número k que indica o número do nó, no grafo disjuntivo. Este vetor, possui uma seqüência que corresponde a ordem que as tarefas são atendidas nas máquinas.

1. Geração da população inicial: O primeiro passo do algoritmo híbrido é a geração da população inicial, que foi gerada utilizando o algoritmo de colônia de formigas.

2. Cálculo do makespan: Para calcular o makespan do JSSPF, foi utilizado o algoritmo indicado na Seção 3.1.. Este algoritmo encontra todos os caminhos não-dominados entre o nó inicial e o nó final, sendo necessária a utilização de um método capaz de decidir qual é o maior entre os valores encontrados, pois este representa o makespan do JSSPF.

3. Passos seguintes do algoritmo híbrido: Os passos seguintes do algoritmo híbrido, onde são executados os operadores genéticos e os métodos de busca local, são realizados enquanto o critério de parada não for alcançado. O critério de parada utilizado foi o número de gerações. Os operadores genéticos executados neste algoritmo foram o crossover e a mutação, eles são aplicados no grafo disjuntivo fuzzy.

4. Operadores genéticos: O crossover é realizado entre dois indivíduos pais da população, gerando dois novos indivíduos. Nesta operação genética, é sorteado uma tarefa dos indivíduos pais, e a ordem de localização que estas tarefas aparecem nos indivíduos filhos é preservada. O restante do cromossomo do filho é preenchido de acordo com a ordem que as outras tarefas aparecem no pai.

A mutação é realizada em um indivíduo pai, gerando um indivíduo filho. Neste trabalho, a mutação utilizada foi a denominada mutação inversiva. Nela escolhe-se aleatoriamente duas seqüências de tarefas e faz a troca entre elas. As demais tarefas do cromossomo permanecem na mesma ordem. Os operadores de crossover e mutação são aplicados com probabilidades Pc e Pm, respectivamente.

5. Métodos de busca local: Na literatura, existem diferentes métodos de busca local que são adicionadas ao algoritmo genético. Neste artigo, o algoritmo proposto inicialmente gera uma população de soluções factíveis, ordena de acordo com seu valor de fitness e, então, aplica-se os operadores de crossover e mutação para gerar a população da próxima geração.

O objetivo da busca local, é melhorar a solução obtida na população inicial, ou pelos operadores de crossover e mutação. Por isso, neste trabalho, a busca local é realizada apenas no melhor indivíduo da população, sendo que, este novo indivíduo só é aceito para a próxima geração, se melhorar a qualidade da solução corrente, caso contrário ele é descartado. Neste caso, propomos três técnicas de buscas locais que serão descritas a seguir.

1. Troca de Tarefas Adjacentes no Caminho Crítico (CC)

Nesta técnica de busca local o caminho crítico de cada solução é calculado. Em seguida, dentro deste caminho crítico são identificados os pares de tarefas adjacentes pertencentes a mesma máquina e, então, é realizada a mudança de direção entre os arcos que ligam estas tarefas adjacentes.

A mudança de direção dos arcos pertencentes ao caminho crítico de cada solução representa a mudança de direção dos arcos disjuntivos (arcos pertencentes à mesma máquina) no gráfico disjuntivo. É importante lembrar que esta mudança de direção dos arcos pode resultar em um escalonamento infactível. Por esta razão, antes de aceitar a troca dos arcos, é necessário verificar a factibilidade do escalonamento. Na Figura 2, ilustramos um exemplo de solução para o problema da Tabela 1.

Figura 2:
Grafo disjuntivo: (a) antes de aplicar a busca local, (b) depois de aplicar a busca local CC.

Seja V1, o cromossomo que representa uma solução do problema (Figura 2 (a)),

e seja cc1 seu caminho crítico representado pelo grafo acíclico (Figura 2 (a)).

O makespan fuzzy de Vi é [11,81 15 17,03] unidades. A busca local CC é realizada nas tarefas adjacentes pertencentes à mesma máquina, no caso os nós 5 e 2. Uma mudança de direção entre os arcos que ligam estes nós (Figura 2 (b)) é realizada dando origem a uma nova solução V2.

Esta nova solução (escalonamento) têm makespan de [10,63 13 14,33] unidades e caminho crítico cc2, representado pelo grafo acíclico (Figura 2 (b)).

Como pode ser visto nas Figura 2 (a) e Figura 2 (b), a mudança de direção do arco que liga o nó 5 ao nó 2, resultou na inversão da direção entre os arcos que pertencem a m1. Isto fez com que a solução resultante V2 obtivesse um valor de fitness menor.

2. Troca de Tarefa na Máquina mais Ociosa (MO)

Resolver o problema de job shop geralmente gera soluções onde o escalonamento tem gaps entre as tarefas nas máquinas. Estes gaps, surgem no escalonamento devido às restrições de precedências impostas às tarefas. Uma grande quantidade de gaps numa máquina faz com que ela fique ociosa, o que aumenta o valor de makespan do escalonamento.

A busca local MO identifica a máquina ociosa no escalonamento, e a tarefa candidata que será remanejada para dentro de um gap, a fim de obter um melhor escalonamento, reduzindo o valor do makespan. Esta regra de troca de tarefas adjacentes na máquina somente será permitida, se o escalonamento resultante for factível. A Figura 3, ilustra a busca local MO. No escalonamento representado pelo gráfico de Gantt (Figura 3 (a)), a máquina ociosa é a M3. Desta forma, a busca local será aplicada nesta máquina. Como J3é processado após J1 nesta máquina, podemos alocar J3 antes do J1 como ilustra a Figura 3 (b). Como pode ser visto, a troca das tarefas na máquina mais ociosa, levou a uma redução no valor do makespan do novo escalonamento.

Figura 3:
Exemplo para MO: (a) antes da busca local, (b) depois da busca MO.

3. Junção das duas técnicas de buscas locais CC-MO

A terceira técnica de busca local denominada CC-MO, é a junção das duas técnicas de buscas locais descritas acima. Esta técnica, aplica primeiramente a busca local de troca de tarefas adjacentes no caminho crítico e posteriormente, no cromossomo resultante aplica a busca local de troca de tarefas adjacentes na máquina mais ociosa (com a finalidade de reduzir gaps).

Como saída do algoritmo, é apresentado um conjunto solução com alto grau de otimalidade. Cada um destes indivíduos tem seu valor de fitness representado por um NTF. Para apresentar o valor crisp é aplicado uma defuzzificação, que é o mapeamento de informações fuzzy em valores crisp. O método de defuzzificação utilizado foi o método do centróide. Um pseudocódigo do algoritmo híbrido aplicado ao JSSPF é descrito no Algoritmo 1.

5. Resultados numéricos da abordagem fuzzy

Nesta seção, são apresentados e discutidos os resultados obtidos com a aplicação do algoritmo híbrido MA-ACS(CC-MO) proposto para resolver o JSSPF. Para comparar a eficiência de MA-ACS(CC-MO), os resultados são comparados com o algoritmo AG-ACS(algoritmo genético com população inicial gerado pelo ACS) e MA-ACS(MO). Todas as simulações foram realizados com os mesmos parâmetros. Na avaliação das abordagens, foram utilizadas 8 instâncias com diferente número de tarefas e máquinas, obtidos em [11]. As instâncias são caracterizadas pelas seguintes informações: número de tarefas, número de máquinas e uma tabela contendo a seqüência de operações de cada tarefa, incluindo o número da máquina que irá processá-la e o tempo de processamento da operação. Como o tempo de processamento das tarefas são considerados parâmetros com incertezas, os números fuzzy foram gerados com espalhamentos à esquerda e à direita como descrito na Seção 2.1..

Cada simulação foi executada 10 vezes e implementada em Matlab 8, na plataforma Linux, Intel Core 2 Duo 2.0GHz e 4Gb. Os parâmetros adotados na execução dos algoritmos são apresentados a seguir.

  • Número de formigas =15 α = 0,1, β = 2,

    ρ = 0,01,

    q0 = 0, 7; número de gerações: 500, tamanho da população: 40 indivíduos, probabilidade de crossover: 0, 8 e probabilidade de mutação: 0, 6; supressão: elimina indivíduos de mesmo

    makespan, diversidade: Insere novos indivíduos criados pelo ACS, taxa minima de diversidade populacional: 50%.

Na Tabela 2, são apresentados todos os resultados encontrados pelos algoritmos AG-ACS, MA-ACS(MO) e MA-ACS(CC-MO). Nela são apresentados os valores do makespan fuzzy, encontrado por cada algoritmo, seu valor defuzzificado e os valores do makespan crisp de cada problema extraído de Or-Library.

Tabela 2: Comparação dos resultados para minimizar o makespan fuzzy.

De acordo com a Tabela 2, a abordagem proposta MA-ACS(CC-MO), obtém em alguns casos desempenho superior comparado com AG-ACS e MA-ACS(MO), especialmente quando a dimensão do problema é grande ou o problema é muito difícil, como La23, mas quando o tamanho do problema é pequeno, como a instância do Ft06 os resultados são semelhantes.

Na execução de cada instância, foi verificado quantos indivíduos obtiveram valor de makespan até 80% do valor do makespan ótimo encontrado pelo melhor algoritmo. A Tabela 3, apresenta a quantidade de indivíduos com 80% (alto grau) de possibilidade (pertinência) de serem ótimos para cada instância testada. Pela Tabela 3, podemos verificar quantos indivíduos tiveram seus valores de makespan até 80% muito positivo, pois mostra que o algoritmo encontra não apenas uma solução ótima, mas um conjunto de soluções com alto grau de possibilidade de serem ótima.

Tabela 3:
Quantidade de indivíduos com +80% de possibilidade de serem ótimos.

A comparação dos resultados com outras abordagens da literatura muitas vezes é complicado, pois o banco de dados do OR-Library é grande e nem sempre temos as mesmas instâncias utilizadas nos testes. Além disso, a maioria dos trabalhos encontrados na literatura apresentam seus resultados defuzzificados, sendo difícil estabelecer uma comparação dos resultados.

Desta forma, dentre os trabalhos citados na revisão bibliográfica, o trabalho [5], utiliza 2 instâncias iguais as que utilizamos nos testes, porém os resultados apresentados são defuzzificados. Além disso, o autor apresenta uma única solução para cada uma das instâncias testadas, enquanto que as abordagens propostas neste artigo apresentam um conjunto solução com alto grau de otimalidade. Para a instância ft06, o trabalho de Fortemps apresenta como melhor resultado o valor defuzzificado de 55,02. Neste artigo, as abordagens encontram makespan fuzzy de [50,6 55 57,75], o que defuzzificando resulta em 54,4. Além disso, a abordagem MA-ACS(CC-MO) encontra 6 soluções com mais de 80% de possibilidade de serem ótimas. Para a instância la11, Fortemps encontra como melhor resultado o makespan de 1222, enquanto que as abordagens deste artigo encontram o makespan fuzzy de [1124,24 1222 1283,1], o que defuzzificando resulta em 1209,8. Além disso, a abordagem MA-ACS(CC-MO) encontra 22 indivíduos com mais de 80% de possibilidade de serem ótimos, isso para uma população com 40 indivíduos.

6. Conclusões

Verificando os resultados acima, observamos que os algoritmos propostos possuem a vantagem de lidar com o problema do job shop com parâmetros fuzzy na sua integra, sem necessidade de métodos de comparação de números fuzzy para encontrar o makespan. Uma outra vantagem interessante e útil das abordagens propostas neste trabalho, é que os algoritmos são capazes de encontrar um conjunto de soluções com alto grau de possibilidade de serem ótimas.

Recebido em 08 Março 2011

Aceito em 06 Março 2013

  • [1] R.E. Bellman, On a routing problem, Quarterly Applied Mathematics, No. 16 (1958), 87-90.
  • [2] T.R. Bonfim, "Escalonamento Memético e Neuro-Memético de Tarefas", Tese de Doutorado da Faculdade de Engenharia Elétrica e Computação, Universidade Estadual de Campinas, 2006.
  • [3] G. Bortolan, R. Degani, A review of some methods for ranking fuzzy subsets, (Dubois, D., Prade, H., Yager, R. Eds.), Readings in Fuzzy Sets for Intelligent Systems, Morgan Kaufmann, San Francisco, CA, 1993, 149-158.
  • [4] D. Dubois, H. Fargier, H. Prade, Fuzzy constraints in job-shop scheduling, Journal of Intelligent Manufacturing, 6, No. 4 (1995), 215-234.
  • [5] P. Fortemps, Jobshop scheduling with imprecise durations: A fuzzy aproach, IEEE Trans. Fuzzy Syst., vol.4(1997), 557-569.
  • [6] I. González Rodrigues, C.R. Vela, J. Puente, A memetic approach to fuzzy job shop based on expectation model, In: Proceedings of IEEE International Conference on Fuzzy Systems, FUZZ-IEEE, London, 2007, 692-697.
  • [7] F. Hernandes, "Algoritmos para Problemas de Grafos com Incertezas", Tese de doutorado da Faculdade de Engenharia Elétrica e Computação, Universidade Estadual de Campinas, 2007.
  • [8] F.-T. Lin, Fuzzy job-shop scheduling based on ranking level (λ, 1) interval-valued fuzzy numbers, IEEE Trans. Fuzzy Syst., 10, No. 4 (2000), 510-522.
  • [9] Q. Niu, B. Jiao, X. Gu, Particle swarm optimization combined with genetic operators for job shop scheduling problem with fuzzy processing time, Applied Mathematics and Computation, 205, No. 1 (2008), 148-158.
  • [10] S. Okada, T. Soper, A shortest path problem on a network with fuzzy arc lengths, Fuzzy Sets and Systems, 109 (2000), 129-140.
  • [11] N. Tamura, OR-library, Available online at: http://bach.istc.kobe-u.ac.jp/csp2sat/jss/, Accessed 15 July 2007.
  • [12] L. Zadeh, Fuzzy Sets, Information and Control, 8 (1965), 338-353.
  • Algoritmo híbrido para resolver o problema de escalonamento job shop com incertezas

    M.B. CarvalhoI; A. Yamakami, DtII; T.R. BonfimIII
  • Datas de Publicação

    • Publicação nesta coleção
      28 Maio 2013
    • Data do Fascículo
      Abr 2013

    Histórico

    • Recebido
      08 Mar 2011
    • Aceito
      06 Mar 2013
    Sociedade Brasileira de Matemática Aplicada e Computacional Rua Maestro João Seppe, nº. 900, 16º. andar - Sala 163 , 13561-120 São Carlos - SP, Tel. / Fax: (55 16) 3412-9752 - São Carlos - SP - Brazil
    E-mail: sbmac@sbmac.org.br