Escolar Documentos
Profissional Documentos
Cultura Documentos
J
udice
Pedro C. Martins
Marta B. Pascoal
Jorge P. Santos
EM REDES
OPTIMIZAC
AO
Departamento de Matematica
Universidade de Coimbra
2009
Conte
udo
1 Introdu
c
ao
3 No
co
es da Teoria de Grafos
4 Arvore
Geradora de Custo Mnimo
13
15
6 M
etodo Simplex para o Problema de Fluxo de Custo Mnimo
22
7 Problema de Transportes
25
8 Fase I do M
etodo Simplex para o Problema de Fluxo de Custo Mnimo
29
9 M
etodo M-Grande
35
10 Tratamento de Desigualdades
36
11 Problemas N
ao Equilibrados
38
39
13 M
etodo Simplex para o Problema de Fluxo de Custo Mnimo com Limites
41
14 Determina
c
ao de uma Solu
c
ao B
asica Admissvel para o Problema de Fluxo de Custo
Mnimo com Limites
44
15 Formula
c
ao do Problema do Caminho Mais Curto como Problema de Fluxo de Custo
Mnimo
49
16 Resolu
c
ao do Problema do Caminho Mais Curto
51
17 Problema do Fluxo M
aximo
55
18 Resolu
c
ao do Problema do Fluxo M
aximo
56
19 Problema de Afecta
c
ao
64
20 M
etodo Simplex para o Problema de Afecta
c
ao
65
21 M
etodo H
ungaro para o Problema de Afecta
c
ao
67
22 Problemas de Afecta
c
ao N
ao Equilibrados
72
23 Optimiza
c
ao N
ao Linear em Redes
74
82
25 Decomposi
c
ao com Gera
c
ao de Colunas
84
26 Resolu
c
ao do Problema de Fluxo Multicomodidade de Custo Mnimo
94
27 Problemas de Planeamento - M
etodo do Caminho Crtico
99
Exerccios
103
Bibliografia
117
Introdu
c
ao
O objectivo fundamental dos problemas de optimizacao em redes e determinar uma solucao, que representa
uma entidade numa rede, como por exemplo uma distribuicao de fluxo ou um caminho, associada a um valor
optimo de uma determinada funcao objectivo.
A optimizacao em redes utiliza tecnicas de optimizacao, linear e n
ao-linear, adaptadas `a estrutura associada
`a rede, que permitem a resolucao de problemas de dimensao elevada de forma extremamente eficiente, podendo
por isso ser utilizadas em in
umeras aplicacoes. Por outro lado, muitos dos problemas de programacao linear
formulados em redes tem solucoes com valores inteiros, sendo por isso muito mais simples de resolver do que os
usuais problemas de programacao inteira. Finalmente, os modelos em redes ocorrem nos mais variados contextos
e s
ao muito intuitivos e de f
acil apreensao.
O primeiro trabalho a relacionar solucoes b
asicas de programacao linear em problemas de transportes e
arvores em grafos apareceu em 1949, devido a Koopmans e permitiu a aplicacao do metodo simplex a problemas
de fluxo em redes. Por esta raz
ao este texto comeca por apresentar a aplicacao deste metodo ao problema do
fluxo de custo mnimo. Seguidamente s
ao apresentadas reducoes de outros problemas de optimizacao em redes
como problemas deste tipo. Em particular, ser
ao tratados os problemas de transporte, afectacao, caminho mais
curto e fluxo maximo. Para esses problemas s
ao tambem descritas tecnicas especialmente vocacionadas para as
suas resolucoes. Ap
os an
alise de alguns dos mais relevantes problemas lineares de optimizacao em redes e ainda
feita referencia a problemas de fluxo de custo mnimo de maior complexidade, tais como problemas de fluxo
multicomodidade de custo mnimo e problemas de optimizacao em redes envolvendo uma funcao objectivo n
ao
linear.
Neste trabalho tentou-se priveligiar a relacao entre a programacao linear e a optimizacao em redes, analisandose paralelamente quest
oes mais especficas das redes. Houve a preocupacao em combinar a simplicidade e o rigor
1
na exposicao e de incluir uma grande variedade de exemplos de ilustracao, de forma a que este texto possa ser
usado como manual did
actico num curso de optimizacao em redes. O livro inclui ainda varios exerccios sobre
os assuntos abordados e uma bibliografia, que se poder
a tornar um bom auxlio para leituras posteriores sobre
a optimizacao em redes.
1. PROBLEMA DE TRANSPORTE
A companhia Brasileira de Cafe transforma cafe em grao em cafe em p
o, em 3 plantacoes bem localizadas.
O cafe e posteriormente embarcado todas as semanas com destino a 4 armazens em diferentes cidades, para
retalho, distribuicao e exportacao. O custo de transporte, em unidades monet
arias (u.m.), de uma tonelada de
cafe da plantacao i para o armazem j e dado pela seguinte tabela.
Plantacoes\Armazens
1
2
3
1
9
7
5
2
8
6
4
3
3
2
7
4
4
1
9
Capacidades Plantaco
es
40
60
80
Armaz
ens Necessidades
50
.....
......
..... .....
.... .....
...................................................................... 1 ....
.... 1 ............................................9
..... ...... .............................8
...... .....
.
.
.
.
.
.
.
.
....
.
........... .............
.
7 ......... ...........
.
...........
..... .......3 ........................ ............... ..........
..
..... ......
.
..... ...... ............. ................................. ........
.4
.. . . .
..... ...............
..... ............... ....
........... ......
...6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... 2 ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ........................
....
.............
........
......
........... .....
.... .... ......... ....................... .................. ............ ................
............
.....
.... 2 ...............................................
.
.
.
.
.
.
..... ..... .......... ................................ ...... ........ ...........
........
.
.
....
.
.
.
.
.
.
.
....................
........ ....... .....................................2
.
. ..............................
...........
.......
. .
..... .. .. 3 ....
.............................
..... .........................
.
.
.
.
........ .................
... 5..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... .......
............ ........1
........ ..........
..... ....... 4 .............
........................
............ ..............
........
............ ....
.... .... ..........................
...................................................................... 4 .....
.... 3 ...........................................7
..... .....
...... .....
....
...
9 ..........
.......
.......
40
30
60
Custo de transporte
j (j = 1, 2, 3, 4). E de notar que a capacidade total das tres plantacoes e igual ao requerimento total dos quatro
armazens. Deste modo, para que sejam satisfeitas integralmente as necessidades dos armazens, as plantacoes
ter
ao de ser utilizadas na sua capacidade maxima.
Na definicao deste problema, a soma das quantidades de cafe a enviar de cada plantacao i (i = 1, 2, 3) tem
de ser igual `a quantidade disponvel nessa plantacao, ou seja,
x11 + x12 + x13 + x14 = 40
x21 + x22 + x23 + x24 = 60
x31 + x32 + x33 + x34 = 80
xij = ai , i = 1, 2, 3.
j=1
Alem disso, a soma das quantidades de cafe que chegam ao armazem j (j = 1, 2, 3, 4) deve ser igual `a procura
desse armazem, e portanto
x11 + x21 + x31
x12 + x22 + x32
x13 + x23 + x33
x14 + x24 + x34
= 50
= 40
= 30
= 60
Se representarmos por bj (j = 1, 2, 3, 4) o n
umero de toneladas de cafe que o armazem j necessita, este conjunto
de restricoes e equivalente a
3
X
xij = bj , j = 1, 2, 3, 4
i=1
3 X
4
X
cij xij
i=1 j=1
n
m X
X
cij xij
i=1 j=1
n
X
xij = ai , i = 1, . . . , m
j=1
m
X
xij = bj , j = 1, . . . , n
i=1
xij 0, i = 1, . . . , m; j = 1, . . . , n
onde m representa o n
umero de plantacoes e n o n
umero de armazens. Qualquer problema com esta formulacao
e designado por Problema de Transporte, mesmo que n
ao esteja em quest
ao o transporte de mercadorias entre
varias entidades.
2. PROBLEMA DE AFECTAC
AO
Uma Companhia de Seguros deseja construir (ou adaptar) cinco areas de representacao na area da cidade de
Lisboa. No passado a Companhia utilizou os servicos de cinco empresas construtoras diferentes e, tendo ficado
3
satisfeita com todas, convidou-as a orcamentar cada um dos servicos. As propostas finais (em milh
oes de euros)
s
ao indicadas na seguinte tabela
Area
Area
Area
Area
Area
1
2
3
4
5
Companhias Construtoras
1
2
3
4
5
85.3
88
87.5 82.4 89.1
78.9 77.4 77.4 76.5 79.3
82
81.3 82.4 80.6 83.5
84.3 84.6 86.2 83.3 84.4
86.7 78.3 81.7 85.5 85.5
Como a Companhia Seguradora tem urgencia na construcao das referidas areas, adjudicara no maximo uma
obra a cada uma das companhias construtoras. O objectivo do problema e a determinacao da afectacao da area
de construcao `
as construtoras, de forma a que o custo total envolvido seja mnimo.
Formula
c
ao. Definam-se as seguintes vari
aveis de decis
ao
1 se a
area i for construda pela construtora j
xij =
, i, j = 1, 2, 3, 4, 5
0 caso contr
ario
O problema obriga que cada
area seja construda por uma u
nica construtora, o que e traduzido pelas seguintes
restricoes que afectam uma construtora a uma area de construcao
x11 + x12 + x13 + x14 + x15
x21 + x22 + x23 + x24 + x25
x31 + x32 + x33 + x34 + x35
x41 + x42 + x43 + x44 + x45
x51 + x52 + x53 + x54 + x55
=1
=1
=1
=1
=1
Como as vari
aveis s
o podem tomar dois valores, zero ou um, ent
ao em cada uma das restricoes apenas uma das
vari
aveis toma o valor um e as restantes o valor zero. Desta forma cada uma das restricoes garante que cada
area seja adjudicada a uma e uma s
o construtora. O conjunto de restricoes que acabamos de estabelecer pode
ser escrito na forma equivalente
5
X
xij = 1, para i = 1, 2, . . . , 5.
j=1
=1
=1
=1
=1
=1
ou seja
5
X
xij = 1, para j = 1, 2, . . . , 5.
i=1
n X
n
X
cij xij
i=1 j=1
Sujeito a
n
X
j=1
n
X
xij = 1, i = 1, 2, . . . , n
xij = 1, j = 1, 2, . . . , n
i=1
1 2 3 4 5
12 19 33 49
14 23 38
16 26
13
Pretende-se estabelecer um plano de aquisicao, manutencao e revenda da maquina, de forma a que o custo total
envolvido nessa operacao seja o menor possvel, dentro do perodo de tempo estabelecido.
Formula
c
ao. Este problema pode ser descrito atraves de um grafo e modelado como um problema do caminho
mais curto (ou de custo mnimo) sobre uma rede orientada. Para isso, consideram-se os nodos 1, 2, 3 e 4 como
representantes do incio do primeiro ao quarto anos, respectivamente e o nodo 5 como o incio do quinto ano,
isto e, o final do contrato. Um arco orientado de i para j (designado por (i, j)) representa a aquisicao de uma
maquina no incio do ano i e a sua troca ou venda como sucata no incio do ano j. O custo associado a cada
arco representa o custo lquido da operacao.
49
..........................................................................................................................................
.......................
.................
33
.........
.................
.............
.............................................................................. .................................................................
...........
.
.
.
.
.
.
.
.
.
..............
.........
.............................................
.......................
...........19
..........
.......
..............
...............................................................
........
.
...... .
.
.
.
.
.
.
.
.
.
.
.
...........
.......
................
........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ..
13
16
14
.
.... .....
.... .....
.. .....
.
.
.
.
.
.
.
.... .............................12
.
.
.
.
.
.
......................................... 2 ................................................................. 3 .................................................................. 4 ....................................................................... 5 ....
... 1 ..
.
.
.
.
.
....... .....
...... ......
.................
.............
.
.
.
................
.
.
.
.
.
... ...........
.
.
.
.
.
.
.
.
..........
.
.................. .
..................
.
.
.
.
.
.............. ...................... .
.
.
.
.
.
.
.
.
.
.
..............................
............ ...........................................................................................................................................................................
.................
...............
.................23
...........................................................................26
..........................
38
x1j
j:(1,j)A
xj1 = 1
j:(j,1)A
x5j
xj5 = 1
j:(j,5)A
j:(5,j)A
Sujeito a
xij
j:(i,j)A
xji =
j:(j,i)A
1 se i = s
0 se i N {s, t}
1 se i = t
onde s representa o n
o inicial e t o n
o terminal, ou seja s = 1 e t = 5. Da descricao deste problema, facilmente
se conclui que esta formulacao representa a determinacao do caminho entre o n
o s e o n
o t de menor custo. Por
essa raz
ao este modelo e um exemplo do chamado Problema do Caminho Mais Curto. Tal como no exemplo
anterior, as restricoes de integralidade xij = 0 ou 1 podem ser substitudas por 0 xij 1, obtendo-se assim
um programa linear.
.........
............
6
.... ....
.. ... ...
...
.................................................................. 5 .....
... ..
......... 2 ...
......... .............. ................
.......... ............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......... 4
...
.....
7 ...........
9..............
........
..
.........
.........
3 .......... .........................
... 3
........
........
.
.
.
......... .
.
.
.
.
.
.
.
.
.
......
.......................
.
...................
.
........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
14
..
.
...
...
.. ..
.
..
.
.
.
.
...
.
.
.
.
.
.
... 3 ............................................................. ... 6 ........................................................................ 8 ....
... 1 ....
.
.
.
.
...................
...........
............
........................
.
.
.
........
.
.
.
.
.
.
...
.
.
........
........
........
...
.........
.........
........
.
.........
.......
3 ....
......... 3 ................
.
.
.
.
.
.
3
.
2 ...........................................
.
.
...
...... ...........
.
..... 4 ....................................................................... 7 ...
...... ......
...............
...
Os varios arcos da rede representam os oleodutos com diferentes diametros, sendo por isso diferente o n
umero
de barris de petr
oleo que podem ser bombeados atraves de cada um destes arcos. Os valores associados a cada
arco representam as capacidades dos oleodutos medidas em milh
oes de barris por hora.
Formula
c
ao. Para formularmos o problema, comecamos por definir os conjuntos de n
os N e de arcos A da
rede
N = {1, 2, 3, 4, 5, 6, 7, 8}
A = {(1, 2), (1, 4), (2, 3), (2, 5), (3, 6), (4, 3), (4, 7), (5, 3), (5, 8), (6, 5), (6, 7), (6, 8), (7, 8)}
A seguir consideramos as vari
aveis xij ((i, j) A), representando o n
umero de barris de petr
oleo (em milh
oes)
que atravessam por hora o arco (i, j) e f , que corresponde ao n
umero de barris de petr
oleo (em milh
oes) a
enviar por hora da estacao 1 para a estacao 8.
O n
umero de barris de petr
oleo que saem por hora da estacao 1 e igual a f , isto e, tem-se
x12 + x14 = f
x1j
xj1 = f
j:(j,1)A
j:(1,j)A
=0
=0
X
X
=0
xji = 0, i = 2, 3, 4, 5, 6, 7
xij
=0
j:(j,i)A
j:(i,j)A
=0
=0
A quantidade de petr
oleo que e recebida na estacao 8 e igual a f , isto e
x58 + x68 + x78 = f
x8j
xj8 = f
j:(j,8)A
j:(8,j)A
A quantidade de petr
oleo que atravessa o arco (i, j) e n
ao negativa e n
ao pode ultrapassar a sua capacidade,
ou seja
0 xij uij , (i, j) A
onde uij ((i, j) A) representa a capacidade do arco (i, j).
Tendo em conta que o objectivo do problema consiste em maximizar a quantidade de petr
oleo a enviar da
estacao 1 para a estacao 8, podemos escrever o problema na forma de um programa linear
Maximize z = f
Sujeito a
j:(i,j)A
xij
xji =
j:(j,i)A
f se
0 se
f se
i=s
i 6= s, t
i=t
onde s representa o n
o inicial e t o n
o terminal, ou seja s = 1 e t = 8. Qualquer problema que possa ser
formulado deste modo e designado por Problema do Fluxo M
aximo.
5. PROBLEMA DO FLUXO DE CUSTO M
INIMO
Uma empresa de racoes para animais fornece cinco clientes a partir das suas tres fabricas. As fabricas podem
enviar as racoes directamente ou indirectamente atraves de outras fabricas, clientes ou pontos de transexpedicao.
Na rede, que aparece a seguir, as f
abricas s
ao representadas pelos n
os 1, 2 e 3, os pontos de transexpedicao pelos
n
os 4 e 5 e os clientes pelos n
os 6, 7, 8, 9 e 10. Associado a cada n
o existe um valor, designado por requerimento,
que pode ter varios significados. Um requerimento positivo est
a associado a uma fabrica e representa a sua
capacidade. Um requerimento negativo est
a associado a um cliente e o seu valor absoluto representa a procura
do cliente. Um requerimento nulo est
a associado a um n
o de transexpedicao. Os arcos da rede representam as
ligacoes directas que existem entre os varios n
os. A cada arco da rede est
a associado um valor que representa
o custo de transporte de cada tonelada de racao que atravessa esse arco. O objectivo deste problema consiste
em determinar as quantidades de racao que devem ser enviadas de cada uma das fabricas para cada um dos
clientes de forma a minimizar o custo total de transporte.
[1]
[5]
[3]
[4]
...............
..
....
..............
... .............................
............... .. .......6
..........
.........
...............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... .... ........
..........
6 .............................................
12
..... ......
.
.
... 1 ...
.... 3
... .. 8 ..
...........................
.
.
............................
...............
...
............... . ..........
............... [0]...............
...
..............
.
.................. ..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 .................................4.........................................7
3 ............
.... 1
..............
...............
..
..
.
...............
............................
........
5 .............................................
2
..
.....
..
.
... 9 ...
. 3
.... 2 .........
.
.
.
.
.......... ...............
........................
[0] ...
...............
.
............... .. ...
............... . .................
........
...............
...
................
.
...............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 .................... .......5......... ......................2
3 ...
......... 4
...............
..
...............
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
................ ........
... ... ......
4
5
....
.
..... ......
..
.
.. 10 ...
... 3 ...
.......... 4
...........................
............... ....
...............
......
.............. ... ......
.
.
.
.
.
.
.
.
.
.
...............
.
.
.
.
.
.
.
.
.
.
................... .... .... .......................
........ 7 .....
7
2
..............
[3]
[2]
[4]
[2]
Formula
c
ao. Para obtermos o problema matematico, comecamos por definir os conjuntos de n
os N e de arcos
A da rede
N
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{(1, 2), (1, 4), (1, 6), (2, 4), (2, 5), (3, 2), (3, 5), (3, 7), (4, 6), (4, 8), (4, 9), (5, 4), (5, 7), (5, 9), (5, 10),
(6, 8), (7, 10), (9, 8), (9, 10)}
e representamos por xij ((i, j) A) a quantidade que atravessa o arco (i, j).
A diferenca entre a quantidade de racao que chega ao n
o i (i = 1, 2, . . . , 10) e a quantidade que sai do n
oi
e igual ao requerimento desse mesmo n
o i. Esta condicao pode ser traduzida pelas seguintes restricoes
x12 + x14 + x16 = 5
x24 + x25 x12 x32 = 3
x32 + x35 + x37 = 4
x46 + x48 + x49 x14 x24 x54 = 0
X
X
x54 + x57 + x59 + x5,10 x25 x35 = 0
xji = bi , i N
xij
com bi (i N ) o requerimento do n
o i. A quantidade de racao que atravessa o arco (i, j) e n
ao negativa, ou
seja
xij 0, (i, j) A.
cij xij
(i,j)A
(i,j)A
X
xij
j:(i,j)A
xji = bi (i N )
j:(j,i)A
xij 0, (i, j) A
Qualquer problema que possa ser formulado deste modo e designado por Problema do Fluxo de Custo Mnimo.
Noc
oes da Teoria de Grafos
Grafo n
ao orientado (Indirecto)
...............
...
.
.......
............
...... .......1
.
.
.
.
.......... .............
.
.
...
..................
...
.....................
.
..
...
.....
..
.... 3 ....
..
.... 2......
........ ......
...... ....
.
.
.
.
.
.
.
.......
. .. ......
....... ................ ............
......
..
... 4 ......
.............
...............
...............
...
...
.
. ...
................ 1 ........................................................................ 3 ....
...............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ............
.
........
......... . ....
........
................................
........
.
.
.
.
.
.
.
.............
.
.....
.
.
.
.
.
........
.... 2 ........................................
....
.........
........
.......................
........
.........
..
........... ...........
......
........... .............. ........................
..... ......
...................
....... 4 ........................................................................ 5 ...
..... ....
..... .....
......
....
4 n
os
5 arestas
5 n
os
8 arestas
Dois n
os dizem-se Adjacentes se existe uma aresta do grafo que os une. Assim, se G e um grafo orientado,
i, j s
ao adjacentes (i, j) E ou (j, i) E.
Se G e n
ao orientado,
9
i, j s
ao adjacentes {i, j} E.
O Grau de um N
o i e o n
umero de n
os adjacentes a i e representa-se por deg(i). Assim, no grafo n
ao
orientado anterior tem-se
deg(1) = 3, deg(2) = 2, deg(3) = 2, deg(4) = 3.
Num grafo orientado consideram-se duas quantidades associadas a cada n
o i:
Grau de Entrada = indeg(i) = no de n
os j tais que (j, i) E
Grau de Sada = outdeg(i) = no de n
os j tais que (i, j) E
Ent
ao para cada n
o i de um grafo orientado, tem-se
deg(i) = indeg(i) + outdeg(i).
Assim, no exemplo do grafo orientado anterior
indeg(4) = 1, outdeg(4) = 4, deg(4) = 5.
Um Caminho do N
o i0 ao N
o ip e uma sequencia de n
os e arcos distintos
(i0 , i1 ), (i1 , i2 ), (i2 , i3 ), . . . , (ip1 , ip )
em que o n
o inicial de cada arco e o n
o terminal do arco anterior do caminho. Ao n
o i0 d
a-se o nome de N
o
Inicial ou Origem do caminho, enquanto que ip se denomina N
o Terminal ou Destino.
Se o grafo e orientado, ent
ao considera-se que num caminho de i0 para ip todos os arcos tem o mesmo sentido
de i0 para ip . Se tal n
ao acontecer o caminho e n
ao dirigido e e denominado Cadeia. Notar que, tal como no
caminho, uma cadeia n
ao permite repeticao de arestas. A ttulo de exemplo considere-se o grafo
...............
.
...
........ 1 .............
....... ................ ..............
.
.
.
.
.
.
.
....... ..........
.
...
.........................
.
... ....
...
..
...
....
.
. 4 ...
.... 2.......
.........
...........................
........ .......
.
.
.
.
.
.
.......
.
.......... ................. ...........
....
.........
... 3 .....
...........
Ent
ao
1 2 3 4 [(1, 2), (2, 3), (3, 4)]
134
[(1, 3), (3, 4)]
s
ao caminhos de 1 para 4. Portanto s
ao tambem cadeias de 1 para 4. Por outro lado
1 2 3 1 4 [(1, 2), (2, 3), (1, 3), (4, 1)]
e uma cadeia de 1 para 4 que n
ao e caminho.
Um caminho (cadeia) diz-se Simples se n
ao h
a repeticao de n
os. De outro modo diz-se Misto. No exemplo
anterior
134
e simples, enquanto que
12314
10
.......
.... .....
.... 5 .........
...... ...... .........
....
.......
..................
....
.
.
.... 4 ....
...
. ..
...
..................
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ..... ........
.... 6 .........
...... ......
...
e desconexo.
Um grafo diz-se Bipartido se for possvel particionar o conjunto de n
os V em dois subconjuntos V1 e V2 de
forma que
(i,j)E
{i,j}E
i V1 e j V2 (orientado)
i V1 e j V2 (n
ao orientado)
V = V1 V2 e V1 V2 =
Assim por exemplo o problema de transporte pode ser visto como um problema de optimizacao num grafo
bipartido. Os n
os i V1 dizem-se Origens enquanto que os n
os j V2 se denominam Destinos.
Um grafo diz-se Completo se dois quaisquer dos seus n
os est
ao ligados entre si por uma ou duas arestas,
dependendo de ser n
ao orientado ou orientado. Assim grafos orientados completos verificam
iV jV {i} (i, j) E e (j, i) E
e para grafos n
ao orientados completos, tem-se
iV jV {i} {i, j} E
11
V1
V2
...
.......
...... ......
. .... ....
..... 1 ........................................................................ 2 ....
.
...... ........... .
.............................
.
.
...
.............. .................
.
.
.
.
.
.
... ..........
.
.. ...
.... .... ............ ............
. ...
... ...
... ...
....................
.
... ...
.
.. ..
.
.
.
........... ............. ............... .............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .............
............
..... ................................................ .....
... 3 ................................... 4 .
..... ......
..............
....
...
............
...... .......
.. ... ....
...
... 1 ....................................... 2 ....
...............
......................
...
.
.
....
.
.... ......
......
.......
.... ......
.
.
.
......
..
....................
.............
..
..
.... ....
.... 3 ......................................... 4 ...
..... ......
.............
....
...
...
...... ......
...... ......
..... 1 ...................................... 2 ....
...... ........
.... ...
..... ...
.... ............
.
.
.
... .....
.
.... ......
....
...
.......
...
...
....
..
...
.... ......
.... ....
... ......
.
.
.
.
.
.
.
.
.
............
.......
...... .......................................... .....
... 4 ...
... 3 ...
.............
.............
Grafo n
ao orientado completo
de notar que o n
E
umero de arestas de um grafo completo orientado e m(m 1), com m o n
umero de n
os.
Esse n
umero e de apenas m(m 1)/2 no caso do grafo ser n
ao orientado. Por outro lado, se m e n s
ao os
n
umeros de n
os da particao {V1 , V2 } de um grafo bipartido completo, ent
ao o seu n
umero de arestas e m n.
Finalmente notemos que o problema de transportes e modelado como um problema de optimizacao dum grafo
bipartido orientado completo.
Dado um grafo G = (V, E), G = (V , E ) diz-se um Subgrafo de G se V V e E E. Se G6= G, o
subgrafo diz-se Pr
oprio. Se G e um subgrafo proprio de G e V = V , ent
ao G diz-se um Subgrafo Gerador (ou
de Suporte) de G. Assim por exemplo, para o grafo G definido por
......
...........
..... .....
... ...
.... 1 ............................................ 2 ....
.
.
..............
..........................................
...
.......... ..
.. ....
..
........................
.... .....
.
...
..
.
.
.
.
..
....
....
...
....
...
......... 5 ...
.
.
...
.
.
.
....... .....
.
.......... ..........
.
.
.
.
.
.
.
.
.
.
.
...........
...... .............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
..
.
...
.... 3 .......................................... 4 ....
..............
.............
o grafo G
......
...........
..... .....
... ...
.... 1 ........................................... 2 ...
..... ......
..............
....
.....
...
...............
..
...
.....
..
..
................5
........
.
.
.
.
.........
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
..... .........
.... ....
.... 3 ......................................... 4 ...
..... .....
..... ......
....
....
e um subgrafo gerador de G.
Uma Arvore
e um grafo conexo sem ciclos. O grafo anterior G e uma arvore.
Uma Arvore
Geradora de um grafo G e uma arvore que contem todos os n
os do grafo G. Assim a arvore
anterior G e geradora para o grafo G.
As arvores tem algumas propriedades interessantes que, como veremos mais adiante, s
ao devidamente exploradas na resolucao de problemas de optimizacao em grafos. Algumas dessas propriedades s
ao apresentadas
a seguir.
Propriedades das
arvores
P1 . Se T = (V, E) e uma
arvore e se (i, j) E for retirada de E, ent
ao T e transformada em duas arvores.
A ttulo de exemplo considere-se a
arvore
..
..
..
...... ........
...... ........
...... ........
..
....
....
....
..
2 ...
.....1........
.....5..........
....... .....
...... .........
..... .......
......... ....... ...........
.
......
. ......
.
.
.
......
......
......
...
.
.
.
.
.
.
.......
......
......
...........................
................
........................
.. ...
...
..... ....
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...................... 6 ...
... 3 ..
.
.
.
... 4 ...
...... ......
...............
..........
...
12
.......
...............
.... .....
..
.....
..... 2 ...
.....1..........
...... ........
.........................
..
. .....
......
......
.....
......
...... ........ ..........
... .....
.....
..
.... 3....
........
...............
.
....
... 5 ....
.....................
........
......
......
...... ........
.
.
.
.
.
.
.
.
.
.
... ....
.
.
. ...
.
.......................................................................
.....
... 6 .....
.....4.....
...........
......
P2 . Toda a
arvore tem pelo menos dois n
os com grau igual a um, que se dizem Folhas da Arvore.
P3 . Uma arvore com m n
os tem (m 1) arestas.
P4 . Qualquer par de n
os i, j de uma
arvore est
ao ligados por uma u
nica cadeia.
P5 . Se acrescentarmos uma aresta a uma arvore obtem-se um grafo com exactamente um ciclo.
Assim por exemplo, consideremos a
arvore
......
......
......
..... .....
.... .....
..... ....
.... 1 ...
.... 5 ....
.... 3 ...
..... ........
... ...
... ...
.... ......
..........................
.........................
.
.
.
.
.
......
.
.
.
.
......
......
..
......
......
......
......
......
........
.....
....... ..
........ .... ..............
.................................
............ ......
......... ....... .
.
.
.
.
...
.....
.... 6 ...
.... 2 ....
.
.....4.....
...... ......
..............
......
...
........
.........
.........
.... ...
.... ...
.... ...
.... 1 ...
.... 5 ....
.... 3 ...
..... ........
.... .....
.... ....
.... ......
...... ........ ...........
...... ........ ..........
.
.
.
.
......
.
.
.
.
.
......
......
......
......
......
......
...... .
.......
......
........ ..... .............
.......... ......
...................................
.......... .........
...... .....
...
..
....
....
..... 6 ....
.
.
.
.....4.....
....2.....
...... ......
........
.....
....
....
.
.............................................................................................................................................................
234562
Um grafo diz-se Pesado se cada aresta (i, j) ou cada n
o r ou ambos tem associado um peso cij ou br . Nesse
caso o grafo e tambem denominado Rede.
Arvore
Geradora de Custo Mnimo
Dado um grafo G = (V, E) pesado com custos cij em cada aresta (i, j) E, uma arvore geradora e uma arvore
cij
cij
(i,j)A
(i,j)A
13
arvore de m n
os tem exactamente (m1) arestas, ent
ao o processo consiste de p iteracoes, com m 1 p n.
Os passos do algoritmo s
ao apresentados a seguir.
ALGORITMO DE KRUSKAL
Sejam G = (V, E) um grafo conexo, A = e A o conjunto das arestas de E ordenadas por ordem n
aodecrescente de custos.
Enquanto |A| < m 1, faca
......
.....
3
..... ....
..... .....
.... 1 ..................................................................................................... 2 ...........................
...
...... ............
.
..
.... ........... 1
.......................
.
.
.
.
.
3
........
.
...
....
.
.......
........
........
...
...
........
.......
....
...
........ ..............................
...
.. ...
.
..
.
.
...
..
.
.
...
.
.
.
.
.
.
.
4 ....
3
.2 ....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... ....... .............
.
.
.
.
.
.
.
.
....
.....
........
.
....
.
.
.
.
.
.
.
.
.
.
..
.
.
.........
........
...
........ ..........
.
........
...
....... ....
...........................
.
5
6
.
...
..
...................................................................................................
....
.
.
...
.... 5 ....
.....4..... .
.
...
........
.......
1
..
..
...................................................................................................................................
Ent
ao
A = {(5, 2), (3, 1), (5, 4), (4, 2), (2, 3), (1, 2), (1, 4), (3, 4), (5, 3)}
e A = . O algoritmo comeca por escolher a aresta (5, 2), depois a aresta (3, 1) e na terceira iteracao obtem
(5, 4). Na quarta iteracao n
ao escolhe a aresta (4, 2), pois isso iria formar o ciclo
...............
..
....
... 2 ..........................
............
.
..
...
.........
...
...
...
...
...
...
...
...
...
...
...
...
...
..
.
...
...........
...........
.
.
.
.
.
.
...
...
..................................................................................................
.....
....
... 5 ..
....4..... ...
..
.
............
........
..
......................................................................................................................................
Ent
ao a aresta (2, 3) e escolhida. Como m = 5, o algoritmo termina nessa iteracao com a seguinte arvore
...............
...............
....
.....
.
.. 2 ....
.... 1 ...........
...............
.
........ ......... 1
.
.
.
.
.
.
........
3........... ........
........
........
.......
....
........ ...... ................
....... ...........
...
..
....
...
... 3 .....
...2
..........
...
...
..
.....
.
.
..........
.
.
.
.
.
.
.
................................................................................................... .....
.....
... 5 ..
.... 4 ..... ....
..............
........
Antes de terminar esta seccao e importante acrescentar que e evidentemente possvel desenvolver um processo
semelhante ao algoritmo de Kruskal para determinar uma outra arvore geradora que n
ao seja de custo mnimo.
Com efeito, basta ordenar as arestas de uma forma diferente da usada no algoritmo.
14
cij xij
(i,j)E
Sujeito a
xij
j:(i,j)E
xji = bi , i = 1, . . . , m
(1)
j:(j,i)E
xij 0, (i, j) E
Como veremos mais adiante, existem formas mais gerais deste problema, a saber
1. Existencia de capacidades uij e lij em cada aresta (i, j), isto e, restricoes lij xij uij .
2. Funcao a minimizar ser n
ao linear.
3. V
arios produtos ou mercadorias a enviar em vez de apenas um Problema de Fluxo Multicomodidade.
Para ilustrar a formulacao do problema como um programa linear da forma apresentada anteriormente, consideremos o seguinte grafo G = (V, E)
b1
..
...... .......
..... 1 ....
.....
......................................
.
.
.
.
.
............
.
c12
............ c31
......
.. ..
......
.
.
.
.
.
c13 ....................................
.....
...........
.
.....................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
....
.. .....
...
23
.
.....
....................................................................................................
. .. 3 ... b3
b2 .......2.............
....................
......
........ .........
......
.
.
.
.
.
......
...
......
....c53
......
...
......
.
c24...................................................c. 43 ................
.
...
.
.
.
...........................................
....
.
.
. ... 5 ....
....4......
............
......
b4
c45
b5
c12 x12 + c13 x13 + c23 x23 + c24 x24 + c31 x31 + c43 x43 + c45 x45 + c53 x53
x12 + x13
x31
= b1
x12
+ x23 + x24
= b2
x13 x23
+ x31 x43
x53 = b3
x24
+ x43 + x45
= b4
x45 + x53 = b5
xij 0, (i, j) E
m
X
bi = 0
(2)
i=1
m
X
bi
i=1
.
...
...............
..... ......
..... i ...........................................
.....k........
..... ......
....
....
aij = 1
akj = 1
10
10
...............
...............
2
.....................................................................................................
..
.....
.....1............................................................................................................2......
....... .......
......
.
.
.
.
1
. .....
.. .........
.
.
....
.
....
.
....
...
....
....
....
....
...
....
....
1 .......
... 5
....
....
.
.
.
.
.
...
...
3 .......
.... 1
......
.
...
.
........
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... .... .
... ......
... ....
..... ............................................... ............................................... ....
... 4 ..
... 3 .. ....
... ... 5 ...
.............
.............
.............
20
2 5
16
25
Ent
ao o problema e equilibrado, pois
5
X
bi = 0
i=1
1
1 1
1
10
1
10
1
1
1
1
1
b = 20 , A =
1
1
1
1
5
1
1
25
A=
A1
A2
..
.
Am
A1 + A2 + . . . + Am = 0
Portanto as linhas de A s
ao linearmente dependentes e a caracterstica de A, C(A), e menor ou igual do
que (m 1). Para estabelecer que C(A) = m 1, consideremos uma arvore geradora T = (V, E ) com
V = {1, . . . , m}. Ent
ao existe uma matriz de permutacao Q1 tal que
AQ1 =
AT
AT
com T o complementar de T em {1, 2, . . . , n}. Como a arvore tem exactamente (m 1) arestas, ent
ao
AT IRm(m1)
Alem disso para um n
o folha i V , existe um s
o n
o adjacente j tal que (i, j) E. Portanto por
permutacao de linhas e colunas podemos escrever
P AT Q =
1
0
a1 AT
1
a1 1
..
.
a2
P AT Q =
.
..
am2 1
1
17
nula e igual a 1. E agora evidente que c(AT ) = m 1 e o mesmo acontece com a caracterstica de A.
de notar que a demonstracao deste teorema tambem estabelece que a submatriz AT da matriz de incidencia
E
associada a uma
arvore geradora T tem caracterstica (m 1). Alem disso se acrescentarmos uma coluna da
matriz identidade er IRm `
a matriz AT , ent
ao a matriz resultante e n
ao singular e pode ser transformada numa
matriz triangular superior U por permutacao de linhas e colunas. Os elementos diagonais de U s
ao iguais a 1
ou 1 e a caracterstica da matriz [A er ] e igual a m.
A ttulo de exemplo, consideremos o grafo
10
10
........
2
...............
.. .... ......
.....
..................................................................................................
.....1............................................................................................................2......
....... .........
.
.
. .......
1
... ......
.... ........
...
...
....
...
....
....
.
.
....
...
...
.
....
....
... 5
1 ....
....
....
.
...
.
....
..
.. 1
.
3
.
...
.
.
.
....
......
..
.
.
.
.
.
.
.
.
.
.
.....................
.............
.
..............
....
.
.
.
.
.
.
.
..............................................
...............................................
....
. .. 5 .....
... 4 ....
.... 3..... .
.
...........
..........
........
20
2 5
25
e a arvore geradora
...............
...............
..
.....................................................................................................
.....
... 2 ...
....1.....
...........
........
.....
...
.
.
.
.
....
....
....
...
....
...
...
...
.......
...
.
.
.
.
.
.
.
.
..........
.... .....
.... ....
.... ....
..... ................................................ ....
... 5 ...
... 4 ...
... 3 ... ...
.............
.............
.............
B = [AT
1
1
e1 ] =
1 1
1
1
Ent
ao existe uma matriz de permutacao Q tal que
1
1
1
1 1
BQ =
Tal como referimos anteriormente, o metodo simplex e o processo mais usado para resolver programas
lineares. Esse algoritmo deve ser implementado de modo a poder processar eficientemente o problema de fluxo
de custo mnimo. Nesse sentido e importante caracterizar em termos de grafos uma solucao b
asica admissvel
para o problema.
18
Defini
c
ao de Solu
c
ao B
asica Admissvel Consideremos o problema de fluxo de custo mnimo na forma
normal anterior. A matriz incidencia n
o-arco tem caracterstica (m 1), com m o n
umero de restricoes de
igualdade. Alem disso se acrescentarmos uma coluna da base canonica er `a matriz A, ent
ao a matriz resultante
tem caracterstica igual a m. Essas consideracoes conduzem-nos ao seguinte programa linear aumentado
Minimize z =
Sujeito a
cT x
Ax + er xn+1 = b
x 0, xn+1 0
10
10
...............
...............
2
.....................................................................................................
.
.....
.....1............................................................................................................2......
........ .......
......
.
.
.
.
1
.. .........
.
....... ........
.
.
.
....
....
....
....
....
.
....
...
....
....
1 ......
....
... 5
....
.
....
.
.
...
..
3 ......
.... 1
.
...
...
.
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... .... .
... ......
... ....
..... ............................................... ............................................... ....
... 4 ..
... 3 .. ....
... ... 5 ...
.............
.............
.............
20
2 5
19
25
Seja
J = {(3, 1), (4, 3), (4, 5), (2, 4)}.
O subgrafo constitudo pelos n
os do grafo dado e as arestas (i, j) J e a seguinte arvore
10
10
..
..
...... .......
...... .......
..... 1 ....
..... 2 ....
.
..... .....
.
.......
................
.
.
.
.
........
....
....
.
.
....
...
...
....
...
....
....
...
...
.
.
....
.
...
...
... ........
..... ......
..... ......
..... ........
..... 3 ................................................... 4 .................................................. 5 ....
..... ......
...... ......
...... ......
....
...
...
20
25
x31
x31 x43
x43 x24 +x45
x24
x45
=
=
=
=
=
10
20
5
10
25
x31 = 10
x43 = 30
x24 = 10
x45 =
25
Ent
ao os n
os de V e as arestas de J formam a seguinte arvore
10
10
..............
...............
..... 1 ..................................................................................................... 2 .....
..... .....
................
.......
.
.
.
...
........
....
....
....
....
...
...
.
.
.
...
..
...
....
....
....
.......
.......
...............
...................
.... ....
.
.
.....
.
... 4 ................................................ 5 ....
... 3 .....
...... .....
...... .....
...........
...
...
20
x31
x31 +x12
x12 +x24
x24
20
25
+x45
x45
=
=
=
=
=
20
10
10
5
25
Portanto
x31
x12
x24
x45
=
=
=
=
20
30
20
25
=
T
0
0
(er )
Donde
r = 0
ATK = cJ
Portanto a solucao dual associada a uma solucao b
asica n
ao e u
nica, pois depende da escolha do vector er da
base canonica que se acrescenta ao conjunto de restricoes do problema. Alem disso para calcular , e necess
ario
fixar uma vari
avel i a zero e depois resolver o sistema ATK = cJ . Como iremos ver na proxima seccao esse
processo e relativamente f
acil de fazer a partir da arvore geradora associada `a solucao b
asica.
Como o problema de fluxo de custo mnimo e um programa linear, ent
ao pode acontecer um de tres casos
possveis:
1. Existencia de solucao
optima.
2. Inadmissibilidade.
3. Problema ilimitado.
Como exemplo do segundo caso, consideremos o grafo
...
.........
1
...... ......
.... .....
1..........1..................................................................................................................................2
... 1
.......
... .........
...... ..
....
......
....
2...................
....
....
....
.
.
.
....
........
....
........
.
1 .......... ..................... 3
........................
.
..... 3 .....
...... ......
...
Ent
ao a equacao correspondente ao n
o 1 tem a forma
x12 + x13 = 1
o que e impossvel de verificar com xij 0. Como exemplo de um problema ilimitado, consideremos o problema
de fluxo de custo mnimo associado ao grafo:
........
..........
0
.... .... ...
... ....
5 ..........1........................................................................................................................................................................................................................2........... 10
............
.
.
0
..
.........
....
........
.
........
....
........2
....
........
....
........
....
.
.
.
.
2 ............................ ................ 1
...................
.
...... 3 ....
...... ......
...
21
Uma solucao b
asica admissvel inicial e definida pela arvore
.......
x12 = 10
..............
.... .....
........
.
5 ..........1
........................................................................................... ...... 2 .... 10
.........
..................
..........
........
........
........
..................
.. ...
.... 3 ....
..... .....
....
x31 = 5
..
..........
10 +
...... ........
... ....
..
.. ...
.
5 .........1
......................................................................................................2...... 10
.........
. .....
.......
...
.....
...
....
....
....
...
....
....
.
.
.
....
.
....
....
...
5 + ........... ... ..............
......... .........
..
...
... 3 ....
...........
Facilmente se conclui que pode aumentar infinitamente sem violar as condicoes de conservacao de fluxo em
cada n
o. Alem disso o valor da funcao linear e dado por
z = c12 x12 + c23 x23 + c31 x31 = 0 (10 + ) + 1 2 (5 + ) = 10
e tende para () quando tende para (+).
M
etodo Simplex para o Problema de Fluxo de Custo Mnimo
m
X
bi wi
i=1
Sujeito a
wi wj cij , (i, j) E
(3)
22
sucessao. Os coeficientes de custo reduzidos cij , (i, j) L = E J representam os valores das restantes vari
aveis
duais de folga, e portanto satisfazem:
cij = cij (wi wj )
(4)
...
cij
..............
..... ......
wi ........ i ............................................................................................................. j ....... wj
..........
.........
Ap
os o c
alculo de todos os coeficientes de custo reduzidos associados `as vari
aveis n
ao b
asicas, dois casos
podem acontecer e s
ao discutidos a seguir:
1. Se cij 0 para todo o (i, j) L, a solucao dada e optima e o algoritmo termina.
2. Se existe pelo menos um cij < 0, calcula-se
crs = min{cij : (i, j) L = E J}
O acrescimo do arco (r, s) na
arvore geradora forma um ciclo que e desfeito de acordo com a regra de compatibilidade, isto e, o que entra em cada n
o i menos o que sai desse n
o e igual `a quantidade bi que l
a existe. Por
isso a vari
avel xrs tomar
a um valor e cada uma das vari
aveis xij desse ciclo aumentar
a ou diminuir
a o seu
valor dessa quantidade . O valor de devera ser o maior possvel de modo a que todas as vari
aveis envolvidas
nesse ciclo se mantenham n
ao negativas. Como consequencia, uma das vari
aveis nesse ciclo anular-se-a e o arco
associado a essa vari
avel destr
oi o ciclo e permite obter uma nova arvore geradora, que corresponde a uma nova
solucao b
asica admissvel para o problema de fluxo de custo mnimo.
Para uma descricao completa do metodo simplex neste caso, falta apenas referir como se calcula uma primeira
solucao b
asica admissvel. Como cada solucao b
asica corresponde a uma arvore, e bastante facil de se obter
uma primeira solucao b
asica. Contudo essa solucao pode n
ao ser admissvel e em geral e necess
ario aplicar um
processo Fase I, que por sua vez ser
a um problema de fluxo de custo mnimo a discutir na proxima seccao.
Como exemplo de ilustracao da aplicacao do metodo simplex, consideremos o seguinte problema do fluxo de
custo mnimo
2
................
................
.....
....................................................................................................
... 2 ..... 4
.....1.........
........ ........
........................
.
.
.
.
3
.
5
.
.
.
.
.
.
.
.
.
........
......
....
......
........
........
..........
. .........
....
....
......................................
...
...
..
...
.
.
... 4
.
0 ...
.....3 ......
.
...
.
.
.
.
.... ...... ............
.
.
.
.
.
.
....
...
.
........
.....
.
.
.
.
.
.
.
.
.
...
...
.
.
........
3
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.........................
...................... -1
.
1
.
................................................................................................
.
....
.
.
.
.
... 5 .....3
.....4.....
.
.
........
.....
1
bi = 2 + 4 + 3 2 3 = 0
i=1
Por inspeccao e f
acil de obter uma primeira arvore geradora que satisfaca as restricoes de compatibilidade em
cada n
o. Essa
arvore com os valores de fluxo associados a cada arco e apresentada a seguir
23
.......
...............
.... ....
.....
.
.... 2 ....
.....1......
..... .....
.
.
.
........
.
.
.
4............. ....
........
........
...
.............
.
..
.
.
.
.
.
.
.
.
.
.
... ..........
..
....
.. 3 ...
2 .....
........ .......
...
....... ..... ...............
.
.
.
.
.
..
.
.
........
...
........
...
........
.
. ............
.......................
3 ..................................
4
.
.....
.
... 5 ..
4
.
..... ....
.............
......
Com efeito, o n
o 1 tem que receber 2 unidades de fluxo, pois b1 = 2. Alem disso o n
o 2 deve enviar 4 unidades
e no n
o 3 o fluxo que sai menos o que entra iguala o valor de b3 . A mesma relacao se verifica no n
o 4 e finalmente
o n
o 5 recebe a quantidade de fluxo que requereu.
Para verificar se a solucao admissvel obtida e optima e necess
ario calcular primeiramente as vari
aveis duais
wi , i = 1, . . . , 5. Fazendo w1 = 0, ent
ao o arco (4, 1) implica
w4 w1 = c41 w4 = c41 = 0.
Do mesmo modo, usando o arco (3, 4), vem
w3 w4 = c34 w3 = c34 = 1.
Agora do arco (2, 3) tem-se
w2 w3 = c23 w2 = c23 + w3 = 3 + (1) = 2.
Finalmente o arco (3, 5) implica
w3 w5 = c35 w5 = c35 + w3 = 1 + (1) = 2.
Uma vez calculada a solucao dual h
a que determinar os coeficientes de custo reduzidos das vari
aveis n
ao
b
asicas, isto e, associados com arcos do grafo que n
ao pertencem `a arvore geradora. Assim tem-se
c12
c13
c45
c52
= c12 (w1 w2 ) = 2 (0 2) = 4
= c13 (w1 w3 ) = 5 (0 (1)) = 4
= c45 (w4 w5 ) = 1 (0 (2)) = 1
= c52 (w5 w2 ) = 4 (2 2) = 8
w1 = 0
w4 = 0
.......
........
c12 = 4
.... ....
.... ....
.... 1 .... . . . . . . . . . . . . . .. ...... 2 .... w = 2
2
...... ......
...... ......
.
.
.
.
..... .
.
.
13 = 4
4.............. ......
. .c
...
. .
........
....
.... .............................
.
...
... ...
.
.
.... 3 ....
52 = 8
2 .......
. c
........ .......
...
.
........ ..... ...............
.
.
.
.
.
.
.
..... w = 1 ............
.
.
.
.
.........
.
.
.
.
3
....
.. ..........
3 ................................
4
.......................
.. . . . . . . . . . . . . . . ......
.....
. .. 5 .. w5 = 2
.....4......
.............
......
c45 = 1
...............
.
...
.. 3 ...
.............................
.
.
.
.
.
.
.
........ 3
4 + ...................
........
........ .
.
.....................
.. ..........
. ... ...
...... ...............
..
...................................................................................................
....
... 5 .....
....4......
..........
......
A escolha de + ou em cada um dos arcos desse ciclo depende dos sentidos desses mesmos arcos. Assim no
exemplo presente, como do arco (4, 5) tem de ser enviadas unidades de fluxo, ent
ao o arco (3, 4) tem de levar
mais unidades de modo a equilibrar o n
o 4. Do mesmo modo se o n
o recebe mais unidades de fluxo pelo
novo arco, ent
ao ter
a de receber menos pela outro arco que l
a chega.
O valor de e determinado como o maior valor positivo que mantenha n
ao negativas todas as vari
aveis
envolvidas neste ciclo e torne uma delas nula. Portanto = 3 e o arco (3, 5) e retirado do ciclo, obtendo-se
assim uma nova
arvore.
Usando agora esta nova
arvore e o procedimento explicado atr
as, podemos calcular as vari
aveis duais e os
coeficientes de custo reduzidos das vari
aveis n
ao b
asicas. Todas essas operacoes s
ao feitas num grafo de forma
semelhante `a obtida na iteracao anterior. No nosso caso tem-se
w1 = 0
w4 = 0
...
...
c12 = 4
...... ......
...... ......
..... 1 ... . . . . . . . . . . . . . .. ....... 2 .... w = 2
2
.
..... .....
.
...... .
....................
.
.
.
.
c
=
4
.
.
4
.
.
...
. .13
...
........
...
........
.
. ..
.
.
.
.
...
.
.
.
.
. .............................
..
.
.... 3 ....
52 = 7
2 .......
.
. c
.
................... . . c
.
...
.
.
.
=
1
.
.
.
4
.
..
. 35
......
.
.
.
.
.
.
.
.
.
........
..... w3 = 1
.
.
.
.
.
.
.
.
.
.
.. . ...........
... ....
...... ................
.. ..
....
................................................................................................... 5 .... w = 1
5
.....4......
...... .....
......
...
cij x
ij
(i,j)J
com J o conjunto dos pares ordenados associados aos arcos da arvore geradora (pois as outras vari
aveis s
ao
nulas). Ent
ao
z = 3
x23 x34 + 0
x41 + x45 = 8.
Para terminar esta seccao referente `
a utilizacao do metodo simplex para o problema de fluxo de custo
mnimo, notemos que implementacao do processo tira partido do facto das matrizes bases serem permutacoes
de matrizes triangulares superiores. Isso torna o metodo simplex muito mais r
apido para resolver problemas de
fluxo de custo mnimo do que para os outros programas lineares sem este tipo de estrutura.
Problema de Transportes
O problema de transportes pode ser representado pelo seguinte grafo bipartido completo:
25
a1
a2
am
.....
......
..... ......
..... .....
.... 1 ................................................................................................................ 1 ...
.............. ....... ................
.
..........................
............
.....
............. ....................... ...............
.....
.
. ..
.....
..... ............................................ ..........
.
.
.
.
.
.
.
.
.
.......
......
. ....... .......
..... ....
..... ............ ....
............. .....
.... 2 ................................................................................................................................ 2 ....
.
.....
..... ...... .........
...... ......
.....
.....
....
......
...
..... .........
......
...........
....
.......
.......
.......
.......
.........
................ .......... ............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
..
..... ....... ....... .....
..... ...................... ..........
.
.....
......
.
....... .......... .
..... ........
...... .....
..................
.
.
.
.
.
...... ........
..... ......
........ ............
............
........
......... ....
.... .... ............
.
.... m ......................................................................................................... n ....
...... ......
...... ......
...
...
d1
d2
dn
m X
n
X
cij xij
i=1 j=1
n
X
xij = ai , i = 1, 2, . . . , m
Sujeito a
j=1
m
X
xij = dj , j = 1, 2, . . . , n
i=1
xij 0, i = 1, 2, . . . , m, j = 1, 2, . . . , n
ai =
i=1
n
X
dj .
j=1
m
X
ai =
n
X
dj
j=1
i=1
ai dj
, i = 1, 2, . . . , m, j = 1, 2, . . . , n
Ent
ao x e primal admissvel, pois xij 0 para todos (i, j) e
n
X
x
ij =
j=1
m
X
i=1
xij =
n
ai
ai X
dj = = ai , i = 1, 2, . . . , m
j=1
m
dj X
dj
ai = = dj , j = 1, 2, . . . , n
i=1
n
X
xij = ai 0 xij ai
j=1
m
X
xij = dj 0 xij dj
i=1
26
(i,j)E
X
xij
j:(i,j)E
xji = bi , i = 1, . . . , m + n
j:(j,i)E
xij 0, (i, j) E
b1 ....... 1
bm+1
bm+2
bm+n
20
40
40
.........
.... ....
2.....................................................................4...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
... ....
........ . ........
.................... 3
........ ..... .
..... 1 ..................................................
........................................ ...........
...... ...... .......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ...........................
........
.
......
.
9 .............................12
...... ....................
...
.... ........ ........................................... . .......5
.
.
14
.
.
.
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .... ................................... .......
..........
.....
..........................
... 2 .... ........................................... ........
..........
........ .............................
...........
...................... .. ................
...... ...................
... ..... 5
......
... 6 ....
...... ................
..
. ..
........
......
.
12
.
.
.
.
.
.
.
.
.
.
.
.
.
........ ........... ..........
. .... .......
.
.
.
.
.
.
.....
.
..............
.
........ ......
1
........ ........
.... 3 .... ..........................
.........................
....................
.........
................... ... .... ....
....................
.
.. ... 7 ....
3
..............
10
20
20
50
de notar que j
E
a estamos a considerar a formulacao como problema de fluxo de custo mnimo, dado o facto
de usarmos a numeracao 1, . . . , 7 e de associarmos valores negativos para os par
ametros bi referentes aos n
os
27
bi = 20 + 40 + 20 10 20 20 50 = 0.
i=1
Uma solucao b
asica admissvel inicial e facilmente calculada esgotando as ofertas e as procuras de cima para
baixo:
...........
... .....
...........
10
...
.................... ... ........4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........
.
.
.
.
.
..
..... ....... ....................................
....
..........................
.
.
.
...............10
....1.....
.............................
......
.....................................
.. ..
..
.
..............
10
...
.................... .. .......5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........
.
.
.
.
.
... ....
..........
.... ....................................
... 2 ..............................
20
.............. .......... ........................
...................
........
.......
....................... ..... ......
........
........
......... 6 ....
........
...... .....
.
.
.
.
...
.
.
.
.
.
.
.
. ..
..
.... ....
10 ..........................
..... 3 ...........................
...................
.......... .
..............
....................
.
.
.
.
.................................. .........
............
40
.... 7 .....
.........
Notar que esse processo pode ser usado para qualquer problema de transportes equilibrado. Como referimos
anteriormente, em cada iteracao do metodo simplex h
a que calcular as vari
aveis duais wi e os coeficientes de
custo reduzidos associados `
as vari
aveis n
ao b
asicas. Isso e feito segundo o processo explicado anteriormente,
obtendo-se o seguinte grafo que contem toda essa informacao
................
.... ...
.
10
............................. 4 ..... w4 =
..................
.
.
.. ..
.
.
.
.
.
.
.
..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .......
.. ............................. 10
.
.....
.
.
.
.
w1 = 0 ......1....... ................................................................... . . .
.....
.......................................
. .
...
.. ..
c17 = 17 . . . . . .10
.
.
.................
... w5 =
. . ....................................... .. .......5
c24 =
.......
.
..........3
.
.
.
.
.
.
.
.
.
.
.
... . ......................
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
w2 = 9 .......2.................................................................. .
....
........ .
....................
............
......
................................... ....
. ............20
. ... 6 ..
.
w6
........
.
.
..............
c34 =.......1
........
......
.
.
.
.
........
.
. .
........ . .
........
w3 = 11 ..........3..................................................10
.
.
.
.
....... .
....................
....
................... .............................
..............
... 7 ....
w7
40
.............
2
3
=4
=8
.
...
.
.
........
.... ..... ...
........
.... ...............
........
... 3 ... .........................
........ .
...................
.............
.
.
.
.
.
.
.
. ....
...................
.................................... .......
.......... 7 ....
40
...... .....
...
Ent
ao = 10 e o arco (1, 4) e retirado do ciclo, entrando o arco (3, 4) para a arvore. Actualizando os valores das
vari
aveis b
asicas com acrescimo ou decrescimo de , obtemos uma nova solucao b
asica admissvel. Para verificar
se essa solucao e
optima h
a que calcular as vari
aveis duais associadas e os coeficientes de custo reduzidos das
vari
aveis n
ao b
asicas. Seguindo o processo usual obtem-se o seguinte grafo
..............
.
. ...
. . . ... ......4...... w4 =
.
.
.
.
.
.
.. ............
. ..
. .
..... .....
. . .
. . ............
.
.
.
w1 = 0 ..........1......................................................20
.
............................... ........ .
....
........ .. .......
.
c17 = 17 . . . . . . . .................................................................5........ w =
5
............
...... ......
.
.
.
.
.
c24 =
3
.
.
.
.
.
0
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
. .......................... .........
..... .....
......
. .
w2 = 9 ..........2........................................................................................10
....
.
.
.
........ ...... ........................
.
.
... ...
..
.................................... ....
...................
. .. 6 ...
.
w6
........
......
20
..... .....
.
........
......
....
.
........
............ .....
.
.
.
.... ..................
........
........ . ..
w3 = 11 .......3....... ...................................10
......... .
...................
.....
.................... .............................
..............
... 7 ....
w7
30
.............
c14 = 1
28
1
3
=4
=8
cij x
ij = 3 20 + 12 0 + 5 20 + 1 20 + 12 10 + 3 30 = 390
(i,j)J
Fase I do M
etodo Simplex para o Problema de Fluxo de Custo
Mnimo
bi < 0
bj 0
......
..... ...... ..
....
........
..........
..... i ..... ... ...................................................................... ......... .........
........
......
...
.
....m + 1...
.
...
......................
.
.
.
.
.
.
.
.
.
..............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........ ........
.... j .........................................
.....
.... .....
........
Sujeito a
xij
j:(i,j)EF
xji = bi , i = 1, . . . , m + 1
j:(j,i)EF
xij 0, (i, j) E F
com F o conjunto das arestas acrescentadas. Como este problema e limitado, ent
ao tem solucao optima e h
a
dois casos:
1. Se o valor
optimo e nulo, ent
ao obteve-se uma solucao b
asica admissvel para o problema de fluxo de custo
mnimo original. Neste caso as arestas (i, j) F e o n
o (m + 1) s
ao suprimidos e o metodo simplex e
iniciado com essa solucao b
asica admissvel.
2. Se o valor
optimo e positivo, ent
ao o problema de fluxo de custo mnimo original e inadmissvel.
A ttulo de exemplo, consideremos a rede
29
...........................................................
..........................................................
..
..
.
...
.......
...
...
.
..
.....
...
..........
.........
...... ...................................................................................................... .....
...
...
.
.
.
.
...
.
.
...
.
.
5 .......1.........
... 5 ... 15
..........
...
...
...
......
...
...
.
.....
....
...
....
...
...
....
....
..
..
..
..
...
...
.
...
.
....
....
...
....
...
...
...
...
.......
...
...
...
.
.
.
.
.
.
.
.
...
...
.... ....
.... ....
.... ....
..... ....
...
...
.
.
.
.
.
5
.
...
...
10 .......2..............
.
...........4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
...
.
. ..........
......................
.
.
.
.
.
........
...
....
...
.
.................
.
........
.
.
.
.
.
...
...
...
...................
..........
.
.
.
.
.
.
.
.
.
.
...
...
...
.
.
.
.
............ ...............
..
...
...
...
25 ........3..........
...
...
...
.....
...
...
...
...
...
...
.......
...
...
..
....
..
..............................................................................................................
.....................................................................................................................................................................
Ent
ao o problema de fluxo de custo mnimo correspondente `a Fase I e representado no seguinte grafo
...........................................................
...........................................................
.
..
..
...
..........
...
....
...
......
.
...........
.
.
.
.
.
.
.
...
....
.
.
0
. ......
...
.
.
.
.
...
.....
.
.
.
.
............................................................................................ 5 . b = 15 ....
.... 1.......
.
5
.. b1 = 5
.
.
..
......... .......
..................
.
.
...
.
.
.
.
.
.
....
........
.
........
........
........
....
....
..
........b6 = 0 .............. 1
.
.
.
.
...
....
....
........... ....... .........
1
...
......... ..........
...
...
.
....
..
.
..
...
...
.
..
.
.
. 0
.
6
0 ...
.
.
.
.
.
...
....
.
..............................
.
.
.
.
.
.
.
.
.
.
.
.
...
...
....
........
..
.
.....
.
.
.
.
.
.
.
1
1
.
.
.
.
.
.
.
...
...
.
........
........
..
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
...
...
.
.
........... .......
..
.
......................
.
.
.
.
.
.
.
.
.
.
.
.
..
...
.
0.
..
.
.
... b = 10 ..... 2 ........................................................................................................... 4 ... b = 5 ....
.
4
.
.
.
...................
.
.
...
... 2
.
.
.
.
........................
.
.
.
.
.
.
.
....1
.
...
... .............
...
.
0..... ........
...
...
...
0.......................... .............. .................................................... 0
...
...
...
........... ...............
...
...
...
..
.
.
.
...
...
.
b3.... = 25 ........3.........
...
...
..
...
....
.
...
.......
...
...
..
...
.................................................................................................................
..
..
...................................................................................................................................................................
ou seja
Minimize z = x16X
+ x26 + x56 +X
x63 + x64
xji = bi , i = 1, 2, 3, 4, 5, 6
xij
Sujeito a
j:(i,j)E
j:(j,i)E
xij 0, (i, j) E
xi,m+1 = bi
xm+1,i = bi
...
.......
..... ......
.... .....
.... 5 ...
..... 1 ....
...... ......
...... ..........
.
.
.
.
... ........
.
.
.
. ....
........
........
.....
.......
x16 = 5 ................................................................ x56 = 15
.
... 6 ....
...............................
x26 = 10......................... ....... ........................x64 = 5
..........
..
....
.. .......
.......................
...... ...........
...
..... 2 ....
..... 4 ....
.
.
.
..... .....
...............
....
.....x
... 63 = 25
.......
.
...............
.
....
... 3 ....
...........
Este processo tem o inconveniente de requerer pelo menos m iteracoes para se obter uma solucao admissvel. O
proximo processo procura aliviar esse esforco tirando partido de uma solucao b
asica conhecida.
30
Processo 2 Base (Arvore)
Avan
cada
determinar uma
arvore geradora (de custo mnimo ou n
ao), isto e, uma solucao b
asica para o problema de
fluxo de custo mnimo. Se essa solucao b
asica e admissvel, isto e, se xij 0 para todo (i, j) E, ent
ao pode
ser usada como solucao inicial do metodo simplex. Seguidamente iremos descrever um processo de obter uma
solucao b
asica admissvel a partir de uma inadmissvel. Consideremos o seguinte problema de fluxo de custo
mnimo
2
......
................
2
..... ......
....
....................................................................................................
.
... 2 .... 4
.....1.........
........ ........
......................
.
.
.
.
.
.
.
.
.
.
.
.
.
........
......
.......
......
.
.
........
.
.
.
.
......
....
5 ..........................3
3 ......
.........................
..
.
.... 3 ...
.... 4
0 ......
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.... ....... ...........
........ 1
.... 1 ..............
...
.
.
.
.
.
.
.
.
...
.
...
.
........
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......................
.
.......................
.
...
2
.
.
.
..................................................................................................
....
.
.
... 5 .....3
.....4.....
..........
......
(5)
(6)
(7)
Deste modo e construda uma rede alargada G = (V , E ) a partir da rede G = (V, E) dada, onde
V = V {m + 1}, E = E {(j, m + 1), (m + 1, i) : (i, j) J }
Seja F o conjunto associado `
as arestas acrescentadas, isto e
F = {(j, m + 1), (m + 1, i) : (i, j) J }
Ent
ao o processo Fase I, consiste em
Minimize z
xij
(i,j)F
Sujeito a
(8)
Seguidamente, descrevemos um processo muito simples para determinar uma primeira solucao b
asica admissvel para este problema Fase I. Consideremos novamente a arvore inicial e a seguinte transformacao:
xij = 0
xm+1,i =
xij = < 0
(i,j)J
xj,m+1 =
(9)
facil de ver que esta solucao e admissvel para a rede alargada. Contudo, o nosso primeiro objectivo e a
E
de ser destrudo de modo a se obter uma arvore. Tal e conseguido de um modo muito simples subtraindo e
adicionando uma quantidade > 0 `
as vari
aveis associadas com as arestas desse ciclo de forma a que uma dessas
vari
aveis fique nula. Ent
ao essa vari
avel e tornada n
ao b
asica (e deixa de ser considerada) desfazendo o ciclo
respectivo. Esse processo deve ser efectuado ate ao desaparecimento de ciclos e uma solucao b
asica admissvel
para o problema Fase I e obtida quando tal acontecer.
Para ilustrar este procedimento, consideremos novamente a rede (5) e a arvore apresentada em (6). Ent
ao
J = {(4, 1), (1, 2)}
e
F = {(6, 4), (1, 6), (6, 1), (2, 6)}
A rede alargada para o problema Fase I e constituda pela rede original, pelo n
o adicional 6 e pelas arestas do
conjunto F .
Como |J | = 2, ent
ao a primeira solucao admissvel, obtida de acordo com a transformacao (9) e fazendo
n
ao b
asicas as vari
aveis xij = 0, (i, j) J , n
ao e b
asica e constitui o seguinte subgrafo
..........
... ....
..
..
............. 6 ........
4 ............................................. ..........................4
................
........
.
..
...............
........ ...
...
... ..............
.......... .....
...... .................
...
.
...
2
..... 2 ....
..... 1 ....
.
.
.
..... .....
...... ......
.
.
.
....
...
..
.
.
2 ........
...
..
...... ......
...
..... 3 ....
...
...
.... .....
........ ......... ..............
.
...
.
.
.
.
.
.
.
.
........3
.
....
0
........
....
........
..........
....... . .......
.....................
........................
... .....
.... 5 ....
.... 4 ....
...... ......
.............
..
Para destruir o ciclo basta subtrair > 0 a ambas as arestas de modo a que o fluxo a existente seja n
ao
negativo. Ent
ao
4 0, 2 0
e portanto 2. Fazendo = 2 a vari
avel x16 fica nula e pode passar a n
ao b
asica. Se tal acontecer obtemos
a seguinte solucao b
asica admissvel para o problema Fase 1 (8):
...............
.
...
... 6 ...
. ...
............ ............. ..................
.
.
.
.
.
.
.
........4
2
.
......
.
.
.
........
.
.
.
.
.
.
.
........
....
...
...................
........
....................
..
...
.
..
...
.....
.... 2 ...
.
.
....1.....
..... ......
..
.
.
.......
....
..
.
.
2 ........
...
..
...... ......
...
..... 3 ....
...
.... ...
...
........ ......... ...............
.
...
.
.
.
.
.
.
.
.
........3
.
0............
........
....
..........
....... . ........
....................
........................
... ..... .
.... 5 ....
.... 4 ...
...... ......
..............
...
(10)
.
.............. 0
...................................................................................... 6 ...
...
.... ...... ...
........ ........ ................
...
.
.
.
.
.
.
........1
....
...
1
........
........
........
. ........
.....
..................
.....................
0
..
..
.
... .....
.... 1 ...................................................................................................... 2 ...
....
...................
...
... ..
........
.
........ ................. 4
.
.
.
.
.
.
........
.... 2 ........
.
..
....
....
........
...
...
..
0 ..............................3............................... 0 ......
...
...
...
..
...
...
.
.
.
....
.
... 0
0 ...
.... 3 ....
...
...
....... ......... ..............
.
.
.
.
.
.
....
...
...
.
........ 0
0................
.
........
...
...
.......... ....
.. 2 ................................
........................ 3
0
..
...............................
.
.
... 4 ...................................................................................................... 5 ...
.............
.............
32
` semelhanca do processo 1, este problema de fluxo de custo mnimo seria resolvido pelo metodo simplex
A
com incio na solucao b
asica admissvel (10). A solucao optima deste problema fornece uma primeira solucao
b
asica admissvel para o problema de fluxo de custo mnimo original.
A existencia de apenas restricoes de n
ao negatividade permite desenvolver um processo de base avancada
ainda mais simples e com um menor n
umero de vari
aveis artificiais. Para isso basta notar que as restricoes de
conservacao de fluxo se mantem verdadeiras se se utilizar
(i,j)J
xij = xji =
(11)
em vez da transformacao (9). Deste modo e possvel construir uma rede alargada com
F = {(j, i) : (i, j) J }
e sem qualquer n
o adicional. Alem disso uma solucao b
asica admissvel para esse problema Fase I alargado e
facil de obter e corresponde a
J J F.
onde J e o conjunto associado `
a
arvore n
ao admissvel inicial e J e o conjunto definido por (7).
A ttulo de exemplo, consideremos novamente o problema de fluxo de custo mnimo definido pela rede (5) e
seja
J = {(2, 3), (3, 5), (4, 5), (4, 1)}
o conjunto de ndices de uma solucao b
asica (
arvore). Se calcularmos os valores das vari
aveis xij , (i, j) J
obtemos a seguinte
arvore:
...
........
...... ......
... ....
.... 2 ...
..... 1 ...
...... .....
................
.
.
.
......
.
.
.
......
.......
........
........ 4
...
. .......
..
........................
...
...
.....
2 ....
.... 3 .....
......... ........
...
........
........ 7
..
........
....
.......... .....
.
.
.
.
.
.
.
.
.
......... ....
. ....
4
.................................................................................................. ....
.....
... ... 5 ...
.... 4 ....
............
.........
Ent
ao
J = {(4, 5)}
Usando a transformacao (11), obtemos
F = {(5, 4)}
e a solucao b
asica admissvel para o problema alargado da Fase I
X
xij = x54
Minimize z =
(i,j)F
Sujeito a
e dada por
...
...
...... .......
...... ......
.
....
..... 2 ...
.....1.....
... ..
........
........ ..........
.
.
.
....
.
.
.
.
.
.
...
........ 4
..
.......
...
.. .........
...
...... ...............
...
.
.
.
.
.
.
2 ...
.... 3......
........ .......
........
....
........ 7
........
...
.......... ......
.
.
........
........... .....
...... ...................................................4
................................................... 5 ...
... 4 .......
...... ......
.............
...
33
...
.......
0
..... ......
.... .....
..... 1 ...................................................................................................... 2 ...
..... ..........
................
.
.
.
..... ........
.
.
.
.
0
0............. .........
........
....
........
........ .
........
....
....
.......... ......... ...................
...
...
. .... ....
..
...
...
...
... 3 ....
0 ...
... 0
.....................
.
.
.
.
.
.
...
...
.
........ 0
0
......
.
.
.
.
.
.
.
.
...
.
.
.
........
.....
........
.
.
.
.
3
.
.
.
.
.
.
......... ...
....... ............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .. ........
. .........
1
..
.....
.............................................................................................................................................................................................
... 4 ....
... .....5......
..........
.......
w1 = 0
......
.......
c12 = 1
..... ....
.... ....
.... 1 .... . . . . . . . . . . . . . .. ...... 2 .... w = 2
2
..... .....
..
...... .
13 = 1
4.....................................
. .c
...
. .
...
.....
...
.... ...............................
.
..
... ...
.
.... 3 ...
52 = 0
2 .......
. c
.
..
. ......................... 7
...
c34
=
1
.
.
........
.
.
.
.
.
.
.
..........
.
w3 = 1 ............... .
.
.
.
.
.......................
.......................
4
..
............................................................................................
....
... 4 ..... .. . . . . . . . . . . . . . ....... 5 ..... w5 = 1
..........
..........
c = 1
w1 = 0
w4 = 0
45
Ent
ao x34 e a vari
avel n
ao b
asica escolhida para passar a b
asica com valor . Para determinar , formamos o
ciclo
...
...... .......
...
.. 3 ....
... ..
........ ......... ..........7
.
.
........
.
.
.
.
.
........
....
........
........
.......... ........
. ........
....................
........ ....
.... ............................................4
............................................................ 5 ....
... 4 ......
...... ......
..............
...
Ent
ao tem de satisfazer
4 0, 7 0
e portanto = 4. A vari
avel x54 passa a n
ao b
asica com valor nulo e assim termina a Fase I com a solucao
b
asica admissvel dada pela seguinte
arvore
........
.......
2
.... .....
.... ....
2 ..........1..............................................................................................................................2........... 4
.
.
... ........ 5
.
.
.
.
.
3............ ...........
........
......
.
.
.
........
......
..........
....
....
.......
.....................................
...
...
..
... 4
.... 3 ....
.
.
...
...
.
.
............................. 1
.
.
.
...
.
1
...
.
.
........
....
.
.
.
.
.
...
.
.
..
.
.
........
..
3
.......... ...
..... .................
......................
.... ..............
.
.
.
..
.
...............................................M
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.......4..........................................................................................................5.........3
...
...
Essa seria a solucao inicial para a aplicacao do metodo simplex `a resolucao do problema de fluxo de custo
mnimo apresentado em (5).
34
M
etodo M-Grande
Este processo procura juntar as duas fases do metodo simplex, de modo a determinar a solucao optima do
programa original a partir da resolucao de um problema alargado. Tal como nos processos da Fase I discutidos
na seccao anterior, uma solucao b
asica e primeiramente determinada. Se para a obter foi necess
ario alargar
a rede, ent
ao o conjunto F definido na seccao anterior e n
ao vazio e o problema de fluxo de custo mnimo a
resolver tem a forma
Minimize z =
cij xij + M
(i,j)E
Sujeito a
xij
(i,j)F
(12)
Esse problema e definido pela rede alargada obtida da original por acrescimo das arestas (i, j) F , `as quais
se atribui o custo M > 0, e possivelmente um n
o adicional (m + 1). Esta quantidade M deve ser positiva e
muito grande em comparacao com os restantes coeficientes de custo. Devido `a grandeza de M , e porque se
trata de um problema de minimizacao, o metodo simplex comeca por anular todas as vari
aveis xij associadas a
(i, j) F . Sempre que uma vari
avel xij , (i, j) F , se anula, a aresta (i, j) deve ser suprimida da rede alargada
e o processo continua com o conjunto F actualizado. Assim, na solucao optima obtida pelo metodo simplex h
a
dois casos possveis:
1. F 6= e xij > 0 para certo (i, j) F e o problema de fluxo de custo mnimo e n
ao admissvel.
2. F = ou xij = 0 para todo (i, j) F e a solucao optima do problema alargado e tambem optima para o
problema original.
A ttulo de exemplo, consideremos novamente o problema de fluxo de custo mnimo definido pela rede (5).
Como vimos anteriormente, ao aplicarmos o processo base avancada com a transformacao (11) ao conjunto
J = {(2, 3), (3, 5), (4, 5), (4, 1)}
obtem-se J = {(4, 5)} e portanto:
F = {(5, 4)}
A rede alargada para o metodo M-grande tem a forma
........
........
2
.... ....
.... ....
2 ..........1..............................................................................................................................2........... 4
.... .......
.
.
3
...... ...........5
.
.
.
.
.
.......
...
....
........
........
...
...
.....
..........
........
...
...
.....................................
..
...
...
.
.
.
.
.
... 4
.
0 ...
.... 3 ....
.
.
.
.
.
.
.
.
.
.
...
1.................. .... .................1.
....
...
.
.
.
.
.
.
.
.
...
.
.
.
.
........ . ....
3
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.................
..........................
..... ...................................................M
2........4.................................................................................................................................................................5.........3
...
...
A solucao b
asica admissvel inicial e, como vimos na seccao anterior, dada por
...
...
...... .......
...... ......
.
....
..... 2 ...
.....1.....
... ..
........
........ ..........
.
.
.
4
....
.
.
.
.
.
.
...
........
..
.......
...
.. .........
...
...... ...............
...
.
.
.
.
.
.
2 ...
.... 3......
........ .......
........ 7
....
........
...
........
.......... ......
.
.
........
........... .....
...... ...................................................4
................................................... 5 ...
... 4 .......
...... ......
.............
...
35
O metodo simplex e agora aplicado ao problema de fluxo alargado com esta solucao b
asica admissvel inicial.
Ent
ao as vari
aveis duais wi , i = 1, . . . , 5 e os coeficientes de custo reduzidos cij , (i, j) E J s
ao calculados
como anteriormente (em relacao `
a rede alargada) e tem-se
w1 = 0
w4 = 0
.
c12 = M + 6
................
...............
.....
. . . . . . . . . . . . . . .. ......
..... 2 ...... w2 = M
.....1......
.
.
.
.
.
....... .c
.
.
.
.
.
.13. = M + 6 4............... .......
....
.
. .
...
........
.... ..............................
.
...
.. ...
.
.
..... 3 ....
52 = 8
2 .......
.
. c
...... .........
.
.
.
.
.
.
.
........ 7
c34 .....= M.
.
. 2
........
.w3 = M + 1........
.
.......
.
.........
..... . .
.........................
4
...... ........ ..
.
....
..... 4 ..............................................................................................................
w5 = M
. ..... 5......
...............
........
c = M + 2
45
Ent
ao x34 passa a b
asica e forma-se o ciclo
..
...... ........
...
.. 3 ...
........................
.
.
.
.
.
.
.
......7
............
........
........
........
..........
. ........
.........................
.........................
4
.
.....
......................................................................................................
... 5 .....
... 4 ....
...........
..........
Ent
ao x54 passou a n
ao b
asica, pelo que a aresta (5, 4) correspondente a essa vari
avel artificial deve ser suprimida
e o metodo simplex passa a resolver o problema de fluxo original. Ent
ao calculam-se as vari
aveis duais wi ,
i = 1, . . . , 5 e os coeficientes de custos reduzidos cij , (i, j) E (arestas originais apenas) e tem-se
w1 = 0
w4 = 0
......
...............
c = 4
.... .....
. . . . . . 12
.....
. . . . . . . . .. ...... 2 ... w = 2
.
.
2
....1......
.................
........ .
.
.
.
.
.
.
c
=
4
4......... ...
. . 13
.
....
. .
.......
.
.
.
.
.
...
.
.
.... ...........................
.
...
. ....
.
.
....
.. 3 ...
52 = 8
2 .......
. c
..........................
.
.
.
.
...
.
.
.
.
........ 3
4.............
..
.
.
.
.
.
........
.
........
....
.
.
.
.
.
.
.
.
.
.
.
........... .......
. . ...
........ .....
..........................
..
..
.....
. ...
....4...... . . . . . . . . . . . . . . ........5...... w5 = 2
......
......
c45 = 0
10
Tratamento de Desigualdades
xij
xij
xji bi
xji bi
j:(j,i)E
j:(i,j)E
ou
j:(i,j)E
j:(j,i)E
36
Tal como em programacao linear sem estrutura de redes, as desigualdades devem ser transformadas em igualdades por introducao de vari
aveis de folga. Dada a estrutura especial do problema de redes, isso e conseguido
introduzindo um n
o adicional (m + 1) para todas as p desigualdades e p arestas, uma para cada desigualdade,
tais que
(i, m + 1)
(m + 1, i)
m
X
bi
i=1
de modo a que o problema fique equilibrado. Os coeficientes de custo associados `as vari
aveis de folga devem ser
nulos.
A ttulo de exemplo consideremos o problema
Minimize z =
Sujeito a
.........................................................................................................................................
.
..
..
........
..
0
...... ........
..... .....
...
...
................................................................................................... 5 ...3
.
... 6 ......1.......
.
.
........ ........
...
........ 1
0 ..........................................
...
...
........
.
........
.
.
........
.
...
.
.
.
.
.
...
.
........... ........ ..........
....
...
....
.. ..... ......
.
....
....
... 3 ....
1 ......
.. 0
..
..................................
...
...
...
.
.
........ 4
3
.....
.
.
.
.
.
.
.
.
.
.
...
...
........
........
......
.
2
.
.
.
.
.
.
.
.
...
.
.
.......... ....
....... ..........
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.. .......
. ....
..
.....
...
..................................................................................................
... .....4......5
... 4 ......2.....
.......
......
...
2
............................
11
Problemas N
ao Equilibrados
bi 6= 0
i=1
com m o n
umero de n
os da rede. Esse problema fica equilibrado com a introducao de um n
o adicional (m+1)
e m arestas a ligar esse n
o com todos os n
os da rede original. Dois casos podem acontecer e s
ao apresentados a
seguir
1. Se
m
X
bi < 0, ent
ao
i=1
bm+1 =
m
X
bi > 0
i=1
e (m + 1) deve ser n
o origem em todas as arestas, ou seja, devem-se acrescentar m arestas (m + 1, i) com
coeficientes de custo cm+1,i = 0.
2. Se
m
X
bi > 0, ent
ao
i=1
bm+1 =
m
X
bi < 0
i=1
e (m + 1) deve ser n
o terminal das m arestas adicionais (i, m + 1) que tem associados custos nulos ci,m+1
= 0.
Em ambos os casos o problema fica equilibrado e pode ser resolvido pelo metodo simplex. Seja x
= [
xij ] a
solucao optima do problema alargado. Ent
ao:
1. Se xi,m+1 > 0, o n
o i armazena x
i,m+1 e n
ao esgota a oferta.
2. Se xm+1,i > 0, o n
o i armazena x
m+1,i e n
ao esgota a procura.
Para ilustracao deste processo, consideremos o problema de fluxo associado `a seguinte rede
Como
........................................................................................................................................
..
...
.......
.....
2
...
..... ......
..... ......
... 2 ..... 1 ...................................................................................................... 2 ... 3
..... .....
.............
...
......
...
...
...
...
...
....
...
...
...
...
...
...
...
...
...
3 ...
... 5
...
...
...
...
.
.
...
........
..........
.
.
.
...
..............
..............
.
.
.
.
....
.. 4 ..... 3 ....................................................................................................... 4 ....6
...... .....
............
...
...
4
....
...
.........................
4
X
bi = 3 > 0
i=1
introduz-se o n
o 5 e as arestas (i, 5), i = 1, 2, 3, 4 com coeficientes de custo nulos. Alem disso b5 = 3 de modo
a constituir um problema de fluxo equilibrado associado `a seguinte rede
38
........................................................................................................................................
....
..
...
2
...............
...............
... 2 ..... 1 ....................................................................................................... 2 ... 3
..... ..........
.
..
...
.
..... ........ 0
...
0...................................
........
.
........
....
...
.
........
........ .
.
.
.
.
.
...
.
.
.
...
.
.................................
. .... .... .
...
.....
...
...
.... 5 .....
...
3 .......
... 5
...
......................................
...
.
.
...
.
.
.
.
.
.
.
...
0
.
.
0
........
.
......
.
.
.
.
.
.
.
.
.
.
...
.
.
........
........
........
3
.....
.
.
.
.
.
.
.
.
.
...
.
........ ..........
......................
...... ....
.
.
...
.
.
.
... 4 .... 3 ....................................................................................................... 4 ....6
...... .....
..............
....
....
...
4
...........................
A solucao
optima deste problema e dada pela arvore
...............
...............
.
...
..... 1 ....
.. 2 ...
...... ..........
... ....... 2
....................
.
.
.
.
.
.
.
1
........
...
......
.
.
........
.
.
.
.
...
........ .
....
......... ......... ................
...
........ ........
...
.
...
... 2
... 5 .....
...
.
...........
...
........
.
.
............
............
.
.
.
.
.
.
..
...
.....
... ...
.
....3.......................................................................................................4....
.......
.......
12
Este tipo de problema difere do problema de fluxo de custo mnimo normal na existencia de limites inferiores
(nulos ou n
ao nulos) e limites superiores nos valores das vari
aveis e tem por isso a forma
X
cij xij
Minimize z =
(i,j)E
Sujeito a
j:(i,j)E
xij
xji = bi , i = 1, . . . , m
j:(j,i)E
E =LU J
LU = LJ =U J =
lij
uij
xij =
x
ij
se
se
se
(i, j) L
(i, j) U
(i, j) J
(1, 3, 3)
...............
................
.....
..................................................................................................................................
.... 2 .....3
....1........
...........
.
....... .............
.
.
... .................... (1, 4, 2)
(1, 2, 1)............... ...........
..... ........
....
.........
.....
...
.
.........
.....
.
.
...
....
.
.
.........
.....
.....
.........
...
.....
.....
.........
.....
(0, +, 2) ......
... (0, 3, 2)
......... .........
.....
...
...
............
.....
.
.....
.
.
.
.
.
.
.
...
...
.
.........
.......(, 2, 3)........ . 1 . .........
.
.
.
.
......... . ....
..
........ ..... ........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ......
......... ........
.. .....
.
.
.....
.
.
.
2 .......3..........................................................................4..........................................................................5.........2
...
...
...
8
(0, 3, 1)
(, 2, 2)
.......
........
.... ....
.... ....
.... 1 ................................................................................................................................... 2 ....
....... .....
...... ........
.
.
..... .....
.
... ...
.....
....
.....
.....
.....
..
.....
.....
.....
.
.
....
.
.
.....
.....
.....
....
.....
.....
...
.....
.....
.....
.....
...
.....
.....
.
.
.
...
.
.....
...
......
......
.....
.
.................................
.......
........
.
.
.... ....
.... .....
.... 5 ....
.... 4 ....
.... 3 ....
.
...... .....
...... ......
...... .....
...
...
...
Portanto n
ao h
a uma solucao b
asica associada a esses conjuntos.
Como segundo exemplo, consideremos a seguinte particao de E:
J = {(1, 2), (1, 3), (1, 4), (1, 5)}, L = {(4, 3)}, U = {(2, 4), (5, 2), (5, 4)}.
Ent
ao o grafo associado a J constitui uma arvore. Se acrescentarmos os arcos n
ao b
asicos (i, j) L U , tem-se
.........
.........
.... ...
.... ...
.... 1 .................................................................................................................................. 2 .....3
.
.
....................
...................
.
.
... .....................
.
.
..... ..........
..... ........
....
.
.....
.....
.
.
.
..... 1 ................
...
.
.
.
.. 2
.........
.....
...
....
.....
.........
.....
.....
.........
.....
... 3 [(5, 2)
....
.....
.........
.....
...
...
..................
.....
.....
.
.
.
...
.
....
.
.. .............
.....
.
.
.
.
.
..
.
.
.........
..... . 1 ....
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..........................
..........................
...........
.
..
.
.
.
.
.
.
.
.
.
.
.... 3 ................................................................ 4 .................................................................. 5 ....
2
...... ......
...... ......
...... ......
2
0
...
...
...
[(4, 3) L e l43 = 0]
40
U e u52 = 0]
.........
.........
2
.... ...
.... ...
.... 1 .................................................................................................................................... 2 ....3
....................
.................
.
.
.
.
.. ...................
.
...
..... .........
..... .........
..... .........
.....
....
....
.....1 ......... 3
2..............
.........
.....
...
...
.........
.....
.
.
.
...
.
.........
.....
...
...
.
.........
.....
.
2 ...
.
... 3
.
......... ......
.....
...
...
.
.
.....
.................
.
.....
.
.
.
...
.
.........
..... 1 ......
.........
.
.
.
.
.
.
.
........... ...
...... ... ........
.
.
..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .. ........
. .... ...
.. ....
.
.
.....
.
.
.
.
... 3 ................................................................. 4 ................................................................ 5 ....2
..........
..........
..........
.......
........
6
.... ....
.... ....
.... 1 .................................................................................................................................. 2 ...3
...... .............
....... .......
.
.
.... ............
.
... .....
.... ......................
..... .........
..... .........
.....
..
..
.....2 ......... 1
.....
.
4
.
....
.
.........
.....
...
.
........
.....
.
.....
...
.........
.....
.....
.
.
.........
.
.....
1......
... 3
.
......... .......
.....
...
...
.....
..............
.
.
.
.....
...
.
...
.........
..... 1 ........
......
.
.
.
.
......... . ....
......
.......
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ..
... ......
......... ........
.... ..............................................................
..............................................................
.. 4 .. ..
... 5 ...2
2 ........3....... ..
..............
.............
...
Essa solucao e n
ao admissvel, pois h
a pelo menos uma vari
avel b
asica com valor xij que n
ao pertence ao
respectivo intervalo [lij , uij ] (por exemplo x12 = 6 > u12 ).
13
M
etodo Simplex para o Problema de Fluxo de Custo Mnimo
com Limites
Sujeito a
j:(i,j)E
xij
j:(j,i)E
xji = bi , i = 1, . . . , m
m
X
bi wi +
i=1
(i,j)E
Sujeito a
(i,j)L
cij 0
(i,j)U
cij 0
(13)
(14)
42
...........
...............
6, 1)
.. ..................................(0,
..................................................................... 2 .... 0
5 .........1
..
........................
........
...
.... .
....... . ....
...
.......
...
...
.......
...
...
.......
.
.
.
.
...
.
.
.
..
...
.......
(0, 3, 4) .......
(0, 4, 2)
......
.
...
.
.
.
.
.
.
...(1,
.
...
...
.
.
.
8,
1)
.
.
...
.
.....
.
.
.
.
.
.
......
.........
....
.
.
.
.
.
.
.
.
.
.
.
...........
.................
.. ..................................................................................................... ....
.. ... 4 ....8
3 .........3
..
............
.........
(1, 5, 6)
Seja a solucao b
asica admissvel inicial definida pelos conjuntos de ndices
L = , U = {(1, 3), (2, 4)}, J = {(1, 2), (3, 2), (3, 4)}
Ent
ao obtem-se a seguinte rede associada a essa solucao:
......
......
..... ....
..... .....
.... 1 ...............................................2
....................................................... 2 ....
..... ......
.......... ....
.....
......... ..........
.
.
.
.
.
....
.
..
...
...
.......
.......
...
.....
2.....................
....
....
.
.
.
.
.
... 4
.
3 ...
.....
.
.
.
...
.
.
.
....
.....
.
.
...
.
.
.
.
....
.
.
.
.........
.
.
.
.
.........
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... .......
.... .....
.... ................................................................................................... .....
... 3 ..
... ... 4 ....
..............
............
4
...
........
...... ......
.... ....
.... 1 ..................................................................................................... 2 .... w
2
..... ......
..... ....
.....
........... ........
.
.
.
.
.
.
.
.
.
.......
.......
.
.
.
.
.
.
.
.
.
.......
.
.
.......
24
c13 = 5 .
.......
. c
.......
.
.
.......
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
...
.
.
......
........ ........
..........
... ...
.... ....
w3 = 2 .........3...............................................................................................................4.......... w4
.....
.....
w1 = 0
= 1
= 5
= 8
Ent
ao o criterio de optimalidade (13) n
ao e satisfeito e
(r, s) = (1, 3)
A vari
avel x13 tem de diminuir o seu valor de u13 = 3 para (3 ). Para determinar esse valor de forma-se o
ciclo
.....
.......
..... .....
.... ....
........+
..........
............................................... 2 ....
.... 1 ......................................2
...... ......
..... .....
.
.
.
.
.
.
.....
.
.
....... ....
....
.......
...
.......
.......
.
.
...
.
.
.
.
2 ...............
..
......
.......
.......
.
.......
.
.
.
.
.
....
.
.....
.
.
........
.
.
.
.
.. ........
....................
.
.....
....3......
......
e tem-se:
0; 2 + 6; 3 0; 2 1.
Portanto = 1 e a vari
avel x32 passa a n
ao b
asica com valor igual ao seu limite inferior l32 = 1. Ent
ao a nova
solucao b
asica admissvel e dada pelo seguinte grafo
43
..
..
...... .......
...... .......
..... 1 ...............................................3
........................................................ 2 ....
...... ......
..... ...
....
........... ............
.
.
...
.
.
.
.
..
.
.......
....
....
.......
...
...
1.....................
..
..
.
... 4
.
.
.
.
.
.
2 ...
....
.
...
.
.
.
.
.
...
....
.
...
.
.
.
.
.
.
.
.
.....
.
.
.
.
.........
.
.
.
.........
....
.
.
.
.
.
.
.
.
.
.........
.............
.... .................................................................................................... .....
... 3 ...
...... 4 ...
.
.............
............
4
isto e,
L = {(3, 2)}, U = {(2, 4)}, J = {(1, 2), (1, 3), (3, 4)}
Se agora calcularmos a solucao dual w e os coeficientes de custo reduzidos cij referentes `as vari
aveis n
ao b
asicas,
vem
........
........
.... ....
.... ....
.... 1 ..................................................................................................... 2 ... w = 1
2
...... ......
.. ...............
.....
.
.
.
.
.....
c32 = 2 . . .
.
..
. .
...
.
...
. .
24 = 7
. c
..
. .
.
.
....
.
........
...
. .
.
.
.
.
.
........
........
.... ....
.... ...
4 ........3..................................................................................................................4........w4 = 10
....
....
w1 = 0
w3 =
Ent
ao o criterio de optimalidade e verificado e a solucao e optima.
14
Determinac
ao de uma Soluc
ao B
asica Admissvel para o Problema de Fluxo de Custo Mnimo com Limites
x
ij +
x
ji .
j:(j,i)E
j:(i,j)E
xij
(i,j)F
Sujeito a
j:(i,j)EF
xij
xji = bi , i = 1, . . . , m + 1
j:(j,i)EF
44
M-grande:
Minimize z =
cij xij + M
xij
(i,j)F
(i,j)E
Sujeito a
xij
xji = bi , i = 1, . . . , m + 1
j:(j,i)EF
j:(i,j)EF
.....
...........
..... .....
... .................................(0,
..............3,
..........2)
............................................ 2 ... 2
3 .........1
.
........................
.........
...
....... ........
....
........
.......
.......
.......
....
....
.......
.
.
...
.
.
.
...
.
....
.
.
.
.
.
.
.
...
.
(1, 3, 5)
(0, 3, 2) ...
....
.
.
.
.
.
...
.
..... (2, 6, 4)
.
.
.
.
....
.
...
.
.....
.
.
.
...
.
...
.
. ...........
.
.
.
...... ..
.....
..... ........
..... ......
4..........3................................................................................................................4.........1
...
...
(1, 1, 3)
Seja x
definido por
x
12 = 0; x
31 = 3; x34 = 1; x
42 = 1; x
14 = 2.
Ent
ao:
b1 = b1 (
x12 + x14 ) + x
31 = 3 (0 + 2) + 3 = 4
b2 = b2 + (
x12 + x42 ) = 2 + 0 + 1 = 3
.
b3 = b3 (
x31 + x34 ) = 4 (3 + 1) = 8
b4 = b4 x
42 + x
14 + x34 = 1 1 + 2 + 1 = 1
.....
..........
..... .....
.. ................................................0
........................................................ 2 .... 2
3 .........1
..
.... ......
......... .........
.........................................................
......... 3
........................
.......
...
..........
.........4
..........
.......
...............................
........ .
.....
.........
..
.......
. .............................. ......................
.
.......
................... ....
....
....
.......
.
.
.......
...
...
.... 5 ....
.......
..
... 1
.......
.................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
.
.
.
2 ......................................................
........
.
.
.
.
.
.
...
.
.
.....
......... ..
.
..
........................ 8 ................ ....... ..................
....... .. .........................
............. ..........
1
.... ..................
.
4..........3...................................................................................................................4........1
...
...
Ent
ao
F = {(1, 5), (2, 5), (5, 3), (4, 5)}
e a primeira solucao b
asica admissvel para a rede alargada tem conjuntos de ndices
J = F, L = {(1, 2), (1, 4), (4, 2)}, U = {(3, 1), (3, 4)}
45
Processo 2 Base (Arvore
Geradora) Avan
cada
(15)
46
..................
..
.
..... 2 .... 0
...
..
.
.
.
................................
.
...
.
.
.
.
.
.....
....
....
.
...
.... 0 ......
....
.
...
.
.
.
....
...............
...
.
.
.
.
.
...
...
.
..
.
.
.
....
.
.
.
... 3 ..
.... 2
2........
.
....
...
..........
.
.
.
.
.
.
.
.
.
....
.
.
.
.
..... ........ ..............
.
...
.
.
.
.
.
.
.
........ 3 .....
..
......
.
.
.
5
.
.
....
.
.
.
.
.
.
.
........
..
....
.
.
.
.
.
.
2
.
.
.
.
.
.
.
.
........ ..........
.
....
........ ............
.... . ........
......... .....
...........................
.
.
..
..
........
.
.....
.
... 1 ................................................................................................................................. 4 ...
....... .......
................
....
.
3
Essa solucao n
ao e admissvel, pois
x14 = 4 > u14 = 3.
por isso necess
E
ario introduzir o n
o 5 e duas arestas (5, 4) e (1, 5). Alem disso, como
x41 = u41 + 1
ent
ao uma primeira solucao admissvel para a rede alargada e dada pelo seguinte grafo
.................
...
..
.....
.
... 2 ....
..........................
..... ........ ......
.
.
.
....
.... 0 ......
...
...
...
....
....
.....
....
...
...... ........
...
....
.
.
.
.
..
.
...
..
.
.
.
.
.
.
.... 2
... 3 ..
2.......
...
.
....
....................................
.
.
.
.
.
.
.
.
.
........
...
....
.
.
...
.
.
.
.
.
....
.
.
.
.
.
........ 3
.....
5
..
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
........
.
..
......
.
.
.
.
.
.
.
.
.
.
.
.
.
........ ............
..... .............
.
.......................
.
.
.
.
.
.
...
.... .............
...
.
..
................................................................................................................................
....
. .. 4 ...
... 1 ...
........................
..............................
.
.
........
3
.
......
.
........
.
.
.
.
.
...
........
........
........
........
........
........
.
1 .................................................... 1
.... 5 ....
.
....
...............
Essa solucao e b
asica, pois J tem apenas um elemento, e pode por isso ser a solucao inicial para a resolucao
do problema M-grande associado `
a rede alargada apresentada a seguir
...................
...
...
....
... 2 .... 0
...........................
..... ......... ......
.
.
.
...
...
... 1)
.... (0, .2,
...
....
....
..
...
....
.......
....
...
...... ........
.
.
...
.
.
.
....
.
..
.
.
.
.
.
.
.
... (0, 2, 1) 7
(0, 5, 1) .....
... 3 ..
....
.
..
.....................................
...
.
.
.
.
.
.
.
.
.
....
........
....
..
.
.
.
.
.
.
.
.
.
.
.
...
.
........
.....
.
.
.
...(0, 5,
.
.
.
.
.
.
.
.
.
.
(0, .5,
........ 3) ...... .
2
... ............... 5)
.
.
.
.
.
........ ..........
....... ...........
.
......................
.
.
.
.
.
.
...... ..
...
...
..
.
.
...
1 ....... 1 ............................................................................................................................................... 4 ....... 3
............. ........
... .............
.
.
(0,
3,
2)
.
.
.
.
........
.
.
......
.
........
.
.
.
.
.
...
........
........
........
........
........
........... ........... ..............
........... .......
.
.
...
....
(0, , M )
(0, , M )
... 5 .... 0
.................
Na primeira iteracao da aplicacao do metodo simplex `a resolucao desse problema, calculam-se as vari
aveis
duais wi , i = 1, . . . , 5 e os coeficientes de custo reduzidos associados `as vari
aveis n
ao b
asicas da solucao b
asica
admissvel inicial:
47
...............
..
.....
.. 2 ... w2 = 0
......................... .
.. .......
.
.
.
.
32
..
. = 2M + 3
... c
....
.
...........
....
.
.... .....
...
.
.
.
. c
... 3 ...
= 2M
...
.
.
.
. 24
.................................
.
...
.
.
.
.
.
.
.
.
........
..
....
.
.
.
.
.
.
.
.
.
.
.
.
.
c31 = 2M + 5.................w
........ ....
........3 = 2M .....2
........ .........
....... ...
.... .........
.... ....
w1 = 1 .........1............ . . . . . . . . . . . . . ....................4......... w4 =
. ....
.... ........c
.
.
.
.
=
2M
2
.
.
.
.
14
.
........
..
........
........
........ .
........
.......... ......... ..............
. .... .....
....
.. w = M + 1
.... 5.....
5
........
2M + 1
Ent
ao x31 e a vari
avel n
ao b
asica escolhida a passar a b
asica, pois
(3, 1) U e c31 = 2M + 5 > 0.
Para determinar a vari
avel b
asica que troca de estatuto com x31 , forma-se o ciclo
...................
...
...
....
... 3 .....
.
.
.
5 ....................... ..........................................3
........
..
........
........
........
........
.
.
.
.
.
........ ........
.
....... .......
......... .....
...... ................
..
..
..
....
.... 4 ....
... 1 ...
....
....
.
..
.
.
.
.
.
.
.
.
............ ........
........................
.
.
.
........
.
.
.
.
........
........
........
........
........
........
.....
........
1 ..................................................... 1
.... 5 ....
....
................
Ent
ao deve ser escolhido como o maior valor n
ao negativo que satisfaz
1 0; 1 0; 3 0; 5 0.
Donde = 1 e as duas arestas (1, 5) e (5, 4) podem ser suprimidas assim como o n
o 5. Deste modo obtem-se a
seguinte solucao b
asica admissvel para o problema de fluxo original:
................
....
...
.....
.
... 2 ....
................................
....
.. ........
.
.
.
..
.
....
..... 0 ......
...
...
..
...
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
...
..
...
.
.
....
.
.
.
..
....
...
... 2
.
.
.
.
2.....
....
... 3 ....
...
.
......................................
.
.
....
.
.
.
.
.
.
.
........
....
... 4 .............
.
.
.
.
.
........ 2
...
...
.
.
.
....
.
.
....
.
.
.
.
.
.
.
.
........
......
..
.
.
.
.
.
.
.
.
.
.
.
.
........ ...............
...........................
.
............ .......
.
.
.
.
.
...
.
..
.
.
....
.
.
... 1 .................................................................................................................................. 4 ...
...
.
....
..................
...............
Ent
ao deve ser o maior valor n
ao negativo que satisfaz
3 0; 2 0; 4 0.
Donde = 2 e x43 troca com x14 (notar que x14 poderia tambem manter-se n
ao b
asica com valor igual ao seu
limite inferior, n
ao alterando dessa maneira as vari
aveis b
asicas).
A nova solucao b
asica e dada pela rede
48
.................
...
...
....
.
... 2 ....
....................................
....
.. .......
.
.
.
... 0 ......
....
...
....
...
....
...
.
.
.
.
.
.
.
.
.
.
...
.
.
.. ......
.
....
...
....
..
...
....
...
.
.
.... 2
.
2......
... 3 ...
...
....
.................................
.
.
.
.
.
.
.
.
.
.
. ........
.
.... 2 ...............
........ 0 ......
.
.
...
........
..
.
.
...
.
.
.
.
..
.
.
........
... ...............
.
.
.
.
.
........ ............
.. . ....
.......................
...
...........................
..
.
.
....
..
...
................................................................................................................................ 4 ...
.
... 1 ....
...
................
..................
w1 =
...............
..
.....
.. 2 ... w2 = 2
... ............... .
. .......
.
.
.
.
...
.
.
..............
.
.
...
....
.
. c
=
c14 = 5.
..... 3 ..........
.
. 24
.
.
.
.
.... ...... ............
.
.
.
.
.
.
.
.
.
........
.
.....
.
.
.
.
.
.
.
.
w3 = 1 ................ ....
. . ..........
.
.
.
...................
c
=
6
........................
.
43
.
.
.
4 .........1..............................................................................................................4.........
....
.....
3
w4 = 2
Ent
ao o criterio de optimalidade (13) e satisfeito e a solucao e optima.
15
Formulac
ao do Problema do Caminho Mais Curto como Problema de Fluxo de Custo Mnimo
esses n
os. Para obter a sua formulacao matematica, consideram-se as vari
aveis xij :
1 se (i, j) C
xij =
0 se (i, j)
/C
onde C e o caminho mais curto procurado. A formulacao tem ent
ao a forma
X
cij xij
Minimize z =
(i,j)E
Sujeito a
xij
xji = bi , i = 1, . . . , m
j:(j,i)E
j:(i,j)E
1 se i = s
0 se i 6= s, t .
1 se i = t
Consideremos o problema de fluxo de custo mnimo obtido do programa anterior substituindo as restricoes de
integralidade xij {0, 1} por 0 xij 1. Esse programa tem solucao optima, que e uma solucao b
asica
admissvel das restricoes
X
j:(i,j)E
xij
xji = bi , i = 1, . . . , m
j:(j,i)E
0 xij 1, (i, j) E
Como vimos anteriormente a matriz base associada `as vari
aveis b
asicas pode ser permutada de forma a
transformar-se em triangular superior com elementos diagonais iguais a 1. Ent
ao as condicoes de integralidade s
ao satisfeitas, o que demonstra que a solucao optima do programa linear de fluxo de custo mnimo e a
solucao do caminho mais curto entre os n
os s e t. Como esse programa linear e admissvel e limitado, ent
ao o
problema do caminho mais curto entre dois pares de n
os tem sempre solucao.
Assim por exemplo o caminho mais curto entre os n
os 6 e 4 do grafo
.......
........
6
.. .... .....
.... .....
1. ..... 6 ........................................................................................................................................................................................................................3....................0
...........
.
.
.
.
.
.
.
.
.
...
.
.
.
6
.
.
.
.
.
6 .............................................................
.
........... 9
...........
..
....
......................
...........
...
......
..
.................
........... .
...
...........
.......................
............................
......... ............
..................... ... 11
...
.
.... ..... .
......................
...
...
..... 4 ....1
.... 1 ..........................
.
4 ...
... 4
......................
. ..
...........
...
..............................
.
.
.
.
.
...
.
.
.
.
.
...........
.....
...
.......
.
.
.
.
.
..
.
.
...........
.
.
.
.
...
.
.
.......
.....
.
...........
...........
....
...
.............. ...........
.......... ...........
........ ....
5
4
...
...
.... .......
...
...
0 ..........2...................................................................................................................5........... 0
...
...
7
..
...
.....................................................................................................................................................................................................................................................................
e exactamente o problema de fluxo de custo mnimo apresentado nessa rede e que pode ser escrito na seguinte
forma
Minimize
Sujeito a
5x12 + 7x14 + 6x16 + 7x25 + 4x26 + 11x31 + 9x34 + 4x35 + 6x36 + 4x54 + 6x63
x12 + x14 + x16
x31
=0
x12
+ x25 + x26
=0
x31 + x34 + x35 + x36
x63 = 0
x14
x34
x54
= 1
x25
x35
+ x54
=0
x16
x26
x36
+ x63 = 1
0 xij 1, (i, j) E
O problema de fluxo de custo mnimo correspondente ao caminho mais curto entre dois n
os s e t pode ser resolvido
pelo metodo simplex. Este processo encontra no entanto algumas dificuldades para processar o problema de
50
fluxo devido `
a degenerescencia das solucoes b
asicas. Por outro lado se se pretender determinar outro caminho
mais curto entre s e um n
o r 6= t, ent
ao tem que se resolver um problema de fluxo diferente em que a solucao
optima do primeiro problema n
ao e admissvel para o segundo.
Na pratica e desej
avel determinar todos os caminhos mais curtos entre um dado n
o e todos os restantes n
os
da rede. O metodo simplex n
ao e, pelas raz
oes invocadas, usado para resolver o problema do caminho mais
curto, sendo substitudo nessa aplicacao pelo algoritmo Dijkstra, que ser
a discutido na seccao seguinte. Notemos
que este u
ltimo algoritmo s
o pode ser usado em redes com coeficientes de custo cij n
ao negativos, enquanto que
essa exigencia n
ao e partilhada pelo metodo simplex.
16
Resoluc
ao do Problema do Caminho Mais Curto
Inicialmente tem-se
d = [2 7],
a = [3 3].
Como o n
o 1 e adjacente ao n
o2e
2 + 4 < 7,
ent
ao d2 deve ser actualizado para 6 e a correspondente componente a2 do vector a passa a ser igual ao n
o1
que foi escolhido nessa iteracao. Ent
ao
d = [2 6],
a = [3 1].
Este tipo de procedimento deve ser efectuado (m 1) vezes, uma por cada um dos n
os da rede a que
pretendemos determinar o caminho mais curto e o respectivo custo ao n
o m. No fim do processo, o vector d
contem os custos dos caminhos mais curtos do n
o m a cada um dos restantes n
os. Por outro lado, devido `a sua
definicao, o vector a fornece os caminhos a percorrer do n
o m a cada um dos restantes n
os.
O algoritmo de Dijkstra e baseado nas ideias apresentadas. Seguidamente apresentamos os passos deste
processo para a determinacao dos caminhos mais curtos do n
o m aos n
os 1, 2, . . . , m 1 num grafo G = (V, E),
em que cada aresta (i, j) E tem associado um custo cij .
51
ALGORITMO DIJKSTRA
Sejam S = {1, 2, . . . , n}, S =
di =
cmi se (m, i) E
+ se (m, i) 6 E
ai =
m se (m, i) E
+ se (m, i) 6 E
Para k = 1, 2, . . . , m 1
Determine: dr = min di : i S
.........
.........
.........
3
2
.... ....
.... ....
.... ...
.............. 1 ............................................................ 5 ............................................................ 2 ...
... ...
... ..............
..... ..
..............
........ ............
.
.
.
.
....
.
...
.
.
.
.
.
.
.
...
.
.....
....
.........
....
...
2.........................
5...............
...
...
...
..
...
..
.........
....
.
.
.
.
.
.
.
.
.
.
.
... 5
.... 1 ....
.....
...
.
.
.
.
.
.
.
.
.
.
.
...
.
...
...
....
.......
.
.
.
.
.
.
.
.
.
...
...
...
.
.
..
....
...
.. ........................
...
.
... ..............................
...............
.
..
.
... ....
.
... ... 3 ................................................................................................................................ 4 ....
.............
.. .............
..
.....................................................................................3
.........................................................................
Inicialmente tem-se
n
os
di
ai
1
3
5
2
2
5
3
5
5
4
+
+
1
3
5
2
2
5
52
3
4
2
4
7
2
Agora
d1 = min{di : i S}
o que implica a transferencia do n
o 1 de S para S. O n
o 1 tem como adjacentes 3, 4 e 5. Mas
d3 = d1 + c13 = 4 d3
d4 = d1 + c14 = 6 < d4 d4 = 6
Portanto a4 deve ser modificado para 1, obtendo-se a seguinte tabela
n
os
di
ai
1
3
5
2
2
5
3
4
2
4
6
1
Agora
d3 = min{di : i S}
Como
e faz-se S = {2, 1, 3}, S = {4}. O n
o 3 e adjacente a todos os n
os, mas apenas interessam os n
os i S.
d4 = d3 + c34 = 7 d4 ,
n
ao h
a alteracoes nos vectores d e a. A u
ltima iteracao resume-se `a escolha do n
o 4. A u
ltima tabela fornece
toda a informacao respeitante `
as distancias e os caminhos mais curtos do n
o 5 aos n
os 1, 2, 3 e 4. Assim os
ao as ligacoes directas s
ao os
valores das distancias s
ao as componentes di do vector d. Como a1 = a2 = 5, ent
caminhos mais curtos dos n
os 1 e 2 ao n
o 5. Por outro lado
a3 = 2, a2 = 5
pelo que o caminho mais curto de 5 a 3 passa pelo n
o 2. Finalmente
a4 = 1, a1 = 5
implica que o caminho
optimo entre 5 e 4 tem 1 como n
o de passagem.
No caso de um grafo directo apenas h
a interesse em caminhos directos do n
o m aos outros n
os 1, 2, . . . , m 1.
Como exemplo de ilustracao de aplicacao do algoritmo neste u
ltimo caso, consideremos o seguinte grafo directo
................
............... ....
................
9
7
.............................................................
.....
..............................................................
.
..
.....6.....................................................................3......
....................4
...............
. .........
..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
.
.
.
... ..........
........... .........
.
....... ....................
.
.
.
.
.
.
.
.
. .
... ..
..
11
.....
.... ..... ....11
.
.
4............................. ......
... ......... ........
..... ....
...
. ..
... ..........
....
... ..........
6 ......
4 ...... ...... 9 ..............................
....... ......
...
...
.....
... ..
.... ...
...
...
..... .....4 .........
.............. 5
.
.
.
.
.
.
.
.
.
...
.
...
.
...
..... . ......... ..........
. ...........
.
.
.
.
.
.
.
.
.
.
.
...
.
...
...................................
...................
.
.
.
.
...
.
.
...
...............................................................
...
.
... 17
... 5 ..
...
... 1 ...........
.
.
.
.
...........................
...
11 ..... ..............
.... ...........................
...
... ......
...........3
.
.
.
...
...
.
.
................... ... .. 7
................ ... ........
...
...
...................... ....
...
...
5 ................ ...
...
...
... 2 ....
...
..
..........
....
..
...........................................................................................................................................
Ent
ao m = 6 e tem-se inicialmente S = , S = {1, 2, 3, 4, 5} e
n
os
di
ai
1
+
+
2
+
+
53
3
6
6
4
+
+
5
11
6
Ent
ao
d3 = min{di : i S}
e faz-se S = {3}, S = {1, 2, 4, 5}. Do n
o 3 partem as arestas (3, 1), (3, 4) e (3, 5), pelo que os valores de di e ai ,
i = 1, 4, 5, s
ao actualizados segundo o processo explicado anteriormente e tem-se a seguinte tabela
n
os
di
ai
1
17
3
2
+
+
3
6
6
4
15
3
5
10
3
Agora
d5 = min{di : i S}
Como S = {1, 2, 4} apenas as arestas (5, 1) e (5, 4) devem ser consideradas. Ent
ao n
ao h
a alteracao para o n
o
1, mas d4 e a4 vao ser modificados, obtendo-se a tabela
n
os
di
ai
1
17
3
2
+
+
3
6
6
4
14
5
5
10
3
d4 = min{di : i S}
e S e S s
ao alterados para S = {1, 2} e S = {3, 4, 5}. Como do n
o 4 apenas sai a aresta (4, 5) e 5 S, ent
ao
n
ao h
a qualquer modificacao na tabela anterior. Na proxima iteracao tem-se
d1 = min{di : i S}
e S = {1, 3, 4, 5}, S = {2}. Os valores de d2 e a2 s
ao ent
ao modificados e tem-se
n
os
di
ai
1
17
3
2
22
1
3
6
6
4
14
5
5
10
3
Au
ltima iteracao apenas escolhe o n
o 2 e o algoritmo termina com a u
ltima tabela. As distancias do n
o6a
cada um dos n
os i s
ao dadas pelos valores di das componentes do vector d. Os caminhos mais curtos a partir
do n
o 6 s
ao determinados a partir do vector a, de acordo com o explicado anteriormente. Assim tem-se
1. O caminho mais curto de 6 a 3 e a ligacao directa.
2. Para ir do n
o 6 ao n
o 1 deve-se ir de 6 para 3 e de 3 para 1.
3. A melhor maneira de alcancar o n
o 2 e ir de 6 para 3, do n
o 3 para o n
o 1 e de 1 para 2.
4. O caminho mais curto de 6 para 4 e
6354
5. Para ir do n
o 6 para o n
o 5 deve-se ir primeiramente ao n
o 3 e depois desse n
o para 5.
Antes de terminar esta seccao e importante notar que assumimos que os pesos em cada uma das arestas s
ao
n
ao negativos. A existencia de ciclos com peso negativo torna o problema do caminho mais curto ilimitado.
Caso isso n
ao aconteca existe sempre um caminho simples que e solucao optima desse problema. Algoritmos do
54
ALGORITMO DE ROTULAC
AO
Sejam S = {m}
di =
0
se i = m
+ se i V {m}
ai = +, para i V
Enquanto S 6=
Escolha: r S
Actualize: S = S {r}
Para cada n
o i V tal que (r, i) E:
Calcule di = dr + cri
Se di < di faca di = di , ai = r e S = S {i}
Para a utilizacao deste metodo e suficiente assumir a inexistencia de ciclos com custo negativo. Por fim, e
de referir que algoritmos de rotulacao podem ser adaptados por forma a determinar caminhos entre um par de
n
os que optimizem outras funcoes objectivo.
17
Problema do Fluxo M
aximo
z=
f
X
xij
j:(i,j)E
xji = gi , i = 1, . . . , m
j:(j,i)E
e
gi =
f se
0 se
f se
55
i=s
i 6= s, t .
i=t
......
..............
.... .....
.............................................3
....
........................................................ 4 ...
..... ...........
.. ... 2 ..
...... ...........
2 .........................................................................
........... 1
...
...........
...
...
.......
...........
......
.......
...
...
.............. .......
...........
....... 1
......... ............
...
...
............ .....
.......
..... .......
.......
..
.
..
.
.
... 1 .
... 4
.......
... 6 ...
2
...
.....................
.
.
.
.
.
..
.........................
.
(16)
...........
...
.......
...
.. .
...........
.......
........... .
..
.
...........
...........
.......
.....
...........
...........
....... . ..........
............... ...............
....................... .....................
... ....
....... ....
3
3
.
.... 3 .................................................................................................... 5 ...
..... ......
...... .....
....
...
2
e sejam s = 1 e t = 6. Ent
ao a formulacao do problema e a seguinte:
Minimize
Sujeito a
z = f
x12 + x13
x12
+ x23 + x24 + x25
x13 x23
+ x35
x24
+ x45 + x46
x25 x35 x45
+ x56
x46 x56
0 xij uij , (i, j) E
=f
=0
=0
=0
=0
= f
onde uij s
ao os limites superiores apresentados nas arestas do grafo.
Se na u
ltima formulacao introduzirmos a vari
avel x61 = f , facilmente conclumos que o problema de fluxo
maximo e equivalente ao problema de fluxo de custo mnimo representado pela rede:
...........
...........
(0, 3, 0)
... ...
... ...
0.......................2........................................................................................................................4....................0
...........
...
7 (lij , uij , cij )
(0, 2, 0)...................... .. .... ..............
...........(0, 1, 0)
...
...........
....... (0, 1, 0)
.
...
...........
...........
.
.......
............. .........
...........
.......
.....
.....
.....................
.......
.......... ....
.
..
.... .....
.
.......
...
... 6 .... 0
.......
(0, 2, 0) .....
0 ........1...................
... (0, 4, 0)
.
.......
.
.
..........................
..
...
...
...........
.......
......... .. ....
...........
.......
..
.
........
...........
...
...........
.......
.....
...........
...........
....... . .........
...
.
...........
.
.
............... ...............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... (0, 3, 0)
.
.
......... .........
(0, 3, 0) .......
.......... ....
..
...
....................................................................................................
...
...
.
...
5
0
0
3
.
.
.
.... ....
...... .....
...
......
(0,
2,
0)
...
...
........................................................................................................................................................................................................................................................................
(0, 4, 1)
X
X
ujt
usj ,
f min
j:(s,j)E
(17)
j:(j,t)E
f min{5, 4} = 4
Assim mostramos com este exemplo que todo o problema de fluxo maximo do n
o s para o n
o t e equivalente
a um problema de fluxo de custo mnimo com limites num grafo alargado G = (V, E ), onde
E = E {(t, s)}, bi = 0, i = 1, 2, . . . , m, z = xts
Dada a equivalencia apresentada, o problema de fluxo maximo tem sempre uma solucao optima que pode
ser obtida a partir do metodo simplex. A dificuldade em determinar uma primeira solucao b
asica admissvel e a
estrutura especial do problema sugeriram o uso de uma outra tecnica que resolve o problema de fluxo maximo
sem explorar a reducao a um problema de fluxo de custo mnimo. Esse algoritmo e discutido na proxima seccao.
18
Resoluc
ao do Problema do Fluxo M
aximo
Nesta seccao, iremos descrever o conhecido algoritmo de Ford-Fulkerson para a resolucao do problema do fluxo
maximo. Para isso necessitamos do conceito de Fluxo V
alido, que e definido como um vector x = [xij ] que
56
satisfaz as restricoes de conservacao de fluxo em cada no i 6= s, t e os limites em cada aresta. Assim para o grafo
do exemplo anterior a solucao x = [xij ] definida pelo grafo pesado seguinte e um fluxo valido:
..
..
...... ........
...... .......
....
............................................1
........................................................ 4 ...
...... .............
......... 2 ......
..... ...........
.............. ........... .............
.
.
.
1 7 xij
.
...........
.
.
.
.
...
.
.
.......
...
...........
......
.......
...
...........
...........
.
.......
............... .......
...........
...
....
....... 0
.......... ...........
........... ....
...
.......
...
.... ......
..
.......
..
..
... 1 ..
..
.......
1
0
...
.......................
.......... 6 ....
.
.
.
.
.
.
.
...........
.......
.
.
...
............... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...........
.......
...
...
....
...
......
.
.
.
.
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
..
....... . ......
.
........... .. ......
......... ......... ....................
.........................
...
.....
..... ......
0
1
..
...
...
.....
................................................................................................... 5 ....
...
...
.... 3 ....
..... ......
.........
.
.
.
.
..
...
1
........................................................................................................................................................................................................................................................................
xjt =
xsj
(s,j)E
(j,t)E
Seja x
= [
xij ] um fluxo valido. Uma Cadeia Incremental e uma cadeia que une o n
o
origem s e o n
o terminal t com fluxo positivo a enviar de s para t atraves dos seus n
os de forma a que se obtenha
um novo fluxo valido x
= [
xij ] com valor de fluxo superior ao de x, isto e, tal que
f (
x) > f (
x).
Para ilustrar este conceito, consideremos novamente o grafo apresentado em (16) e seja x
= [
xij ] o fluxo valido
dado pela seguinte rede
............
...............
1
.. ... ...
....
................................................................................................. 4 ....
..................2
.........
.......................
.
.
.
.
.
.
.
.
.
.
.
...........
7 x
ij
...
2 ...................... . ..... ...............
........... 1
...
...........
.......
...........
..
...
........... .
.......
...........
.....................
...
...
.......
.......................
......... ...
.......2
.
...
.... ....
.
.......
..
..
... 1 ..
.......
1 .....
..... 0
.......... 6 ...
.......
.......................
..
.......
...........
............ ..........
.......
...........
..
...
...........
.......
...........
...........
.
.
.
.
.
.
.
.
.
....... . ..........
........... . ..........
.
........................................
......................
. ....
........ ...
1
0
.................................................................................................
...
.. ... 5 .....
.....3......
............
......
Ent
ao
1356
57
f (
x) = 2
e uma cadeia incremental, pois se enviarmos uma quantidade de fluxo atraves dos n
os dessa cadeia obtemos o
seguinte fluxo valido x
= [
xij ]
.....
...............
.... .....
.....
............................................1
....................................................... 4 ....
.... 2 .....
..... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... ...........
.
.
.
.
.
.
.
7 x
ij
2 ......................... . ..... ................
...
........... 1
...........
...
.......
....
...........
...
.......
...........
.
.
............... .......
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... 2
.
... ... ....
........... .....
.
.......
.
....
.... ......
...
.
.......
..
... 1 ..
.... 0
1 ....
.......
. . 6 ...
.......................
.......
...
..........................
...........
.......
........... .
...
.....
...........
.......
...........
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........... . ...
......... ....
........
......................
......................................
........ ...
1
2
.
...................................................................................................
...
. .. 5 .....
.....3.....
............
......
(18)
e f (
x) = 3 > f (
x).
Notemos que o fluxo a enviar ao longo da cadeia tem de satisfazer as restricoes de conservacao de fluxo em
cada n
o e as restricoes de capacidade (limites superiores e inferiores) em cada aresta. Assim no exemplo n
ao
pode existir uma cadeia incremental do fluxo valido x anterior que use a aresta (1, 2), pois x12 = u12 .
A cadeia incremental apresentada e exactamente um caminho de s para t, pois as arestas tem todas o
mesmo sentido de s para t. O nome cadeia e usado por ser tambem possvel encontrar outras formas de enviar
fluxo positivo de s para t usando algumas arestas com sentido contrario ao de s para t. Assim por exemplo
consideremos o fluxo valido x
= [
xij ] apresentado em (18) e a cadeia
132456
Ent
ao se enviarmos uma quantidade de fluxo nas arestas com sentido directo e (1) nas arestas com sentido
contrario ao de s para t obtemos um fluxo valido x = xij
...........
...............
2
... ... ...
....
.................................................................................................. 4 ....
................2
........................
.........
.
.
.
.
.
.
.
.
.
.
.
.
.
...........
...
2 ...................... . ..... ...............
........... 1
...
...........
.......
...
....
...........
........... .
.......
...........
........................
.......
...
...
........................
.. ... ...
.......2
.
...
..
.....
.......
...
...
..
..
.......
1
0
... 1 ......
.
.
..
...............6.......
.......
.......... ...........
.
.
.
.
.
.......
...........
..
..
............ ....
.
.
.
.
.
.
.
.
.
.
...........
.
.
.
.
.
.
.......
...
...
......
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......... ...
........... .. ....
......
........................
......................................
3
2
.
..... 3 ....................................................................................................... 5 ...
...... ......
...... ......
...
...
com f (x ) > f (
x). Donde a cadeia anterior e incremental para o fluxo valido x
.
Chegamos assim `
a conclusao que para um dado fluxo valido x = [xij ] a construcao de uma cadeia incremental
deve ser feita aresta a aresta desde o n
o origem s ate ao n
o destino t de modo a satisfazer as restricoes de
conservacao de fluxo em cada n
o e os limites em cada aresta. Alem disso, se (i, j) e uma aresta candidata a ser
escolhida numa cadeia incremental, ent
ao h
a dois possveis casos:
1. (i, j) tem sentido de s para t:
Se
...
xij
...............
...... ......
.....
................................................................................................... j ....
. i ..
...... .........
.......................
.
.. .....
......
...... .
......
......
........
.....
.
.
.
.
.
.
.
......................
.
.
.
.
.
.
.. .....
.....
..
..... t ....
... s ....
...... ......
...........
...
(19)
........
ij
................ .
.... ....
....
................................................................................................ j ...
. i .. ....
...... .........
.........................
... .....
.
.
.
......
.
.
......
.....
........
......
......
......................
...................
.
.
.
... s ...
.... t ...
.... ....
...... ......
.......
...
(20)
Assim, se for possvel encontrar uma cadeia de s para t onde as condicoes (19) e (20) sejam satisfeitas, essa
cadeia e incremental e o valor de fluxo a enviar ser
a o maior valor que satisfaca essas desigualdades ao
longo das arestas da cadeia.
A cadeia incremental de s para t e assim construda usando os n
os adjacentes de cada n
o entre o n
o origem s
e o n
o destino t. Como tal pode ser utilizado um algoritmo de rotulacao para calcular uma cadeia incremental.
O algoritmo tem que ser modificado, uma vez que as arestas da rede podem ser percorridas nos dois sentidos.
Alem disso e u
til armazenar a quantidade de fluxo que e possvel enviar desde o n
o s ate cada um dos restantes
n
os da rede. Para este efeito utiliza-se o vector d, de componentes di , com i V . Resumimos em seguida os
passos de um possvel processo para a determinacao de uma cadeia incremental entre o n
o s e o n
o t num grafo
G = (V, E), em que cada aresta (i, j) E tem associado um limite de capacidade uij e no qual est
a definido
um fluxo valido x = [xij ].
DE UMA CADEIA INCREMENTAL
ALGORITMO PARA DETERMINAC
AO
Sejam S = {s},
di =
0 se i = m
+ se i V {S}
ai = +, para i V
Enquanto S 6= e dt = 0
Escolha: r S
Actualize: S = S {r}
Para cada n
o i V tal que (r, i) E e xri < uri :
Se di = 0 faca di = uri xri , ai = r e S = S {i}
Para cada n
o j V tal que (j, r) E e xjr > 0:
Se dj = 0 faca dj = xjr , aj = r e S = S {j}
de notar que se para um
Ap
os a aplicacao deste algoritmo o valor de fluxo a enviar de s para t e = dt . E
dado n
o i n
ao e possvel encontrar um adjacente j com > 0 ao longo da aresta (i, j) ou (j, i), ent
ao n
ao existe
uma cadeia incremental do n
o s para o n
o t. Iremos ver mais adiante que isso acontece apenas quando o fluxo
valido corrente e
optimo.
Consideremos a rede
59
..
.........
...... .......
.... ...
..... 1 ............................................20
.......................................................... 3 ....
..... ......
..... ...
.....
....... ............
.
.
...
.
.
.
.
.
.
.......
....
....
.......
...
...
.......
10
...
...
.......
.......
.
.
... 50
.
.
.
.
.
.
50 ...
.....
...
.
.
.
.
.
.
...
....
...
.
.
.
.
.
.
.
.
.
....
.
.
.
.
.
.........
.
.
.........
....
.
.
.
.
.
.
.
.
.
.
.
...........
.................
.... ................................................................................................... ....
... 2 ..
. .. 4 ...
.
.
..... .....
..............
....
20
com n
o inicial s = 1 e n
o terminal t = 4. Assumindo que x13 = x32 = 5, x12 = 15, x34 = 20 e x34 = 0 e um
fluxo valido inicial, e possivel determinar duas cadeias incrementais de s para t utilizando o algoritmo anterior.
A primeira e tambem um caminho
134
e permite aumentar a quantidade de fluxo em = d4 = 15 unidades ao longo das suas arestas, tornado
x12 = x34 = 20, x13 = 20 e x32 = 5. A segunda cadeia (e u
nica cadeia incremental nesta nova rede) e
1 2 3 4,
que obriga a utilizar a aresta (3, 4) em sentido reverso. Como = d4 = 5, ap
os a actualizacao do fluxo temos
.......
......
.... .....
.... ....
........................................................... 3 ....
.... 1 ............................................20
....... .....
...... .....
.
.
.
.
.....
.
.... .......
...
.......
.
.......
.....
....
.......
.
.
.
.
.
...
...
.
0...............
..
.
... 20
.
.
.
.
.
.
20 .......
.
....
.
....
.
.
.
.
.
...
....
...
.
.
.
.
.
.
.
.....
.
.
.
.........
.
.
.
.
.
.........
....... ............
.
.
.
.
.
.
.. ..... ..
... ........
.
.
.....
.
..
.
... 2 .................................................................................................... 4 ....
...........
...........
7 x
ij
f (
x) = 40
20
xij
(i, j) E
i X, j X
xij
(21)
(i, j) E
jX
i X,
...
...
... ....
...... ........
.... ...
.............................................1
...
....................................................... 4 ....
...... ............
. .. 2 ...
..... ...........
2 .............................................................................
........... 1
...
......
.......
...........
...
...
..
........... .
.......
...........
...
...
...........................
.......
...........
..
...
...
.......0
..
...... ...............
.
.......
...
...
...
...
.
.
..
.
... 1 .....
.......
1 ...
... 0
......... 6 ...
.
......................
.
.
.
.......
...
...
...........
............. ........
.
.
.
.
.
.
.
.
.
.
.
.
.
...........
.
.
...
...
.......
.......
.
.
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... . ......
..
........... .. ......
...........................................
..........................
0
1
.
.
.. ...
.... 3 ...................................................................................................... 5 ....
...... ......
..... ......
.
.
...
.
.
1
60
= f (x)
f (x; X, X)
corte
valido (X,X)
(22)
a sua Capacidade e a soma das capacidades das arestas que atravessam o corte no
Dado um corte (X, X),
Se c(X, X)
representa a capacidade do corte (X, X),
ent
sentido de X para X.
ao
=
c(X, X)
uij
(23)
(i, j) E
i X, j X
Como em qualquer aresta (i, j)
0 xij uij
ent
ao as formulas (21) e (22) implicam a seguinte desigualdade
f (x) c(X, X)
corte
valido (X,X)
(24)
(25)
(i, j) E
i X, j X
ou
xji = 0
(j, i) E
i X, j X
forma um corte de G e
Ent
ao (X, X)
= f (x).
c(X, X)
Portanto x = [xij ] e um fluxo
optimo do problema do fluxo maximo e o seu valor f (x) e o fluxo maximo a
enviar de s para t. Provamos assim que a desigualdade (25) se verifica como igualdade, ou seja, estabelecemos
a seguinte propriedade:
61
de s para t e igual a
` capacidade do corte mnimo (X, X), onde s X e t X, isto e
..
..
...... .......
...... ........
.............................................3
...
....................................................... 4 ....
...... .............
. .. 2 ...
.....
...........
2 .............................................................................
........... 1
...
.....
...........
...
.......
...
..
........... .
.......
...........
...
...
...........................
.......
...........
..
...
...
.......1
...
...... ...............
.
...
.
.
.
...
.
.
.
.
.
.
.
.......
... 4
...
... 6 ...
... 1 ....
2
.
.
.
.
.
.
.......... ...........
.......
...
...
...........................
.
.
.
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.......
..
...........
..
...
.......
...........
...........
...........
....... . ..........
........... .. .........
..........................................
..........................
3
3
.
.
... ...
..... 3 ....................................................................................................... 5 ....
..... ......
..... ......
....
....
2
e sejam s = 1 e t = 6 os n
os origem e destino, respectivamente. Seja x = 0 o fluxo valido inicial. Uma primeira
cadeia incremental mais ou menos
obvia para esse fluxo valido e a seguinte:
1
2
4
6
2 3 1
...
........
...... .......
... ....
.............................................1
....................................................... 4 ....
....
..... ...........
.................2
.........
.
.
.
.
.
.
...... ...........
.
.
.
.
.
.
.
.
1 ...................... ..... ..............
........... 1
...
...........
...
.......
...........
........
....
.......
............. .......
...........
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... 0
.
. .......
........... .....
.
.......
.
....
.....
.
..
...
...
.......
..
0
0
.... 1 ......
...
.
.
.
.......
.................6
..
.
......... ............
.....
.
.
.
.
.
.
.
.
.
.
.
.
.......
...........
..
..
...... . ...
.
.
.
.
.
.
.
.
.
.
...........
.
.
.
.
.
.
.......
.
...........
...........
....... . .........
........... .. .........
........ ........ .....................
........................
......... .........
0
0
.
..... 3 ....................................................................................................... 5 ....
.
.
..... .....
...... .....
....
...
62
3
5
6
3 2 3
Ent
ao = 2 e obtem-se o novo fluxo valido:
...
...
...... ......
...... .......
.............................................1
...
....................................................... 4 ....
..... ...........
. .. 2 ...
...... ...........
1 .............................................................................
...
........... 1
......
.
.......
...........
...
...
.......
........... .
.......
...
...
...........
.........................
.......
.......... ............
...
...
. .. ...
.......0
... ....
.......
...
.
.... 6 ...
.... 1 ....
.
.......
... 0
0
...
.
.
.....................
.
.
.
.......
...
...........
...
...........................
.
.
.
.
.
.
.
.
.
.
.
.
...........
.
.
.
.......
...
...
......
.
.
.
.
...........
.
.
.
.
.
.
.
.
.
.
.......
...
...........
........
.
.
.
......... ..........
.
.
.
.
.............. ..............
.
.
.................................
........... ....
2
2
..
...................................................................................................
...
... 5 ....
....3......
..........
......
2
2
5
6
1+2 0+1 2+3
Ent
ao = 1 e obtem-se o novo fluxo valido:
..
..
....
..........
..... .......
1
. ... ...
...
.................................................................................................. 4 ...
. .. 2 ...
.......................
...........
...
2 ............................................................................
........... 1
..
..
...........
...
.......
...
..
........... .
.......
...........
...
...
...........................
.......
..........
...
...
.......1
........................
...
.......
...
...
...
....
.
..
.
.
.
.......
... 1 ...
0 ...
... 0
... .. 6 ...
.
.
......................
.
.......
...
...
........................
.
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
...........
...
...
.......
.
.
.
.
.
.
.
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
........... .. .......
......... ............. .....................
.........................
......... .........
3
2
.
..
.... 3 ...................................................................................................... 5 ....
..... ......
..... .....
....
....
2
3
2+3
.....
.....
..... .....
..... .....
.... 1 .....................................20
.................................................................. 4 ....
..... ..........
...... ......
.
.
.
.
.
.
.
...... .......
.
.
.
.. . ....
........
.......
.....4
6................. . ......
........
...
.......... .. ...............
....
...
.
.
.
.
.
......... ........
.
..
....
...
... 3 ....
... 10
6 ......
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........
.......
.
.
...
.
.
.
.
.
.
....
.
.
.
........
......
.
.
.
.
.
.
.
.
.
.
.
....
.
........ . .......
.... 3
.
.
.
.
.
12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... ......
... ......
.... .................................................................................................... .....
... 2 ..
... ... 5 ...
.............
............
20
onde S = {1, 2} e T = {4, 5}, e apliquemos o algoritmo de Ford-Fulkerson para determinar o fluxo maximo de
S para T , ap
os a transformacao
...
.........
..... .......
... ....
..... 1 ...........................................20
........................................................... 4 ....
.
.................................
.......................................
.
.
......
+.............. . ......... ..............4
6................. ...... ....+
......
........
..
........
......... .... ...............
.....
....................
.....
...
........... .........
..................
.
..
..
...
.....
...
..
...
.... T ....
... 3 ....
..
10
6
... S ....
.
.
.
..
...............................
................
.
...................
.
.
.
.
.
........
......
..
......
.....
.
.
.
.
.
.
.
.
.
.
.
......
.
.
....
.
.
.
.
......
.
....
..
......
+ ....................................................... 3
12 .......................................................+
.
...
.....
................................................................................................... 5 ....
.... ...
.... 2......
........
........
20
20
20
4
2
1
.....
...............
..... .....
...................................20
.....
................................................................. 4 ....
.....1.........
..........................
....... ........
.
.
.
.
.
........
........
......4
6................. ......
........
....
........... ..... ..............
.....
..
............ .........
..
...
....
...
... 0
0 ...
3.
..................................
...
.
.
.
.
.
...
.
........
......
.
.
.
.
.
.
.
.
...
...
.
........
...
........ . .........
...... ............... 3
.........................
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ...
..
.....
....................................................................................................
.
....5 .....
.....2.....
........
......
7 x
ij
f (
x) = 47
20
= {(1, 3), (1, 4), (2, 3), (2, 5)}, que tem
Dado que X = {S, 1, 2} e X = {3, 4, 5, T } o corte associado e (X, X)
= u13 + u14 + u23 + u25 = 47.
capacidade u(X, X)
19
Determinac
ao de uma Soluc
ao B
asica Admissvel para o Problema de Fluxo de Custo Mnimo
rj , ent
ao o problema inicial n
ao tem solucao.
j:rj >0
rj , ent
ao o fluxo determinado na rede original e solucao
j:rj >0
3
10..............
...............
20, 1
..... 1 ......................................................................... 4 ...
.
..................
...........................
... .......
.
.
.
.
.
...
...
......
...... 4, ..12
....1
..
..
.....
0 6,
.
........
...
...
...
.............................
...
...
..
...
.....
..
...10, 4
...... 3.......
...
...
......... ........ ......
.
...
.
.
.
..
......
....
.
.
.
.
...
.
.
.
...... .........
.
..12
.
. 3,
.
.
.
.
.
.
.
.
.
12,
20
..........................
...................
.
.
.
.
.
..... 2 ...................................................................... 5 ...
...... .....
...............
20, 4
...
6, 0
12
20
Problema de Afectac
ao
n X
n
X
cij xij
i=1 j=1
n
X
xij = 1, j = 1, . . . , n
i=1
n
X
xij = 1, i = 1, . . . , n
j=1
degeneradas. Como veremos mais adiante, essa propriedade pode acarretar algumas dificuldades na utilizacao
do metodo simplex para a resolucao desse problema.
A ttulo de exemplo, suponhamos que numa determinada fabrica foram admitidos tres novos empregados para
trabalharem com tres maquinas. Ap
os varios testes obteve-se a seguinte matriz de custo empregado-m
aquina
Empregado \ M
aquina
1
2
3
4
25
24
15
5
31
17
23
6
35
16
18
e que pretendemos determinar o problema de fluxo de custo mnimo correspondente `a afectacao funcionariomaquina. Como n = 3, ent
ao obtem-se imediatamente o seguinte problema
Minimize z =
Sujeito a
j=1
3
X
xij = 1, j = 4, 5, 6
i=1
xij 0, i = 1, 2, 3; j = 4, 5, 6
21
M
etodo Simplex para o Problema de Afectac
ao
Como referimos anteriormente, o problema de afectacao e equivalente ao seguinte problema de fluxo de custo
mnimo
Minimize z =
n
2n
X
X
cij xij
i=1 j=n+1
n
X
xij = 1, j = n + 1, . . . , 2n
Sujeito a
i=1
2n
X
xij = 1, i = 1, . . . , n
j=n+1
xij 0, i = 1, . . . , n, j = n + 1, . . . , 2n
Devido `a sua definicao, qualquer solucao b
asica admissvel tem exactamente n vari
aveis b
asicas iguais a um,
pelo que tem (n 1) vari
aveis b
asicas nulas. Portanto as solucoes b
asicas admissveis s
ao muito degeneradas e
isso torna o metodo simplex menos eficiente para a resolucao do problema de afectacao. A ttulo de exemplo,
consideremos o problema de afectacao definido na seccao anterior. Como referimos na seccao do problema de
transportes, uma primeira solucao b
asica admissvel e obtida esgotando as ofertas e as procuras de cima para
baixo e completando a
arvore geradora. Se considerarmos essa solucao b
asica e calcularmos as vari
aveis duais
e os coeficientes de custo reduzidos a si associados, tem-se
........
........
.... ...
.... ...
.... 1 .......................................................1
........................................................ 4 .....
...... ...... ...................
...... .....
.
.
.
.
.
.
.
.
...
.
..... .........c
.
=
13
.
.
....
..
..... ....15
.........
........ ..............
...
..
........
.
c16 = 22 ................ .................................................. ................
...........
0 ...........................
... ............. .
.............
.....
.....
........
..........
..... .........
............... ...............
..... .....
... ...
.
....
.
w2 = 1 .......2.............................................1......................................................................................................5.........
.
........
....
..........
.
.
.
.....
..... ...................
c26 = 4 .................................
. ..
........ .........................
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c35 = 15............... ......................... ...................... ................
........ . ........
... ......
0
......................
.......... ..... .........
... ..
... ... .............
w3 = 5 .........3............................................................1...........................................................6..........
....
....
w1 = 0
66
w4 = 25
w5 = 18
w6 = 13
Ent
ao x34 e a vari
avel n
ao b
asica escolhida e forma-se o ciclo
.....
..... ......
.... 4 ....
. .
..................................
.
.
.
.
.
.
.
.....
......
........ .........
........
...
........
.....
.....
0 .........................
.
.
.
.
.....
..
......
.....
.....
........
..... .......
..... .....................
.....
....
.
......................................................................................................
.... 5 .....
..
....2......
.
.
.
.
.......
..................
1 + .............
.
.
.
.
.
......
.
.
.
.
.
.
.
.
.
.
.
............ ............................
.....
..
.....
.........
..... ................
.
.
.
.
. ...
......
..... ...............................
.
....
0
....3......
......
Donde = 0 e a vari
avel x35 passa a n
ao b
asica por troca com x34 . A nova solucao, a correspondente solucao
dual e os coeficientes de custo reduzidos das vari
aveis n
ao b
asicas, s
ao dados a seguir
..
...
...... .......
...... .......
....
....................................................... 4 ....
............................................1
.....1..............................
...... ...
..... .........c
......
=
13
..............................
.
15
.
.
..... .
.
.
.
.
.
.
.
.
.
.
.
.........
....
....
........
.
c16 = 7 ................ ................................................. ................
...........
0.............................
.. ..........
.
.
.
.
...........
..
.
.....
...................
........
..... ..........
......
.
... ..
.... ..... ...........
.
w2 = 1 ..........2.................................................1............................................................................................................5..........
........
.
....
.
.............
.....
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ........
c26 = 11 .................... 0
...
... ........... .........................
..
.....
.....
.....
.
......................
........ ...........
..... .................
.
.
.
.
........ . ........
..... .........
........... ..... ......... 35 = 15 .............................
..... ....................................................c
.................................................................... 6 ....
w3 = 10 .......3.......
...... ......
1
...
....
w1 = 0
w4 = 25
w5 = 18
w6 = 28
de notar que a solucao e a mesma, pois houve apenas mudanca nos ndices das vari
E
aveis b
asicas e n
ao b
asicas.
Na proxima iteracao (r, s) = (2, 6) e forma-se o ciclo
..
...... .......
.... 4 ....
. ..
................................
.
.
.
.
.
.
.
.....
.......
........ .........
........
...
........
.....
.....
0 ........................
.
.
.
.
.
...
.....
......
........
.....
..... .....................
.....
....
.
.....
.....
....2 .....................
.
.
.
.
.......
......
....
.......................................
........
..
........
.....
.
.
.
........
.
0 + ...........
........
........ .
.
.
.......... .........
.
.
.............. ........
....... ....
.
.
..
....................................................................................................
....
.
.... 6 .....
....3 ....
1
.........
.......
Ent
ao = 0 e novamente a vari
avel b
asica x24 troca com a n
ao b
asica x26 . A nova solucao b
asica admissvel, as
correspondentes vari
aveis duais e os coeficientes de custo reduzidos das vari
aveis n
ao b
asicas s
ao dados a seguir
.
................
.............
.....
....................................................... 4 ....
............................................1
.....1...............................
....... .....
.
.
.
.
.
.
..... ......... c
......
.
.
.
.
=
2
.
.
..... . ........
..... ........15
..
........ ......
.
c16 = 7 ............... ................................................. ...............
...
......... .....
.....
.........
c24 = 11 ......................................
..... ....................
.....
.....
..
................
...........
..... .........
........
... ...
.
.
.... ....................................1
.
.
w2 = 12.......2...... ............... .......................................................................................................5..........
........
.
....
..........
.
.
.
.....
....
.....
..........
.
0 ..............................0........ ........................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
....
...... .............
..... .................
........ ...........
.....
....
...
..... .........
........... ...... .......... c
= 4 ..............................................
.... ..........................................................35
........................................................ 6 ..
w3 = 10 .......3......
...... ......
1
.....
...
w1 = 0
w4 = 25
w5 = 29
w6 = 28
67
22
M
etodo H
ungaro para o Problema de Afectac
ao
n X
n
X
cij xij
i=1 j=1
n
X
xij = 1, j = 1, . . . , n
Sujeito a
i=1
n
X
xij = 1, i = 1, . . . , n
j=1
xij 0, i, j = 1, . . . , n
O seu dual tem a forma
Maximize w =
n
X
ui +
vj
j=1
i=1
Sujeito a
n
X
ui + vj cij , i, j = 1, . . . , n
(26)
ent
ao x = (xij ) e solucao
optima do problema de afectacao.
O Metodo H
ungaro e um metodo primal-dual que explora essa propriedade para resolver o problema de
afectacao. Os seus passos s
ao apresentados a seguir.
ALGORITMO HUNGARO
Passo 1 Determine uma solucao dual admissvel u = (ui ) e v = (vj ).
Passo 2 Calcule os coeficientes de custo reduzidos
cij = cij (ui + vj )
para todos os pares ordenados (i, j).
Passo 3 Procure determinar uma afectacao A, isto e um conjunto de n pares (i, j) tais que
cij = 0 e cada um dos ndices i e j aparece uma s
o vez nesse conjunto.
Passo 4 Se for possvel encontrar uma afectacao A, ent
ao a solucao
1 se (i, j) A
xij =
0 se (i, j)
/A
e primal admissvel e satisfaz a condicao de complementaridade (26). Donde essa solucao e optima
e o algoritmo termina. De outro modo determina-se uma nova solucao dual admissvel u = (ui ),
v = (vj ) com maior valor da funcao dual, actualizam-se os coeficientes de custo reduzidos cij e
volta-se ao Passo 2.
Como o valor da funcao dual aumenta em cada iteracao e h
a um n
umero finito de afectacoes, ent
ao o metodo
tem de terminar num n
umero finito de iteracoes. Seguidamente explicamos como os varios passos s
ao efectuados.
68
Passo 1
Dada a simplicidade do problema de afectacao, existem varias formas de obter uma solucao desse tipo. Uma
maneira simples de o fazer consiste em escolher ui e vj de acordo com as seguintes formulas
(
vj = min cij ,
j = 1, 2, . . . , n
ui = min (cij vj )
i = 1, 2, . . . , n
(27)
Ent
ao a segunda igualdade implica que
ui cij vj
para todo (i, j) e portanto
ui + vj cij
Donde (u = (ui ), v = (vj )) e dual admissvel.
Como exemplo de ilustracao, consideremos novamente o problema de afectacao definido pelos custos cij
apresentados na tabela a seguir
i\j
1
2
3
1 2 3
25 31 35
24 17 16
15 23 18
(28)
Ent
ao os valores das vari
aveis vj s
ao calculados simplesmente escolhendo os menores elementos de cada
coluna j isto e, tem-se
v = [15 17 16]
Alem disso os elementos ui s
ao calculados usando em cada linha i os respectivos coeficientes de custo e as
vari
aveis vj ja determinadas, do seguinte modo
u1 = min{25 15, 31 17, 35 16} = min{10, 14, 19} = 10
u2 = min{24 15, 17 17, 16 16} = min{9, 0, 0} = 0
u3 = min{15 15, 23 17, 18 16} = min{0, 6, 2} = 0
Donde
u = [10 0 0 ]
Passo 2
Este passo e trivial de efectuar. Normalmente considera-se um quadro com cij e as vari
aveis duais
ui e vj da forma seguinte
i\j
1
..
.
i
..
.
n
vj
1
c11
...
ci1
..
.
cn1
v1
...
...
j
c1j
...
. . . cij
..
.
. . . cnj
. . . vj
...
...
n
c1n
...
. . . cin
..
.
. . . cnn
. . . vn
ui
u
1
...
u
i
..
.
u
n
w
com u
= (
u1 , . . . , u
i , . . . , u
n ), v = (
v1 , . . . , vj , . . . , vn ) a solucao dual e w
o valor da funcao dual.
69
Passo 3
Para determinar uma afectacao no sentido explicado anteriormente usa-se um processo orientado por
PROCESSO DE AFECTAC
AO
1. Escolha a linha i das n
ao marcadas com o menor n
umero de coeficientes cij nulos.
2. Enquadre um desses elementos nulos e marque a linha i e a coluna j a que ele pertence.
3. Se n
ao for possvel encontrar uma linha com pelo menos um coeficiente cij nulo, o processo termina sem
obter uma afectacao. De outro modo volte a 1.
Seguidamente apresentamos os Passos 2 e 3 para o problema de afectacao apresentado em (28). O quadro
com os valores de cij e das vari
aveis duais tem a seguinte forma
i\j
1
2
3
vj
1 2 3
0 4 9
9 0 0
0 6 2
15 17 16
ui
10
0
0
58
Segundo o Processo Afectacao deve-se escolher uma das linhas 1 ou 3 por serem as que tem menor n
umero de
zeros entre os coeficientes cij . Escolhendo a linha 1, enquadra-se o elemento nulo dessa linha (
c11 ) e marca-se
a linha e coluna a que pertence esse elemento, obtendo-se o seguinte quadro
i\j
1
2
3
vj
1
60
69
60
15
2
4
0
6
17
3
9
0
2
16
ui
10
0
0
58
1
0
9
0
15
2
4
0
6
17
3 ui
9 10
0 0
2 0
16 58
(29)
Se agora marcarmos a linha 2 e coluna 2 ficamos apenas com o elemento c33 . Como c33 6= 0 ent
ao o processo
termina sem conseguir obter uma afectacao.
Passo 4
- Para determinar uma nova solucao dual admissvel com maior valor da funcao dual utiliza-se o
processo seguinte:
DO DUAL
ACTUALIZAC
AO
1. Marcar um n
umero mnimo de linhas e colunas de modo a que todos os coeficientes cij = 0 estejam nas
linhas e colunas marcadas. Para isso marca-se a linha ou coluna com maior n
umero de zeros. Depois
70
despreza-se essa linha ou coluna e repete-se o mesmo procedimento ate cobrir todas as entradas (i, j)
correspondentes a cij = 0.
2. Determine a quantidade > 0 tal que
= min{
cij : (i, j) n
ao pertence `a linha nem `a coluna marcada}
3. Actualize os valores das vari
aveis duais a partir de
ui se linha i n
ao est
a marcada
u
i =
u
i se linha i est
a marcada
vj se coluna j est
a marcada
vj =
vj + se coluna j n
ao est
a marcada
(30)
(31)
cij +
cij
cij =
c
ij
cij
se
se
se
se
a
a
a
a
linha
linha
linha
linha
i
i
i
i
est
a marcada e a coluna j est
a marcada
est
a marcada e a coluna j n
ao est
a marcada
n
ao est
a marcada e a coluna j est
a marcada
n
ao est
a marcada e a coluna j n
ao est
a marcada
(32)
n
X
ui +
n
X
vj
j=1
i=1
Se (
u, v) e a solucao dual antes de actualizar, ent
ao
w
=
n
X
u
i +
n
X
vj
j=1
i=1
i\j
1
1
60
2
4
3
9
ui
10
2
3
vj
69
60
15
0
6
19
0
2
18
-2
0
60
Seguidamente actualizam-se os coeficientes de custo reduzidos cij a partir de (32) e obtem-se um quadro, que,
de acordo com o Processo Afectacao, fornece a afectacao associada aos zeros enquadrados
i\j
1
2
3
vj
1
0
11
0
15
2
2
0
4
19
3
7
0
0
18
ui
10
-2
0
60
Portanto o algoritmo h
ungaro termina. A solucao optima do problema de afectacao e dada por
x11 = x22 = x33 = 1
xij = 0 para todos os outros (i, j)
e o valor optimo da funcao e 60. Note-se que esta solucao e a mesma que foi obtida pelo metodo simplex.
Na resolucao de um problema de afectacao pelo metodo h
ungaro os Passos 1 (ou 4), 2 e 3 que constituem
uma iteracao do algoritmo s
ao efectuados no mesmo quadro. Deste modo cada iteracao tem associada um
quadro. A ttulo de exemplo consideremos o problema de afectacao cuja matriz de custos e apresentada a seguir
i\j
1
2
3
4
5
6
1
2
3
4
5
6
180 6
11
6
16 19
5 180 18 13 21
9
8
12 180 22 18 11
20 18 27 180 22 15
10 22 11 25 180 18
16 10 17 30 10 180
1
6 175
60
61
69
2
0
174
4
6
3
60
67
6 167
6 10
4
0
7
14
168
5
66
6 11
66
66
6
6 10
60
60
60
ui
0
0
2
6
65
16
60
19
6 170
69
6
vj
6 11
5
4
6
66
11
24
6
60
10
6 171
9
0
55
Portanto n
ao se obteve uma afectacao e uma nova iteracao tem de ser efectuada. Para actualizar as vari
aveis
duais marcam-se primeiramente as linhas e colunas de acordo com a regra referida anteriormente. Agora = 4
e apenas as vari
aveis u1 (correspondente `a linha marcada) e v2 , v4 (referentes a colunas n
ao marcadas) s
ao
actualizadas por
u1 = 0 4, v2 = 6 + 4, v4 = 6 + 4.
72
1
2
3
4
5
6
ui
179 0
4
0
10 14 4
0 170 7
3
11
0
0
1
0 167 10
6
0
2
9
2
10 164 6
0
6
5
12
0
15 170 9
0
11
0
6
20
0 171 0
5
10 11 10 10
9
59
23
Problemas de Afectac
ao N
ao Equilibrados
Considere-se o problema de afectar m indivduos a n tarefas, com n < m, em que cada indivduo executa no
maximo uma tarefa e cada tarefa e executada por um e um s
o indivduo. Tal como no caso do problema de
fluxo de custo mnimo, e possvel equilibrar o problema de afectacao introduzindo (m n) tarefas fictcias com
coeficientes de custo todos nulos, isto e,
cij = 0, i = 1, 2, . . . , m; j = n + 1, n + 2, . . . , m.
Se na solucao
optima xij = 1 com j n, o indivduo i executa a tarefa j e se xij = 1 com j > n, o indivduo i
n
ao executa nenhuma das tarefas pedidas.
Considere-se agora o problema de afectar m indivduos a n tarefas, com n > m, em que cada indivduo
executa uma e uma s
o tarefa e cada tarefa pode ser executada por um indivduo ou n
ao. Neste caso e tambem
possvel equilibrar o problema de afectacao introduzindo (n m) indivduos fictcios com coeficientes de custo
todos nulos, isto e,
cij = 0, i = m + 1, m + 2, . . . , n; j = 1, 2, . . . , n.
Se na solucao
optima xij = 1 com i m, o indivduo i executa a tarefa j e se xij = 1 com i > m, a tarefa j
n
ao e executada por nenhum dos indivduos.
A ttulo de exemplo consideremos o problema de afectacao cuja matriz de custos e apresentada a seguir
i\j
1
2
3
1
9
7
7
2
6
5
8
3
9
5
6
4
9
6
8
5
5
1
3
Como existem tres indivduos e cinco tarefas, temos de juntar dois indivduos fictcios 4 e 5 com custos
cij = 0, i = 4, 5; j = 1, 2, 3, 4, 5.
73
Deste modo, obtemos um problema de afectacao equilibrado cuja matriz de custos e a seguinte
i\j
1
2
3
4
5
1
9
7
7
0
0
2
6
5
8
0
0
3
9
5
6
0
0
4
9
6
8
0
0
5
5
1
3
0
0
1
4
6
4
0
0
0
2
1
4
5
0
0
0
3
4
4
3
0
0
0
4
4
5
5
0
0
0
5
60
60
60
60
60
0
ui
5
1
3
0
0
9
N
ao se obteve uma afectacao e uma nova iteracao do metodo h
ungaro deve ser efectuada. Depois de marcadas
as linhas e colunas, de acordo com o ponto (i) do passo 4, obtem-se = 1. A nova solucao dual e os coeficientes
de custo reduzidos que s
ao actualizados a partir de (31) e (32), est
ao apresentados no quadro seguinte
i\j
1
2
3
4
5
vj
1
3
5
3
0
0
1
2
0
3
4
0
0
1
3
3
3
2
0
0
1
4
3
4
4
0
0
1
5
60
60
60
61
61
0
ui
5
1
3
-1
-1
11
1
3
3
1
0
0
3
2
0
1
2
0
0
3
3
3
1
0
0
0
3
4
3
2
2
0
0
3
5
2
0
0
3
3
0
ui
3
1
3
3
3
13
74
24
Optimizac
ao N
ao Linear em Redes
f (x)
xK
e diz-se N
ao Linear se f ou as funcoes que definem o conjunto K s
ao n
ao lineares. Uma solucao optima deste
problema diz-se Mnimo global de f em K. Na pratica, a determinacao de um tal ponto x K e difcil, pelo
que a maioria dos algoritmos de optimizacao n
ao linear procura obter um mnimo local de f , isto e, um mnimo
x de f numa dada vizinhanca de x.
O conceito de ponto estacion
ario de f em K est
a associado `a determinacao de um mnimo local ou global de
ario de f em K se
f em K. Diz-se que x e um Ponto Estacion
f (x)T (x x) 0 para todo x K
(33)
f (x)T x
xK
f (x)
xi
IRn .
cT x
Ax = b
x0
Ent
ao
K = {x IRn : Ax = b, x 0}
e um conjunto convexo e x e ponto estacion
ario de f em K se e s
o se
cT x cT x, x K
Assim para programas lineares, x e ponto estacion
ario de f em K se e s
o se x e mnimo global de f em K.
Para problemas de optimizacao n
ao linear, o resultado n
ao e em geral valido, mas e possvel estabelecer
algumas propriedades que ilustram a import
ancia do conceito de ponto estacion
ario em optimizacao n
ao linear
diferenci
avel. Para as estabelecer necessitamos dos seguintes resultados:
Teorema 3 (Teorema dos acr
escimos finitos) Se f e continuamente diferenci
avel em IRn , ent
ao para quaisquer x, x IRn , existe pelo menos um x
]
x, x[ tal que
f (x) = f (
x) + f (
x)T (x x
)
Teorema 4 Uma funca
o f continuamente diferenci
avel e convexa no conjunto convexo K (isto e, f (x1 + (1
)x2 ) f (x1 ) + (1 )f (x2 ) para todos [0, 1], x1 , x2 K) se e s
o se para quaisquer x, x K,
f (x) f (
x) + f (
x)T (x x
)
75
Como consequencia destes dois teoremas e possvel provar as seguintes propriedades, cujas demonstracoes
simples se deixam como exerccio:
Teorema 5 Se x
e mnimo local ou global de f em K, ent
ao x
e ponto estacion
ario de f em K.
Teorema 6 Se f e convexa em K, ent
ao x e ponto estacion
ario de f em K se e s
o se x
e mnimo global de f
em K.
O algoritmo de Frank-Wolfe para optimizacao n
ao linear considera programas da forma
Minimize
Sujeito a
f (x)
Ax = b
x0
(34)
(35)
em que A e uma matriz de ordem m n, com m < n, b IRm e x IRn . Esse algoritmo procura determinar
um ponto estacion
ario de f nesse conjunto K resolvendo em cada iteracao um programa linear que surge da
definicao de ponto estacion
ario.
ao linear. Para verificar
Para uma descricao do algoritmo, seja x K uma solucao admissvel do programa n
se x e um ponto estacion
ario de f em K, h
a que resolver o programa linear
Minimize
Sujeito a
f (x)T x
Ax = b
x0
(36)
Seja y K a solucao
optima desse programa. Dois casos podem acontecer e s
ao discutidos a seguir.
1. Se
f (x)T x f (x)T y
(37)
ent
ao
f (x)T x f (x)T y f (x)T x
para todo x K e portanto x e ponto estacion
ario de f em K.
2. Se (37) n
ao se verifica, considere-se o vector
d=yx
Ent
ao d e uma direccao descendente de f em x, pois satisfaz
f (x)T d = f (x)T (y x) < 0.
Como f e continuamente diferenci
avel, existe > 0 tal que
f (x + d)T d < 0
76
(38)
Ent
ao, pelo teorema dos acrescimos finitos, para 0 < tem-se
0<<
d)T (d)
f (x + d) = f (x) + f (x +
Mas > 0 e
f (x + d)
Td < 0
por (38). Portanto
0<
f (x + d) < f (x).
(39)
...........................
.............
.........
.............
.........
.............
.........
.............
.........
...............
.........
...
.........
.........
...
.........
...
.........
...
..
...
........................................................
..
..........
...
............
...
...........
.
.
.
.
.
.
.
...
.
.
.
x
+
.
.......
.
.
.
... x
.
.
.
.
.
.
.
.
.
...
............
K
...
...........
...
............
...
............
... .......................
.
.
x
i
, para todo i tal que di < 0
di
Ent
ao tem de ser escolhido menor ou igual do que o n
umero
+ se di 0 paratodo i = 1, 2, . . . , n
x
i
max =
: di < 0
min
di
(40)
(41)
(42)
f (x)T x
Ax = b
x0
ario de f em K e termine. De
Passo 2 Se a condicao (37) e verdadeira, ent
ao x e ponto estacion
outro modo, seja
d=yx
Passo 3 Determine max a partir de (40) e seja dado por (42), onde t e o primeiro inteiro n
ao
negativo que satisfaz o criterio de Armijo (41)
Passo 4 Actualize x = x + d e volte ao Passo 1.
Da descricao dos passos do algoritmo, facilmente se conclui que o processo necessita de resolver um programa linear em cada iteracao. Por isso s
o e utilizado na pratica quando esses programas lineares se podem
resolver de um modo extremamente r
apido. A utilidade desse algoritmo resume-se assim a programas lineares
estruturados, como o de fluxo de custo mnimo (transportes e afectacao), onde o uso de outros processos n
ao
explora devidamente as suas estruturas especiais. E ainda de acrescentar que cada um dos programas lineares a
resolver nas iteracoes k 2 tem uma base avancada admissvel, que e exactamente a correspondente `a solucao
optima do programa linear resolvido na iteracao k 1.
A ttulo de exemplo de aplicacao do algoritmo de Frank-Wolfe, consideremos o problema de transportes
definido pelo seguinte grafo bipartido
......
................
.... ......
.....
...................................................................................................
.
..
.....1.....................
..................3
........
......
........
.
.
.
.
.
.
........
.....
.
.
.
........
.
.
.
.
...
........
....... ..............
......................
........
........
........
........
.
.
.
.
.
.
.
........... .......
.....
......... .....
............... ...............
......................................................................................................
.
.....
. ... 4 ....
.....2......
...........
......
onde para cada aresta (i, j) a funcao custo fij (xij ) e definida por
1
fij (xij ) = xij + x2ij
2
78
Portanto h
a que resolver o programa n
ao linear:
Minimize f (x) =
Sujeito a
2 X
4
X
1
1
xij + x2ij = eT x + xT x
2
2
i=1 j=3
x13 + x14
=4
x23 + x24 = 4
x13
x23
= 4
x14
x24 = 4
xij 0, (i, j) E
onde
e = (1, 1, 1, 1)T , x = (x13 , x14 , x23 , x24 )T
No passo 0 do algoritmo de Frank-Wolfe e necess
ario determinar uma solucao admissvel do conjunto de
restricoes do problema de transportes, o que pode ser conseguido atraves do processo normal
...............
...............
4
.....................................................................................................
.....
.
....1......
...
.................3
.......
.......
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
0 ....................
......
........
........
.
.
.
.
.
.
.
.
......
............ ...............
.
.
.... .....
..................................................4
.....
........................................................ 4 ...
.... ....
....2......
........
.......
Ent
ao
x = (4, 0, 0, 4)T
1
f (x) = eT x + xT x = 24
2
No passo 1 do algoritmo e necess
ario calcular o gradiente f (x) de f em x. Mas para qualquer x IR4 ,
f (x) = x + e
Donde
5
1
f (x) = x + e =
1
5
f (x)T x
Ax = b
x0
........
........
.... ....
.... ....
.... 1 ...............................................4
....................................................... 3 ...
...... ......
. .
...
.14 = 8 .......................................
.c
. .
.....
. . ...............
....... .
0......................... . . . . . .
....
............
..........
........
... ... ........
... ...
4 ........2.................................4..................................................................................4.........
....
....
w1 = 0
w2 =
w3 = 5
w4 = 9
Ent
ao x14 e a vari
avel n
ao b
asica escolhida a passar a b
asica e forma-se o ciclo
79
.....
.....
..... .....
..... ......
........
...........
............................................ 3 ....
.... 1 ...........................................4
...... ...... ............
.. ..
...
.........
.........................
.
.
.
.
.
.........
.
.
...
................................................
. .
0 +......................... ............................ .
...........
..
.........
........
......
..... .... ..........
.... ....
.... 2 .........................................4
........
...........
............................................ 4 ...
...... ......
...... .......
...
...
w1 = 0
w2 = 4
........
........
.... ....
.... ....
.13
. .=
. .8. . . . .. ...... 3 ....
.... 1 ............. . . . c
...... ..... ............
...... .....
.
.
.
.
.
.
.
.
.........
...
.
.
.
... . ....
......
........
4 ..................................................
.
.
. ..
4 ....................... ............................ .
.............
........
..............
.............. ...............
.
. ...
....
.
... 2 ....................................................................................................... 4 ....
.............
.............
w3 = 3
w4 = 1
Ent
ao
y = (0 4 4 0)T
e a solucao optima desse programa. Alem disso o valor optimo e 8, pelo que
f (x)T y = 8 < f (x)T x = 40
Assim considera-se a direccao descendente
4
0
4 0
d=yx=
4 0
4
0
max = min
e
=
4
4
=
4
4
4
4
,
(4) (4)
=1
t
t
1
1
min {1, max } =
2
2
x)T d = f (
x)T (y x
) = f (
x)T y f (
x)T x = 8 40 = 32
f (
f (
x)T d = 3.2
f (
x) = 24
Para t = 0, tem-se
1
f (x + 1d) = f (y) = eT y + y T y = 24
2
80
Como
f (x) + f (x)T d = 24 3.2 < f (x + 1d)
ent
ao faz-se uma segunda tentativa com
= 1 =
Mas
2
4
4
0 1 4 2
1
x
=x+ d=
0 + 2 4 = 2
2
2
4
4
f (
x) = f
Como
ent
ao =
1
2
1
2
1 T
1
x = 8 + 8 = 16
x + d = eT x + x
2
2
1
1
f x + d = 16 24 3.2
2
2
e o novo iterando e
x = (2 2 2 2)T
w1 = 0
w2 = 0
...
........
...... ......
.... ....
.13
.... 1 ............ . . . c
. .=
. .0. . . . .. ....... 3 ...
..... ...... ............
........ ...
....
.........
.......... .........
.
.
.
.
.........
.
.
.
.
4 ...............................................
... ...
4........................ ............................ .
..............
........
.
............... ...........
.............
..... 2 ............................................................................................................ 4 ....
..... ......
..... ......
0
....
....
w3 = 3
w4 = 3
A solucao
optima desse problema e y = (0 4 4 0)T e o valor optimo e
f (x)T y = 24
Como
T
3
2
3
2
f (x)T x =
3 2
3
2
= 24 f (x)T y
f (x + d)
[0, max ]
81
(43)
1
cT (x + d) + (x + d)T H(x + d)
2
1
1
cT x + cT d + xT Hx + dT (Hx) + 2 dT Hd
2
2
1
f (x) + (c + Hx)T d + 2 dT Hd
2
donde
1
f (x + d) = f (x) + f (x)T d + 2 dT Hd = ()
2
Para determinar o mnimo de sem restricoes iguala-se a derivada de a zero. Mas
() = 0 (dT Hd) = f (x)T d
Ent
ao a resolucao do programa (43) e feita da seguinte forma:
1. Se dT Hd 0, ent
ao = max .
2. Se dT Hd > 0, ent
ao
f (
x)T d
= min T
, max
d Hd
(44)
4
4
4 4
dT Hd =
4 4 = 64 > 0
4
4
82
f (
x)T d
min max , T
d Hd
Donde =
1
2,
1
1
= min 1,
=
2
2
que e exactamente igual ao valor determinado pelo criterio de Armijo. O novo ponto e, como
anteriormente,
1
x + d = (2 2 2 2)T
2
que e a solucao
optima do programa n
ao linear do exemplo.
25
Este problema considera varios produtos (ou mercadorias) a enviar atraves de um grafo G = (V, E) directo. Se
g e o n
umero total de produtos, ent
ao as vari
aveis do problema xijk representam o fluxo do produto k a enviar
atraves da aresta (i, j) E (k = 1, 2, . . . , g). Tal como no problema de uma s
o mercadoria, as restricoes de
conservacao de fluxo tem de ser verificadas em cada n
o. Alem disso h
a limites inferiores e superiores para cada
vari
avel e um custo unit
ario cijk dado para enviar o produto k do n
o i para o n
o j atraves da aresta (i, j) E.
O problema assume tambem uma restricao linear das vari
aveis xijk em cada aresta, o que torna impossvel a
sua reducao a g problemas de fluxo de custo mnimo simples. A formulacao do problema multicomodidade e a
seguinte:
X
Minimize z =
Sujeito a
cijk xijk
(i, j) E
k {1, . . . , g}
X
X
xijk
xjik = bik , i = 1, . . . , m; k = 1, . . . , g
j:(j,i)E
j:(i,j)E
g
X
k=1
onde
aij <
g
X
(uijk lijk )
k=1
O grafo a seguir apresenta um problema de fluxo multicomodidade com lijk = 0 para todas arestas (i, j) E
e produtos k = 1, 2 (g = 2). Em cada aresta escrevemos as quantidades
(aij , uij1 , uij2 , cij1 , cij2 )
e em cada n
o
(bi1 , bi2 )
representam as quantidades de fluxo existentes para os dois produtos do problema.
(2, 0)
(7, 5, 3, 0, 2)
83
(1, 3)
m
X
bik = 0
i=1
pelo que o problema multicomodidade e equilibrado. Alem disso para cada aresta (i, j) E,
aij <
2
X
(uijk lijk )
k=1
ck = [cijk ] IRn , k = 1, 2, . . . , g
lk = [lijk ] IRn , k = 1, 2, . . . , g
b = [b1 , b2 , . . . , bg ]T ,
bk = [bik ] IRm , k = 1, 2, . . . , g
onde m e o n
umero de n
os do grafo, n e o n
umero de arestas e g e o n
umero de mercadorias (ou comodidades
ou produtos). Se A IRmn e a matriz incidencia arco-n
o definida anteriormente e I e a matriz identidade de
ordem n, ent
ao a formulacao matricial do problema de fluxo multicomodidade de custo mnimo e a seguinte:
Minimize z = (c1 )T x1 + (c2 )T x2 + + (cg )T xg
Sujeito a
Ix1 + Ix2 + + Ixg a
Ax1
= b1
2
Ax
= b2
..
.
(45)
Axg = bg
l x u , k = 1, 2, . . . , g
k
Tendo em conta os vectores introduzidos anteriormente, podemos escrever a forma normal do problema de fluxo
multicomodidade de custo mnimo:
Minimize z =
Sujeito a
84
cT x
Ex + y = a
Bx = b
lxu
(46)
onde
A
A
E = [I I . . . I] IRnng , B =
..
.
A
26
IRmgng
Decomposic
ao com Gerac
ao de Colunas
cT x
Ax + y = b
x X, y 0
(47)
dT x
xX
(48)
tem solucao optima. Na tecnica de decomposicao de geracao de colunas, que iremos descrever a seguir, e forcoso
que este programa seja muito f
acil de resolver. Esse e o caso de X conter apenas limites superiores e inferiores
ou restricoes de transporte, afectacao ou de redes.
Como X e compacto e poliedrico, ent
ao pelo chamado teorema da representacao de poliedros,
x X : x =
p
X
i x , i 0, i = 1, . . . , p,
p
X
i = 1
(49)
i=1
i=1
p
X
P L(, y) : Minimize
j=1
p
X
Sujeito a
j=1
p
X
cT xj j
Axj j + y = b
(50)
j = 1
j=1
j 0, j = 1, . . . , p
y0
Portanto o programa linear dado e equivalente a P L(, y), cuja forma normal e
dT z = v(z)
Ez = f
z0
Minimize
Sujeito a
com:
z=
e
p+m
IR
, f=
b
1
(51)
IRm+1
s
ao definidos por
dj =
Axj
j = 1, . . . , p
cT xj , j = 1, . . . , p
, E.j =
jp
0, j = p + 1, . . . , p + m
, j = p + 1, . . . , p + m
se i = t
se i =
6 t
jJ1
Uma solucao b
asica e admissvel se as vari
aveis b
asicas s
ao todas n
ao negativas, isto e, zj 0 para todo j J.
Ent
ao y 0 e 0 em qualquer solucao b
asica admissvel. Alem disso
X
j = 1
jJ1
Portanto
x=
j xj
(52)
jJ1
e um elemento do conjunto poliedrico X que e decomposto em apenas |J1 | pontos extremos de X. Provamos
assim que dada uma solucao b
asica admissvel do programa linear P L(, y), e facil de recuperar uma solucao
admissvel do programa original. Alem disso, o valor da funcao em x e dado por:
X
X
cT x = cT
j xj =
j cT xj = v(z)
jJ1
jJ1
associada:
86
a partir de
B T = dJ B T
= dJ
jL
T
E.j 0
1. w 0
2. min(c AT w)T x
xX
Com efeito, 2. tem de ser verdadeira, pois xj e ponto extremo de X e o mnimo da funcao linear
(c AT w)T x
e alcancado num ponto extremo. Estas duas condicoes de (CO) fornecem um criterio de optimalidade, segundo
ainda importante notar que (CO) n
o qual uma solucao b
asica admissvel de P L(, y) e optima. E
ao utiliza os
pontos extremos de X, mas apenas o ponto extremo optimo do programa em 2.. Alem disso este programa e
muito simples de resolver, pois essa e uma das hipoteses consideradas na introducao do algoritmo.
Suponhamos agora que o criterio (CO) n
ao e satisfeito e portanto a solucao b
asica admissvel corrente n
ao
e a solucao optima de P L(, y). Ent
ao
ds = min{dj < 0, j L} < 0
e h
a dois possveis casos:
1. ds = wsp
2. ds = (c AT w)T xs
com xs o ponto extremo de X que e solucao optima do programa
Minimize
Sujeito a
(c AT w)T x
xX
87
(53)
Portanto a vari
avel n
ao b
asica zs escolhida para passar a b
asica tem associada uma coluna E.s que tem de ser
sp
Axs
1
Ent
ao
s = E.s
B E.
(54)
fr
fi
= min
: eis > 0 =
eis
ers
(55)
determina a vari
avel zt a sair da base.
No processo de actualizacao da solucao b
asica admissvel, o vector f e primeiramente transformado por
fr =
(56)
fj = fj
ejs , j 6= r
O conjunto J e modificado para
J {t} {s}
pelo que a nova solucao b
asica admissvel e dada por
zJ = f, zL = 0
Na actualizacao da matriz base B, apenas e modificada a coluna B.j correspondente `a vari
avel b
asica zt que
passou a n
ao b
asica e h
a quatro casos possveis:
1. s > p e t > p
B.j = etp B.j = esp
2. s > p e t p
Axt
B.j =
B.j = esp
1
3. s p e t > p
B.j = etp B.j =
Axs
1
4. s p e t p
Axt
Axs
B.j =
B.j =
1
1
Uma nova iteracao do algoritmo ter
a agora de ser efectuada com essa solucao b
asica admissvel.
Determina
c
ao de Uma Solu
c
ao B
asica Admissvel Inicial
remos os vectores
= (1 0 . . . 0)T , y = b Ax1
88
Se
J = {p + 1, . . . , p + m, 1}
ent
ao
B=
I
0
Ax1
1
e n
ao singular
0 se
1 se
p
X
j=1
p
X
j=1
p
X
b Ax1 i 0
, i = 1, 2, . . . , m
b Ax1 i < 0
oT xj
j + ym+1
Axj j + y + hym+1 = b
j = 1
j=1
j 0, j = 1, . . . , p, y 0, ym+1 0
Seja r o ndice tal que
(b Ax1 )r = min{(b Ax1 )i < 0, i = 1, 2, . . . , m}
Ent
ao
J = {p + 1, . . . , p + m, 1} {p + r} {p + m + 1}
fornece uma solucao b
asica admissvel para o programa Fase I. A resolucao desse programa permite concluir que
o programa linear original e inadmissvel ou ent
ao uma solucao b
asica admissvel para o P L(, y) e determinada
como solucao
optima desse programa.
Exemplo Como ilustracao da aplicacao da tecnica de decomposicao de Dantzig-Wolfe, consideremos o programa linear retirado de [Bazaraa et al., 1990]
Minimize z =
Sujeito a
2x1 x2 x3 + x4
x1
+ x3
2
x1 + x2
+ 2x4 3
x1
2
x1 + 2x2
5
x3 + x4 2
2x3 + x4 6
xi 0, i = 1, 2, 3, 4
dT x
xX
Minimize
Sujeito a
d1 x1 + d2 x2
x1
2
x1 + x2 5
x1 0, x2 0
Minimize
Sujeito a
d3 x3 + d4 x4
x3 + x4 2
2x3 + x4 6
x3 0, x4 0
que podem ser resolvidos graficamente. Trata-se assim de um caso em que a tecnica de decomposicao
pode ser recomendada. O programa linear dado pode ser escrito na forma
2x1 x2 x3 + x4
x1
+ x3
+ y1
=2
x1 + x2
+ 2x4
+ y2 = 3
x X, y 0
Minimize z =
Sujeito a
(57)
0
Ax1
= 0
1
1
pelo que
1
B= 0
0
0 0
1 0
0 1
Donde
0
0
1
1 0
B f = f 0 1
0 0
2
y1
y2 = 3
1
1
f1
2
f1 = 2
f2 = 3
f2 = 3
f3
1
f3 = 1
, w IR2 , IR1 e determinado a partir de
BT
= dJ
90
Ent
ao w = 0, = 0. Como w 0, e necess
ario resolver o programa linear
(c AT w)T x = 2x1 x2 x3 + x4
xX
Minimize
Sujeito a
para verificar se o criterio (CO) e satisfeito. Resolvendo graficamente dois programas lineares com duas
vari
aveis, obtem-se a solucao
optima do programa
T
3
2
x = 2, , 3, 0
2
que e um ponto extremo de X. O valor optimo do programa e
(c AT w)T x2 = cT x2 =
17
<=0
2
5
Ax2
E.s =
= 72
1
1
pois
Ax =
1 0
1 1
1 0
0 2
3
2 =
3
0
5
7
2
2 (s = 2) a partir de
Para determinar a vari
avel b
asica que troca com 2 , calcula-se E.
5
2 = E.2 E.
2 = E.2 = 7
B E.
2
1
Donde
= min
2 3 1
, ,
5 72 1
2
r =1 e t=p+1
5
A vari
avel y1 troca com 2 e portanto J e actualizado para J = {2, p + 2, 1}, que induz a matriz base
5 0 0
B = 72 1 0
1 0 1
Alem disso o vector f e actualizado a partir de
f1 = =
2 7
8
f2 = f2
e2s = 3 =
5 2
5
3
2
f3 = f3
e3s = 1 1 =
5
5
Ent
ao os valores das vari
aveis b
asicas s
ao
2 =
2
8
3
, y2 = , 1 =
5
5
5
4 3 6
, , ,0
5 5 5
5 27
T
B = dJ 0 1
0 0
pois,
as vari
aveis duais a partir de
17
w1
1
2
0
0 w2 =
0
1
d1 = cT x1 = cT 0 = 0
3
17
2
d2 = cT x2 = [2 1 1 0]
3 = 2
0
dp+2 = 0
Ent
ao
w=
17
10
0
, =0
(c AT w)T x =
xX
T
0 0 , que se obtem resolvendo dois programas lineares graficamente.
Sujeito a
tem solucao
optima x3 = 0
Alem disso
5
2
7
3
x1 x2 + x3 + x4
10
10
(c AT w)T x3 =
5
<=0
2
Portanto a solucao b
asica admissvel corrente n
ao e optima para P L(, y) e a vari
avel n
ao b
asica escolhida
e z3 = 3 (s = 3). Para determinar a vari
avel b
asica a trocar com z3 , tem-se
0
3
Ax
E.3 =
= 25
1
1
3 = E.3 E.
3=
B E.
0
5
2
fi
3
= min
: eis > 0 = r = 3 e t = 1
eis
5
Para obter a nova solucao b
asica admissvel, J e actualizado para
J = {2, p + 2, 3}
Donde
B=
92
5
7
2
0
1
0
0
5
2
f3 = =
2 3
2
f1 = 0 =
5 5
5
8 3 5
1
f2 = =
5 5 2
10
Ent
ao os valores da vari
aveis b
asicas s
ao:
2 =
1
3
2
, y2 =
, 3 =
5
10
5
4 21 6
, , ,0
5 10 5
T
3
2
w
w
=
= dJ
B T = dJ B T
0
= 25
Donde w 0. O programa linear
(c AT w)T x
xX
Minimize
Sujeito a
tem solucao
optima
T
3
0 0
x = 2
2
4
de valor
(c AT w)T x4 =
49
5
<
10
2
E.4 =
Ax
1
2
7
=
2
1
2
5
E.4 =
1
fi
= min
: eis > 0 = r = 2 e t = p + 2
eis
6
93
7
2
5
2
1
3
f =
f2 =
2 1 2
1
f1 = =
5 6 5
3
f3 = 3 1 3 = 1
5 6 5
2
1
1
1
, 4 = , 3 =
3
6
2
1
1
, =0
(c AT w)T x = 3x4
xX
Minimize
Sujeito a
tem solucao
optima x5 = 0 e valor
optimo 0. Donde w 0 e
Minimize
Sujeito a
(c AT w)T x = 0 = 0
xX
Ent
ao a solucao b
asica corrente e
optima para P L(, y) e
x = (1 2 1 0)T
e a solucao
optima do programa linear dado. O valor optimo e cT x = 5.
Este exemplo sugere um tipo de problemas em que a tecnica de decomposicao pode ser muito u
til. Consideremos o problema de optimizacao de redes com restricoes laterais no grafo G = (V, E), com V = {1, 2, . . . , m}
e |E| = n,
Minimize z =
cij xij
(i,j)E
Sujeito a
j:(i,j)E
xij
xji = bi , i = 1, 2, . . . , m
j:(j,i)E
27
Resoluc
ao do Problema de Fluxo Multicomodidade de Custo
Mnimo
Como referimos na seccao 24, o problema de fluxo multicomodidade de custo mnimo tem a forma
Minimize z = (c1 )T x1 + (c2 )T x2 + + (cg )T xg
Sujeito a
x1 + x2 + + xg + y = a
Ax1
= b1
2
Ax
= b2
..
.
Axg
= bg
l x u , i = 1, 2, . . . , g
y0
i
(58)
Ent
ao, pelo teorema de representacao de conjuntos poliedricos compactos, tem-se
xi Xi
x =
pi
X
pi
X
ij
ij x ,
ij = 1, ij 0, j = 1, . . . , pi
(59)
j=1
j=1
com pi o n
umero de pontos extremos xij , j = 1, . . . , pi , de Xi .
Se substituirmos a express
ao de cada xi em (59) pelo programa original obtemos o programa linear em e
y:
Minimize
p1
X
j=1
Sujeito a
p1
X
j=1
P L(, y) :
1 T
1j
1j
1j + +
1j + +
p1
X
pg
X
pg
X
j=1
gj
j=1
T
(cg ) xgj gj
gj + y = a
1j
=1
j=1
..
.
pg
X
gj
=1
j=1
y0
ij 0, i = 1, . . . , g, j = 1, . . . , pg
g
X
aveis, o que e um n
umero exPortanto P L(, y) tem (n + g) restricoes de igualdade e n +
pj vari
j=1
tremamente elevado. Tal como na seccao anterior, este programa tem de ser resolvido usando a tecnica de
decomposicao de Dantzig-Wolfe com geracao de colunas.
Devido `a definicao (58) de cada elemento xi Xi , chega-se imediatamente `a conclusao que cada ponto
extremo de Xi constitui uma
arvore geradora admissvel para o problema de fluxo de custo mnimo. Cada
solucao b
asica admissvel para o problema P L(, y) tem vari
aveis b
asicas de um de dois tipos:
95
1. Vari
avel de folga yij com coluna el IRn+g na matriz base.
2. Vari
avel ij com coluna na matriz base da forma
xij
ei
com ei IRg uma coluna da matriz identidade de ordem g e xij um ponto extremo de Xi .
O criterio de optimalidade (CO) tem a forma
1. w 0
2. min
(ci w)T xi i , i = 1, 2, . . . , g.
i
x Xi
Este u
ltimo programa linear e equivalente a
Minimize
Sujeito a
(ci w)T xi
Axi = bi
li xi ui
ou seja, a um problema de fluxo de custo mnimo simples. Portanto para verificar o criterio de optimalidade e
necess
ario resolver g problemas de fluxo de custo mnimo simples.
O problema de fluxo multicomodidade e assim resolvido usando a implementacao do metodo simplex discutida na u
ltima seccao com as pequenas diferencas referidas nesta seccao. Para ilustracao desse procedimento, consideremos novamente o problema com duas mercadorias dado pelo seguinte grafo (lij = 0 para todo
(i, j) E):
(7, 5, 3, 0, 2)
(2, 0)
(1, 3)
p1
X
j=1
Sujeito a
p1
X
j=1
1 T
1j
p1
X
j=1
1j
1j +
1j +
p2
X
p2
X
j=1
2j
j=1
c2
T
x2j 2j
2j + y = a
1j
=1
p2
X
2j
=1
j=1
1i 0, 2j 0, y 0, i = 1, . . . , p1 , j = 1, . . . , p2
Portanto o problema tem (n + 2) restricoes de igualdade e (n + p) vari
aveis, com p = p1 + p2 e pi o n
umero de
pontos extremos do conjunto Xi , i = 1, 2, definido por (59).
Tal como na seccao anterior, a solucao b
asica admissvel inicial tem associado o conjunto
J = {p + 1, p + 2, p + 3, p + 4, p + 5, 1, p1 + 1}
96
que corresponde `
as vari
aveis b
asicas
y12 , y23 , y34 , y41 , y42 , 11 , 21
Ent
ao a matriz B e dada por
B=
I5
0
x11 x21
I2
com Ik a matriz identidade de ordem k e x11 e x21 pontos extremos de Xi dados pelas arvores geradoras
(i = 1, 2):
........
.......
2
.... ...
.... ..... 1
.... 1 ....................................................................................................... 2 ...
...... .....
........ ...
......
......... .............
.
.
.
.
.
.
.
.
.
.
.
...
.....
.....
0............................
..
...
0 ......
... 3
.........
..........
.
.
.
.
.
.
.
..
.
.
.........
......
.
.
.
.
.
.
.
.
.
.
..............
....................
11
.
.
.
.
.
.................................................................................................
....
... 3 .....
. 4 .. ...
..........
2 .............
1
x21
...............
................3
0
..................................................................................................
.....
. .. 2 ...
.....1......
...... ..
........
.......................
.
.
.
.
.
.
.
.
.
.
.
..
.....
.....
3............................
..
...
0 ......
... 0
.........
.........
.
.
.
.
.
.
.
.
..
.
.
.......
.......
.
.
.
.
.
.
.
.
.
.
.
....................
.............
.
.
.
.
....................................................................................................
.
....
.
... 3 ....
.....4..... .
..........
.....
Portanto
x11 = (2, 3, 2, 0, 0)T , x21 = (0, 0, 3, 0, 3)T
Para calcular os valores das vari
aveis b
asicas, determina-se f IR7 a partir de
a
B f = f = 1
1
Como a = (4, 3, 7, 1, 5)T , ent
ao
f = (2 0 2 1 2 1 1)T
As vari
aveis b
asicas s
ao dadas por
y12 = 2; y23 = 0; y34 = 2; y41 = 1; y42 = 2, 11 = 1; 21 = 1
e a solucao b
asica e admissvel por serem todas n
ao negativas.
T
d
2 T 21
x = (2 0 2 1 6)x21 = 24
p1 +1 = c
e w IR5 e i , i = 1, 2 s
ao calculados por
I5
T
x11
T
x21
w
0
1 = 13
I2
24
2
0
xi Xi
Portanto h
a que resolver os dois problemas de fluxo de custo mnimo simples seguintes (w = 0 ci w = ci )
97
.........
.........
(3, 5)
... .... 1
.... ...
.... 1 ..................................................................................................... 2 ....
..............
........................
.
.
.
.
.
.
.
...
.
.
.
.......
.....
...
....
(1, 4) ............................
..
...
..
.
.
.
.
.
... (4, 1)
(5, 1) ......
.
.
.
......
.
.
.
.
.
.
.
.
..
.........
......
.
.
.
.
.
.
.
.
.
.
.
.......................
.............
.
.
.
.
.
..... 4 ........................................................................................................ 3 ...
...... ......
...... ......
...
...
(6, 6)
................
............... 3
.....
................................................................................................... 2 ....
.....1......
.........................
.......
.
.
.
.
...
.
.
.
.
.
.
.
.
.....
.......
....
(6, 6) ............................
..
...
..
.
.
.
.
.
(4, 1)......
... (2, 0)
.
.
.
......
.
.
.
.
.
.
.
.
..
.........
......
.
.
.
.
.
.
.
.
.
.
.
.
..
.............
.......................
.
.
.
.
..................................................................................................
....
... 3 ....
.... 4 ..... ...
.
............
........
i=1:
(5, 0)
7 (uij , cij )
i=2:
(3, 2)
7 (uij , cij )
x22 :
..
..
3
...... .......
...... .......
..... 1 ........................................................................................................ 2 ...
...... .......
......... ...
..
........... ............
.
.
.
.
.
.
.
.
.........
...
.....
0 .............................
...
...
.
...
.........
....
.........
.
.
.
.
.
.
.
.
.
..
.
........
......
.
.
.
.
.
.
.
.
.
.
.
..........
...............
.... ..................................................................................................... .....
... 3 ...
... 4 ... ...
.............
.............
1
0
22
3
0
3
3
0
fi
1
: eis > 0 = r = 4 e
eis
3
troca com y41 . O conjunto J e ent
ao actualizado para
= min
e 22
t=p+4
J = {p + 1, p + 2, p + 3, p1 + 2, p + 5, 1, p1 + 1}
e a nova base e
e1
B=
0
0
e2
0
0
e3
0
0
f1
f2
1 f3
=
f4 = =
3 f5
f6
f7
x22
0
1
2
0
2
2
1
1
e5
0
0
1
3
98
x11
1
0
3
0
0
3
0
1
x21
0
1
1
0
2
3
1
2
3
2
1
; 22 =
3
3
(ci w)T xi
Axi = bi
0 xi ui
Mas
1. c1 w = (5 1 0 10 4)T solucao optima x11 (inicial) de valor optimo igual a 1 .
2. c2 w = (2 0 2 8 6)T solucao
optima x22 (inicial) de valor optimo igual a 2 .
Ent
ao a solucao b
asica admissvel corrente e optima para P L(, y) e portanto
x1 = (2 3 2 0 0), x2 = (1 0 3 1 2)
e solucao optima do problema de fluxo multicomodidade do exemplo e o valor optimo e 28.
Chegamos assim `
a conclusao que o problema de fluxo multicomodidade se resolve usando a tecnica de decomposicao de Dantzig-Wolfe com geracao de colunas. O processo consiste essencialmente numa implementacao
eficiente do metodo simplex para a resolucao de um programa linear P L(, y) equivalente ao problema de fluxo
multicomodidade. Em cada iteracao a matriz base B e muito esparsa e de ordem (n + g), com n o n
umero de
arestas do grafo G = (V, E) e g o n
umero de mercadorias. Cada iteracao requer:
1. A resolucao de dois sistemas com B e a sua transposta B T .
2. A resolucao de g problemas de fluxo de custo mnimo simples usando o metodo simplex.
importante acrescentar que a decomposicao LU matriz B e usada e actualizada em cada iteracao na resolucao
E
dos sistemas com B e B T de acordo com o processo descrito em [J
udice et al., 2006]. Em cada iteracao k 2,
para cada problema de fluxo mnimo simples, a solucao inicial do metodo simplex e exactamente a solucao
optima do problema de fluxo respectivo na iteracao anterior. Alem disso na primeira iteracao o metodo simplex
e iniciado com o ponto extremo do conjunto Xi respectivo usado na construcao da matriz base original.
99
28
Problemas de Planeamento - M
etodo do Caminho Crtico
.........
... ......
.........
.
b..............................3..........
.......
.....
.....
a
..... ..... .......
..... .....
.... 1 ................................................. 2 ..............
..... ......
...... ...... ........
....
...
......
.......
...
.....
c ..........................4..........
..............
........
.... ....
.... 2 .........
...... ...... ........ a
...
.......
.......
....... . .............
c . .................
..
..............
............... 3 ............................................... 4 ....
..............
...... . ..............
.
.
.
.
.
...
......
................ ...........
....
b
....
.
... 1 ...
..........
...
c
a
..............
..............
.. ...... ......
..... 1 .............................................................................................................................................................................................. 2 ....................................................................................................... 3 ....
..... ......
.. ...... ......
...... ......
....
...
...
100
Como a regra 5 e violada, introduzimos uma actividade fictcia, de acordo com a seguinte figura
......
.....
.....
c
a
..... .....
..... ......
..... ......
.... 1 .................................................................................................... 3 ..................................................................................................... 4 ...
.
...... ......
.
.................
...
........................
.....
.
.
.
.....
....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
..
..
b .................... ...... ................ Fictcia
...... ......
.... 2 ...
...... ......
...
Para ilustrar a construcao de uma rede de precedencias, consideremos um problema com sete actividades
Actividades
a
b
c
d
e
f
g
Precedencias
aeb
aeb
d
cee
d
Duracao (meses)
5
9
11
7
10
4
16
............
............
(a, 5)
(c, 11)
(f, 4)
...............
..............
... ... ...
.. ... ..
.
....................................................................................................
.....
. .. 3 .................................................................................................... 5 ................................................................................................... 6 ....
.....1......
.....................
...... ......
............................
....................
.
.
.
.
.
.
.
.
.
.
.....
...
.
.
..... .
.
.....
.....
.............
(b, 9) ...............
..... (d, 7) ..........
.....
.............
.....
.....
.....
.............
.....
.....
.....
.....
.............
.....
.....
.....
.....
.............
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.....
..
..
..... .
(g, 16)
........
Fictcia
.......
.....
..... (e, 10)
..............
...........................
...............................
.............
.
.
.
.............
..
.... 4 .................
.... 2 ...
..... .....
..... ......
....
....
com n o n
umero de n
os da rede de precedencias, E o conjunto de arcos e cij a duracao da actividade associada
ao arco (i, j). E de notar que, pela regra 3 da construcao da rede de precedencias, todos os arcos s
ao da forma
(i, j) com i < j e por isso podemos calcular sucessivamente T M C1 , T M C2 , T M C3 , . . . , T M Cn . No exemplo
introduzido nesta seccao temos
T M C1
T M C2
T M C3
T M C4
T M C5
T M C6
=0
= max{T M C1 + c12 } = max{0 + 9} = max{9} = 9
= max{T M C1 + c13 , T M C2 + c23 } = max{0 + 5, 9 + 0} = max{5, 9} = 9
= max{T M C3 + c34 } = max{9 + 7} = max{16} = 16
= max{T M C3 + c35 , T M C4 + c45 } = max{9 + 11, 16 + 10} = max{20, 26} = 26
= max{T M C4 + c46 , T M C5 + c56 } = max{16 + 16, 26 + 4} = max{32, 30} = 32
Como o n
o 6 representa a conclusao do projecto, o tempo de duracao do projecto e no mnimo de 32 meses.
E facil de ver que se forem alteradas as duracoes de algumas actividades, a conclusao do projecto e alterada.
Por exemplo, se a actividade g for dilatada, o projecto durara mais tempo a ser executado. Por outro lado,
tambem existem actividades que podem ser dilatadas por mais algum tempo sem influenciar a conclusao do
projecto, como e o caso da actividade f que pode ser dilatada em dois meses. As actividades que ao serem
101
min {T M Tj cij } , j = n, n 1, . . . , 2
i:(i,j)E
com n o n
umero de n
os da rede de precedencias, E o conjunto de arcos e cij a duracao da actividade associada
ao arco (i, j). No exemplo introduzido nesta seccao temos
T M T6
T M T5
T M T4
T M T3
T M T2
T M T1
= 32
= min{T M T6 c56 } = min{32 4} = min{28} = 28
= min{T M T5 c45 , T M T6 c46 } = min{28 10, 32 16} = min{18, 16} = 16
= min{T M T4 c34 , T M T5 c35 } = min{16 7, 28 11} = min{9, 17} = 9
= min{T M T3 c32 } = min{9 0} = min{9} = 9
= min{T M T2 c12 , T M T3 c13 } = min{9 9, 9 5} = min{0, 4} = 0
A Flutuaca
o Total de uma actividade associada ao arco (i, j) representa a dilatacao dessa actividade sem
alterar a conclusao do projecto. A flutuacao total da actividade associada a (i, j), que denotamos por F Tij ,
pode ser facilmente calculada a partir da express
ao
F Tij = T M Tj T M Ci cij , j = n, n 1, . . . , 2
No exemplo que consider
amos nesta seccao temos
F T12
F T13
F T23
F T34
F T35
F T45
F T46
F T56
= T M T2 T M C1 c12
= T M T3 T M C1 c13
= T M T3 T M C2 c23
= T M T4 T M C3 c34
= T M T5 T M C3 c35
= T M T5 T M C4 c45
= T M T6 T M C4 c46
= T M T6 T M C5 c56
=909=0
=905=4
=990=0
= 16 9 7 = 0
= 28 9 11 = 8
= 28 16 10 = 2
= 32 16 16 = 0
= 32 26 4 = 2
Assim se conclu que a actividade a correspondente ao arco (1, 3) pode ser dilatada em 4 meses sem alterar a
data de conclusao do projecto. Do mesmo modo, as actividades c, e e f podem ser dilatadas em 8, 2 e 2 meses,
respectivamente. Por fim, as actividades b, d, g e a actividade fictcia s
ao crticas, pois qualquer dilatacao numa
das actividades provoca um atraso na execucao do projecto.
O caminho que se obtem a partir dos arcos correspondentes `as actividades crticas entre o n
o inicial e o n
o
terminal e designado por Caminho Crtico. No exemplo desta seccao, sabemos que as actividades b, d, g e a
actividade fictcia s
ao crticas. Com os arcos correspondentes a estas actividades obtemos o caminho crtico
12346
Mostr
amps assim que e possvel determinar o caminho mais curto e a duracao de um projecto de um
modo muito simples baseado na teoria dos grafos. Seguidamente apresentamos uma formulacao de programa
linear deste problema. Para isso representamos por xj a data de ocorrencia do n
o j. As restricoes desse
102
xn x1
xj xi cij , (i, j) E
xj 0, j V
com V = {1, 2, . . . , n} o conjunto dos vertices da rede e E o conjunto de arcos. Em relacao ao exemplo desta
seccao obtemos o seguinte programa linear
Minimze z =
Sujeito a
x6 x1
x2 x1
x3 x1
x3 x2
x4 x3
x5 x3
x5 x4
x6 x4
x6 x5
xj 0,
9
5
0
7
11
10
16
4
jV
Exerccios
1. Determine a
arvore geradora de custo mnimo dos seguintes grafos n
ao orientados usando o algoritmo de
Kruskal.
(a)
.......
........
.... .....
.... ....
.... 2 .................................................................................................. 5 ....
... ...
... ...
.........................
........................
.
.
4
.
.
.
.
.
.
.....
.....
.
.
..... 4 7 c
..... 3
2................
3................
.....
.....
ij
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.
.
.....
.
.
.
.....
..
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....................
.................
3
8
...................
.
.
..
.
.....
............................................................................................... 4 ................................................................................................... 7 ...
.....1.......
.... ...
.... ...
...... ......
..... ..................
..... .........
.
.
.
.
.....
.
.
.
.
.
.....
..
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 ......... ..... ......... 2
1 .......... ..... ......... 5
....... .......
....... .......
2
.
.
.... 3 .................................................................................................. 6 ....
..... ......
..... ......
....
....
(b)
.......
.... .....
.... 4 ....
.. ..
...........................
.
.
.
.
..
.
..
4............... ...... ................4
.....
...1
.....
.....
..
.....
.
.....
.
.
.
.
.....
...
..
...............
.....
..............
. ...
...................
.
3
2
.
.
.
...........................................
............................................
...
... 1 ...
.
.... 3 ....
.... 2....
..............
.
.
.
.
.
.
.........
.... ......... ........
.
.
.
....
...
.
.....
..
...
.
.
.
.
.
.
...
.
.
..... 7
4 ......
....
.....
....
.....
4....... ...............
....8
.....
... 6
.....
.
...
..
..... ....
.....
.
.
.
.
.
.
.
.
.
.
................
9
9
...............
..................
..
.
.
.
.
...........................................
...
.
.... 6 ................................................. 7 ....
.... 5 ......
..........
........ .....
..... .........
.....
.
.
.
.
.
.
.....
..
....
.
.
.....
.
.
.
.
.....
....
....
.....
.....
....
.. 12 .......
4 ................ ........ ................ 10 7 cij
....... .......
.
.
.... 8 ...
..... ......
....
2. Um banco deseja ligar terminais de computador de cada uma das suas agencias a um computador na
sua rede, usando linhas telefonicas especiais com dispositivos de telecomunicacoes. A ligacao de qualquer
agencia com a sede pode ser directa ou indirecta atraves de uma outra agencia. No entanto e exigido que
cada agencia fique ligada por alguma via `a sede. O custo das linhas telefonicas especiais e directamente
proporcional ao comprimento total utilizado, onde a distancia entre qualquer par de agencias e dada na
tabela seguinte:
103
sede
A1
A2
A3
A4
A5
sede
190
70
115
270
160
A1
190
100
240
215
50
A2
70
100
140
120
220
A3
115
240
140
175
80
A4
270
215
120
175
310
A5
160
50
220
80
310
Pretende-se saber como se deve fazer a ligacao das agencias atraves das linhas especiais por forma a ligar
cada agencia (directa ou indirectamente) `a sede, de modo a que o custo total seja mnimo.
(a) Indique de que tipo de problema de optimizacao em redes se trata.
(b) Resolva esse problema de optimizacao, usando o processo que achar mais conveniente.
3. Uma companhia distribuidora possui 3 fabricas de leite. A producao diaria da fabrica i para i = 1, 2, 3 e,
quando muito, 350, 50, 700 milhares de litros respectivamente. Diariamente a companhia tem de fornecer
4 armazens com pelo menos 200, 350, 300 e 210 milhares de litros de leite fresco, por imposicao do p
ublico.
........
...............
.... ....
.........................10
.....
........................................................................ 1 ...
.....1..............................................15
....... ...
........... ............
.....
.............................
.
.
7
.
............
.............
.
.
.
.
..... ......8
............ ............ ........
..... ......
.....
..
..... .......
........ ............................... ..........
..3
..... ......................
..... ............. ....
............ .......
...4
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... ....... .................................... .... ......2.....
........
.
...
................
............... ........................................................... ........ ...........
.........
....... .............
................
....
.
.
.
.
.
.... 2 .... ...........
.. ..
.. ..
........
........
..... ...................... .............................
........ .........
...
.
..........
............
...
.
....... .........
5
..... .................3
..... .........................
...
.
.
.
.
. ........ ........ .................. .. ........
..20
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
..............24
.... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........ . ..........
... .... ....................
......... ..........
.
..... ...... 11
...
........ ...
...... .................................................
....
.................................................................................................... 4 ....
.... 3.....
...... ......
........
...
2
O esquema anterior mostra os custos de transporte de mil litros de leite entre cada fabrica e cada armazem.
Note que n
ao existe via de acesso da fabrica 2 para o armazem 3.
(a) Formule o problema em termos de programacao linear.
(b) Determine uma solucao b
asica inicial sem recorrer `a Fase I.
(c) Determine a solucao
optima do problema.
4. Os reservatorios R1 , R2 , R3 e R4 s
ao fornecidos diariamente de 20, 13, 7 e 5 milh
oes litros de agua,
preciso abastecer as cidades A, B e C cujos os consumos diarios s
respectivamente. E
ao de 15, 15 e 15
milh
oes de litros, respectivamente. Os custos de bombagem (por milh
ao de litros) s
ao dados na tabela:
R1
R2
R3
R4
A B C
7 5 6
10 7 6
9 12 8
5 2 7
Fabrica \ Produto
1
2
3
4
5
A
90
82
92
84
86
B
62
58
64
56
58
C
76
70
80
-
O produto C n
ao pode ser produzido nas fabricas 4 e 5. A previs
ao das vendas diarias e de 5, 3 e 4 tons.,
respectivamente. A capacidade das f
abricas e 2, 3, 2, 3 e 5 tons. por dia.
(a) Formalize o problema como um modelo de transporte por forma a obter a localizacao das quantidades
a produzir dos 3 novos produtos, minimizando o custo total de producao.
(b) Determine a solucao
optima do problema.
6. Resolva os seguintes problemas de transporte:
O\D
1
(a)
2
3
Procura
1
4
8
6
15
2
3
6
8
15
3
7
6
7
10
O\D
1
2
(b)
3
4
Procura
Oferta
25
5
10
1
8
8
5
4
30
2
9
9
8
9
70
3
7
6
3
6
30
Oferta
20
30
40
40
1
1
0
2
30
2
6
4
3
20
3
2
5
3
20
Oferta
20
40
30
Localidades
L1 L2 L3
12 14 12
14 12 15
19 18 19
8
4
8
Autocarros disponveis
6
9
5
20
105
9. Numa cidade h
a 3 f
abricas F1 , F2 e F3 que produzem diariamente 20, 40 e 40 toneladas de um determinado
produto respectivamente e o fornecem a 3 postos de venda V1 , V2 e V3 . Sabe-se que cada um dos postos
deve vender 10, 40 e 50 toneladas desse produto respectivamente e que os custos unit
arios de transporte
das fabricas para os postos de venda s
ao dados pela seguinte tabela
i
F1
F2
F3
V1
10
12
1
j
V2
4
3
3
V3
8
7
2
...........
... ...
.................................................4
.................................................. 3 .... -30
-20 ................2
.
... ...
.
..............
.........................
........
........
...
...
.....
.....
......
......
..... 2 7 c
..... 5
9................
2................
.....
.....
ij
.....
.....
..
..
.
.....
.
.
.
.
.
.
.
.
.
.
.
.....
.....
..
...
.
.
.
.
.
.
.
.
.....
.
.
.
..... -10 .....
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
................
.....................
..... ..
...
4
3
.. ...
..... ........
..
.
10 ..........7.............................................................................................................................1...............................................................................................................................4
... 10
. ........
........
.......
....
.
.
.
.
.
.
.
.
.
.....
.....
...
....
.
.
.
.
.
.....
.
.
.
.
.
.
.
.....
..
..
.....
.....
.....
.....
.....
.....
.....
.....
.....
...
.....
.....
1 ................ .... ............... 5
6 ................ .... .................. 7
....... .......
....... .........
...
.
.................................................................................................. 5 ... 20
20 ..........6
..
...... ......
3
...
........
7 bi
(a) Determine a
arvore geradora de custo mnimo.
(b) Verifique se e admissvel a solucao b
asica associada `a arvore geradora da alnea anterior.
(c) Escreva o problema Fase I associado `a arvore geradora de custo mnimo com ou sem n
os adicionais.
(d) Mostre que a
arvore geradora definida pelos arcos J = {(1, 2), (1, 3), (4, 1), (5, 1), (6, 1), (7, 1)} e admissvel.
(e) Determine a solucao
optima do problema de fluxo de custo mnimo usando o metodo simplex e
iniciando com a solucao b
asica definida na alnea anterior.
11. Considere a seguinte rede G = (V, E)
...........
... ..
...........
... ...
..............................................2
...................................................... 4 .... -2
-3................2
...... .....
..
...
...............
...
... . ...
....... .. .......
...
...
3................ ....... ................
...
.
.....
...
.
.
.
.
...
.....
...
....
.
.
.
.
...
.
.
.
.....
...
....
.
.
...
.
.
.
.
.....
...
..................
...
.
.
.
4
.
.
...
.....
...
....
...
.
.
.
.
.....
... 3
.... 1 .....
... 2
.
.
.
........ .....
.....
...
...
.....
.
.
.....
...
...
.....
.....
...
.....
...
.....
.....
.
.
...
.....
...
.....
.
.
.....
..
.
...
.....
.....
.
.
.
.
.
.
.
..... ........
5 .............. ............
.
.
.
.................
........ ....
...
.
.
.
-4 ..........3..............................................................5........................................................5...........
onde o n
umero real associado a cada n
o i representa a quantidade de fluxo bi e o n
umero real cij associado
a cada aresta (i, j) representa o respectivo custo unit
ario.
(a) Determine a
arvore geradora de custo mnimo.
106
6 ..........1...............
... ....
....... ..........
..... (3,6,10)
..
.....
.....
.....
.....
..
.......
.
.
...................
...
.............
.
.
.
.................................................................................................... .....
....
.
... 2 ..
-5 .......3............. ..
..
.
. (1,8,7) ......................
.....
.
.
.....
.
.....
.....
.....
.....
.....
.
.
.
..
.....
.
....
.....
..
.....
(2,5,-5) ................. ...... .................. (1,4,-4)
..........................
.
..
-4 ..........4...........
(-1,7,2) ......
onde em cada aresta (i, j) E as componentes de (lij , uij , cij ) representam os limites inferior e superior
e o custo unit
ario associados e o n
umero real associado a cada n
o i V representa a quantidade de fluxo
bi .
(a) Mostre que a particao de E definida por J = {(2, 3), (2, 4), (4, 1)}, L = {(3, 4)}, U = {(1, 2)} fornece
uma solucao b
asica admissvel.
(b) Determine a solucao
optima do problema usando o metodo simplex e iniciando com a solucao b
asica
apresentada na alnea (a).
13. Considere o problema de fluxo de custo mnimo associado a` rede G = (V, E)
.......
.......
(2,5,7)
.... .....
.... ......
.
5 ..........1........................................................................................................................2
... 2
........
..
.... ..
........
..... ....
.....
...
...
.....
.
...
.
.
....
.
..
...
..
.....
...
.....
.
.
...
.
.
...
...
.
.
...
.
.
...
(0,3,-5) .........
...
... (0, 5, 6)
..
.
.
(0,6,1) ....
.
.
...
....
.
.
.
...
...
.
...
.
.
...
..
.
.
....
.
...
.
...
.
.
...
.
...
.
.
...
.
....
..
.
.
.
....
.
.........
.. ...........
.......
...............
.
.
.
.
.
.
.
.
.
. ...
.. .....
.....
.....................................................................................................
-3 .......4.......... .
.... 3 ..... -4
.........
(1,4,2)
onde em cada aresta (i, j) E as componentes de (lij , uij , cij ) representam os limites inferior e superior
e o custo unit
ario associados e o n
umero real associado a cada n
o i V representa a quantidade de fluxo
bi .
(a) Mostre que a particao de E definida por
J = {(1, 2), (2, 3), (3, 4)}, L = {(4, 1)}, U = {(2, 4)}
107
.........
.........
.... ...
... ...
................................................. 5 ....
.... 2 ........................................................4
.
.
.
.
................................
................................
.....
.....
...
.....
.....
.....
.....
..... 4 7 cij
..... 3
.
3
2...............
.
.
.
.
.....
.....
.
.....
.....
.....
...
.....
.....
.....
.....
.
.
.
.
.
.
.
.....
.
.
.....
...
.
....
.
.......
.
.
.
.
.
.
.
.
.
.
.
.....................
............................
.................
.
.
8
3
.
.
..
.
................................................................................................
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.................. 7 ...
.
... ... 4 ...
.
....1.......
.
.
.
....... .....
......................
..........................
.
.
.
.
.
.....
.....
.....
....
.
.
.
.....
.
.
.
.
.
.
.
.
.....
.....
...
...
.
.
.
.
.
.
.
.
.....
.
.
.
.....
.
.
.....
.....
.....
.....
...
.
.....
.....
1 ................ ..... ................ 5
6 ..................... ..... .................. 2
....... ......
....... ........
.
.
.
.... 3 ....................................................................................................... 6 ...
..... ......
..............
2
....
(a)
..............
..... 2 ....
.
.
.................................
2 ............. ..... .............. 8 7 cij
.
.....
.
.
...
....
.....
.....
.....
..5
.....
.....
..........
......
.....
.
.
.
.
......
.
.
.
..................
.
.
.
.
.
.
.
.
.
3....................................................
..
...................6
...........
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. .... 5 ...
.. ... 3 ....
.....1........
............
............
...... .....
..
.....
.
........
.....
.....
.....
...
....
.....
.....
.
... 1
.
2
.....
..
.....
.
.........
3 .............. ........
.
....... .....
.............
.
.
9
..... 4 .................................................. 6 .....
...... .....
...... ......
...
...
(b)
..
..............
...... .......
......................................3
.....
............................................... 5 ...
.....1...........
.........................
....... .. ..........
.
.
.
.
.
.
...
.
.
.
.
.
3...
..1
. .
.......... ..
...........................................
....
..... .....
.
...
.
...
...
...
.... 3 ....
...
...
...
...... ......
...
...
.
...
.
.
.
.
...
.... ....
...
...
...
...
... ....
...
...
...
..
..
.....9
.
.
.
.
6.....
5 ..... .....3 .....8
...
...
... ......
...
...
...
.....................
....
....
...
. .
...
...
...
.... ....
...
...
... 4 ...
... .....
.........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..........
.... ......
......
......
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.. . .....
.......................... 7
4 .....................................
....
.................................................................................... 6 ....
.... 2 ....
.
.
.............
1
........
7 cij
........
................
.... ....
...
....................................................... 2 ...
... 1 ................................................8
............... .....
... ..
........... ....................... ...............
..... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
...
......
.....
..... 5
............
3............... ......
.....
.....
............
....
4
.....
.....
.
.
............
.....
.....
.....
...
... ......................
.....
.....
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.
.
.
..
..
.........
.
.
.........
.
.
.
..... .......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... ....
.............
......
....
....
....
.
6
.
.
.
..... ..........................
...
.
.
...
.........
.
.
.
.
... 3 ....
.
.
.
.
.
4...
...8
...........................6.......
.
....
.
........................
.
.
.
.
.
.
.
.
.
.
.
.
...... ...
. ..............
...... .....
...
.
.
....
.
.
.
.
.
..... ..... 2
.
.
.
.
.
.
.
...
..........
.
..... .....
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... .....
4 ... ...
.
..
.
..... .....
............
.....
.....
....
.
..... .....
...........
.....
.....
..
.
. .
...........
.....
.....
......... ......... 1
2 ................................................ ........................................................
.
.
.
.
.
.
.
.
.
.............. ....................
...... .........
.... 4 ...................................................................................................... 5 ....
...... .......
...... .......
2
..
..
onde o n
umero real associado a cada aresta (i, j) representa o custo da ligacao de i para j.
108
109
.....
........
..... .....
.... ....
....................................................... 2 ....
.... 1 ............................................10
...... ......
...............
.
.
. ..... ..
..... .....
... .. ...
.. .. ..
.. ...
.. .... .....
.
... ....
.
.
.
.
...
....8 .....
...
....
...
...
..
...
...
...
.
...
..
...
...
...
...............
...
...4
...
.
.
.
.
6...
...5
... 5 ...
...
1.....
...
...... .......
...
.
.
.
.
.
.
.
.
.
...
.
.
.....
...
....
.
....
.
...
.
..
.
...
.
.
.
.
.....
.
...
.
...
.....
.. .........
.
..... .....
. .....
...
.
.
.
.....
..... ...
...
.. ..........10
.
.
..
.
...
1 ...............
..........
...
....
.
........
....................
................
........
.
.... ....
... ...
.
.... 3 ................................................ 4 ................................................................................................... 6 ....
..... .....
..... .....
..... .....
....
....
....
onde o n
umero real associado a cada aresta (i, j) representa o custo da ligacao de i para j.
(a) Determine os caminhos mais curtos do n
o 1 a cada um dos restantes n
os da rede, usando o algoritmo
de Dijkstra.
(b) Mostre que o caminho mais longo do n
o 1 ao n
o 6 e equivalente a um problema de fluxo de custo
mnimo e apresente esse problema.
(c) Determine a
arvore geradora de custo maximo.
(d) Mostre que a
arvore geradora de custo maximo fornece uma solucao b
asica admissvel para o problema
de fluxo de custo mnimo apresentado na alnea (b).
(e) Determine o caminho mais longo do n
o 1 ao n
o 6.
18. Considere o problema de fluxo maximo do n
o 1 ao n
o 8 associado `a seguinte rede, onde em cada aresta
est
ao representadas as respectivas capacidades
.....
......
..... ......
.... .....
........................................................... 6 ...
.... 2 ...........................................18
.
...... ........
.
........................
...... .....
.
.
.
.
..
.
........ .........
..... 6 7 uij
6............... ......
.....
....
.....
...
..
.
.
4
.
.
...
.....
.
.
.....
.....
...
..........
.......
.....
.
.
.
.
.
.
.
.....................
.
.............
..................
..............
.
.
.
.
3
5
.
.
.
.
..
....................................................
............................................
..
....
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ... 5 ..
.. ... 8 ....
3
.
.... 1 ....
.
.
.
.
.
.
.
.
.
.
.
.
.
..........
........
...........
.......................
......
...
....3
..... .
......
.
.
.
.
.
.
.
..
......
...
....
......
.....
.....
......
4.....
...
.....
...
..... 4
6 .................. ................
... .........
.
.......... ....
..... ........
.
...
........ ...
...
... 4 .............................................................................................. ...... 7 .....
..........
..........
8
...............
...............
............................. 3 ......
..... 2 .....................18
..... ....... ....
.
.
...... ....... ...
................................
..
.
.....
7 uij
...
....... ...... ....10
.....
.
.....
... ......
14...............
....
.....
....
...
.
.
.
.
.
.
.
14
...
...
.
.
...
.....
....
.
.
.
8
.
.
.
.
.
.
.
.
.
.
...
..... . ..
.....
.....
........ ....
...
.....................
.
... .....
.......... .....
..
..............
. ..
...... .........
.
....
............................................... 6 .................................................. 4 ..................................................... 8 ....
.... 1 ....
.
.
.
..... .....
.
.
.
.
.
.
.
.
.
...........
.......... 20 ..
10
8
............
.......
.
......
.
.
.
.
...
.......
.......
......
...
......
....
....
...
......
.
......
...
6
.
..6
18 ..................... ..........
16 ....... ...........
...... .....
.......... .....
.
.
.
.... 7 ..................................................................................................... 5 ...
..... ......
..... .....
16
....
....
110
.......
...........
.... ....
.. ...
........................................................... 3 ....
.... 2 ...........................................10
.
........................
.
.................................
.
.
.
.....
...
....
... . ..
.....
..... 4
5................
14................ ...... .............5
.....
.....
.....
.
.
...
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.....
.....
..
....
....
.
.
.......
.
.
.
.
.
.
.
.
.
.
.
.
....... ...... ........
....
....
......................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
.
..
..
..
....
... ...
....
.
..
.....
...
.. 5 ................................................................................................. 7 ....
3
....1....
.
........................
..........
.
.
...................
.
.
.
.
.
......
.....
..
.......
.
.....
.
.
.
.
.
......
.
.
.
.
.
.
.....
.
......
.....
.....
.....
....
......
.....
.....
.....
.....
.....
.....
...
......
.....
.
.....
4 .................... ..... ............... 12
12 .................... ............... ............... 3
.......... .......
....... ......
.
.
.
.
..... 4 ....................................................................................................... 6 ....
..............
.............
11
onde o n
umero real em cada aresta (i, j) representa a capacidade maxima uij .
(a) Formule o problema de fluxo maximo entre os n
os 1 e 7 como um problema de fluxo de custo mnimo.
(b) Determine o fluxo maximo entre o n
o 1 e o n
o 7 usando o algoritmo de Ford-Fulkerson.
21. Considere a seguinte rede G = (V, E)
........
...............
... ....
.....
............................................8
........................................................ 4 ...
. 2 ..
.
.
.......................
...................................
.
.
.
.
.....
..
. ....
...
.....
.....
..... 7
.....
12................ ...... .............3
3
.
.
.
.
.....
.
.....
.....
..
.....
.....
...
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.....
..
....
....
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
....
................................
.................
.
.
.
5..............................................................................
...
.
..
...
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
... 5 ...
.. ... 7 ....
1
....1......
..........
............................
....................
.....
......
.....
......
..... .
.....
......
....
.....
.....
.....
......
.....
.....
...
.....
......
.....
.....
.
.
.
.
.
.
.
.
.
.
......
...
.
.
....
....
....
10 .................. .............. ............... 1
2 .................... ..... ............... 10
........... .......
........ ......
..... 3 ........................................................................................................ 6 ....
...... .....
...... ......
9
...
...
onde o n
umero real em cada aresta (i, j) representa a capacidade maxima uij .
(a) Formule o problema de fluxo maximo entre o n
o 1 e o n
o 7 como um problema de fluxo de custo
mnimo.
(b) Mostre que o problema de fluxo maximo entre o n
o 1 e o n
o 7 tem solucao.
(c) Determine o fluxo maximo entre o n
o 1 e o n
o 7 usando o algoritmo de Ford-Fulkerson.
22. Considere o processo produtivo representado pela figura a seguir que indica os varios caminhos que um
produto pode tomar no seu trajecto produtivo numa fabrica. Os n
umeros em cada cela representam o
limite superior de itens por hora que podem ser processados nessa seccao.
......
.... .....
........................... 4 ..............
.... .... ..
...
........ ..
...
...
.
...
.............. ...
..
........................... 5 ...............
..
..... ...... ...
...
....
.
.
.
.
...
...
..
................................... ....................................
............ ....
.
.
.
.
..
..
... ...
......................................... 10 .................
..................
.
............................
..
..............................7...... ...............................8.....
..... ...... ..
......
......
....
...
...
...
....
...
.
.
.
.
.
...
.
.
... .... .
....
........................ ................
......Fim
...
.
... ... 9 .. ..
.
.. .............................
............. ..
..
.
...
..
....
.
...
... . ................. .... . .................
...
........................ 3 ............................... 2 ...................
..... ......
..... ......
....
....
(a) Qual e o n
umero maximo de itens por hora que a fabrica pode produzir?
(b) Que alteracoes deve tentar melhorar?
111
23. A prova de natacao de 4100 metros estilos requer quatro nadadores que sucessivamente devem nadar
100 metros costas, brucos, mariposa e estilo livre. Um treinador disp
oe de 4 nadadores cujos tempos em
segundos em cada um dos estilos s
ao apresentados na seguinte tabela:
Nadador
1
2
3
4
Costas
65
67
68
70
Estilo
Brucos Mariposa
73
63
70
65
72
69
75
70
Livre
57
58
55
59
(a) Formule o problema de afectacao correspondente `a escolha dos nadadores para cada uma das provas.
(b) Mostre que esse problema de afectacao se reduz a um problema de transportes.
(c) Indique a escolha do treinador resolvendo o correspondente problema com o algoritmo h
ungaro.
24. Numa f
abrica foram instaladas 4 novas maquinas dispondo para a sua laboracao de 5 empregados. A
direccao da f
abrica tem por objectivo, estabelecer uma afectacao empregado-m
aquina. Com esta finalidade
e ap
os varios testes, estimou-se a seguinte matriz de custos:
M
aquina \ Empregado
1
2
3
4
1
35
53
91
15
2
95
90
93
20
3
87
85
73
22
65
75
30
69
73
42
1
8
4
7
2
9
5
9
3
7
4
8
i\j
1
(b) 2
3
4
1
2
3
4
1
2
1
1
5
8
3
4
2
7
9
4
7
5
3
7
26. Considere o problema de afectacao que envolve 5 categorias diferentes de maquinas e 4 tipos de tarefas.
Os custos de afectacao da maquina i para a tarefa j s
ao dados pela tabela.
i\j
1
2
3
4
5
1 2 3 4
10 2 3 9
5 10 15 3
15 5 14 15
20 15 13 8
6 5 9 4
27. Dois recem-casados, Cesar e Ana, querem dividir os trabalhos domesticos de modo que ambos tenham
igual n
umero de tarefas e que o tempo gasto por semana nos deveres de casa seja mantido a um mnimo.
Felizmente, h
a um n
umero par de tarefas, fazer compras, cozinhar, lavar a louca, lavar a roupa, limpar o
ch
ao, fazer as camas, tirar o p
o e manter o carro. O tempo semanal (em horas) que o casal precisa para
executar estas tarefas e dado no quadro seguinte:
Ana
Cesar
Fazer
compras
1
1,5
Cozinhar
Lavar a
louca
2
1,5
6
5,5
Lavar a
roupa
1,5
1,5
Limpar
o ch
ao
0,75
1
Fazer as
camas
1
0,75
Tirar
o p
o
1
0,5
Manter
o carro
1
1,5
Restaurante
Bar
Sal
ao de Festas
Empresa 2
65
58
70
Empresa 3
69
56
72
Empresa 4
70
59
75
A Camara pretende construir as obras de modo a que o custo total seja o menor possvel e por raz
oes
operacionais resolveu adjudicar no maximo 1 obra a cada empresa.
(a) Formule o problema de adjudicacao das obras `as empresas como um Problema de Optimizacao.
(b) Mostre que o Problema de Optimizacao se reduz a um Problema de Fluxo de Custo Mnimo.
(c) Mostre que o Problema de Optimizacao tem solucao optima.
(d) Indique a decis
ao da C
amara resolvendo o Problema de Optimizacao com um metodo `a escolha.
30. Considere a seguinte rede G = (V, E):
.........
.... ...
........
.... ....
................................................... 3 ...3
2..........1...........................................................2
............ .............
.....
. ... .
.......... .... ..............
.......
.......
......
...
..
.......
.....3
...
......
.......
..
...... ..............
...
.......
.
.
4
.
.
........
...
.
..
.
...
.....
.
.
.
.
.
.
.
.
.
......
2 ...
... 3
....
..
.
.
.
...... ......5
.
.
.
........
...
.....
......
.
.
.
.
.
.
.
.
....
.
.
.
.
...
....
......
.
.
.
.
.
.
.
.
...
.
.
.
.
..... . ......
5
....
.. ....
.... .......
...... ...........
...... ..............
.....................................................................................................
....
.... 4......4
....2......
.
.
......
.
.
....
5
onde o n
umero real associado a cada n
o i representa a quantidade de fluxo bi e o n
umero real cij associado
a cada aresta representa o respectivo custo unit
ario.
113
(a) Determine a
arvore geradora de custo mnimo.
(b) Mostre que a
arvore geradora de custo mnimo fornece uma solucao b
asica primal n
ao admissvel e
dual admissvel.
(c) Escreva a formulacao matematica do Problema Fase I sem n
os adicionais associado `a arvore geradora
de custo mnimo e indique uma solucao b
asica admissvel para esse problema.
(d) Mostre que a particao de E definida por
J = {(2, 4), (3, 1), (3, 4), (5, 3)}, L = E J
fornece uma solucao b
asica primal admissvel para o Problema de Fluxo de Custo Mnimo em G.
(e) Determine a solucao
optima para o Problema de Fluxo de Custo Mnimo em G usando o metodo
simplex com a solucao inicial obtida em (d).
31. Considere a seguinte rede G = (V, E)
..
...............
...... .......
....
....................................................... 2 ...
.. 1 ...............................................8
.................... .....
.... ..
........... ........... ........... ..............
..... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
...
...
.....
..... 5
...........
3................ ......
...
.....
.....
4.......................
..
.....
.....
.
....
.....
.....
............
...
.....
.....
.....
.....................
.
.....
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
...
...
...
....... ...
.
.
.
.
.
..... .......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... ....
......
.... ...... .
6...........
....
....
.... .......................
.
...........
.
.
.
... 3 ..
.
.
.
.
.
.
...
.
.
4...
...8
........ ..................6
...
.........................
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
..... .....
.... ......
...
..................
.
.
.
.
.
.
..... ..... 2
.
.
.
.
.
.
.
.
...
..
...
..... .....
..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 .
..... ....
.
.
.
.
..... .....
.....
............
.....
....
....
..... .....
...........
.....
.....
.
.
. .
...........
.....
.....
.......... ......... 1
2 ................................................ .......................................................
.
.
.
.
.
.
.
.
.
.
..
.............. ....................
.... .......
.... 4 ..................................................................................................... 5 ....
...... .....
...... ......
...
...
onde o n
umero real associado a cada aresta (i, j) representa o custo da ligacao de i para j.
(a) Determine os Caminhos Mais Curtos do n
o 2 a cada um dos restantes n
os da rede, usando o algoritmo
de Dijkstra.
(b) Mostre que o Caminho Mais Curto do n
o 2 ao n
o 4 e equivalente a um Problema de Fluxo de Custo
Mnimo e apresente esse problema.
(c) Determine uma
arvore geradora de custo mnimo associada `a solucao optima do Problema de Fluxo
de Custo Mnimo referido na alnea anterior.
32. Considere o Problema de Fluxo de Custo Mnimo associado `a rede G = (V, E)
..
........
...... ......
.... .....
(3, 6, 10)
................................................................................................... 3 .... 3
6 ..........2
..
.
..
.........
..................
...
....... ....
.......
...
.......
.......
...
...
.......
.
.
..
.
.
.
...
.
(1, 4, 4)
.
.......
...
.......
.
.
(1, 7, 2)......
.
... (1, 8, 7)
.
.
.
.....
.
.
...
.
.
.
..
.
.....
..
.
.
.
.
.
....
.
.
.........
... ...............
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .... .
.. ....
.
.
.
.
.....
.............................................................................................
4......4
.... 1 ....5
... ...
.........
(2, 5, 5)
........
onde em cada aresta (i, j) E as componentes de (lij , uij , cij ) representam os limites inferiores e superiores
e o custo unit
ario associados e o n
umero real associado a cada n
o i V representa a quantidade de fluxo
bi .
(a) Mostre que a particao de E definida por
J = {(3, 1), (3, 4), (4, 2)}, L = {(1, 4)}, U = {(2, 3)}
fornece uma solucao b
asica admissvel.
114
Fabricas
1 2 3
10 6 5
1 7 8
2 3 3
O fabricante pretende fazer a sua encomenda de modo a reduzir ao maximo o custo total de transporte.
(a) Formule o problema do fabricante como um Problema de Optimizacao.
(b) Mostre que o Problema de Optimizacao tem solucao optima.
(c) Determine a
arvore geradora de custo mnimo do grafo associado ao Problema de Optimizacao.
(d) Mostre que a
arvore geradora de custo mnimo fornece uma solucao b
asica n
ao admissvel para o
Problema de Optimizacao e apresente o Problema M-grande associado a essa solucao b
asica.
(e) Indique a encomenda do fabricante, resolvendo o Problema de Optimizacao por um algoritmo `a sua
escolha.
34. Considere a seguinte rede G = (V, E):
..
..
..
...... .......
...... .......
...... .......
............................ 4 ..................10
................................ 8 ....
..... 2 .....................9
.
.
.
..............................
...........................
..........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... . . .
...
... ...
12............... ...... ......................... ...... ......
6............... ........
.
.
...3
...
...
...
.....
.........
.....
.
.....
........ ..
...
...
.....
....
........ ....
.....
...
.....
........
5...... ..................................
..
................... ...............
...
.
.
..
..
.
.
.
......
3
....
.
.
...6
.
.
.
... 6 ..
..2
.
....1......
.
.
.
.
.
...
.
.
.
..........
...................... .......
...
....
......
...
.
.
.
.
.....
..
.
....
.
......
.
.
.
.
.
.
.
.
.
.
...
.....
..
..
......
. ........
.
.
.
.
.
.
....
.
......
.....
...
...
. .......
.
.
......
2
..
.
.
.....
... .. ......
...
......
.
.
.
.
.
.
.
...
.....
.........
11 ............. ............. .............. 5
4
.
.
.
.
.
.
.......................
.......... .......
..............
.
.
.
...
...........................................
.............................................
...
.
.
. .
. .
... 3 ...
..........
9 . .......5......... 10 . .......7.........
onde o n
umero real em cada aresta (i, j) representa a capacidade uij .
(a) Mostre que o Problema de Fluxo M
aximo do n
o 1 ao n
o 8 e equivalente a um Problema de Fluxo de
Custo Mnimo.
(b) Determine o Fluxo M
aximo do n
o 1 ao n
o 8 usando um algoritmo `a sua escolha.
(c) Mostre que o fluxo valido
optimo do Problema de Fluxo M
aximo fornece uma solucao b
asica admissvel para o Problema de Fluxo de Custo Mnimo equivalente e indique os conjuntos das vari
aveis
b
asicas e n
ao b
asicas dessa solucao.
35. Considere o Problema da Mochila
Maximize
Sujeito a
n
X
j=1
n
X
cj xj
pj xj M
j=1
xj 0 e inteiros, j = 1, 2, . . . , n
115
onde cj > 0, j = 1, 2, . . . , n e M , pj , j = 1, 2, . . . , n, s
ao inteiros positivos tais que pj < M para todo
j = 1, 2, . . . , n.
(a) Mostre que o Problema da Mochila e equivalente a um Problema de Fluxo de Custo Mnimo numa
rede com (M + 1) n
os.
(b) Discuta dois processos para determinar a solucao optima do Problema da Mochila baseados nas
tecnicas de Optimizacao em Redes.
36. Seja G = (V, E) uma rede, com V = {1, 2, . . . , m}.
(a) Considere o Caminho Simples C:
1 2 3 ... m
e seja
J = {(i, i + 1), i = 1, 2, . . . , m 1}
Mostre que se G = (V, J) e uma arvore geradora de custo mnimo satisfazendo
j
X
cij
cik 0
k=i+1
onde o n
umero real associado a cada aresta (i, j) representa o custo da ligacao de i para j. Determine
o caminho mais curto entre os n
os 1 e 5 usando dois processos diferentes.
37. Considere o Problema Multicomodidade de Fluxo de Custo Mnimo com 2 mercadorias, onde para cada
aresta (i, j) e mercadoria k a funcao custo tem a forma
fijk (xijk ) = xijk + kx2ijk
(a) Apresente a formulacao do problema.
(b) Descreva o algoritmo de Frank-Wolfe para a determinacao do mnimo global do Programa N
ao Linear
apresentado na alnea anterior, dando especial atencao ao processo de determinacao da direccao de
pesquisa.
38. Considere o Problema de Fluxo de Custo Mnimo N
ao Linear com Restricoes Laterais na rede G = (V, E):
X
fij (xij )
Minimize
(i,j)E
Sujeito a
j:(i,j)E
xij
xji = bi , i = 1, 2, . . . , m
j:(j,i)E
jxij bm+i , i = 1, 2, . . . , m
j:(i,j)E
Pm
i=1 bi
s
ao funcoes convexas e continuamente diferenci
aveis em IR1 . Descreva o algoritmo de Frank-Wolfe para a
determinacao de um mnimo global do programa, dando particular atencao ao processo de determinacao
da direccao de pesquisa.
39. Um historiador a viver em Coimbra foi convidado a realizar tres conferencias durante cada um dos tres
dias de um fim-de-semana alargado (sexta-feira, s
abado e domingo). Cada conferencia ter
a lugar numa das
cidades de Coimbra, Porto, Braga, Lisboa e Evora, recebendo para o efeito um subsdio de 400, 450, 440,
500 e 550 Euros respectivamente. A conferencia de Braga n
ao poder
a ocorrer no s
abado e o historiador
tem de estar em Lisboa na segunda-feira a seguir ao fim de semana.
As deslocacoes ser
ao suportadas pelo historiador e constam da seguinte tabela em Euros:
Coimbra
Porto
Braga
Lisboa
Evora
Coimbra
0
50
80
70
100
Porto
50
0
30
120
150
Braga
80
30
0
150
180
Lisboa
70
120
150
0
30
Evora
100
150
180
30
0
Pretende-se saber as conferencias e respectivos locais que o historiador deve realizar de modo a maximixar
o seu lucro.
(a) Apresente a formulacao do problema.
(b) Discuta dois processos para a determinacao de um limite inferior para o valor optimo do problema
baseados nas tecnicas de optimizacao em redes.
40. Considere o problema da determinacao das rotas de p (p 1) caixeiros viajantes que partindo da mesma
cidade A1 visitam algumas das cidades A2 , A3 , . . . , An e voltam `a cidade de partida, de acordo com as
seguintes condicoes:
Quaisquer duas cidades i e j est
ao ligadas entre si e a uma distancia dij > 0.
Cada cidade e visitada por um e um s
o caixeiro.
Cada caixeiro s
o pode visitar uma vez cada cidade.
(a) Apresente a formulacao do problema.
(b) Discuta dois processos para a determinacao de um limite inferior para o valor optimo do problema
baseados nas tecnicas de optimizacao em redes.
41. Um cons
orcio planeia a construcao de uma central hidroelectrica. Os trabalhos que se tem de executar
s
ao os seguintes:
(a) construcao das ruas de acesso ao local;
(b) terraplanagens;
(c) construcao de uma aldeia para alojar os trabalhadores;
117
Duracao
4
6
4
12
10
24
7
10
3
meses
meses
meses
meses
meses
meses
meses
meses
meses
Trabalhos de
que dependem
a
b, c
b, c
a
d, e, g
f, h
Identifique as actividades criticas, o tempo mais cedo da realizacao (acabamento do projecto), bem como
a flutuacao total para cada uma das actividades.
42. Para o seguinte projecto identifique as actividades crticas, o tempo mais cedo da realizacao (acabamento
do projecto), bem como a flutuacao total para cada uma das actividades.
Trabalho
a
b
c
d
e
f
g
h
i
Precedencia
a
a
b, d
c
e, f , g
c
Duracao
5 dias
10 dias
8 dias
6 dias
12 dias
7 dias
4 dias
6 dias
10 dias
Refer
encias
[Ahuja et al., 1993] Ahuja, R. K., Magnanti, T. L., and Orlin, J. B. (1993). Network Flows : Theory, Algorithms
and Applications. Prentice Hall, Englewood Cliffs, NJ.
[Bazaraa et al., 1990] Bazaraa, M. S., Jarvis, J. J., and Sherali, H. F. (1990). Linear Programming and Network
Flows. John Wiley & Sons, New York.
118
[Bradley et al., 1977] Bradley, S., Hax, A., and Magnanti, T. L. (1977). Applied Mathematical Programming.
Addison-Wesley Publishing Company, Reading.
[Ch
vatal, 1983] Ch
vatal, V. (1983). Linear Programming. W.H. Freeman & Company, New York.
[Gill et al., 1991] Gill, P., Murray, E., and Wright, M. (1991). Numerical Linear Algebra and Optimization,
volume 1. Addison-Wesley, Reading.
[Hillier and Lieberman, 1989] Hillier, F. S. and Lieberman, G. J. (1989). Introduction to Operations Research.
McGraw-Hill, New York.
[J
udice et al., 2006] J
udice, J., Martins, P., Pascoal, M., and Santos, J. (2006). Programacao Linear. Departamento de Matem
atica, Universidade de Coimbra, Coimbra.
[Murty, 1995] Murty, K. G. (1995). Linear Programming. Prentice Hall, New York.
[Nash and Sofer, 1996] Nash, S. G. and Sofer, A. (1996). Linear and Nonlinear Programming. McGraw-Hill,
New York.
[Ramalhete et al., 1998] Ramalhete, M., Guerreiro, J., and Magalh
aes, A. (1998).
Programacao Linear.
McGraw-Hill, Lisboa.
[Tavares et al., 1996] Tavares, L. V., Oliveira, R., Themido, J. H., and Correia, F. N. (1996). Investigacao
Operacional. McGraw-Hill, Lisboa.
119