SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-1
IX. Circuito e Ciclo de Euler
Um grafo orientado diz-se “euleriano” se há um circuito que contenha todos os seus arcos uma e só uma vez
(circuito “euleriano”).O grafo da figura é “euleriano”porque admite o circuito A, B, C, D.
De acordo com o teorema de Euler, “um grafo orientado admite um circuito de Euler se e só se for fortemente
conexo e pseudo simétrico1
” (diz-se que o grafo é “euleriano”).
Um grafo não orientado diz-se “euleriano” se há um ciclo que contenha todas as suas arestas uma e só uma vez
(ciclo “euleriano”).O grafo da figura é “euleriano”porque admite, por exemplo, o ciclo A, D, C, B.
De acordo com o teorema de Euler, “um grafo não orientado admite um ciclo de Euler se e só for conexo e não
tiver vértices de grau ímpar ”.
1. Circuito de Euler
Considere-se que a figura seguinte representa uma zona da cidade onde uma equipa terá que fazer recolha de
lixo em todos os arruamentos existentes (observando o sentido indicado para o trânsito).
Em cada um dos arruamentos está indicada a distância (centenas de metros) entre os vértices extremos.
Admitindo que se pretende que o percurso de limpeza comece e termine em “A” qual é o circuito óptimo ?
O circuito óptimo será um circuito de Euler (em que se percorrerão todos os arruamentos uma única vez). Se
existir, a distância total óptima será de 82 centenas de metros (somatório de todas as distâncias associadas a cada
um dos arcos do grafo). Este grafo será “euleriano” ?.
1
Um grafo orientado em que qualquer dos vértices tem semigrau interior e exterior iguais, diz-se grafo pseudo simétrico.
4
1 2
D
A
B
C 3
4
1 2
D
A
B
C 3
A
E
C
D
B
10
10
15
11
12
8
9
7
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-2
Na matriz do grafo, verifica-se se o grafo é conexo e, em caso afirmativo, determinam-se os semigraus de cada
um dos vértices :
A B C D E AΓ
^ +
iv
A 10 0 1
B 10 11 2 2
C 12 3 1
D 15 9 2 2
E 8 7 1 2
1
^
−
ΓA
0 1 3 2 2
−
iv 1 2 1 2 2
Porque o grafo é conexo e todos os vértices têm semigraus iguais, de acordo com o teorema de Euler o grafo é
“euleriano”.
Para estabelecer um circuito de Euler, que sabemos existir, actue-se do seguinte modo:
1. Registar em coluna, para cada vértice, os seus sucessores (1º quadro)
A B C D E
E A D B B
C E D
2. Organizar um 2º quadro para registar, sucessivamente, os arcos do circuito (início em “A” por
exemplo)
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A
3. Escolher sucessivamente sucessores do último vértice atingido,
impedindo circuitos “parasitas”
• Seleccionar o arco AE ; eliminar “E” no 1º quadro e registar no 2º quadro; último vértice é “E”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E
• Seleccionar o arco EB ; eliminar “B” no 1º quadro e registar no 2º quadro; último vértice é “B”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-3
• Seleccionar o arco BA ; eliminar “A” no 1º quadro e registar no 2º quadro; último vértice é “A”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B A
• O vértice “A” não tem sucessores; estabeleceu-se prematuramente o circuito “parasita” A, E, B, A.. O
vértice “A” é deslocado para a última casa livre do 2º quadro. O “último” vértice” do circuito é agora
“B”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B A
• Seleccionar o arco BC ; eliminar “C” no 1º quadro e registar no 2º quadro; último vértice é “C”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C A
• Seleccionar o arco CD ; eliminar “D” no 1º quadro e registar no 2º quadro; último vértice é “D”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C D A
• Seleccionar o arco DB ; eliminar “B” no 1º quadro e registar no 2º quadro; último vértice é “B”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C D B A
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-4
• O vértice “B” não tem sucessores; estabeleceu-se o circuito “parasita” B, C, D, B. O vértice “B” é
deslocado para a última casa livre do 2º quadro. O “último” vértice” do circuito é agora “D”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C D B A
• Seleccionar o arco DE ; eliminar “E” no 1º quadro e registar no 2º quadro; último vértice é “E”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C D E B A
• Seleccionar o arco ED ; eliminar “D” no 1º quadro e registar no 2º quadro; último vértice é “D”
A B C D E
E A D B B
C E D
Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho
Vértice A E B C D E D B A
Todos os arcos foram seleccionados. Neste último quadro tem-se o circuito de Euler com início e fim no
vértice “A”.
Veja-se agora a situação anterior mas noutra zona da cidade:
Este grafo será “euleriano” ?
F
G
I
D
B
A
E
H
5
4
4
4
4
8
3
3
C
4
6
4 7
7
3
6
6
55
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-5
Comecemos por organizar a matriz booleana do grafo da zona de limpeza, verificar se o grafo é fortemente
conexo e registar o semigrau interior e exterior de cada vértice:
A B C D E F G H I AΓ
^
+
iv
A 1 1 0 2
B 1 1 1 2
C 1 1 1
D 1 1 2 2
E 1 1 1 2 3
F 1 1 3 2
G 1 1 4 2
H 1 1 1 3 3
I 1 3 1
1
^
−
ΓA
0 2 3 4 1 1 2 3 4
−
iv 2 3 2 2 2 1 2 2 2
A intersecção dos fechos transitivos directo e inverso do vértice “A” é o conjunto {A,B,C,D,E,F,G,H,I }) pelo
que o grafo é fortemente conexo.
Nos vértices B, C, E, F, H e I os semigraus exterior e interior são diferentes pelo que não há circuito de Euler
ou seja para fazer o circuito C, …., C será necessário repetir a passagem em um ou mais dos arruamentos
(arcos).
O problema é então saber quais os arruamentos a repetir de forma a que o aumento na distância total
seja o menor possível.
O cálculo da solução óptima deste problema implica a “eulerização” do grafo que consiste em calcular quais os
arcos a repetir entre vértices da rede (repetição de arruamentos) por forma a que, em todos eles, haja igualdade
de semigraus (grafo “euleriano”).
Recorrendo à teoria de fluxos em rede, os vértices com semigraus diferentes serão Origem ou Destino de fluxo
consoante o semigrau exterior é, respectivamente, menor ou maior do que o semigrau interior.
Assim, por exemplo, o vértice “B” necessita ser considerado como Origem de Fluxo com “oferta” de uma
unidade de fluxo. De facto, porque é “origem” de 2 arcos e “fim” de 3 arcos, é necessário repetir a passagem
num dos arcos de que “B” é origem para ficar equilibrado o número de “saídas de B” com o número de
“entradas em B”. No quadro seguinte, sistematiza-se esta pesquisa prévia:
A B C D E F G H I
+
iv −
iv
Considerar “Oferta”/”Procura”
A 1 1 2 = 2
B 1 1 2 < 3 Origem 132 =−
C 1 1 < 2 Origem 121 =−
D 1 1 2 = 2
E 1 1 1 3 > 2 Destino 123 =−
F 1 1 2 > 1 Destino 112 =−
G 1 1 2 = 2
H 1 1 1 3 > 2 Destino 123 =−
I 1 1 < 2 Origem 121 =−
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-6
Nota: Veja-se que a “disponibilidade de fluxo” dos vértices classificados como “origem de fluxo ” tal como a
“necessidade de fluxo” dos vértices classificados como “destino de fluxo” é igual ao valor absoluto da
diferença entre os semigraus do vértice.
Para calcular o “fluxo máximo com menor distância total”, define-se a entrada fictícia na rede, “X”, que é ligada
com arcos às origens de fluxo (B, C, I) e a saída fictícia da rede, “Y”, que é ligada aos destinos de fluxo (E, F,
H). A capacidades destes arcos de ligação é igual à oferta/procura do vértice a que estão associados. Os restantes
arcos da rede têm capacidade ilimitada.
O fluxo máximo com menor encargo (distância neste caso) pode obter-se recorrendo a um modelo de
programação inteira (PLIP) em que as variáveis de decisão, não negativas, indicam o fluxo que percorre cada
arco da rede. Atendendo a que, obrigatoriamente, as variáveis XB, XC , XI, EY, FY e HY terão valor de 1
unidade (tanto quanto é o valor absoluto da diferença entre os semigraus), o modelo a utilizar é o seguinte:
AB AC BD BE CB DC DI EA EF EH FA FG GE GI HB HD HG IH
Min 4 6 5 3 4 7 7 5 4 3 8 5 4 6 4 6 4 3 Obs
I -1 -1 1 = 1 Origem
B -1 1 1 -1 -1 = 1 Origem
C -1 1 -1 = 1 Origem
G 1 -1 -1 1 = 0
D 1 -1 -1 1 = 0
A -1 -1 1 1 = 0
H 1 -1 -1 -1 1 = 1 Destino
E 1 -1 -1 -1 1 = 1 Destino
F 1 -1 -1 = 1 Destino
A solução óptima1
BE=2, CB=EF=IH=1 indica para cada um destes arruamentos o número de vezes que devem
ser repetidos para obter o circuito desejado com a distância total óptima de 105 centenas de metros (88 dos
arruamentos e 17 das repetições de arruamentos). Para calcular o circuito é necessário “aumentar” o grafo com 2
1
Obtida pelo método “out of kilter”. Pode utilizar-se o modelo de Transhipment.
G
I
D
B
A
5
4
4
4
4
8 3
3
C
4
6
4 7
7
3
6
6
55
F
E
H
X
Cap = 1
Y
Cap = 1
Cap = 1
Cap = 1
Cap = 1
Cap = 1
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-7
arcos ligando B a E, 1 arco ligando C a B, 1 arco ligando E a F e 1 arco ligando I a H pois deste modo todos os
vértices ficam com semigraus iguais (grafo “euleriano”):
Este grafo “aumentado” admite o circuito de Euler:
“C, B, D, I, H, G, E, H, D, C, B, E, F, G, I, H, B, E, A, B, E, F, A, C”
que se representa na figura seguinte (nos arcos está registada a ordem porque são percorridos):
Nota: veja-se que, nos vértices B, C, E, F, H e I são iguais os semigraus interior e exterior (pseudo simetria)
Se se optasse pelo modelo de Transhipment para calcular os arruamentos a repetir, usava-se a matriz inicial:
A B C D E F G H I Oferta Observações
A 0 4 6 3
B 0 5 3 3+1
C 4 0 3+1
D 7 0 7 3
E 5 0 4 3 3
F 8 0 5 3
G 4 0 6 3
H 4 6 4 0 3
I 3 0 3+1
Procura 3 3 3 3 3+1 3+1 3 3+1 3
A distância associada
às ligações inexistentes
é considerada infinita
(Big “M”)
Nota: Buffer= 3; Origens e Transhipment: B, C, I ; Destinos e Transhipment: E, F, H
obtendo-se a solução óptima seguinte (veja-se BE=2, CB=EF=IH=1; Min f(X)=17 ):
A 3 0
B 2 0 2
C 1 3
D 3
E 2 1 0
F 3
G 3
H 0 3
I 1 3
A
F
G
E
C
D
H
I
B
13º
6º
5º
14º
15º
3º
8º
16º
7º
11º
12º
22º
18º
19º 2º
1º
9º
23º
10º
20º
17º
21º
4º
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-8
2. Ciclo de Euler
Considere-se agora a mesma zona da cidade mas em que os arruamentos permitem transitar nos dois sentidos
(arestas).
Admitindo desejar que o percurso de limpeza de todos os arruamentos comece e termine em “C” qual é o ciclo
óptimo ?
O ciclo óptimo será um ciclo de Euler (em que se percorrerão todos os arruamentos uma única vez). Se existir,
a distância total óptima será de 88 centenas de metros (somatório de todas as distâncias associadas a cada um
dos arcos do grafo). Este grafo admite ciclo de Euler ?
O grau de cada um dos vértices (número de arestas de que o vértice é extremo) é o seguinte:
A B C D E F G H I Grau Obs.
A 1 1 1 1 4
B 1 1 1 1 1 5 Ímpar
C 1 1 1 3 Ímpar
D 1 1 1 1 4
E 1 1 1 1 1 5 Ímpar
F 1 1 1 3 Ímpar
G 1 1 1 1 4
H 1 1 1 1 1 5 Ímpar
I 1 1 1 3 Ímpar
Nota: atente-se que em qualquer grafo não orientado, é sempre par o número de vértices de grau
ímpar, caso existam (teorema de Euler)
Porque há pelo menos um vértice de grau ímpar não há ciclo de Euler para a limpeza ou seja para fazer o ciclo
C, …., C será necessário repetir a passagem em um ou mais dos arruamentos. O problema é então saber quais
os arruamentos a repetir de forma a que o aumento na distância total seja o menor possível.
O cálculo da solução óptima deste problema implica a “eulerização” do grafo que consiste em calcular quais as
arestas a repetir entre vértices da rede (repetição de arruamentos) por forma a que, todos eles, tenham grau
par (admitindo então um ciclo de Euler).
A
F
G
E
C
D
H
I
B
5
4
4
6
3
7
6
4
3
3
4
8
5
4 5
4
7
6
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-9
A técnica a usar, que difere da utilizada para grafos orientados, é a seguinte:
1. calcular a distância mínima entre cada par de vértices da rede
2. organizar pares de vértices, de grau ímpar, de forma a que :
• cada um dos vértices não pertença a mais do que um par
• seja mínima a soma das distâncias mínimas associadas a cada um dos pares
Utilizando um algoritmo de encaminhamento (Floyd por exemplo) obtêm-se as seguintes matrizes de distâncias
mínimas e de precedências:
A B C D E F G H I
A 4 6 5 8
B 4 4 5 3 4
C 6 4 7
(Matriz inicial) D 5 7 6 7
E 5 3 4 4 3
F 8 4 5
G 4 5 4 6
H 4 6 3 4 3
I 7 6 3
A B C D E F G H I
A 4 6 9 5 8 9 8 11
B 4 4 5 3 7 7 4 7
C 6 4 7 7 11 11 8 11
(Matriz de distâncias mínimas) D 9 5 7 8 12 10 6 7
E 5 3 7 8 4 4 3 6
F 8 7 11 12 4 5 7 10
G 9 7 11 10 4 5 4 6
H 8 4 8 6 3 7 4 3
I 11 7 11 7 6 10 6 3
A B C D E F G H I
A B E B H
B E E H
C B E E B H
(Matriz de precedências) D B B E H
E B B H
F E E E E H
G E E E H
H B B E
I H H H H H
Para organizar os pares de vértices de grau ímpar recorre-se a algoritmia adequada (minimum weighted perfect
matching) ou a um modelo de PLIB (programação linear inteira binária). Neste último, consideram-se os pares
possíveis (i,j) como sendo as variáveis de decisão (binárias: com valor 1 organiza-se o par (i,j) ; com valor 0 não
se organiza o par (i,j) ). O modelo de PLIB a utilizar é o seguinte:
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-10
BC BE BF BH BI CB CE CF CH CI EB EC EF EH EI FB FC FE FH FI HB HC HE HF HI IB IC IE IF IH
f= 4 3 7 4 7 4 7 11 8 11 3 7 4 3 6 7 11 4 7 10 4 8 3 7 3 7 11 6 10 3
Vértice
B 1 1 1 1 1 1 1 1 1 1 = 1
C 1 1 1 1 1 1 1 1 1 1 = 1
E 1 1 1 1 1 1 1 1 1 1 = 1
F 1 1 1 1 1 1 1 1 1 1 = 1
H 1 1 1 1 1 1 1 1 1 1 = 1
I 1 1 1 1 1 1 1 1 1 1 = 1
Nota:
Para cada vértice de grau ímpar é estabelecida uma restrição com todas as variáveis em que este vértice é o
1º ou o 2º vértice do par. Deste modo só uma dessas variáveis poderá ter valor 1 impedindo que o vértice
pertença a mais do que um par.
Os coeficientes da função objectivo, a minimizar, são as distâncias mínimas entre cada um dos pares de
vértices em estudo (ver matriz de distâncias mínimas).
Se, no óptimo, o par (i,j) tiver o valor “1” é necessário recorrer à matriz de precedências para saber o
encaminhamento associado à distância mínima (que é coeficiente do par na função objectivo).
As arestas deste encaminhamento serão duplicadas alcançando-se a desejada paridade dos vértices para se
calcular o ciclo óptimo como se de um ciclo de Euler se tratasse.
A solução óptima do modelo de PLIB é BC=1, EF=1; HI=1 com valor mínimo da função igual a 11 centenas de
metros.
Recorrendo à matriz de precedências, o encaminhamento óptimo entre estes pares de vértices é:
• BC : ligação directa com distância óptima de 4 centenas de metros
• EF : ligação directa com distância óptima de 4 centenas de metros
• HI : ligação directa com distância óptima de 3 centenas de metros
A figura seguinte mostra o grafo “aumentado” com a indicação da ordem porque cada arruamento deve ser
percorrido pelo pessoal da limpeza (ciclo de Euler). A distância total a percorrer será de 99 centenas de metros
(88+11).
A
F
G
E
C
D
H
I
B
5
4
4
6
3
7
6
4
3
3
4
8
5
4 5
4
7
6
3
4
4
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-11
3. Auto Teste
a. Qual é o grau do vértice B?
b. O grafo seguinte admite um ciclo de Euler? Em caso negativo, quantas arestas são necessárias para “eulerizá-
lo” ?
c. Qual é o mínimo de repetições de arestas necessárias para “eulerizar” o grafo seguinte?
d. Comente a afirmação seguinte: “No grafo não orientado com 10 vértices de grau ímpar é necessário repetir 5
arestas para “eulerizar” o mesmo.
e. Comente a afirmação seguinte: “No grafo não orientado com 10 vértices de grau ímpar é necessário, no
mínimo, repetir 5 arestas para “eulerizar” o mesmo.
f. “Eulerize” o grafo seguinte:
CA B
D
CA B
D
D
A
B
C
F
G
E
G
I
B
A
D EC
F
K LJ
H
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-12
g. Calcule um ciclo óptimo de limpeza na região urbana que o grafo seguinte representa (arestas com
distâncias em centenas de metros):
h. Numa fábrica as ligações exteriores existentes são as indicadas na matriz seguinte (arestas com distâncias em
metros).
A B C D E F
A 500 1000
B 500 300 200 700
C 1000 300 600
D 200 600 300 200
E 700 300 300
F 200 300
As instalações da segurança nocturna estão localizadas em “A”.
Calcule o encaminhamento óptimo para a segurança sair e regressar às instalações percorrendo todos os
arruamentos exteriores.
i. Calcule o circuito óptimo no grafo com a seguinte matriz de custos (u.m.):
A B C D E F
A 10 4
B 10 11
C 12
D 15 9
E 8 7
F 11
B
5
A
D
2
C
5
4
3
E
5
10
6
10
I
F
8
6
3
4
G
5
H
7
4
8
5
J
9
7
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-13
j. Calcule o circuito postal óptimo no grafo com a seguinte matriz de tempos (u.t.):
A B C D E F G H I J K L
A 10 10
B 30
C 10 20
D 20
E 20 10 10
F 40 20
G 20 10
H 10 10
I 10
J 30 10
K 30
L 20
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-14
4. Solução do Auto Teste
a. O grau do vértice é o número de arcos/arestas de que o vértice é extremo. O vértice B tem grau 3.
b. Os vértices B e D têm grau ímpar, pelo que não há ciclo de Euler. Porque B e D são adjacentes “euleriza-se”
o grafo repetindo a aresta BD:
c. Os vértices com grau ímpar são C e G. A cadeia de menor comprimento tem duas arestas (CB e BG) pelo
que é necessário repetir estas duas arestas:
d. Errado (ver a questão anterior).
e. Correcto (ver a questão anterior).
f. Reutilizar as 5 arestas AB, DE, EG, IL, LK ou AB, DF, FH, HK, GI são soluções óptimas.
CA B
D
D
A
B
C
F
G
E
G
I
B
A
D EC
F
K LJ
H
G
I
B
A
D EC
F
K LJ
H
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-15
g. Não há ciclo de Euler (A, B, E e I têm grau ímpar).
Para “eulerizar” o grafo é necessário calcular a matriz de encaminhamentos de distância mínima entre cada
par de vértices e, de seguida, organizar os 4 vértices de grau ímpar em dois pares complementares.
Para tal, a ligação F-G deve desdobrar-se ficando do seguinte modo:
A matriz inicial de distâncias para cálculo do “grau de cada vértice e “encaminhamento de distância mínima
entre cada par de vértices” é a seguinte:
A B C D E F1 F2 G1 G2 H I J Grau
A 5 4 2 Ímpar
B 5 3 10 Ímpar
C 4 3 5 6 8 10 Par
D 2 5 4 6 Par
E 10 6 5 Ímpar
F1 8 4 0 5 5 9 Par
F2 0 3 Par
G1 6 5 0 7 Par
G2 3 0 Par
H 5 7 7 8 Par
I 10 5 9 7 4 Ímpar
J 8 4 Par
Os pares óptimos (A,B) e (E,I) são os arruamentos a repetir. A distância total óptima é de 126 centenas de
metros (116 dos arruamentos; 10 das repetições).
C
D
5 F1
8
6
4
G1
5
H
7
5
G2F2
0
3
0
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS)IX-16
O grafo “aumentado” a seguir apresentado (conexo e com todos os vértices de grau par) admite o ciclo de
Euler ,definido a partir de “A “ :
A B A C B E C D F C I E I F G F H I J H G D A
h. Não há ciclo de Euler pois há vértices de grau ímpar (C e E).
O grafo e matriz inicial são os seguintes:
Para “eulerizar” o grafo é necessário calcular a distância mínima entre os dois únicos vértices de grau ímpar
(é de 800 metros por C, B, D, E).
O grafo é “aumentado” com as arestas CB, BD e DE que representam os arruamentos a repetir durante a
ronda.
O ciclo óptimo (ciclo de Euler) é de 4900 metros (4100+800):
A, B, C, B, D, B, E, D, E, F, D, C, A
B
1º
A
D
22º
C
7º
3º
4º
E
11º
10º
6º
5º
I
F
9º
21º
15º
8º
G
14º
H
20º
18º
19º
16º
J
13º
17º2º
12º
A B500
E
FD
C
300
700
200
3001000 300
200
600
A B500
E
FD
C
300
700
200
3001000 300
200
600
Grafos – Circuito e Ciclo de Euler
INVESTIGAÇÃO OPERACIONAL (MS) IX-17
i. Há circuito de Euler com valor de 97 u.m. (grafo conexo; todos os vértices com grau par):
A E B C D E D B A F A
j. Não há circuito de Euler pois há vértices com semigraus interior e exterior diferentes (só A , H e I têm
semigraus iguais). O grafo aumentado é o seguinte:
A B C D E F G H I J K L Nº de arcos a repetir
A 10 10
B 30 2 para F;
C 10 20 1 para D;
D 20 1 para H;
E 20 10 10 1 para A;
F 40 20 3 para E; 1 para G;
G 20 10 1 para C;
H 10 10
I 10
J 30 10 2 para F;
K 30 2 para J;
L 20 1 para K;
Neste grafo, aumentado, o circuito postal óptimo tem 770 unidades de tempo das quais 420 são devidas à
repetição de arcos:
A B F E A C B F E B F E I J F G C D H G C D H …
… G C D H L K J F G K J L K J F E A
A
B
10
E
F
D
C
8
12
11
4
10
15
7
9
11

Weitere ähnliche Inhalte

Was ist angesagt?

554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabaritoJosé Willians
 
Conicas elipse
Conicas elipseConicas elipse
Conicas elipsecon_seguir
 
Lista de exercícios geometria analítica - retas e circunferências
Lista de exercícios   geometria analítica - retas e circunferênciasLista de exercícios   geometria analítica - retas e circunferências
Lista de exercícios geometria analítica - retas e circunferênciasbevenut
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2numerosnamente
 
Lista de exercícios geometria analítica (ponto)
Lista de exercícios   geometria analítica (ponto)Lista de exercícios   geometria analítica (ponto)
Lista de exercícios geometria analítica (ponto)Renato Barbosa
 
Resolução - P2 - Modelo C - Geometria Analítica
Resolução - P2 - Modelo C - Geometria AnalíticaResolução - P2 - Modelo C - Geometria Analítica
Resolução - P2 - Modelo C - Geometria AnalíticaRodrigo Thiago Passos Silva
 
questões de vestibular Circunferência (2009 a 2011)
questões de vestibular Circunferência (2009 a 2011)questões de vestibular Circunferência (2009 a 2011)
questões de vestibular Circunferência (2009 a 2011)Ataíde Brandão
 
Geometria analítica anotações de aula 1° semestre 2010
Geometria analítica anotações de aula 1° semestre 2010Geometria analítica anotações de aula 1° semestre 2010
Geometria analítica anotações de aula 1° semestre 2010Marcos Azevedo
 
Apost2 exresolvidos retas-planos
Apost2 exresolvidos retas-planosApost2 exresolvidos retas-planos
Apost2 exresolvidos retas-planoscon_seguir
 
Conicas cordpolar parametrizada
Conicas cordpolar parametrizadaConicas cordpolar parametrizada
Conicas cordpolar parametrizadaAnanias Neto
 
Matematica 2 grau (reparado)
Matematica 2 grau (reparado)Matematica 2 grau (reparado)
Matematica 2 grau (reparado)Aldenor Jovino
 
Cônicas e parábolas phdnet
Cônicas e parábolas   phdnetCônicas e parábolas   phdnet
Cônicas e parábolas phdnetJeremias Barreto
 
Ap geometria analitica resolvidos
Ap geometria analitica resolvidosAp geometria analitica resolvidos
Ap geometria analitica resolvidostrigono_metrico
 
Seções Cônicas - Hipérbole
Seções Cônicas - HipérboleSeções Cônicas - Hipérbole
Seções Cônicas - HipérboleGabriel Resende
 

Was ist angesagt? (20)

554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito
 
Conicas elipse
Conicas elipseConicas elipse
Conicas elipse
 
Lista de exercícios geometria analítica - retas e circunferências
Lista de exercícios   geometria analítica - retas e circunferênciasLista de exercícios   geometria analítica - retas e circunferências
Lista de exercícios geometria analítica - retas e circunferências
 
Lista 5 - Geometria Analítica - Resolução
Lista 5 - Geometria Analítica - ResoluçãoLista 5 - Geometria Analítica - Resolução
Lista 5 - Geometria Analítica - Resolução
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2
 
Aula 04: Elipse
Aula 04: ElipseAula 04: Elipse
Aula 04: Elipse
 
Lista de exercícios geometria analítica (ponto)
Lista de exercícios   geometria analítica (ponto)Lista de exercícios   geometria analítica (ponto)
Lista de exercícios geometria analítica (ponto)
 
Mat conicas elipses
Mat conicas elipsesMat conicas elipses
Mat conicas elipses
 
Hipérbole
HipérboleHipérbole
Hipérbole
 
Ponto e reta
Ponto e retaPonto e reta
Ponto e reta
 
Resolução - P2 - Modelo C - Geometria Analítica
Resolução - P2 - Modelo C - Geometria AnalíticaResolução - P2 - Modelo C - Geometria Analítica
Resolução - P2 - Modelo C - Geometria Analítica
 
questões de vestibular Circunferência (2009 a 2011)
questões de vestibular Circunferência (2009 a 2011)questões de vestibular Circunferência (2009 a 2011)
questões de vestibular Circunferência (2009 a 2011)
 
Geometria analítica anotações de aula 1° semestre 2010
Geometria analítica anotações de aula 1° semestre 2010Geometria analítica anotações de aula 1° semestre 2010
Geometria analítica anotações de aula 1° semestre 2010
 
Geometria analitica
Geometria analiticaGeometria analitica
Geometria analitica
 
Apost2 exresolvidos retas-planos
Apost2 exresolvidos retas-planosApost2 exresolvidos retas-planos
Apost2 exresolvidos retas-planos
 
Conicas cordpolar parametrizada
Conicas cordpolar parametrizadaConicas cordpolar parametrizada
Conicas cordpolar parametrizada
 
Matematica 2 grau (reparado)
Matematica 2 grau (reparado)Matematica 2 grau (reparado)
Matematica 2 grau (reparado)
 
Cônicas e parábolas phdnet
Cônicas e parábolas   phdnetCônicas e parábolas   phdnet
Cônicas e parábolas phdnet
 
Ap geometria analitica resolvidos
Ap geometria analitica resolvidosAp geometria analitica resolvidos
Ap geometria analitica resolvidos
 
Seções Cônicas - Hipérbole
Seções Cônicas - HipérboleSeções Cônicas - Hipérbole
Seções Cônicas - Hipérbole
 

Andere mochten auch

Andere mochten auch (6)

Investigação Operacional // How to raise up to 80% gross margin based in effi...
Investigação Operacional // How to raise up to 80% gross margin based in effi...Investigação Operacional // How to raise up to 80% gross margin based in effi...
Investigação Operacional // How to raise up to 80% gross margin based in effi...
 
Case Study - Universidade do Porto
Case Study - Universidade do PortoCase Study - Universidade do Porto
Case Study - Universidade do Porto
 
Casestudy - Madeira Wine Company
Casestudy - Madeira Wine CompanyCasestudy - Madeira Wine Company
Casestudy - Madeira Wine Company
 
Case Study Piccadilly Calçados
Case Study Piccadilly CalçadosCase Study Piccadilly Calçados
Case Study Piccadilly Calçados
 
Microeconomia
MicroeconomiaMicroeconomia
Microeconomia
 
Gestão e Organização de Empresas parte 2
Gestão e Organização de Empresas parte 2Gestão e Organização de Empresas parte 2
Gestão e Organização de Empresas parte 2
 

Ähnlich wie Grafos cap9

Testes 5 + 5.pdf
Testes 5 + 5.pdfTestes 5 + 5.pdf
Testes 5 + 5.pdfTniaLopes50
 
Geometria analitica equacao da reta
Geometria analitica equacao da retaGeometria analitica equacao da reta
Geometria analitica equacao da retacon_seguir
 
GEOMETRIA ANALÍTICA cap 08
GEOMETRIA ANALÍTICA cap  08GEOMETRIA ANALÍTICA cap  08
GEOMETRIA ANALÍTICA cap 08Andrei Bastos
 
Mat geometria analitica 001
Mat geometria analitica   001Mat geometria analitica   001
Mat geometria analitica 001trigono_metrico
 
Proposta de teste intermédio 9ano
Proposta de teste intermédio 9anoProposta de teste intermédio 9ano
Proposta de teste intermédio 9anoMartinha Alexandre
 
Geometria_Plana.pdf
Geometria_Plana.pdfGeometria_Plana.pdf
Geometria_Plana.pdfJuliaEster7
 
554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabaritoJosé Willians
 
Geometria analítica - Cônicas
Geometria analítica - CônicasGeometria analítica - Cônicas
Geometria analítica - CônicasKalculosOnline
 
Feixe de retas paralelas teorema de tales
Feixe de retas paralelas teorema de talesFeixe de retas paralelas teorema de tales
Feixe de retas paralelas teorema de talesKarla Danielle Ferreira
 
Porto editora maximo - 10 ano 2018-19 - 3 teste
Porto editora   maximo - 10 ano 2018-19 - 3 testePorto editora   maximo - 10 ano 2018-19 - 3 teste
Porto editora maximo - 10 ano 2018-19 - 3 testeMaria Da Guia Fonseca
 
Caderno de atividades terceirão ftd 04
Caderno de atividades terceirão ftd   04Caderno de atividades terceirão ftd   04
Caderno de atividades terceirão ftd 04Oswaldo Stanziola
 
Proposta_Prova-modelo_MatemáticaA12_2019.pdf
Proposta_Prova-modelo_MatemáticaA12_2019.pdfProposta_Prova-modelo_MatemáticaA12_2019.pdf
Proposta_Prova-modelo_MatemáticaA12_2019.pdfmadamastor
 
Teste de avaliação n.º 3 versão a
Teste de avaliação n.º 3 versão aTeste de avaliação n.º 3 versão a
Teste de avaliação n.º 3 versão asilvia_lfr
 

Ähnlich wie Grafos cap9 (20)

Testes 5 + 5.pdf
Testes 5 + 5.pdfTestes 5 + 5.pdf
Testes 5 + 5.pdf
 
Geometria analitica equacao da reta
Geometria analitica equacao da retaGeometria analitica equacao da reta
Geometria analitica equacao da reta
 
GEOMETRIA ANALÍTICA cap 08
GEOMETRIA ANALÍTICA cap  08GEOMETRIA ANALÍTICA cap  08
GEOMETRIA ANALÍTICA cap 08
 
Mat geometria analitica 001
Mat geometria analitica   001Mat geometria analitica   001
Mat geometria analitica 001
 
Proposta de teste intermédio 9ano
Proposta de teste intermédio 9anoProposta de teste intermédio 9ano
Proposta de teste intermédio 9ano
 
Círculos
CírculosCírculos
Círculos
 
Geometria_Plana.pdf
Geometria_Plana.pdfGeometria_Plana.pdf
Geometria_Plana.pdf
 
Exc trigon
Exc trigonExc trigon
Exc trigon
 
554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito554 exercicios geometria_analitica_conicas_gabarito
554 exercicios geometria_analitica_conicas_gabarito
 
Matematica2007
Matematica2007Matematica2007
Matematica2007
 
Aula elipse
Aula elipseAula elipse
Aula elipse
 
19 21 teste 2
19 21 teste 219 21 teste 2
19 21 teste 2
 
F7
F7F7
F7
 
Geometria analítica - Cônicas
Geometria analítica - CônicasGeometria analítica - Cônicas
Geometria analítica - Cônicas
 
Feixe de retas paralelas teorema de tales
Feixe de retas paralelas teorema de talesFeixe de retas paralelas teorema de tales
Feixe de retas paralelas teorema de tales
 
Porto editora maximo - 10 ano 2018-19 - 3 teste
Porto editora   maximo - 10 ano 2018-19 - 3 testePorto editora   maximo - 10 ano 2018-19 - 3 teste
Porto editora maximo - 10 ano 2018-19 - 3 teste
 
Caderno de atividades terceirão ftd 04
Caderno de atividades terceirão ftd   04Caderno de atividades terceirão ftd   04
Caderno de atividades terceirão ftd 04
 
Proposta_Prova-modelo_MatemáticaA12_2019.pdf
Proposta_Prova-modelo_MatemáticaA12_2019.pdfProposta_Prova-modelo_MatemáticaA12_2019.pdf
Proposta_Prova-modelo_MatemáticaA12_2019.pdf
 
Superfícies quadricas revisão
Superfícies quadricas   revisãoSuperfícies quadricas   revisão
Superfícies quadricas revisão
 
Teste de avaliação n.º 3 versão a
Teste de avaliação n.º 3 versão aTeste de avaliação n.º 3 versão a
Teste de avaliação n.º 3 versão a
 

Grafos cap9

  • 1. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-1 IX. Circuito e Ciclo de Euler Um grafo orientado diz-se “euleriano” se há um circuito que contenha todos os seus arcos uma e só uma vez (circuito “euleriano”).O grafo da figura é “euleriano”porque admite o circuito A, B, C, D. De acordo com o teorema de Euler, “um grafo orientado admite um circuito de Euler se e só se for fortemente conexo e pseudo simétrico1 ” (diz-se que o grafo é “euleriano”). Um grafo não orientado diz-se “euleriano” se há um ciclo que contenha todas as suas arestas uma e só uma vez (ciclo “euleriano”).O grafo da figura é “euleriano”porque admite, por exemplo, o ciclo A, D, C, B. De acordo com o teorema de Euler, “um grafo não orientado admite um ciclo de Euler se e só for conexo e não tiver vértices de grau ímpar ”. 1. Circuito de Euler Considere-se que a figura seguinte representa uma zona da cidade onde uma equipa terá que fazer recolha de lixo em todos os arruamentos existentes (observando o sentido indicado para o trânsito). Em cada um dos arruamentos está indicada a distância (centenas de metros) entre os vértices extremos. Admitindo que se pretende que o percurso de limpeza comece e termine em “A” qual é o circuito óptimo ? O circuito óptimo será um circuito de Euler (em que se percorrerão todos os arruamentos uma única vez). Se existir, a distância total óptima será de 82 centenas de metros (somatório de todas as distâncias associadas a cada um dos arcos do grafo). Este grafo será “euleriano” ?. 1 Um grafo orientado em que qualquer dos vértices tem semigrau interior e exterior iguais, diz-se grafo pseudo simétrico. 4 1 2 D A B C 3 4 1 2 D A B C 3 A E C D B 10 10 15 11 12 8 9 7
  • 2. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-2 Na matriz do grafo, verifica-se se o grafo é conexo e, em caso afirmativo, determinam-se os semigraus de cada um dos vértices : A B C D E AΓ ^ + iv A 10 0 1 B 10 11 2 2 C 12 3 1 D 15 9 2 2 E 8 7 1 2 1 ^ − ΓA 0 1 3 2 2 − iv 1 2 1 2 2 Porque o grafo é conexo e todos os vértices têm semigraus iguais, de acordo com o teorema de Euler o grafo é “euleriano”. Para estabelecer um circuito de Euler, que sabemos existir, actue-se do seguinte modo: 1. Registar em coluna, para cada vértice, os seus sucessores (1º quadro) A B C D E E A D B B C E D 2. Organizar um 2º quadro para registar, sucessivamente, os arcos do circuito (início em “A” por exemplo) Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A 3. Escolher sucessivamente sucessores do último vértice atingido, impedindo circuitos “parasitas” • Seleccionar o arco AE ; eliminar “E” no 1º quadro e registar no 2º quadro; último vértice é “E” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E • Seleccionar o arco EB ; eliminar “B” no 1º quadro e registar no 2º quadro; último vértice é “B” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B
  • 3. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-3 • Seleccionar o arco BA ; eliminar “A” no 1º quadro e registar no 2º quadro; último vértice é “A” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B A • O vértice “A” não tem sucessores; estabeleceu-se prematuramente o circuito “parasita” A, E, B, A.. O vértice “A” é deslocado para a última casa livre do 2º quadro. O “último” vértice” do circuito é agora “B” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B A • Seleccionar o arco BC ; eliminar “C” no 1º quadro e registar no 2º quadro; último vértice é “C” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C A • Seleccionar o arco CD ; eliminar “D” no 1º quadro e registar no 2º quadro; último vértice é “D” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C D A • Seleccionar o arco DB ; eliminar “B” no 1º quadro e registar no 2º quadro; último vértice é “B” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C D B A
  • 4. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-4 • O vértice “B” não tem sucessores; estabeleceu-se o circuito “parasita” B, C, D, B. O vértice “B” é deslocado para a última casa livre do 2º quadro. O “último” vértice” do circuito é agora “D” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C D B A • Seleccionar o arco DE ; eliminar “E” no 1º quadro e registar no 2º quadro; último vértice é “E” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C D E B A • Seleccionar o arco ED ; eliminar “D” no 1º quadro e registar no 2º quadro; último vértice é “D” A B C D E E A D B B C E D Ordem 1º 2º 3º 4º 5º 6º 7º 8º Fecho Vértice A E B C D E D B A Todos os arcos foram seleccionados. Neste último quadro tem-se o circuito de Euler com início e fim no vértice “A”. Veja-se agora a situação anterior mas noutra zona da cidade: Este grafo será “euleriano” ? F G I D B A E H 5 4 4 4 4 8 3 3 C 4 6 4 7 7 3 6 6 55
  • 5. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-5 Comecemos por organizar a matriz booleana do grafo da zona de limpeza, verificar se o grafo é fortemente conexo e registar o semigrau interior e exterior de cada vértice: A B C D E F G H I AΓ ^ + iv A 1 1 0 2 B 1 1 1 2 C 1 1 1 D 1 1 2 2 E 1 1 1 2 3 F 1 1 3 2 G 1 1 4 2 H 1 1 1 3 3 I 1 3 1 1 ^ − ΓA 0 2 3 4 1 1 2 3 4 − iv 2 3 2 2 2 1 2 2 2 A intersecção dos fechos transitivos directo e inverso do vértice “A” é o conjunto {A,B,C,D,E,F,G,H,I }) pelo que o grafo é fortemente conexo. Nos vértices B, C, E, F, H e I os semigraus exterior e interior são diferentes pelo que não há circuito de Euler ou seja para fazer o circuito C, …., C será necessário repetir a passagem em um ou mais dos arruamentos (arcos). O problema é então saber quais os arruamentos a repetir de forma a que o aumento na distância total seja o menor possível. O cálculo da solução óptima deste problema implica a “eulerização” do grafo que consiste em calcular quais os arcos a repetir entre vértices da rede (repetição de arruamentos) por forma a que, em todos eles, haja igualdade de semigraus (grafo “euleriano”). Recorrendo à teoria de fluxos em rede, os vértices com semigraus diferentes serão Origem ou Destino de fluxo consoante o semigrau exterior é, respectivamente, menor ou maior do que o semigrau interior. Assim, por exemplo, o vértice “B” necessita ser considerado como Origem de Fluxo com “oferta” de uma unidade de fluxo. De facto, porque é “origem” de 2 arcos e “fim” de 3 arcos, é necessário repetir a passagem num dos arcos de que “B” é origem para ficar equilibrado o número de “saídas de B” com o número de “entradas em B”. No quadro seguinte, sistematiza-se esta pesquisa prévia: A B C D E F G H I + iv − iv Considerar “Oferta”/”Procura” A 1 1 2 = 2 B 1 1 2 < 3 Origem 132 =− C 1 1 < 2 Origem 121 =− D 1 1 2 = 2 E 1 1 1 3 > 2 Destino 123 =− F 1 1 2 > 1 Destino 112 =− G 1 1 2 = 2 H 1 1 1 3 > 2 Destino 123 =− I 1 1 < 2 Origem 121 =−
  • 6. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-6 Nota: Veja-se que a “disponibilidade de fluxo” dos vértices classificados como “origem de fluxo ” tal como a “necessidade de fluxo” dos vértices classificados como “destino de fluxo” é igual ao valor absoluto da diferença entre os semigraus do vértice. Para calcular o “fluxo máximo com menor distância total”, define-se a entrada fictícia na rede, “X”, que é ligada com arcos às origens de fluxo (B, C, I) e a saída fictícia da rede, “Y”, que é ligada aos destinos de fluxo (E, F, H). A capacidades destes arcos de ligação é igual à oferta/procura do vértice a que estão associados. Os restantes arcos da rede têm capacidade ilimitada. O fluxo máximo com menor encargo (distância neste caso) pode obter-se recorrendo a um modelo de programação inteira (PLIP) em que as variáveis de decisão, não negativas, indicam o fluxo que percorre cada arco da rede. Atendendo a que, obrigatoriamente, as variáveis XB, XC , XI, EY, FY e HY terão valor de 1 unidade (tanto quanto é o valor absoluto da diferença entre os semigraus), o modelo a utilizar é o seguinte: AB AC BD BE CB DC DI EA EF EH FA FG GE GI HB HD HG IH Min 4 6 5 3 4 7 7 5 4 3 8 5 4 6 4 6 4 3 Obs I -1 -1 1 = 1 Origem B -1 1 1 -1 -1 = 1 Origem C -1 1 -1 = 1 Origem G 1 -1 -1 1 = 0 D 1 -1 -1 1 = 0 A -1 -1 1 1 = 0 H 1 -1 -1 -1 1 = 1 Destino E 1 -1 -1 -1 1 = 1 Destino F 1 -1 -1 = 1 Destino A solução óptima1 BE=2, CB=EF=IH=1 indica para cada um destes arruamentos o número de vezes que devem ser repetidos para obter o circuito desejado com a distância total óptima de 105 centenas de metros (88 dos arruamentos e 17 das repetições de arruamentos). Para calcular o circuito é necessário “aumentar” o grafo com 2 1 Obtida pelo método “out of kilter”. Pode utilizar-se o modelo de Transhipment. G I D B A 5 4 4 4 4 8 3 3 C 4 6 4 7 7 3 6 6 55 F E H X Cap = 1 Y Cap = 1 Cap = 1 Cap = 1 Cap = 1 Cap = 1
  • 7. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-7 arcos ligando B a E, 1 arco ligando C a B, 1 arco ligando E a F e 1 arco ligando I a H pois deste modo todos os vértices ficam com semigraus iguais (grafo “euleriano”): Este grafo “aumentado” admite o circuito de Euler: “C, B, D, I, H, G, E, H, D, C, B, E, F, G, I, H, B, E, A, B, E, F, A, C” que se representa na figura seguinte (nos arcos está registada a ordem porque são percorridos): Nota: veja-se que, nos vértices B, C, E, F, H e I são iguais os semigraus interior e exterior (pseudo simetria) Se se optasse pelo modelo de Transhipment para calcular os arruamentos a repetir, usava-se a matriz inicial: A B C D E F G H I Oferta Observações A 0 4 6 3 B 0 5 3 3+1 C 4 0 3+1 D 7 0 7 3 E 5 0 4 3 3 F 8 0 5 3 G 4 0 6 3 H 4 6 4 0 3 I 3 0 3+1 Procura 3 3 3 3 3+1 3+1 3 3+1 3 A distância associada às ligações inexistentes é considerada infinita (Big “M”) Nota: Buffer= 3; Origens e Transhipment: B, C, I ; Destinos e Transhipment: E, F, H obtendo-se a solução óptima seguinte (veja-se BE=2, CB=EF=IH=1; Min f(X)=17 ): A 3 0 B 2 0 2 C 1 3 D 3 E 2 1 0 F 3 G 3 H 0 3 I 1 3 A F G E C D H I B 13º 6º 5º 14º 15º 3º 8º 16º 7º 11º 12º 22º 18º 19º 2º 1º 9º 23º 10º 20º 17º 21º 4º
  • 8. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-8 2. Ciclo de Euler Considere-se agora a mesma zona da cidade mas em que os arruamentos permitem transitar nos dois sentidos (arestas). Admitindo desejar que o percurso de limpeza de todos os arruamentos comece e termine em “C” qual é o ciclo óptimo ? O ciclo óptimo será um ciclo de Euler (em que se percorrerão todos os arruamentos uma única vez). Se existir, a distância total óptima será de 88 centenas de metros (somatório de todas as distâncias associadas a cada um dos arcos do grafo). Este grafo admite ciclo de Euler ? O grau de cada um dos vértices (número de arestas de que o vértice é extremo) é o seguinte: A B C D E F G H I Grau Obs. A 1 1 1 1 4 B 1 1 1 1 1 5 Ímpar C 1 1 1 3 Ímpar D 1 1 1 1 4 E 1 1 1 1 1 5 Ímpar F 1 1 1 3 Ímpar G 1 1 1 1 4 H 1 1 1 1 1 5 Ímpar I 1 1 1 3 Ímpar Nota: atente-se que em qualquer grafo não orientado, é sempre par o número de vértices de grau ímpar, caso existam (teorema de Euler) Porque há pelo menos um vértice de grau ímpar não há ciclo de Euler para a limpeza ou seja para fazer o ciclo C, …., C será necessário repetir a passagem em um ou mais dos arruamentos. O problema é então saber quais os arruamentos a repetir de forma a que o aumento na distância total seja o menor possível. O cálculo da solução óptima deste problema implica a “eulerização” do grafo que consiste em calcular quais as arestas a repetir entre vértices da rede (repetição de arruamentos) por forma a que, todos eles, tenham grau par (admitindo então um ciclo de Euler). A F G E C D H I B 5 4 4 6 3 7 6 4 3 3 4 8 5 4 5 4 7 6
  • 9. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-9 A técnica a usar, que difere da utilizada para grafos orientados, é a seguinte: 1. calcular a distância mínima entre cada par de vértices da rede 2. organizar pares de vértices, de grau ímpar, de forma a que : • cada um dos vértices não pertença a mais do que um par • seja mínima a soma das distâncias mínimas associadas a cada um dos pares Utilizando um algoritmo de encaminhamento (Floyd por exemplo) obtêm-se as seguintes matrizes de distâncias mínimas e de precedências: A B C D E F G H I A 4 6 5 8 B 4 4 5 3 4 C 6 4 7 (Matriz inicial) D 5 7 6 7 E 5 3 4 4 3 F 8 4 5 G 4 5 4 6 H 4 6 3 4 3 I 7 6 3 A B C D E F G H I A 4 6 9 5 8 9 8 11 B 4 4 5 3 7 7 4 7 C 6 4 7 7 11 11 8 11 (Matriz de distâncias mínimas) D 9 5 7 8 12 10 6 7 E 5 3 7 8 4 4 3 6 F 8 7 11 12 4 5 7 10 G 9 7 11 10 4 5 4 6 H 8 4 8 6 3 7 4 3 I 11 7 11 7 6 10 6 3 A B C D E F G H I A B E B H B E E H C B E E B H (Matriz de precedências) D B B E H E B B H F E E E E H G E E E H H B B E I H H H H H Para organizar os pares de vértices de grau ímpar recorre-se a algoritmia adequada (minimum weighted perfect matching) ou a um modelo de PLIB (programação linear inteira binária). Neste último, consideram-se os pares possíveis (i,j) como sendo as variáveis de decisão (binárias: com valor 1 organiza-se o par (i,j) ; com valor 0 não se organiza o par (i,j) ). O modelo de PLIB a utilizar é o seguinte:
  • 10. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-10 BC BE BF BH BI CB CE CF CH CI EB EC EF EH EI FB FC FE FH FI HB HC HE HF HI IB IC IE IF IH f= 4 3 7 4 7 4 7 11 8 11 3 7 4 3 6 7 11 4 7 10 4 8 3 7 3 7 11 6 10 3 Vértice B 1 1 1 1 1 1 1 1 1 1 = 1 C 1 1 1 1 1 1 1 1 1 1 = 1 E 1 1 1 1 1 1 1 1 1 1 = 1 F 1 1 1 1 1 1 1 1 1 1 = 1 H 1 1 1 1 1 1 1 1 1 1 = 1 I 1 1 1 1 1 1 1 1 1 1 = 1 Nota: Para cada vértice de grau ímpar é estabelecida uma restrição com todas as variáveis em que este vértice é o 1º ou o 2º vértice do par. Deste modo só uma dessas variáveis poderá ter valor 1 impedindo que o vértice pertença a mais do que um par. Os coeficientes da função objectivo, a minimizar, são as distâncias mínimas entre cada um dos pares de vértices em estudo (ver matriz de distâncias mínimas). Se, no óptimo, o par (i,j) tiver o valor “1” é necessário recorrer à matriz de precedências para saber o encaminhamento associado à distância mínima (que é coeficiente do par na função objectivo). As arestas deste encaminhamento serão duplicadas alcançando-se a desejada paridade dos vértices para se calcular o ciclo óptimo como se de um ciclo de Euler se tratasse. A solução óptima do modelo de PLIB é BC=1, EF=1; HI=1 com valor mínimo da função igual a 11 centenas de metros. Recorrendo à matriz de precedências, o encaminhamento óptimo entre estes pares de vértices é: • BC : ligação directa com distância óptima de 4 centenas de metros • EF : ligação directa com distância óptima de 4 centenas de metros • HI : ligação directa com distância óptima de 3 centenas de metros A figura seguinte mostra o grafo “aumentado” com a indicação da ordem porque cada arruamento deve ser percorrido pelo pessoal da limpeza (ciclo de Euler). A distância total a percorrer será de 99 centenas de metros (88+11). A F G E C D H I B 5 4 4 6 3 7 6 4 3 3 4 8 5 4 5 4 7 6 3 4 4
  • 11. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-11 3. Auto Teste a. Qual é o grau do vértice B? b. O grafo seguinte admite um ciclo de Euler? Em caso negativo, quantas arestas são necessárias para “eulerizá- lo” ? c. Qual é o mínimo de repetições de arestas necessárias para “eulerizar” o grafo seguinte? d. Comente a afirmação seguinte: “No grafo não orientado com 10 vértices de grau ímpar é necessário repetir 5 arestas para “eulerizar” o mesmo. e. Comente a afirmação seguinte: “No grafo não orientado com 10 vértices de grau ímpar é necessário, no mínimo, repetir 5 arestas para “eulerizar” o mesmo. f. “Eulerize” o grafo seguinte: CA B D CA B D D A B C F G E G I B A D EC F K LJ H
  • 12. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-12 g. Calcule um ciclo óptimo de limpeza na região urbana que o grafo seguinte representa (arestas com distâncias em centenas de metros): h. Numa fábrica as ligações exteriores existentes são as indicadas na matriz seguinte (arestas com distâncias em metros). A B C D E F A 500 1000 B 500 300 200 700 C 1000 300 600 D 200 600 300 200 E 700 300 300 F 200 300 As instalações da segurança nocturna estão localizadas em “A”. Calcule o encaminhamento óptimo para a segurança sair e regressar às instalações percorrendo todos os arruamentos exteriores. i. Calcule o circuito óptimo no grafo com a seguinte matriz de custos (u.m.): A B C D E F A 10 4 B 10 11 C 12 D 15 9 E 8 7 F 11 B 5 A D 2 C 5 4 3 E 5 10 6 10 I F 8 6 3 4 G 5 H 7 4 8 5 J 9 7
  • 13. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-13 j. Calcule o circuito postal óptimo no grafo com a seguinte matriz de tempos (u.t.): A B C D E F G H I J K L A 10 10 B 30 C 10 20 D 20 E 20 10 10 F 40 20 G 20 10 H 10 10 I 10 J 30 10 K 30 L 20
  • 14. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-14 4. Solução do Auto Teste a. O grau do vértice é o número de arcos/arestas de que o vértice é extremo. O vértice B tem grau 3. b. Os vértices B e D têm grau ímpar, pelo que não há ciclo de Euler. Porque B e D são adjacentes “euleriza-se” o grafo repetindo a aresta BD: c. Os vértices com grau ímpar são C e G. A cadeia de menor comprimento tem duas arestas (CB e BG) pelo que é necessário repetir estas duas arestas: d. Errado (ver a questão anterior). e. Correcto (ver a questão anterior). f. Reutilizar as 5 arestas AB, DE, EG, IL, LK ou AB, DF, FH, HK, GI são soluções óptimas. CA B D D A B C F G E G I B A D EC F K LJ H G I B A D EC F K LJ H
  • 15. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-15 g. Não há ciclo de Euler (A, B, E e I têm grau ímpar). Para “eulerizar” o grafo é necessário calcular a matriz de encaminhamentos de distância mínima entre cada par de vértices e, de seguida, organizar os 4 vértices de grau ímpar em dois pares complementares. Para tal, a ligação F-G deve desdobrar-se ficando do seguinte modo: A matriz inicial de distâncias para cálculo do “grau de cada vértice e “encaminhamento de distância mínima entre cada par de vértices” é a seguinte: A B C D E F1 F2 G1 G2 H I J Grau A 5 4 2 Ímpar B 5 3 10 Ímpar C 4 3 5 6 8 10 Par D 2 5 4 6 Par E 10 6 5 Ímpar F1 8 4 0 5 5 9 Par F2 0 3 Par G1 6 5 0 7 Par G2 3 0 Par H 5 7 7 8 Par I 10 5 9 7 4 Ímpar J 8 4 Par Os pares óptimos (A,B) e (E,I) são os arruamentos a repetir. A distância total óptima é de 126 centenas de metros (116 dos arruamentos; 10 das repetições). C D 5 F1 8 6 4 G1 5 H 7 5 G2F2 0 3 0
  • 16. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS)IX-16 O grafo “aumentado” a seguir apresentado (conexo e com todos os vértices de grau par) admite o ciclo de Euler ,definido a partir de “A “ : A B A C B E C D F C I E I F G F H I J H G D A h. Não há ciclo de Euler pois há vértices de grau ímpar (C e E). O grafo e matriz inicial são os seguintes: Para “eulerizar” o grafo é necessário calcular a distância mínima entre os dois únicos vértices de grau ímpar (é de 800 metros por C, B, D, E). O grafo é “aumentado” com as arestas CB, BD e DE que representam os arruamentos a repetir durante a ronda. O ciclo óptimo (ciclo de Euler) é de 4900 metros (4100+800): A, B, C, B, D, B, E, D, E, F, D, C, A B 1º A D 22º C 7º 3º 4º E 11º 10º 6º 5º I F 9º 21º 15º 8º G 14º H 20º 18º 19º 16º J 13º 17º2º 12º A B500 E FD C 300 700 200 3001000 300 200 600 A B500 E FD C 300 700 200 3001000 300 200 600
  • 17. Grafos – Circuito e Ciclo de Euler INVESTIGAÇÃO OPERACIONAL (MS) IX-17 i. Há circuito de Euler com valor de 97 u.m. (grafo conexo; todos os vértices com grau par): A E B C D E D B A F A j. Não há circuito de Euler pois há vértices com semigraus interior e exterior diferentes (só A , H e I têm semigraus iguais). O grafo aumentado é o seguinte: A B C D E F G H I J K L Nº de arcos a repetir A 10 10 B 30 2 para F; C 10 20 1 para D; D 20 1 para H; E 20 10 10 1 para A; F 40 20 3 para E; 1 para G; G 20 10 1 para C; H 10 10 I 10 J 30 10 2 para F; K 30 2 para J; L 20 1 para K; Neste grafo, aumentado, o circuito postal óptimo tem 770 unidades de tempo das quais 420 são devidas à repetição de arcos: A B F E A C B F E B F E I J F G C D H G C D H … … G C D H L K J F G K J L K J F E A A B 10 E F D C 8 12 11 4 10 15 7 9 11