Ernesto de Queiros Vieira Martins
eqvm@mat.uc.pt
http://www.mat.uc.pt/eqvm/eqvm.html
Departamento de Matematica
Faculdade de Ci^encias e Tecnologia
PROBLEMA DO SHORTEST PATH
O QUE
E?
GRAFO
Linear Programming and Network Flows
M. S. Bazaraa, J.J. Jarvis and H.D. Sherali
John Wiley and Sons, 1990
(segunda edic~ao)
Pagina 572
`Suppose that we are given a network G with m
nodes, n arcs, and a cost c
ij
associated with each
arc (i;j) in G. The shortest path problem is: Find
the shortest (least costly) path from node 1
to node m in G. The cost of the path is the
sum of the costs on the arcs in the path.'
PATH ?
Pagina 422
`A path (from node i
0 to node i p ) is a sequence of arcs P = f(i o ;i 1 );(i 1 ;i 2 );:::;(i p 1 ;i p )g in which the
initial node of each arc is the same of the
preced-ing arc in the sequence and i
0 ;:::;i p are all distinct nodes.' CONCLUS ~ AO:
N~ao ha restric~oes nos custos dos arcos
...The mathematical formulation becomes: Minimize m X i=1 m X j=1 c ij x ij Subject to m X j=1 x ij m X j=1 x ji = 8 < : 1 if i = 1 0 if i 6= 1 or m 1 if i = m x ij = 0 or 1 i;j = 1;2;:::;m Contra Exemplo . . .. . . . . . . . . . . . . . . ... .. .... .... . ... . ... ... .... ... . .. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . .. . . .. . . .. . . . . . . . ... . ... ... .... ... .... . .. ... .. .. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . .. .. . . . .. .... ... ... ... ... . .. .. . .. .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ... . . . . . . . . . . . . . . . . . . . . . 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . 1 .. .... ... ... .... . .. ... . .. ... . .. .... ... . .. .... . . . ... . .. .... ... . .. ... . ... . .. ... . .. ... .... ... . .. ... . ... . .. ... . ... . .. ... . .. . . . ... . ... . .. ... . ... . .. ... . .. .... ... . .. . ... . .. ... . .. ... . .. .... ... . .. .... ... ... . .. .... ... . .. ... . ... . .. ... . .. ... . ... ... . .. ... . ... . .. ... . ... . .. ... ... .... . . . ... . .. ... . ... . .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... . .. .. . .. . . . . . . 1 Minimize x 12 + x 13 + x 23 + x 32 x 12 + x 13 = 1 x 12 + x 23 x 32 = 0 x 13 x 23 + x 32 = 1 x 12 ; x 13 ; x 23 ; x 32 2 f0; 1g Soluc~ao Optima: x 12 = 0; x 13 = x 23 = x 32 = 1
Network Flows
Theory, Algorithms, and Applications
R. K. Ahuja, T. M. Magnanti and J. B. Orlin
Prentice Hall, New Jersey, 1993
Pagina 94
...`The shortest path problem is to determine for
every nonsource node i 2 N a shortest directed
path from node s to node i.'
Directed PATH ?
Pagina 26
`A directed path is a directed walk without any
repetions of nodes.'
`A directed walk is a sequence of nodes and arcs
i 1 a 1 i 2 a 2 :::i r 1 a r 1 i r
satisfying the
prop-erty that for all 1 k r 1;a
k = (i k ;i k+1 ) 2 A: 0 CONCLUS ~ AO: PATH | N~ao existem nos repetidos
HIP
OTESES ASSUMIDAS:
Todos os custos s~ao inteiros
EXISTE
`directed path' do no s para todos os outros
N~ao existem
ciclos de custo negativo
pag. 95
Various Types of Shortest Path Problems
Researchers have studied several types of
(di-rected) shortest path problems:
1 | Finding shortest paths from one node to
all others when arc lengths are
nonnega-tive
2 | Finding shortest paths from one node to
all others for networks with arbitrary arc
lengths
3 | Finding shortest paths from every node
to every other node
4 | Various generalizations of the shortest
Pagina 94
.
.
.
This view point gives rise to the following linear
programming formulation of the shortest path
prob-lem: Minimize X (i;j)2A c ij x ij Subject to X j:(i;j)2A x ij X j:(j;i)2A x ji = 8 < : n 1 for i = s 1 forall i 2 N fsg x ij
0 for all (i;j) 2 A:
CORRECTO | CUIDADO
desde que n~ao existam ciclos negativos na
rede e S O SE CONSIDEREM SOLUC ~ OES B ASICAS
Contra Exemplo . . . . . . . . .. . . .. . . .. .. . . . . . .. . .. . ... . ... . ... ... . .. . . . .. . . . . .. . . .. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .. . . . . .. .. ... . . . .... ... . ... . ... . ... .. ... .. ... .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . .. . . . .. .. ... ... ... ... . .... ... ... . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . .. . . . . . . .. . . . . . . . . . . .. .... . ... . ... . .. . . . . . . .. . . . . .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . ... . . . ... . . . ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... .. .... .. .... .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... .. .... .. .... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 .. .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . ... . . . ... . . . ... . . . ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . ... . . . ... . . . ... . . . ... . . . ... . .. ... . .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . .. .... . . .... .. .... .. .... . . . . .. ... . .. ... . .. . . . . .. ... . .. ... . .. . . . . .. ... . .. ... . .. . . .. .. .... .. .... .. . . .. .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . ... . . . ... . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . .. ... ... ... . ... . . . ... . . .... . . . ... . . . ... . .. . . . . .. ... . .. ... . .. . . . . .. ... . .. ... . .. . . . . .. ... . .. ... . ... . . . ... . . . ... . . . ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. ... . .. .... .. .... . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Minimizar x 12 + x 13 + x 24 + x 34 x 12 + x 13 = 3 x 12 + x 24 = 1 x 13 + x 34 = 1 x 24 + x 34 = 1 x 12 ; x 13 ; x 24 ; x 34 0 Soluc~oes Optimas (basicas): x 12 = 2; x 13 = x 24 = 1;x 34 = 0 x 13 = 2; x 12 = x 34 = 1;x 24 = 0 Soluc~oes Optimas (n~ao basicas):
Qualquer combinac~ao convexa das soluc~oes optimas basicas
Exemplo: x 12 = 3 2 ;x 13 = 3 2 ;x 24 = x 34 = 1 2
Graphs and Algorithms
M. Gondran and M. Minoux
Wiley{Interscience
Series in Discrete Mathematics
John Wiley & Sons, 1984
Pagina 42
.
.
.
`The problem of the shortest path between two
ver-tices i and j is that of nding a path (i;j) from i
to j whose total length
`() = X u2(i;j) `(u) is a minimum.' PATH ? N~ao denida mas ... Pagina 42/43
`Existence of a solution to the shortest path
problem: Consider a path (i;j) from i to j
con-taining a circuit w: . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . .. . . . .. . . . . . .. ... .. . . . . ... .... ... . ... . ... ... . .... .... . ... . .. ... . . . . . . . . . . . . . . .. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . i k j w Denote by 0
the path from i to j associated with
, but not containing the circuit w.
.
.
.
CONCLUS ~
AO:
PATH | PODEM EXISTIR nos repetidos
E... Pagina 43 ` . . . We thus have `() = `( 0 ) + `(w);
where `(w) is the length of the circuit w.
If `(w) < 0, then there is no shortest path from
i to j, because the circuite can be used an innite
number of times.
If `(w) 0, then `( 0
) `(): Hence when looking
for the shortest path, we can restrict ourselves to
elementary paths between i and j.
In what follows, we shall therefore assume that
the graph has no circuit of negative lenght.
.
.
.
'
CUIDADO
Podem existir ciclos NULOS!!
LOGO, podem existir soluc~oes optimas que
PROBLEMA DO SHORTEST PATH O QUE E AFINAL ? CASO PARTICULAR DO PROBLEMA DO TRAJECTO OPTIMO
DEFINIC ~ OES: (N; A) grafo N = fv 1 ;:::;v n g conjunto dos nos (ou vertices) A = fa 1 ;:::;a m
g conjunto dos arcos
N = f1;:::;ng A N N = f(i; j) j i; j 2 N e i 6= jg p ij trajecto de i 2 N para j 2 N p ij = hi; (i;v 0 k ); v 0 k ; :::; v 0 ` ; (v 0 ` ;j); ji trajecto path
caminho () trajecto sem nos
repetidos, excepto,
possivelmente, o
ini-cial que pode
coin-cidir com o terminal
ciclo () caminho de um no
para ele mesmo
PROBLEMA DO TRAJECTO OPTIMO DADOS: (N; A; c; s; t) rede (orientada) (N; A) grafo
c custo associado aos arcos
(c 2 IR k
; k 1)
s;t vertices inicial e terminal
P ij ftrajectos de i 2 N para j 2 Ng P P st c : S i;j2N P ij ! IR r : p ! c(p) custo de p (r 1) (r > 1 Problema Vectorial) P ?
P domnio (restringido) de c(p)
PRETENDE{SE: Determinar p ? 2 P ? tal que: c(p ? ) c(p); 8p 2 P ? (assume{se a minimizac~ao de c(p) em P ? )
HIP
OTESES ADMITIDAS:
(N; A; c; s; t) rede (ORIENTADA)
P si 6= ; P it 6= ; 9 > > > = > > > ;
qualquer que seja i 2 N:
QUALQUER DELAS
EXEMPLOS | Domnio n~ao Restringido
Problema do Trajecto Mais Curto
ou
Problema do Shortest Path
k = 1 i.e. (i; j) 2 A c ij (custo, tempo,...) P ? = P domnio de c(p) c(p) = X p c ij PRETENDE{SE: Determinar p ? 2 P ? j c(p ? ) c(p); 8p 2 P ?
Problema do Trajecto de Capacidade Maxima k = 1 i.e. (i; j) 2 A u ij (> 0) (capacidade) P ? = P domnio de u (p) u (p) = minfu ij j (i; j) 2 A \ pg PRETENDE{SE max p2P ? u(p) i.e. Determinar p ? 2 P ? j u(p ? ) u(p); 8p 2 P ?
Problema do Trajecto
de menor
Custo / Unidade de Tempo
k = 2 (i; j) 2 A c ij ; t ij (custo, tempo) P ? = P domnio de f (p) c(p) = X p c ij ; t(p) = X p t ij ; f (p) = c(p) t(p) PRETENDE{SE minff(p) j p 2 P ? g i.e. Determinar p ? 2 P ? j c(p ? ) t(p ? ) c(p) t(p) ; 8p 2 P ? Admite{se que t(p) > 0; 8p 2 P ?
Problema do Trajecto
de menor
Custo / Unidade de Capacidade
k = 2 (i; j) 2 A c ij ; u ij (> 0) (custo, capacidade) P ? = P domnio de f (p) c(p) = X p c ij ; u(p) = min p fu ij g f (p) = c(p) u (p) PRETENDE{SE minff(p) j p 2 P ? g i.e. Determinar p ? 2 P ? j c(p ? ) u(p ? ) c(p) u(p) ; 8p 2 P ?
EXEMPLOS | Domnio Restringido
Problema do Caminho
Optimo
ou
Problema do Optimal Elementary Path
P ? P P ? = fcaminhos de s para tg Problema do Trajecto Optimo com
passagem por dados nos
Ex: Caixeiro Viajante
EXEMPLOS | Domnio Finito
Caminho
Optimo
Arvore dos Caminhos
PROBLEMA DO TRAJECTO OPTIMO DEFINIC ~ OES:
Um problema particular do trajecto
optimo diz{se:
FINITO se e so se existe um trajecto
optimo constitudo por um numero nito de
vertices (e de arcos).
LIMITADO se e so se existe um trajecto
optimo cujo valor e nito, isto e, se e so se
existe um trajecto optimo p ? tal que c(p ? ) e nito. TEOREMA 1:
Um problema particular do trajecto mais
curto e
nito e limitado se e so se n~ao existem
ciclos negativos na rede, isto e, se e so se
X
C c
ij
0, qualquer que seja o ciclo C da
Um problema particular do CAMINHO mais
curto ou da
Arvore dos Caminhos mais
cur-tos e sempre nito e limitado.
Um problema particular do trajecto de
menor custo / unidade de tempo pode ser
limitado e n~ao nito. EXEMPLO . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. ... . .. ... . .... ... ... ... .... .... . . . . .. .. .. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .. . ... .. .. . . . .. ... . .. ... ... ... . .... . ... .... ... . . . . . . . .. .. . . . . .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . .. . . . . . . . . . . . . . . . ... .. ... . .. ... . ... . ... ... ... . ... . .. . . . . .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ... . . . . . . . . . . . . . . . . . . . . (2;1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (2;1) . . ... . .. ... . ... . .. ... . .. .... ... . .. .... . . . ... . .. .... .. .... ... . .. .... ... . .. . . . .... ... . .. .... ... . .. ... . ... . . . ... . .. . . . .... ... . .. ... . ... . .. ... . .. .... ... . .. . . .. . .. ... . .. ... . .. .... ... . .. .... ... . .. . .. . ... ... . .. .... ... . .. ... . ... . . . ... . .. ... . ... ... . .. ... . ... . .. ... . .. .... ... ... .... . .. ... . .. ... . .. .... ... . .. .... ... ... ... .... ... . .. .... ... . .. ... . ... . . . ... ... ... .... ... . .. ... . ... . .. ... . .. .... . . . ... . . .. . . . ... . .. ... . .. .... ... . .. .... . . . . .. . . . .... ... . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (2;2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . ... . . . . . . . . . .. . . . (3;3) p 1 = h1; 3i; C = h3; 2; 3i; C k = C ::: C | {z } k vezes p 1 = lim k !1 fp 1 C k g c(p 1 ) t(p 1 ) = lim k !1 2 + k (2+ 3) 1 + k (2+ 3) = 5 5 = 1 c(p) t(p) > c(p 1 ) t(p 1 ) ; 8pnito
Problema do Trajecto Mais Curto
e
Problema do CAMINHO Mais Curto
S ~
AO DIFERENTES
SEMELHANCAS ?
Teorema:
Existe um trajecto mais curto que e
nito se e so se existe um trajecto mais
curto que e caminho.
Logo :
N~ao existem ciclos negativos em
(N; A; c; s; t) se e so se existe um
tra-jecto mais curto que e caminho.
O caminho mais curto existe sempre.
Pode existir caminho mais curto e o
Problema do Trajecto Mais Curto n~ao
PROBLEMA DO TRAJECTO OPTIMO RESOLUC ~ AO:
Princpio da Optimalidade FORTE:
Qualquer trajecto optimo p ?
de s para t e
constitudo por subtrajectos optimos de s
para i, qualquer que seja o no intermedio i
de p ?
.
Princpio da Optimalidade FRACA:
Existe um trajecto optimo p ?
de s para t
constitudo por subtrajectos optimos de s
para i, qualquer que seja o no intermedio i
de p ?
.
Qualquer problema particular do
trajec-to optimo que satisfaca ao Princpio da
Optimalidade Fraca e resoluvel pelo
ALGORITMO DE ROTULAC ~ AO . . . . . . . . . . . . . . . . . . .. . ... .. ... . .. ... . .... ... .... . ... .... ... . .. . . . . . . . . . . .. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s . . . . . . . . . . . .. . . . . . ... . . . . . . . .. ... . ... . ... ... ... . .. . . . ... .. ... .. . . . . .. . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i . . . . . . . . . . . . . . . . . . . . . . . .. .. ... . .. .... .... ... . .... ... . .. . . . . . . .. . . . . .. . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . j . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . ? ? ! ? ! trajecto conhecido Teste p si
(i;j) melhor do que p
sj ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . .. . . . . . . ... . .. . ... .. . . . . . .. . . . . . . .. . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . .. . . . . ... . . . . ... . . .. . . . . . .. . . . . .. . . . .. .. .. . .. . . . . .. . . . . . .. . . . . . . . .. . . . . ... .. . . ... .. . . . . . . . .. . . . . .. . . . . . .. . . . . . . . . . .. . . . . . .. . . . . .. . . . . . .. .. . .. . . . . . .. . . . . .. . . . . . .. .. . . . . . .. . .. . ... .. .. . . . .. .. . . . . .. . . . . . ... . . .. . . . .. .. . . . . .. . . . . . .. . . . .. . . . . . .. . . . . .. . . . .. .. . . . . . . .. . . . .. .. . .. . . . . . .. . . . . . . .. . . . .. .. . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . .
Teorema:
O Problema do Trajecto Mais Curto satisfaz ao
Princpio da Optimalidade Forte (e Fraca) se e
so se n~ao existem ciclos negativos na rede.
Algoritmo de Rotulac~ao:
Problema do Trajecto Mais Curto
fInicializac~ao g X fsg; s 0; i 1, para todo i 2 N fsg; i ; , para todo i 2 N; fAlgoritmog Enquanto X 6= ; faz: i elemento de X;
Para todo o arco (i;j) 2 A faz:
Se ( i + c ij < j ) ent~ao: j i + c ij ; j i; Se j 62 X ent~ao X = X [ fjg; Fim Se; Fim Para; X = X fig; Fim Enquanto;
Varias formas do Algoritmo dos Rotulos Rotulos N~ao Denitivos + Rotulos Denitivos Rotulos N~ao Denitivos X em FIFO | BFM X em LIFO | ineciente
X em DEQUE | Pape & Levit
.
.
.
Rotulos Denitivos
(custos n~ao negativos)
menor elemento de X | Dijkstra
Teorema:
O Problema do Trajecto de Capacidade
Maxima satisfaz sempre o Princpio da
Teorema:
Qualquer que seja o vertice i, admita{se que
existe um trajecto optimo p ?
si
, de s para i que
e constitudo por subtrajectos optimos de s
para qualquer vertice intermedio de p ?
si .
Ent~ao, o Algoritmo de Rotulac~ao determina
a
Arvore dos Caminhos
Optimos com raiz
em s.
Corolarios:
1. O Algoritmo de Rotulac~ao determina a
Arvore dos Caminhos Mais Curtos com
raiz em s se e so se n~ao existem ciclos
ne-gativos na rede.
2. O Algoritmo de Rotulac~ao determina a
Arvore dos Caminhos de Capacidade
Maxima com raiz em s, qualquer que seja
a rede.
Teorema:
Os Problemas do Trajecto de Menor
Cus-to por Unidade de Tempo e do Trajecto
de Menor Custo por Unidade de Capacidade
n~ao vericam, em geral, o Princpio da
Exemplo para o Problema do Trajecto de
Menor Custo por Unidade de Tempo
. . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . ... . . . . . ... ... .... .... ... ... ... .... .... ... . .. ... . . . . . . . . . .. . . . . .. . . .. . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s . . . . . . .. . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . .. ... . .. .... .... . ... ... ... .... .... ... ... ... . . . .. . . . . . . .. . . .. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . .. . . . .. .. . .. ... . .. .... . ... . ... ... ... .... . ... . .. ... . .. .. . .. .. . . . . . . . . . . . . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . t . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . .. ... . .. ... . .. .... ... ... ... ... ... . .. .... ... . . . .. .. . .. .. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ... . . . . . . . . . . . . . . . . . . . . . . . (0,1) ... . . . . . . . . . . . . . . . . . . . . . . . (x,0) . . . . . . . . . . .. . . . . .. . . .. . . . . . . . . . . . .. . . .. . . . . . . . . .. . . . . .. . . . . . .. . . . . . . . . .. . . .. . ... . . . .. . . .. . . .. . . . . .. . . . . . ... . . . . . . . .. . . . . . . . . .. . . . . . .. . . . . .. . . .. . . . . . . . . .. . . . . . .. . . . . .. . . . . . . . . .. . . .. . .. . . . . . . . . .. . . .. . . . . . . . ... . .. . . .. . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . .. . . . . . .. . . .. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (1,1) . . . . .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . .. . . .. . . . . .. . . .. . ... .. . .. . . .. . . . . . . . . .. . . . . . ... . . . . . . . .. . . . . .. . . .. . . . . . ... . . . .. . . .. . . . . . . . . .. . . . . . . . . . . . .. . . .. . . . . .. . . .. . .. . . . . .. . . .. . . .. . . . . .. . ... . .. . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . .. . . .. . . . . . . . . . . . .. . . .. . . . . .. . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (1,1) (c ij ;t ij ) p 1 = hs;1;ti p 2 = hs;2;1;ti f(p) = P p c ij P p t ij =) 8 < : f(p 1 ) = x 1 f(p 2 ) = x+2 2 i:e: f(p 2 ) < f(p 1 ) () x + 2 2 < x 1 () x > 2 f(hs; 1i) = 0 1 = 0 < f(hs; 2; 1i) = 1+1 1+1 = 1 x = 2 PO FRACA; x < 2 PO FORTE
Dois Problemas do Trajecto
Optimo
Trajecto de Capacidade Maxima no
Conjunto dos Trajectos Mais Curtos
Verica Princpio da Optimalidade FRACA.
Trajecto Mais Curto no Conjunto dos
Trajectos de Capacidade Maxima
N ~
AO verica Princpio da Optimalidade
FRACA.
The Optimal Path Problem
E. Martins, M. Pascoal, D. Rasteiro e J. Santos
Investigac~ao Operacional 19 (1999) 43{60
http://www.mat.uc.pt/eqvm/CISUC/cisuc.html
Algoritmo de Rotulac~ao 6= Algoritmo Simplex
Generalizac~oes
Enumerac~ao de Trajectos
Problema do Trajecto Vectorial
Optimo
Problema Estocastico do Trajecto
Optimo
.
.