• Nenhum resultado encontrado

ADAPTAÇÕES DOS ALGORITMOS DE DIJKSTRA E FORD-MOORE- BELLMAN PARA O PROBLEMA DO CAMINHO MÍNIMO COM INCERTEZAS

N/A
N/A
Protected

Academic year: 2021

Share "ADAPTAÇÕES DOS ALGORITMOS DE DIJKSTRA E FORD-MOORE- BELLMAN PARA O PROBLEMA DO CAMINHO MÍNIMO COM INCERTEZAS"

Copied!
12
0
0

Texto

(1)

ADAPTAÇÕES DOS ALGORITMOS DE DIJKSTRA E

FORD-MOORE-BELLMAN PARA O PROBLEMA DO CAMINHO MÍNIMO COM

INCERTEZAS

Fábio Hernandes

Universidade Estadual do Centro-Oeste – UNICENTRO Departamento de Ciência da Computação - DECOMP

85.015-430, caixa postal 3010, Guarapuava-PR hernandes@unicentro.br

Wagner Santos de Oliveira1

Universidade Estadual do Centro-Oeste – UNICENTRO Departamento de Ciência da Computação - DECOMP

85.015-430, caixa postal 3010, Guarapuava-PR darkghost199@hotmail.com

RESUMO

O problema de caminho mínimo em grafos com parâmetros incertos é um dos mais estudados da programação matemática fuzzy, visto que possui aplicações nas mais diversas áreas (por exemplo: telecomunicações, transportes, manufaturas, etc), e que merece atenção. Porém, devido a dificuldade em se trabalhar com incertezas, os algoritmos existentes apresentam particularidades e problemas que necessitam ser estudados, tais como: encontram custos de caminhos mínimos sem um caminho existente associado; encontram um conjunto solução, sem dar maiores informações ao usuário para a escolha do caminho que melhor adapte ao seu problema; dentre outros. Neste trabalho são propostos dois algoritmos para contornar tais desvantagens, os quais são baseados nos algoritmos clássicos de Dijkstra e Ford-Moore-Bellman. As incertezas estão presentes nos custos dos arcos e são abordadas utilizando a teoria dos conjuntos fuzzy.

PALAVARAS CHAVE. Problema de caminho mínimo. Teoria dos conjuntos fuzzy. Teoria dos grafos.

ABSTRACT

The shortest path problem in graphs with uncertainty in its parameters is one of the most studied topics in fuzzy mathematical programming, as it has a wide range of applications in different areas (e.g. telecommunications, transportations, manufacturing, etc), and therefore warrants special attention. However, due to difficulty in working with uncertainties, the algorithms of literature present particularities and problems that need to be studied, problems such as: they can find costs without an existing path; they determine a fuzzy solution set, but they do not give any guidelines to help the decision-maker choose the best path; etc. In this paper we propose two algorithms to solve these disadvantages, which are based on classic algorithms Dijkstra and Ford-Moore-Bellman. The uncertainties are present in the costs of arcs and they are discussed using the fuzzy set theory.

KEYWORDS. Shortest path problem. Fuzzy set theory. Graphs theory.

(2)

1. Introdução

Na programação matemática a área de grafos com incertezas é uma das mais estudadas, pois grande quantidade de problemas pode ser representada na forma de grafos, tais como: caminho mínimo (Blue et al, 2002; Klein, 1991; Lin e Chern,1993; Okada e Soper, 2000; Hernandes e Takahashi, 2004; Okada, 2004; Hernandes et al, 2007; Hernandes et al, 2008; Keshavarz e Khorram, 2009); fluxo máximo (Chanas et al 1995; Hernandes et al, 2006); fluxo de custo mínimo (Kim e Roush, 1982; Shih e Lee, 1999; Takahashi, 2004; Forbeck et al, 2008); coloração de grafos (Muñoz et al, 2005; Hernandes, 2007); árvores geradoras (Almeida et al, 2005; Almeida et al, 2007), dentre outras.

Embora esta área (grafos com incertezas) tenha um vasto campo de aplicações na Computação e na Engenharia (por exemplo: redes de computadores, telecomunicações, transportes e manufaturas), os algoritmos existentes na literatura encontram algumas desvantagens (abordadas a seguir) que merecem atenção. Fato este, devido à dificuldade em se trabalhar com parâmetros incertos, sendo a teoria de conjuntos fuzzy (Zadeh 1965; 1968; 1978) uma ferramenta frequentemente utilizada na modelagem desses fatores.

Entre os problemas de grafos com incertezas o mais estudado é o de caminho mínimo fuzzy (PCM-fuzzy), cujo objetivo é encontrar o menor caminho de um nó origem s a outros nós t em uma rede direcionada com custos incertos, sendo o tema abordado neste trabalho.

Na literatura há diversos trabalhos de caminho mínimo fuzzy, donde se destacam: Dubois e Prade (1980), Klein (1991), Okada e Soper (2000), Blue et al (2002), Okada (2004), Chuang e Kung (2005), Nayeem e Pal (2005), Hernandes et al (2007) e Keshavarz e Khorram (2009). No primeiro trabalho (Dubois e Prade, 1980) é proposta a extensão dos algoritmos clássicos de Floyd e de Ford-Moore-Bellman, sendo verificado que ambos os algoritmos podem retornar custos de caminhos inexistentes. Em 1991, Klein contorna as dificuldades encontradas por Dubois e Prade com o uso de dominância de conjuntos fuzzy. O trabalho de Okada e Soper (2000) se destaca pela obtenção da solução final, composta por um conjunto de caminhos não-dominados, tal que cada elemento é um caminho com certo grau de pertinência de ser o mínimo. No trabalho de Blue et al (2002) é apresentado um algoritmo que determina um valor de corte para limitar o número de caminhos a serem analisados, em seguida é aplicada uma versão modificada do algoritmo clássico dos k-caminhos mínimos (Eppstein, 1994), sendo resolvido como um problema crisp. A interatividade entre caminhos fuzzy é estudada por Okada (2004), sendo proposto um algoritmo que utiliza a teoria de possibilidade, além de introduzir o conceito de grau de possibilidade de um arco pertencer a um caminho mínimo. Já Chuang e Kung (2005) propõem o conceito de grau de similaridade, cuja finalidade é verificar, por uma heurística proposta, a similaridade entre o comprimento mínimo encontrado e os comprimentos de todos os possíveis caminhos. No trabalho de Nayeem e Pal (2005) é proposto um algoritmo baseado no índice de aceitabilidade de Sengupta e Pal (2000), em que o usuário, de acordo com seu ponto de vista (otimista/pessimista), deve escolher o melhor caminho. Hernandes et al (2007) propõe um algoritmo, baseado no algoritmo clássico de Ford-Moore-Bellman, que trabalha com as incertezas até a obtenção da solução final, semelhante a Okada e Soper (2000), com a vantagem de ser aplicável em redes com parâmetros negativos. Keshavarz e Khorram (2009) propõem um algoritmo onde os custos dos arcos são intervalos fuzzy e utilizam o método max-min de Bellman e Zadeh (1970), tratando assim o problema como clássico.

Dentre os principais trabalhos de caminho mínimo fuzzy, os algoritmos de Okada e Soper (2000) e Hernandes et al (2007) são os mais abordados atualmente, pois são os primeiros que tratam as incertezas até a obtenção da solução final. Vale ressaltar que todos os trabalhos, deste tema, publicados após 2000 e 2007 abordam Okada e Soper e Hernandes et al, respectivamente.

Após análise dos trabalhos supracitados verifica-se que estes apresentam desvantagens que necessitam ser contornadas, tais como: o trabalho de Dubois e Prade (1980) encontra custos sem caminhos associados; os trabalhos de Klein (1991), Blue et al (2002) e Keshavarz e Khorram (2009) transformam, através de índices de “defuzzificação”, o problema incerto em um problema clássico, ocorrendo perda de informações. Os trabalhos mais recentes (Okada e Soper, 2000;

(3)

Okada, 2004; Chuang e Kung 2005; Nayeem e Pal, 2005) apresentam um conjunto solução de caminhos, sem apresentar ao usuário uma ordenação dos mesmos. O trabalho de Hernandes et al (2007) possui uma relação de ordem genérica, que pode ser adaptada a vários índices, porém não fornece ao usuário informações sobre qual utilizar.

Visando contornar as dificuldades e desvantagens supracitadas, neste trabalho são adaptados os algoritmos de Okada e Soper (2000) e Hernandes et al (2007), baseados nos algoritmos clássicos de Dijkstra e Ford-Moore-Bellman (Gondran e Minoux, 1984; Goldbarg e Luna, 2005), respectivamente. Os algoritmos propostos apresentam como solução final um conjunto ordenado de caminhos não-dominados. A ordenação é feita com o emprego da técnica da medida de possibilidade, utilizada por Okada (2004) e introduzida por Dubois e Prade (1980).

Este trabalho está organizado da seguinte forma: na Seção 2 estão alguns conceitos da teoria dos conjuntos fuzzy. A Seção 3 aborda o problema do caminho mínimo com incertezas, apresentando os algoritmos propostos. Na Seção 4 são apresentados os resultados computacionais. Conclusões e propostas futuras são discutidas na Seção 5.

2. Teoria dos Conjuntos Fuzzy

Incertezas, imprecisões e ambiguidades são fatores que nem sempre podem ser ignorados na resolução de problemas. Introduzida por Zadeh nas décadas de 1960 e 1970 (Zadeh 1965; 1968; 1978), a teoria de conjuntos fuzzy é uma ferramenta frequentemente utilizada na modelagem desses fatores. Além dos grafos, diversas outras áreas da Pesquisa Operacional (García e Lamata, 2005; Nezhad e Assadi, 2008; Malik e Moderson, 2001) e da Engenharia (problemas de controle (Shaw e Simões, 1999), reconhecimento de padrões (Bedzek, 1981)) utilizam esta técnica.

Nesta seção são apresentados alguns conceitos da teoria dos conjuntos fuzzy necessários para o entendimento dos algoritmos propostos.

2.1 Números Fuzzy

Definição 1. Um número fuzzy triangular, denotado por a~=

(

m1,δ ,β

)

, tem sua função de pertinência ℜ → [0,1], µa~(x), definida pela expressão:

tal que: Figura 1. Função de pertinência triangular (associada a ã) m1: valor modal (valor máximo da função de pertinência);

δ: espalhamento à esquerda; e

β: espalhamento à direita.

Notação: Os valores m1-δ e m1+β são denominados de limitante inferior e limitante superior, respectivamente.

Definição 2. Sejam a~ e b~ números fuzzy triangulares, ~a=

(

m1 ,δ1,β1

)

e

(

2 , 2, 2

)

~

β δ

m

b = , a

soma fuzzy é denotada por:

(

1, 1, 1

) (

2, 2, 2

) (

1 2, 1 2, 1 2

)

~

~ b = m δ β m δ β = m + m δ + δ β + β a

Definição 3. Um α -corte é um conjunto de elementos do universo para os quais os graus de pertinência são maiores ou iguais a α, denotado por

[ ] {

a~α = x|µ~a(x)≥ α

}

, tal que α ∈ [0,1].

x m1-δ m 1+β m1 µ

(

)

(

)

(

)

(

)

(

)

(

)

        + > + ≤ < − + ≤ ≤ − − − < − = β β β β δ δ δ δ µ 1 1 1 1 1 1 1 1 ~ se , 0 se , se , se , 0 ) ( m x m x m x m m x m m x m x x a

(4)

2.2 Defuzzificação

A “defuzzificação” é a conversão de números fuzzy em números clássicos. Na literatura há diversos índices de “defuzzificação”, entre os quais pode-se destacar o centro de área, a média dos máximos e a média dos centros, que podem ser encontrados em Pedrycz e Gomide (1998). 3. O Problema do Caminho Mínimo com Incertezas

O problema do caminho mínimo está associado a várias aplicações nas áreas de roteamento, manufatura, fluxo em redes, dentre outras. Sejam s (nó origem) e t (nó destino) dois vértices de um grafo G=(N,A), o caminho mínimo entre eles é uma sequência de arcos que, passando por nós distintos, une s a t de forma a acumular o menor peso (comprimento, distância)( Gondran e Minoux, 1984; Goldbarg e Luna, 2005).

Na teoria dos grafos clássica o peso (custo) de cada arco é um número real (crisp) e os algoritmos de Dijkstra e Ford-Moore-Bellman os mais utilizados da literatura (Goldbarg e Luna, 2005). Porém, em muitas aplicações reais estes parâmetros não são naturalmente precisos, muitas vezes, por falta de informação. Tem-se então o Problema de Caminho Mínimo Fuzzy (PCM-Fuzzy), formulado da seguinte forma:

) , ( 1, ou 0 se , 1 2 1 , se , 0 se , 1 ~ ) ( ~ min ) , ( A j i x t i ,..., n) , (i t s i s i x x x c x f ij j ji j ij A j i ij ij ∈ ∀ =      = − = ≠ = = − =

∈ (1)

tal que: c~ é o peso (custo, tempo etc) fixo do arco (i,j), sendo um número fuzzy triangular, e A o ij conjunto dos arcos da rede.

Considerando a importância dos algoritmos de Dijkstra e Ford-Moore-Bellman em problemas clássicos de caminho mínimo, além das diversas aplicações do problema de caminho mínimo fuzzy na Computação e na Engenharia, neste trabalho são propostos dois algoritmos, baseados em Okada e Soper (2000) e Hernandes et al (2007), com a finalidade de abordar o tema.

Os algoritmos propostos têm por objetivo trabalhar com as incertezas até a obtenção da solução final e apresentar um conjunto solução ordenado de caminhos não-dominados. Estes algoritmos possuem a vantagem de não utilizarem índices de “defuzzificação” para transformar o problema incerto em um clássico, gerando perdas de informações, e tampouco apresentarem ao usuário um conjunto solução não-ordenado, deixando a cargo do mesmo escolher “aleatoriamente” por um dos caminhos.

Nos algoritmos propostos as incertezas estão presentes nos custos, estes formulados como números fuzzy triangulares (Definição 1).

3.1. Algoritmo baseado em Okada e Soper (2000)

O algoritmo proposto por Okada e Soper (2000) foi desenvolvido com base no método das múltiplas etiquetas de Hansen (1980), obtendo todos os caminhos não-dominados de um nó s a um nó t. Resumidamente, o método de múltiplas etiquetas pode ser considerado como uma generalização do algoritmo de Dijkstra.

Okada e Soper consideram os comprimentos dos arcos como números fuzzy positivos e a solução do problema como um conjunto solução fuzzy. A eliminação de alguns caminhos é baseada no conceito de dominância de caminhos, definido da seguinte forma:

(5)

Definição 4. Sejam ~a=

(

m1 ,δ1,β1

)

e

(

2 , 2, 2

)

~

β δ

m

b = dois números fuzzy triangulares, então b

a~  ( a~ domina b~ ) se, e somente se, ~ m1≤ m2, m1− δ1≤ m2 − δ 2, m1 + β1≤ m2 + β 2 e a~≠ b~

.

Para efeitos de ilustração, o Exemplo 1 mostra como a definição de dominância é aplicada: Exemplo 1: Definição de dominância.

Dados três caminhos (p1, p2, p3) com custos (262, 61, 23), (234, 75 15) e (222, 62, 13), respectivamente.

Aplicando a relação de dominância (Definição 4), tem-se que somente os caminhos p2 e p3 são não-dominados, pois tanto o caminho p2 quanto o p3 dominam p1:

p 2 p1, pois: 234 < 262, 234-75 < 262-61 e 234+15 < 262+23;

p 3 p1, pois: 222 < 262, 222-62 < 262-61 e 222+13 < 262+23.

Já os caminhos p2 e p3 são não-dominados, pois não são dominados por nenhum dos outros

caminhos.

Vale ressaltar que para um caminho ser eliminado, basta ser dominado por pelo menos um dos outros restantes. □

Considerando que a relação de dominância pode apresentar mais de um caminho não-dominado entre dois nós, então cada caminho recebe um rótulo (etiqueta) para auxiliar na composição dos caminhos. Assim como em Okada e Soper (2000), no algoritmo proposto estas etiquetas são divididas em dois conjuntos, o conjunto das etiquetas temporárias e o das etiquetas permanentes. Enquanto uma temporária pode ser excluída ou mudada para uma etiqueta permanente, uma etiqueta permanente segue inalterada.

Para selecionar uma etiqueta temporária como uma permanente, no algoritmo de Dijkstra é escolhida aquela com a menor distância, no algoritmo de Okada e Soper é introduzida uma relação de ordem lexicográfica:

Definição 5. Um valor a~=

(

m1 ,δ1,β1

)

é lexicograficamente menor do que

(

2 , 2, 2

)

~

β δ

m

b = se

pelo menos uma das condições for satisfeita:

i) m1< m2;

ii) m1= m2 e m1− δ1< m2 − δ2; ou

iii) m1= m2, m1− δ1= m2 − δ2, m1+ β1< m2 + β 2.

O algoritmo proposto nesta seção é uma adaptação do algoritmo de Okada e Soper, tendo por objetivo encontrar os caminhos não-dominados entre o nó s (normalmente definido como o nó 1) e os demais. Porém, com o uso da medida de possibilidade, proposta por Dubois e Prade (1980) e utilizada por Okada (2004), a desvantagem de não possuir uma ordenação para caminhos não-dominados é contornada.

Definição 6. A medida de possibilidade de um número fuzzy a~ ser menor do que um número fuzzy b~ é definida como:

))] ( ), ( ( min sup[ ) ~ ~ (a b ~ u ~ v Poss a b v u≤ µ µ = ≤ , tal que: µ~a(u) e ~(v) b

µ são as funções de pertinência. Informações sobre o algoritmo:

N: conjunto dos nós; A: conjunto dos arcos;

T: conjunto dos caminhos temporários, sendo cada elemento (i,k) o caminho do nó s a i com a etiqueta k;

(6)

( )sj

d~ : custo do arco (s,j);

( )sj i

d~ : custo da i-ésima etiqueta do caminho entre os nós s e j; e

( )sj u( )sj

i d

d~  ~ : o custo do caminho entre os nós s e j dado pela etiqueta i domina o custo dado pela etiqueta u (Definição 4).

Algoritmo Adaptado 1 PASSO 0: Início.

i) Associe a etiqueta [d~i( )sj ,

( )

j,i] para o nó s, tal que d~←

(

0,0,0

)

.

ii) T

( )

s,1 , sendo s o nó destino do caminho (neste caso é o custo do caminho de s a s, que é nulo) e 1 o número da etiqueta.

iii) P← φ .

PASSO 1: Seleção das etiquetas.

i) Se T = φ , vá ao Passo 4. Caso contrário, entre todas as etiquetas temporárias deter-mine a lexicograficamente menor. Seja a

k

ésima

etiqueta associada ao nó.

ii) Descartar

( )

j, de i

T

e acrescentar ao conjunto

P

como segue: TT

{

( )

j,i

}

e

( )

{

j i

}

P

P← ∪ , .

PASSO 2: Análise de etiquetas e verificação de dominância. Para cada nó lN tal que

( )

m,lA, execute:

i) Determine a distância do caminho fuzzy como segue: di( )sl dk( )sm d( )ml ~ ~

~

← .

ii) Seja [d~i( )sj ,

( )

j,i] a iésima etiqueta do nó j. Atualize o conjunto

T

como segue:

( )

j i

T

T← ∪ , .

iii) A verificação da dominância entre todas as etiquetas do nó j é executada como se-gue: a. Para cada du( )sj ~ , tal que

( )

j,uTP, se du( )sj di( )sj ~ ~  (Definição 4) então delete a i-ésima etiqueta do nó j, descarte o correspondente (j,i) de T e pare o procedimento iii) neste passo.

b. Para cada du( )sj ~

, tal que

( )

j,uTP, se di( )sj du( )sj ~ ~

então delete a u-ésima etiqueta do nó j e descarte o correspondente (j,u) de T.

c. Caso contrário, não faça nada. PASSO 3: Retorne ao Passo 1.

PASSO 4: Ordenação dos caminhos não-dominados.

Se existir mais de um caminho não-dominado entre os nós s e t, faça:

i) Para cada caminho i, calcule:

ai ← min

(

Poss(a~ia~j), j= 1,....,k, ji

)

, sendo k: n° de caminhos entre s e t.

ii) Para i=1,...,k, ordene os caminhos em ordem decrescente de a .i PASSO 5: Composição dos caminhos não-dominados.

Apresente os caminhos não-dominados entre os nós s e

t

. PASSO 6: FIM.

(7)

Seja Vj o número de etiquetas permanentes do nó j e Vmax = max{V1,V2,...,Vn}, sendo n o número de nós do grafo. No Passo 2 são efetuadas no máximo nVmax somas para calcular o custo e

nV2

max comparações para dominância, possuindo portanto complexidade O(nV2max)=O(nVmax

+nV2

max). Considerando que o algoritmo proposto é uma adaptação de Dijkstra, cuja complexidade é O(n2), e que os demais passos não possuem complexidade maior que o Passo 2, tem-se que a complexidade do algoritmo proposto é limitada por O(n2(nV2

max))=O(n3V2max). 3.2. Algoritmo baseado em Hernandes et al (2007)

O algoritmo de caminho mínimo com incertezas proposto por Hernandes et al (2007), baseado no algoritmo de Ford-Moore-Bellman, é destacado como um dos principais trabalhos da literatura, haja vista que pode ser aplicado em redes com parâmetros quaisquer, inclusive negativo, inédito na literatura.

Assim como o algoritmo proposto na seção anterior, o algoritmo de Hernandes et al (2007) também trabalha com as etiquetas nos caminhos e utiliza a relação de ordem proposta por Okada e Soper (vide Definição 4).

Com o mesmo objetivo do Algoritmo 1, este segundo tem por meta adaptar o algoritmo de Hernandes et al (2007) de forma a apresentar ao usuário um conjunto solução ordenado.

Informações sobre o algoritmo: N: conjunto dos nós;

it: contador de iterações;

(

m+ β

)

i: espalhamento à direita (m+β) do custo do arco (i,j) (limitante superior); :

~ ji

c custo do arco (j,i); :

~

) , (itik

c custo do caminho entre o nó s e o i com a etiqueta k na iteração it; M: número grande substituir o infinito; e

:

1 −

Γi conjunto dos nós predecessores de i. Algoritmo Adaptado 2 PASSO 0: Início. i) ~0 (0 ,0 ,0) ) 1 , (sc . ii) ~0 ( 2 ,1 ,1), 12 ,3,..., e ; ) 1 , ( M j n j s c j ← + = ≠ tal que: r: número de nós;

(

)

= + = A i i m M 1 β ; e • A: conjunto dos arcos.

iii) it← 1.

PASSO 1: Construção dos caminhos, seleção das etiquetas e verificação da dominância.

i) ~(it,1) ← (0 ,0 ,0) s c . ii) j 1, i 1 ,2 ,3,...,n, i = Γ ∈ ∀ − faça: ji it k j it k i c c c ~ ~ ~ 1 ) 2 , ( ) 1 ,

( ← − ⊕ (construção dos custos dos caminhos)

iii) Verificação da dominância entre as etiquetas. Para todas as etiquetas do nó i faça: • se c~( ,1) c~(it , 2) elimineak1 ésimaetiqueta;

k i it

k

i ℏ ⇒ −

• se c~( ,1) c~(it , 2) elimineak2 ésimaetiqueta. k

i it

k

(8)

PASSO 2: Critério de parada. i) Se

(

~ ~ 1 ,

)

) 1 , ( ) 1 , ( c i N c it k i it k i = − ∀ ∈ ou (it=n) faça:se it = n e ~ ≠ ~ −1 , ∀ ∈ ⇒ ) 1 , ( ) 1 , ( c i N c it k i it k

i Passo 5 (circuito negativo)

• senão ⇒ Passo 3

ii) Senão: itit+ 1⇒ volte ao Passo 1. PASSO 3: Ordenação dos caminhos não-dominados.

Se existir mais de um caminho não-dominado entre os nós s e t, faça:

i) Para cada caminho i, calcule:

ai ← min

(

Poss(a~ia~j), j= 1,....,k, ji

)

, sendo k: n° de caminhos entre s e t.

ii) Para i=1,...,k, ordene os caminhos em ordem decrescente de a .i PASSO 4: Composição dos caminhos não-dominados.

Encontre os caminhos não-dominados entre os nós s e t. PASSO 5: FIM.

No Passo 1 do algoritmo anterior são efetuadas no máximo nVmax somas para calcular o custo de cada caminho, sendo n o número de nós da rede e Vmax omáximo entre {V1,V2,...,Vn}, tal que Vj o número de etiquetas do nó j. Também tem-se no máximo nV2

max comparações para a dominância. No Passo 3 o número de comparações é definido em função do número de caminhos, sendo uma constante. Logo para cada iteração tem-se uma complexidade O(nV2

max)=O(nVmax + nV2max). Dado que o algoritmo executa o máximo de n-1 iterações, a complexidade se torna O(n2V2

max).

3.3. Comparações entre os algoritmos propostos

Analisando as complexidades dos algoritmos adaptados, embora não seja o foco deste trabalho, verifica-se que o segundo possui desempenho melhor. Porém, optou-se pela adaptação e implementação dos dois porque o primeiro é baseado no algoritmo de Dijkstra, um dos algoritmos clássicos e mais utilizado da teoria dos grafos.

Vale destacar que o algoritmo de Okada e Soper (2000) foi o primeiro trabalho da literatura que não utilizou índices de “defuzzificação” para transformar o problema incerto em um clássico, apresentando a definição da relação de ordem (Definição 4) para comparar os caminhos encontrados. Ressalta-se que, até o presente momento, não se tem conhecimento na literatura de outro índice de comparação tão eficiente quanto este.

Já o trabalho de Hernandes et al (2007), além de possuir a vantagem da complexidade computacional, é aplicável em redes com parâmetros negativos, o que é bastante significativo. 4. Resultados Computacionais

Para efeitos de ilustração, os algoritmos propostos foram executados na rede da Subseção 4.1, uma rede com todos os custos dos arcos positivos, além do Algoritmo 2 ser executado em uma rede com arcos com custos negativos (Subseção 4.2).

(9)

Figura 2. Rede exemplo executada pelos dois algoritmos. Na Tabela 1 encontram-se os dados referentes à rede da Figura 2.

Arcos Custos Arcos Custos

1 (45 12 5) 6 (55 12 5)

2 (57 15 4) 7 (110 35 4)

3 (52 2 9) 8 (40 8 6)

4 (79 28 6) 9 (92 4 42)

5 (58 2 14)

Tabela 1. Custos dos arcos da rede da Figura 2.

Considerando que os dois algoritmos têm por objetivo encontrar um conjunto solução ordena-do de caminhos não-ordena-dominaordena-dos entre os nós 1 (s) e 6 (t), os mesmos foram executaordena-dos na rede da Figura 2, obtendo os seguintes caminhos não-dominados:

Caminho 1 (p1): 1 → 2 → 4 → 6 com custo ~a = (234, 75, 15)1

Caminho 2 (p2): 1 → 3 → 4 → 6 com custo ~a =(222, 62, 13)2

Caminho 3 (p3): 1 → 2 → 5 → 6 com custo ~a = (195, 18, 61)3

Aplicando os passos de ordenação dos algoritmos propostos, Passos 4 e 3 respectivamente, os caminhos ficaram ordenados da forma: Caminho 3, Caminho 2, Caminho 1. As ordenações foram obtidas da seguinte maneira:

a1 = min{Poss(a~1≤ a~2), Poss(~a1≤ a~3)} = min{0.8636,0.7132} = 0.7132

a2 = min{Poss(~a2 ≤ a~1), Poss(a~2 ≤ ~a3)} = min{1, 0.7805} = 0.7805

a3 = min{Poss(~a3 ≤ a~1), Poss(a~3 ≤ a~2)} = min{1,1} = 1

Para efeitos de comparação, foi aplicado o primeiro índice de “defuzzificação” de Yager (Ya-ger, 1981) – centro de massas – e aplicado aos algoritmos clássicos de Dijkstra e Ford-Moore-Bellman, obtendo o seguinte caminho:

 1 → 3 → 4 → 6 com custo 205,667.

Analisando os resultados dos algoritmos fuzzy e clássicos, percebe-se que o caminho obtido pelos clássicos está entre um dos caminhos não-dominados encontrados pelos algoritmos propos-tos. Porém, vale destacar que o resultado clássico não é o que possui o menor valor modal dentre os não-dominados, fato este gerado por perdas quando se utiliza índices de “defuzzificação”. 4.2. Exemplo 3 - Rede com custos positivos e negativos

Figura 3. Rede com arco de custo negativo Na Tabela 2 encontram-se os dados referentes à rede da Figura 3.

Arcos Custos Arcos Custos

1 (2 1 1) 6 (9 1 1)

2 (7 2 2) 7 (13 2 1)

3 (4 3 5) 8 (-8 1 1)

4 (11 1 1) 9 (9 1 1)

5 (6 1 1)

(10)

Levando em consideração que o Algoritmo Proposto 1, adaptação do algoritmo de Okada e Soper (2000), não trabalha com redes que possuem custos negativos, este exemplo foi executado somente no Algoritmo Proposto 2.

Considerando o nó 1 como sendo o origem (s) e os demais o destino (t), os caminhos não-do-minados obtidos foram:

Destino Não-dominadoCaminho Custo do caminho DestinoNó Não-dominadoCaminho Custo do caminho

2 1→2 (2 1 1) 5 p1 1→2→4→5 (5 3 3)

3 p1 1→3 (7 2 2) p2 1→2→3→4→5 (7 6 8)

p2 1→2→3 (6 4 6) 6 p1 1→2→4→5→6 (14 4 4)

4 p1 1→2→4 (13 2 2) p2 1→2→3→4→5→6 (16 7 9)

p2 1→2→3→4 (15 5 7)

Tabela 3. Resultados da rede da Figura 3

Analisando os resultados da Tabela 3, percebe-se que para a maioria dos nós houve mais de um caminho não-dominado. Aplicando a relação de ordem do Algoritmo 2, os caminhos ficaram ordenados da seguinte forma:

nó 3: Poss(p1≤ p2) = 0.875 e Poss(p2 ≤ p1) = 1 ⇒ ordem: p2, p1.

nó 4: Poss(p1 ≤ p2) = 1 e Poss(p2 ≤ p1) = 0.7143 ⇒ ordem: p1, p2.

nó 5: Poss(p1 ≤ p2) = 1 e Poss(p2 ≤ p1) = 0.777 ⇒ ordem: p1, p2.

nó 6: Poss(p1 ≤ p2) = 1 e Poss(p2 ≤ p1) = 0.82 ⇒ ordem: p1, p2.

Assim como no exemplo anterior, para efeitos de comparação, foi aplicado o primeiro índice de “defuzzificação” de Yager (1981) nos custos dos arcos. Executando o algoritmo de Ford-Moo-re-Bellman, os caminhos encontrados entre os nós 1 e t foram:

 nó 3: 1→2→3 com custo 6.667

 nó 4: 1→2→4 com custo 13

 nó 5: 1→2→4→5 com custo 25.667

 nó 6: 1→2→4→5→6 com custo 26.667.

Analisando os resultados verifica-se que os obtidos pelo algoritmo clássico de Ford-Moore-Bellman fazem parte dos caminhos não-dominados do Algoritmo Proposto 2.

5. Conclusões e Trabalhos Futuros

Na programação matemática fuzzy, devido ao grande número de aplicações, o problema do caminho mínimo com incertezas é um dos tópicos mais estudados e que merece atenção.

Neste artigo foram adaptados dois algoritmos, baseados em Okada e Soper (2000) e Hernandes et al (2007). Estes contornam algumas dificuldades encontradas nos principais trabalhos da literatura, pois trabalham com as incertezas até a obtenção da solução final, não ocorrendo perdas em processos de “defuzzificação”, além de apresentarem um conjunto solução ordenado de caminhos não-dominados.

Até o momento não se tem conhecimento de trabalhos da literatura que utilizam a medida de possibilidade como uma relação de ordem, embora seja um conceito bastante difundido e utilizado. Destaca-se que a maioria dos trabalhos recentemente publicados continua utilizando índices de “defuzzificação” para abordar o problema como clássico.

Como trabalho futuro propõe-se o estudo dos algoritmos propostos utilizando outros critérios de ordenação; aplicá-los em outros problemas, tais como: problema de fluxo de custo mínimo fuzzy; além de abordar os parâmetros da rede utilizando números fuzzy trapezoidais.

(11)

Almeida, T. A., Prado, F., Souza, V., Yamakami, A. e Takahashi, M. T. (2005), A Genetic Algorithm to solve the Mininum Spanning Tree Problem with Fuzzy Parameters using Possibility Measure, Anais do NAFIPS 2005 - North American Fuzzy Information Processing Society: Soft Computing for Real World Application, 627-632.

Almeida, T. A., Yamakami, A. e Takahashi, M. T. (2007), Sistema Imunológico Artificial para Resolver o Problema da Árvore Geradora Mínima com Parâmetros Fuzzy, Pesquisa Operacional, 27, 131-154.

Bellman, R. E. e Zadeh, L. (1970). Decision Making in a Fuzzy Environment. Manag. Science, 17.

Bezdek, J, Pattern Recognition with Fuzzy Objective Function Algorithms, Plenum Press, 1981. Blue, M., Bush, B. e Puckett, J. (2002), Unified Approach to Fuzzy Graph Problems, Fuzzy Sets and Systems, 125, 355–368.

Chanas, S., Delgado, M., Verdegay, J.L. e Vila, M. (1995), Fuzzy Optimal Flow on Imprecise Structures, European Journal of Operational Research,83, 3, 568-580.

Chuang, T. e Kung, J. (2005), The Fuzzy Shortest Path Length and the Corresponding Shortest Path in a Network, Computers and Operations Research, 32, 1409-1428.

Dubois, D. e Prade, H. Fuzzy Sets and Systems: Theory and Applications, Academic Press, New York, 1980.

Eppstein, D. (1994), Finding the K-Shortet Paths, Anais do IEEE Symposium on Foundations of Computer Science, 154–165.

Forbeck, F. R., Katayama, J. P. M. K. e Hernandes, F. (2008), Um Algoritmo Baseado no Método Simplex para Redes Aplicado no Problema de Fluxo de Custo Mínimo com Incertezas. Hífen (Uruguaiana), 32, 59-66.

García, M. S. e Lamata, M. T. (2005), The Fuzzy Sets in Maintenance Process, Anais do European Society for Fuzzy Logic and Technology, 118–123.

Goldbarg, M. C. e Luna, H. P. L. Otimização Combinatória e Programação Linear, Editora Campus, Rio de Janeiro, 2005.

Gondran, M. e Minoux, M. Graphs and algorithms. John Wiley e Sons, New York, 1984. Hansen, P., Bicriterion path problems, em: Beckmann, M. e Kunzi, H. P.(Eds.), Multiple Criteria Decision Making: Theory and Applications, Lecture Note in Economics and in Mathematical Systems, Springer, Berlin, 177, 109-127, 1980.

Hernandes, F. (2007), O Problema de Coloração de Grafos Fuzzy. Anais do XXXIX Simpósio Brasileiro de Pesquisa Operacional.

Hernandes, F., Lamata, Verdegay, J. L. e Yamakami, A. (2007), The Shortest Path Problem on Networks with Fuzzy Parameters, Fuzzy Sets and Systems, 158, 1561-1570.

Hernandes, F., Lamata, M. T., Verdegay, J. L. e Yamakami, A., An Algorithm for the Shortest Path Problem on a Network with Fuzzy Parameters Applied to a Tourist Problem, em Bello, R., Falcón, R., Pedrycz, W. e Kacprzyk, J. (Eds,), Granular Computing: At the Junction of Rough Sets and Fuzzy Sets, Springer-Verlag Berlin Heidelberg, New York, 224, 307-320, 2008. Hernandes, F. e Takahashi, M. (2004), Adaptação de um Algoritmo de Caminho Mínimo em Grafos com Custo nos Arcos e Restrições de Tempo Fuzzy. Anais do XXXVI Simpósio Brasileiro de Pesquisa Operacional.

Hernandes, F., Yamakami, A., Takahashi, M. T. e Verdegay, J. L. (2006), Um Algoritmo para o Problema de Fluxo Máximo em Redes com Incertezas. Anais do XXXVIII Simpósio Brasileiro de Pesquisa Operacional, 2272-2283.

(12)

Keshavarz, E. e Khorram, E. (2009), A Fuzzy Shortest Path With the Highest Reliability, Journal of Computational and Applied Mathematics, 230, 204-212.

Kim, K. e Roush, F. (1982), Fuzzy Flows on Networks, Fuzzy Sets and Systems, 8, 35-38. Klein, C. M. (1991), Fuzzy Shortest Paths, Fuzzy Sets and Systems, 39, 27-41.

Lin, C. e Chern, M. S. (1993), The Fuzzy Shortest Path Problem and its Most Vital Arcs, Fuzzy Sets and Systems, 58, 343-353.

Malik, D. e Moderson, J. N., Fuzzy Discrete Structures, Physica-Verlag, New-York, 2001. Muñoz, S., Ortuño, M. T., Ramírez, J. e Yáñez, J. (2005), Coloring Fuzzy Graphs, Omega, 33, 211–221.

Nayeem, S. M. A. e Pal, M. (2005), Shortest Path Problem on a Network with Imprecise Edge Weight, Fuzzy Optimization and Decision Making, 4, 293–312.

Nezhad, S.S. e Assadi, R. G. (2008), Preference Ratio-Based Maximum Operator Approxima-tion and its ApplicaApproxima-tion in Fuzzy Flow Shop Scheduling, Applied Soft Computing, 8, 759–766. Okada, S. (2004), Fuzzy Shortest Path Problems Incorporating Interactivity Among Paths. Fuzzy Sets and Systems, 142, 335-357.

Okada, S. e Soper, T. (2000), A Shortest Path Problem on a Network with Fuzzy Arc Lengths. Fuzzy Sets and Systems, 109, 129-140.

Pedrycz, W. e Gomide, F., An Introduction to Fuzzy Sets: Analysis and Design, London: MIT Press, 1998.

Sengupta, A. e Pal, T.K. (2000), On Comparing Interval Numbers, European Journal of Operational Research, 127, 28-43.

Shaw, I. S. e Simões, M. G., Controle e Modelagem Fuzzy, Edgar-Blucher/Fapesp, São Paulo, 1999.

Shih, H-S. e Lee, E. S., (1999), Fuzzy Multi-Level Minimum Cost Flow Problems, Fuzzy Sets and Systems, 107, 159-176.

Takahashi, M.T., Contribuições ao Estudo de Grafos Fuzzy: Teoria e Algoritmos, Tese de doutorado, Faculdade de Engenharia Elétrica e de Computação, Universidade Estadual de Campinas, 2004.

Yager, R. R., (1981). A Procedure for Ordering Fuzzy Subsets of the Unit Interval. Information Sciences, 24, 143-161.

Zadeh, L. (1965). Fuzzy Sets, Information and Control, 8, 338-353. Zadeh, L. (1968), Fuzzy Algorithms, Information and Control, 12.

Referências

Documentos relacionados

Resultados obtidos nos levantamentos efetuados apontam para a possibilidade de se complementar a metodologia para avaliação de pavimentos atualmente disponível no Brasil através do

Os estudos iniciais em escala de bancada foram realizados com um minério de ferro de baixo teor e mostraram que é possível obter um concentrado com 66% Fe e uma

O sistema gerencia os dispositivos (pneumáticos, eletrônico-digitais e atuadores de força e posição) incorporados ao equipamento, permitindo ao usuário o acompanhamento, em tempo

Tendo como parâmetros para análise dos dados, a comparação entre monta natural (MN) e inseminação artificial (IA) em relação ao número de concepções e

Quando contratados, conforme valores dispostos no Anexo I, converter dados para uso pelos aplicativos, instalar os aplicativos objeto deste contrato, treinar os servidores

Quadro 5-8 – Custo incremental em função da energia em períodos de ponta (troços comuns) ...50 Quadro 5-9 – Custo incremental em função da energia ...52 Quadro 5-10

Dada a plausibilidade prima facie da Prioridade do Conhecimento Definicional, parece que não se poderia reconhecer instâncias de F- dade ou fatos essenciais acerca

Corporate Control and Policies Page 12 UNIVERSIDAD DE PIURA UNIVERSIDAD DEL PACÍFICO UNIVERSIDAD ESAN UNIVERSIDAD NACIONAL AGRARIA LA MOLINA UNIVERSIDAD NACIONAL