• Nenhum resultado encontrado

UM PROBLEMA DE CAMINHO TRI-OBJETIVO

N/A
N/A
Protected

Academic year: 2021

Share "UM PROBLEMA DE CAMINHO TRI-OBJETIVO"

Copied!
11
0
0

Texto

(1)

UM PROBLEMA DE CAMINHO TRI-OBJETIVO

Leizer de Lima Pinto

PESC / COPPE / UFRJ

Cidade Universitária, Rio de Janeiro, RJ, Brasil leizer@cos.ufrj.br

Cláudio Thomás Bornstein

PESC / COPPE / UFRJ

Cidade Universitária, Rio de Janeiro, RJ, Brasil ctbornst@cos.ufrj.br

Nelson Maculan Filho

PESC / COPPE / UFRJ

Cidade Universitária, Rio de Janeiro, RJ, Brasil maculan@cos.ufrj.br

RESUMO

O foco deste artigo é o problema de caminho tri-objetivo onde duas das funções objetivo são do tipo gargalo, por exemplo, MinMax ou MaxMin. A terceira função objetivo pode ser, por exemplo, MinSum ou MaxProd. Um algoritmo reverso para o problema é apresentado. Um exemplo de uma aplicação em redes de sensores, um exemplo do funcionamento do algoritmo, provas de otimalidade e resultados computacionais para um conjunto de problemas gerados aleatoriamente também são dados.

PALAVRAS CHAVE. Problema de caminho multi-critério. Conjunto mínimo completo de soluções Pareto-ótimas. Algoritmos polinomiais.

MC – Multicritério.

ABSTRACT

This paper examines the tricriterion shortest path problem where two objective functions are of the bottleneck type, for example MinMax or MaxMin. The third objective function may be, for example, MinSum or MaxProd. A reverse algorithm is formulated for this problem. An example of an application for sensor networks is given as well as an example of the operation of the algorithm. Optimality proofs and computational experience for a set of randomly generated problems are presented.

KEYWORDS. Multicriteria shortest path problem. Minimal complete set of Pareto-optimal solutions. Polynomial algorithms.

(2)

1. Introdução

Tradicionalmente, o problema de caminho mínimo considera apenas uma função objetivo e consiste em minimizar a soma (MinSum) dos pesos dos arcos do caminho. Para pesos não negativos este problema pode ser resolvido, por exemplo, pelo algoritmo de Dijkstra, e para o caso geral por algum algoritmo de atualização de distâncias (ver Ahuja et al. (1993)). Gondran & Minoux (1986) generalizam esses resultados considerando várias outras funções como MaxSum, MaxProd e MaxMin. Extensões para MinProd, MinMax, MinMin e MaxMax também são possíveis. Um software gratuito e didático para a resolução destes problemas mono-objetivo citados acima está disponível em Pinto & Bornstein (2006a) e é suportado por Pinto & Bornstein (2006b).

Muitos problemas de caminho mínimo consideram mais de uma função objetivo, ou seja, são de natureza multi-objetivo. Para estes problemas objetiva-se, normalmente, determinar um conjunto mínimo completo de soluções não dominadas (Pareto-ótimas). Este problema de caminho mínimo multi-objetivo é NP-completo quando contém mais de uma função objetivo MinSum (ver Serafini(1987)) e é examinado em Martins (1984a), Current & Marsh (1993), Guerriero & Musmanno (2001) e Gandibleux et al. (2006). Uma revisão da literatura de programação multi-objetivo em otimização combinatória é apresentado em Ehrgott & Gandibleux (2000).

Explorando a estrutura das funções gargalo, que na literatura são consideradas as funções MinMax e MaxMin, Hansen (1980), Martins (1984b) e Berman et al (1990) apresentam algoritmos polinomiais para a obtenção de um conjunto mínimo completo de soluções Pareto-ótimas para o problema de caminho bi-objetivo MinMax-MinSum. Nestes trabalhos acima não são dadas provas de otimalidade para os algoritmos.

Aqui estamos interessados no problema de caminho tri-objetivo MaxMin-MinMax-MinSum. Um algoritmo polinomial para a obtenção de um conjunto mínimo completo de soluções Pareto-ótimas para este problema é apresentado. Consideramos três diferentes pesos

( )

i

j

p

1

,

,

p

2

( )

i

,

j

e

p

3

( )

i

,

j

para cada arco

( )

i

,

j

, que estão associados aos três objetivos. O

algoritmo ordena os pesos dos arcos gerando grafos parciais de forma a eliminar, sucessivamente, arcos que não satisfazem limites inferiores/superiores para

p

1

( )

i

,

j

e

p

2

( )

i

,

j

. Para cada grafo

parcial o algoritmo tenta encontrar uma solução MinSum considerando os pesos

p

3

( )

i

,

j

. Para

este problema, em Pinto et al (2007) é apresentado um algoritmo chamado MMS. No algoritmo

MMS ao invés de excluir inserimos arcos ao longo das iterações. A vantagem do presente

algoritmo, que vamos chamar de MMS-R, com relação ao MMS é que, para alguns casos, o número de iterações pode ser bem menor. Se em uma determinada iteração identificamos a não existência de caminhos, então como o processo consiste em excluir arcos, temos a garantia de que nas iterações seguintes também não existem caminhos. Desta forma não é necessário executar tais iterações. Existem problemas em que o número de iterações executadas pelo MMS é

2

m

, enquanto que no MMS-R é apenas 1. A quantidade de iterações requeridas pelo MMS-R é

obviamente sempre menor ou igual a do MMS, porque o MMS executa sempre o número máximo de iterações possíveis. Além disso, considerando o pior caso para cada algoritmo, o número de operações em uma certa iteração do MMS é maior do que o número de operações da iteração correspondente no MMS-R.

Na seção 2 é apresentado o problema de caminho tri-objetivo MaxMin-MinMax-MinSum, seguido de algumas definições e uma aplicação envolvendo redes de sensores. Na seção 3 é apresentado um algoritmo para o problema, seguido de um exemplo que ilustra o seu funcionamento e provas de otimalidade, ou seja, que o algoritmo gera um conjunto mínimo completo de soluções Pareto-ótimas. Na seção 4 são apresentados resultados computacionais obtidos da comparação entre implementações dos algoritmos MMS e MMS-R. Finalizamos o trabalho com considerações finais.

(3)

2. O Problema

Seja

G =

(

N

,

M

)

um grafo onde N é o conjunto de nós e M é o conjunto de arcos, com

n

|N| = e |M| = m. Funções reais

p

1

( )

i

,

j

,

p

2

( )

i

,

j

e

p

3

( )

i

,

j

são associadas a cada arco

( )

i,

j

M

. Sejam

m

1 e

m

2 a quantidade de valores distintos assumidos por

p

1 e

p

2

respectivamente. Sem perda de generalidade, vamos supor que os

m

1 valores 1 1

2 1 1,p , ,pm1 p K e os

m

2 valores 2 2 2 2 1,p , ,pm2

p K estão em ordem crescente e decrescente respectivamente, isto é,

1 1 2 1 1 p pm1 p < <L< e 2 2 2 2 1 p pm2 p > >L> . Considere

{

( )

1

( )

1 e 2

( )

2

}

g r rg i, j M | p i, j p p i, j p M = ∈ ≥ ≤ e seja Grg =

(

N,Mrg

)

um grafo parcial de G. Observe que MrgMr'g' para r' ≤r e g' ≤g. É fácil ver que

M M11 = .

Um caminho em G de s ∈N a t ∈N é um conjunto ordenado Pst

=

{

s,i1,i2,K,ih,t

}

onde N i i1,K, h

.

{

}

1 2 1, , , +

=

h st a a a AP K onde

a

(

s

i

)

a

(

i

,i

)

a

(

i

t

)

M

h h

=

=

=

,

1

,

2 1 2

,...,

+1

,

1 é o

conjunto de arcos do caminho acima. Seja st

G

S o conjunto de todos os caminhos de s a t em G.

Neste trabalho estamos interessados no seguinte problema tri-objetivo de otimização em grafos:

( )

{

( )

}

( )

{

}

( )

. S P ujeito a: s i,j p inimizar m i,j p max inimizar m i,j p min maximizar P st G st AP (i,j) AP (i,j) AP (i,j) st st st

∈ ∈ ∈ 3 2 1

Em uma rede de sensores, por exemplo,

p

1

( )

i

,

j

pode representar a quantidade de carga de

bateria disponível no nó i,

p

2

( )

i

,

j

o tempo médio de espera em i (tempo que decorre entre a

chegada e a saída da informação no nó; o tempo médio de espera da uma medida de congestionamento no nó) e

p

3

( )

i

,

j

o custo gasto na transmissão de i para j. Uma companhia de

comunicação pode estar interessada em encontrar um rota de s a t que, simultaneamente, maximize a carga mínima das baterias disponíveis e minimize o tempo máximo de espera e o custo total. Observe que temos

p

1

( )

i

,

j

=

p

1

( )

i

,

l

e

p

2

( )

i

,

j

=

p

2

( )

i

,

l

para quaisquer j e l

sucessores de i, logo para este caso particular temos

m

1

,

m

2

n

.

Considerando o problema

( )

P

, dizemos que

(

)

3

3 2

1

=

q , q , q

qPst Pst Pst Pst é o vetor

objetivo associado ao caminho Pst, onde q

{

p

( )

i,j

}

st st AP (i,j) P 1 1

=

min , q

{

p

( )

i,j

}

st st AP (i,j) P 2 2

=

max e

( )

=

st st AP (i,j) P

i,j

p

q

3

3 . Um caminho Pst domina outro caminho Pst se

st st P P q q11 , qPst qPst 2 2 ≤ e st st P P

q

q

3

3 com pelo menos uma destas desigualdades sendo atendida estritamente. Um caminho

st

P é uma solução Pareto-ótima quando não existe outro caminho Pst que domina Pst. Um

conjunto de soluções Pareto-ótimas distintas C* é um conjunto mínimo completo quando

" ' st st P P q q ≠ , P',P" C* st st

e para qualquer solução Pareto-ótima Pst existe P C*

st

tal que

st st P

P

q

q

=

. O conjunto de todas as soluções Pareto-ótimas é denominado de conjunto máximo

(4)

3. O Algoritmo MMS-R

Apresentaremos agora o algoritmo MMS-R para a obtenção de um conjunto mínimo completo de soluções Pareto-ótimas para o problema

( )

P

. Em cada iteração i j do MMS-R, onde

1

,

,

1

m

i

=

K

e 2

,

,

1

m

j

=

K

, tentamos determinar um caminho de s a t no grafo

ij

G . Caso não

exista caminho fazemos Cij

=

e Qij

=

, onde C

=

( )

Cij e Q

=

( )

Qij são matrizes de

dimensão

m ×

1

m

2. Caso exista caminho fazemos ij

st ij

P

C =

e Pstij ij q Q = 3 , onde ij st P é o caminho

determinado pelo algoritmo. Para determinar estes caminho utilizamos AlgS, que é algum algoritmo para a resolução do problema de caminho mínimo, considerando s o nó origem e t o nó destino. A variável ctrl que aparece em MMS-R é utilizada para evitar a execução de iterações para as quais não existe caminho de s a t. Segue-se o algoritmo:

1. Dados: G =(N,M),

s ∈

N

e

t ∈

N

2. Faça: Cij :=∅ e Qij :=∞ para

i

=

1

,

2

,

K

,

m

1 e 2

,

,

2

,

1

m

j

=

K

, 2

: m

ctrl =

e i:=1 3. Enquanto

i ≤

m

1 e ctrl≠0 faça 3.1. j:=1 3.2. Enquanto j ≤ctrl faça

3.2.1. Aplique AlgS em Gij considerando a função

p

3 3.2.2. Se não existe caminho de s a t em Gij então

1 := j

ctrl

3.2.3. Senão, seja Pstij o caminho obtido por AlgS ij st ij

P

C

:

=

e Pstij ij q Q := 3 Se j>1 e Qij =Qij1 então ∅ = −1: ij C e Qij1:=∞ Se i>1 e Qij =Qi1j então ∅ = −1 j : i C e Qi1 j :=∞ 1 := j+ j 3.3. Fim Enquanto j 3.4. i:= i+1 4. Fim Enquanto i

É fácil ver que o número máximo de iterações é 2

2 1

m

m

m

e que a complexidade de cada

iteração no pior caso é p(n), onde p(n) é a complexidade de AlgS. Portanto, MMS-R é

(

m

2

p

(

n

)

)

O

. Por exemplo, para o caso em que os pesos

p

3 são não negativos podemos

considerar AlgS como sendo o algoritmo

O

( )

n

2 de Dijkstra (1959). Para este caso temos um

algoritmo

O

(

m

2

n

2

)

para MMS-R.

Segue-se um exemplo da aplicação do algoritmo MMS-R. Para isso considere o grafo da Figura 1 a seguir, com s=1 e t=5.

(5)

Iteração i=1 e j=1:

M

=

{

( )

i, j

M

|

p

1

( )

i, j

2

e

p

2

( )

i, j

7

}

=

M

11 ,

G =

11

G

,

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 5 , 3 , 4 , 1 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 4 Q . Iteração i=1 e j=2:

{

( )

1

( )

2

e

2

( )

6

}

12

=

i, j

M

|

p

i, j

p

i, j

M

, Figura 2. Grafo G12.

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 5 , 2 , 1 5 , 3 , 4 , 1 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 6 4 Q . Iteração i=1 e j=3:

{

( )

1

( )

2e 2

( )

5

}

13 = i, jM | p i, j p i, jM , Figura 3. Grafo G13. 4 | 4 | 2 3 | 1 | 1 2 | 2 | 3 5 | 3 | 2 4 4 | 5 | 9 3 1 2 5 4 | 4 | 2 3 | 1 | 1 2 | 2 | 3 5 | 3 | 2 3 | 6 | 3 4 4 | 5 | 9 3 1 2 5 4 | 4 | 2 3 | 1 | 1 2 | 2 | 3 5 | 3 | 2 3 | 6 | 3 5 | 7 | 1 4 4 | 5 | 9 3 1 2 5

(6)

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 5 , 3 , 1 5 , 2 , 1 5 , 3 , 4 , 1 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 10 6 4 Q . Iteração i=1 e j=4:

{

( )

1

( )

2

e

2

( )

4

}

14

=

i, j

M

|

p

i, j

p

i, j

M

, Figura 4. Grafo G14.

ctrl

= 3

. Iteração i=2 e j=1:

{

( )

1

( )

3

e

2

( )

7

}

21

=

i, j

M

|

p

i, j

p

i, j

M

, Figura 5. Grafo G21.

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 1,4,3,5 5 , 3 , 1 5 , 2 , 1 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 4 10 6 Q . Iteração i=2 e j=2:

{

( )

1

( )

3

e

2

( )

6

}

22

=

i, j

M

|

p

i, j

p

i, j

M

, Figura 6. Grafo G22. 4 | 4 | 2 3 | 1 | 1 5 | 3 | 2 3 | 6 | 3 4 4 | 5 | 9 3 1 2 5 4 | 4 | 2 3 | 1 | 1 5 | 3 | 2 3 | 6 | 3 5 | 7 | 1 4 4 | 5 | 9 3 1 2 5 4 | 4 | 2 3 | 1 | 1 2 | 2 | 3 5 | 3 | 2 4 3 1 2 5

(7)

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 1,4,3,5 1,2,3,5 5 , 3 , 1 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 4 6 10 Q . Iteração i=2 e j=3:

{

( )

1

( )

3e 2

( )

5

}

23 = i, jM | p i, j p i, jM , Figura 7. Grafo G23.

∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ = 1,4,3,5 1,2,3,5 1,3,5 C e

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ = 4 6 10 Q . Iteração i=3 e j=1:

{

( )

1

( )

4e 2

( )

7

}

31= i, jM | p i, j p i, jM , Figura 8. Grafo G31. ctrl= 0

Fim da execução do algoritmo.

Veja que foram executadas 8 iterações do algoritmo MMS-R para a resolução deste problema. Como

m

1

=

4

e

m

2

=

7

, então pelo algoritmo MMS seriam necessárias 28 iterações, ou seja, 3,5 vezes o total gasto por MMS-R.

4 | 4 | 2 5 | 3 | 2 5 | 7 | 1 4 4 | 5 | 9 3 1 2 5 4 | 4 | 2 3 | 1 | 1 5 | 3 | 2 4 4 | 5 | 9 3 1 2 5

(8)

Os três resultados a seguir garantem a otimalidade do algoritmo MMS-R. Ou seja, que o algoritmo MMS-R gera um conjunto mínimo completo de soluções Pareto-ótimas para o problema (P).

Teorema 1: Considere a matriz C após a aplicação do algoritmo MMS-R. Todos os caminhos de C são soluções Pareto-ótimas.

Demonstração: Sem perda de generalidade, suponhamos que da iteração i = r e j = g resulta

rg st rg

P

C

=

. Logo rg

st

P é um caminho em Grg, então temos 1

1 r P

p

q

strg

e 2 2 g P p q strg .

A demonstração é por contradição. Para isso, suponhamos que rg

st

P não seja um

Pareto-ótimo. Então existe uma solução Pst que domina Pstrg, ou seja, rg st st P r P

q

p

q

1 1 1

=

,

( )

1

rg st st P g P q p q 2 2 2 = ≤ e

( )

2

rg st st P P q q33 ,

( )

3

com pelo menos uma das desigualdades estrita. Temos que Pst é um caminho no grafo Gij, onde

r

i ≤ e j ≤ g. Como r ≤r e g ≤g, então Pst é um caminho em Grg. A otimalidade de AlgS

na iteração i = r e j = g garante st rg st P

P

q

q33 , o que junto com

( )

3

nos leva a qPst qPstrg

3

3 = . A

exigência de ao menos uma desigualdade estrita entre

( )

1

,

( )

2

e

( )

3

, juntamente com

rg st st P

P

q

q3 = 3 , obriga que pelo menos uma das desigualdades

q

Pst

q

Pstrg

1 1

>

ou rg st st P P

q

q

2

<

2 seja verdadeira. Suponhamos 1 1 1 1 r P r P

p

q

p

q

st

=

>

strg

. Logo r >r. Seja r g st

P +1 a solução obtida por

AlgS na iteração i= r+1 e j =g (esta solução existe pois Pst está em Gr+1g). A otimalidade

de AlgS na iteração i= r+1 e j =g garante que qPstr g qPst qPstrg

3 3 3 1 = ≤ +

. Por outro lado, como

rg g

r M

M +1, então a otimalidade de AlgS na iteração i = r e j = g garante strg

g r st P P q q3 +1 ≥ 3 . Logo rg st g r st P P q

q3 +1 = 3 . A segunda linha de testes dentro de 3.2.3 nos leva a Crg =∅, o que leva a uma

contradição. O caso 2 2 2 2 g P g P p q p

q st = < strg ≤ é análogo. Portanto o caminho rg

st

P é um Pareto-ótimo.

▀ Agora vejamos no resultado a seguir que para qualquer vetor objetivo

q

Pst, associado a

alguma solução Pareto-ótima Pst, existe em C uma solução cujo vetor objetivo é igual a

q

Pst.

Teorema 2: Para qualquer solução Pareto-ótima Pst existe um caminho Pst em C, no final do algoritmo MMS-R, tal que

q

Pst

=

q

Pst.

Demonstração: Seja Pst uma solução Pareto-ótima qualquer. Temos que 1

1 r P p q st = e 2 2 g P

p

q

st

=

para algum

r

{

1

,

2

,

K

,

m

1

}

e algum

g

{

1

,

2

,

K

,

m

2

}

. Então Pst é caminho de Giji ≤r e

g j ≤

∀ , o que nos garante a existência de rg st

P , solução obtida por AlgS na iteração i =r e

g

j = . Pela otimalidade de AlgS nesta iteração temos qPstrg qPst

3 3 ≤ . Como

p

1

(

l

,

h

)

p

1r e

(

)

2 2 , g p h l p ≤ ∀

(

l,h

)

Mrg, então strg Pst r P

q

p

q

1 1 1

=

e st rg st P g P q p q 2 2 2 ≤ = . Pelas três

(9)

desigualdades acima envolvendo os vetores objetivo de rg st P e Pst, se st rg st P P q q ≠ então rg st P

domina Pst, o que é um absurdo, pois Pst é um Pareto-ótimo por hipótese. Logo qPstrg =qPst .

Segue-se, por contradição, a demonstração de que rg

st

P está em C. Para isto suponha que rg

st

P

tenha sido excluída de C. Isto implica que em alguma das duas iterações posteriores, i =r e

1 + = g

j ou i= r+1 e j =g obtemos Pst tal que qPst qPstrg

3

3 = . Suponha que seja na iteração

r

i = e j= g+1 (para o outro caso a demonstração é idêntica). Como Pst foi obtida em Grg+1,

então, st Pstrg r P

q

p

q

1 1 1

=

e rg st st P g g P q p p q 2 2 2 1

2 ≤ + < = (a última parte destas desigualdades é

garantida por strg st

(

Pst

)

g r P

P

q

p

p

q

q

=

=

1

,

2

,

3 ), o que implica que

st

P domina Pstrg e Pst, o que é um

absurdo, pois Pst é um Pareto-ótimo. Portanto rg

st rg

P

C

=

.

Para concluir que no final do algoritmo MMS-R os caminhos de C formam um conjunto mínimo completo, resta mostrar que todos os vetores objetivo dos caminhos de C são distintos, ou seja, para quaisquer Pst e Pst em C temos

q

Pst

q

Pst. Este fato é imediato do resultado a

seguir.

Teorema 3: Considere C no final do algoritmo MMS-R. Para qualquer

=

rg

st rg

P

C

temos: 1 1 r P

p

q

strg

=

e 2 2 g P p q strg = .

Demonstração: Obviamente que 1

1 r P

p

q

strg

e 2 2 g P p q strg ≤ , pois rg st P foi obtido em Grg. A

demonstração é por contradição. Suponha que 1

1 r P

p

q

strg

>

. Logo 1 1 1

r+ P

p

q

strg e, assim, rg st P é um

caminho em Gr+1g, o que nos garante que algum caminho será obtido por AlgS na iteração

1 + = r

i e j =g. Seja Pstr g

1

+ este caminho. A otimalidade de AlgS na iteração 1

+ = r i e j =g nos leva a strg g r st P P q

q3 +1 ≤ 3 . Por outro lado como Mr+1gMrg então r g st

P +1 está em Grg, o que junto com a otimalidade de AlgS na iteração i =r e j =g garante que qPstr g qPstrg

3 3 1 ≥ + . Logo rg st g r st P P q

q3 +1 = 3 o que pela segunda linha de testes de 3.2.3 do algoritmo MMS-R implica em fazer

∅ =

rg

C , o que leva a um absurdo. Portanto 1

1 r P

p

q

strg

=

. O caso 2 2 g P p q strg < é análogo. Logo também temos 2 2 g P p q strg = . ▀ 4. Resultados Computacionais

Nesta seção vamos apresentar comparações entre o algoritmo MMS-R, apresentado na seção anterior, e o algoritmo MMS de Pinto et al (2007). Grafos aleatórios com até 5000 nós foram gerados. Para cada nó i geramos k números aleatórios que indicam os sucessores de i. Assim o grau de saída de qualquer nó é no máximo k. Para os pesos

p

3 geramos valores inteiros

e aleatórios entre 1 e 10000 e para

p

1 e

p

2 inteiros nos intervalos [1, 10], [1, 50] e [1, 100].

Cada linha da Tabela 1 representa a média de 5 problemas, cmc, iterMMS, iterMMS-R, tempoMMS e tempoMMS-R indicam, respectivamente, a cardinalidade do conjunto mínimo completo, total de

(10)

Utilizamos um computador pessoal com processador INTEL CORE 2 DUO de 1.73 GHz e

1024 Mb de memória RAM. A implementação dos algoritmos, MMS e MMS-R, foi desenvolvida

em linguagem de programação C e utilizamos, em ambos, o algoritmo de Dijkstra para AlgS.

Tabela 1: Valores médios dos tempos, números de iterações e número de Pareto-ótimos. n m k m1 = m2 cmc iterMMS iterMMS-R tempoMMS tempoMMS-R

500 4942 10 10 25 100 67 0,106 0,084 500 4940 10 10 23 100 64 0,112 0,095 500 4945 10 100 95 10000 4779 8,988 7,870 500 4943 10 100 76 10000 4882 11,242 8,832 1000 9954 10 50 99 2500 1245 12,369 9,657 1000 9948 10 50 112 2500 1405 9,692 8,623 5000 24988 5 10 21 100 38 5,541 4,854 5000 24987 5 10 24 100 46 6,366 6,279 5000 99787 20 10 39 100 76 12,429 11,246 5000 99796 20 10 42 100 77 15,556 13,939 5000 248742 50 10 62 100 97 19,974 19,710 5000 248740 50 10 61 100 96 17,315 17,247 5. Conclusões

O primeiro comentário é com relação aos resultados computacionais. Embora tenhamos obtido, para alguns casos, uma diferença significativa no número de iterações, os tempos não foram tão diferentes. Observamos que, para os grafos gerados, o tempo gasto nas iterações do algoritmo MMS em que não existiam soluções viáveis foi próximo de zero. Além disso, para as demais iterações do MMS o tempo gasto foi muito próximo ao tempo gasto nas iterações correspondentes do algoritmo MMS-R. Estes fatos justificam a pequena diferença entre os tempos consumidos pelos algoritmos. Acreditamos que podem existir classes de problemas em que o tempo gasto em iterações do algoritmo MMS, onde não existe solução viável, não seja tão próximo de zero e, então, o tempo total gasto pelo MMS-R irá apresentar uma vantagem significativa com relação ao tempo do MMS.

As extensões citadas em Pinto et al (2007) para o algoritmo MMS como por exemplo a geração do conjunto máximo completo, considerar o problema de árvore geradora ao invés do problema de caminho, substituir a função MinSum por uma função MaxProd, por exemplo, também são possíveis para o algoritmo MMS-R.

Com relação a trabalhos futuros, acreditamos ser interessante estudar a generalização do problema, ou seja, considerar o caso multi-objetivo onde apenas uma função objetivo não necessariamente é do tipo gargalo.

Referências Bibliográficas

Ahuja RK, Magnanti TL, Orlin JB. Network flows. New Jersey; 1993.

Berman O, Einav D, Handler G. The constrained bottleneck problem in networks. Operations Research 1990; 38; 178-181.

Current JR, Marsh M. Multiobjective transportation network design and routing problems: Taxonomy and annotation. European Journal of Operational Research 1993; 103; 426-438. Dijkstra EW. A note on two problems in connexion with graphs. Numer. Math. 1959; 1; 269-271. Ehrgott M, Gandibleux X. A survey and annotated bibliography of multiobjective combinatorial

optimization. OR Spektrum 2000; 22; 425-460.

Gandibleux X, Beugnies F, Randriamasy S. Martins’ algorithm revisited for multi-objective shortest path problems with a MaxMin cost function. A Quarterly Journal of Operations Research 2006; 4; 47-59.

(11)

Guerriero F, Musmanno R. Label correcting methods to solve multicriteria shortest path problems. Journal of Optimization Theory and Applications 2001; 111 (3); 589-613.

Gondran M, Minoux M. Graphs and Algorithms. John Wiley; 1986.

Hansen P. Bicriterion path problems. In: Fandel G, Gal T (Eds), Multicriteria decision making: Theory and applications. Lecture Notes in Economics and Mathematical Systems, vol. 177. Springer, Heidelberg; 1980. p. 109-127.

Martins EQV. On a multicriteria shortest path problem. European Journal of Operational Research 1984a; 16; 236-245.

Martins EQV. On a special class of bicriterion path problems. European Journal of Operational Research 1984b; 17; 85-94.

Pinto LL, Bornstein CT. Software CamOtim. Em: http://www.cos.ufrj.br/camotim; 2006a. Pinto LL, Bornstein CT. Algoritmos para problemas de caminho ótimo em grafos. Anais do

XXXVIII Simpósio Brasileiro de Pesquisa Operacional. Goiânia-GO; 2006b; 2418-2419. Pinto LL, Bornstein CT, Maculan NF. The tricriterion shortest path problem with at least two

bottleneck objective functions. Submetido à European Journal of Operational Research, 2007.

Serafini P. Some considerations about computational complexity for multi objective combinatorial problems. In: Krabs W, Jahn J (eds), Recent advances and historical development of vector optimization. Lecture Notes in Economics and Mathematical Systems, vol. 294. Springer, Berlin, Heidelberg, New York; 1987, p. 222-232.

Referências

Documentos relacionados

Elabore um texto de uma lauda, considerando os seguintes elementos: o caráter social do espaço geográfico decorre do fato de que os homens têm fome, sede e frio, necessidades

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Os posicionamentos da doutrina são divergentes, porém está evidente que o Executivo sozinho não está dotado de poderes para a realização de tal ato da forma que vem fazendo, uma

A tabela a seguir resume as frequências em que os pacientes apresentaram pelo menos uma reação adversa não solicitada, foi registrada dentro de 28 dias após a vacinação de

A maioria dos casos de doença está associada a ambientes sujeitos a intervenção humana onde temperatura da água é superior, alterando a concentração quer das bactérias quer dos

Psicóloga, doutora em Psicologia pela Universidade de Brasília, é professora da Secretaria de Estado da Educação do Distrito Federal e do Departamento de Psicologia Escolar e