PROBLEMAS DE MULTICOMODIDADE EM REDES NÃO O R I E W A D A S
R a u L Rosenthal Ladeira de Matos
T E S E SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE P ~ S - GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO R I O DE J A N E I R O COMO PARTE DOS REQUISITOS
NECESSARIOS
PARA A OBTENCÃO DO GRAU DE MES-
TRE EM C I ~ N C I A S (M. SC.
).
A p r o v a d a por :&/*
L
&/,
Presidente R I O DE J A N E I R O ESTADO DA GUANABARA-
B R A S I L OUTUBRO DE 1 9 7 4W
~ a l é r i a ,AGRADECIMENTOS
Devo manifestar muito mais do que um simples agradeci
-
mento ao Professor Nelson Maculan Filho, meu orientador, não s6 por sua colaboração na confecção deste trabalho como também em diversos outros setores.Ao Professor Ronaldo Cesar Marinho Persiano, por suas valiosas sugestões.
A todos os professores e funcion&-ios da COPPE.
iii
O objetivo deste trabalho foi coletar diversos tipos de Problemas referentes a Multicomodidade em Redes N ~ O Orientadas e cslocá-10s em uma Única formulação que fosse o mais possfvel didáti
-
ca e justificar o porquê de seus processos de resolução, visto que todos os artigos referentes a esses tÔpicos são muito pouco didáti- cos e não apresentam justificativa nenhuma para os processos apre-
sentados.DOS Problemas apresentados, o mais importante
6
o de ~ h t e s e , no qual necessita-se encontrar as capacidades de uma rede a ser construlda, de modo que satisfaça a requisitos de fluxo previ-
mente estabelecidos e tenha um custo total de constxuç~o mfnimo. A parte principal deste trabalho, onde entre toda sua originalidade,
6 referente à região viável deste tipo de Problema, pois consegui
-
mos determinar uma região vikel bastante limitada, o que em muito nos facilita a busca da solução Ótima.Outro Problema abordado
6
referente3
Viabilidade de Fluxos, onde a quantidade de fluxo de cada uma das comodidadesé
co-
nhecida a priori e a questão6
sabermos se todas essas quantidades de fluxo podem ou não ser satisfeitas simultaneamente para uma rede dada. Em outras palavras, temos uma determinada rede e desejamos saber se podemos passar através dela determinadas quantidades de fluxo. Consideramos também Problemas de ~omatória de Fluxos onde se tem como requisito determinadas quantidades de fluxo entre espe-cificos nós fontes e
especificas
nós receptores com m h i m o custo to-
tal. A este tipo de problema podemos associar custo, associando a cada arco da redeum
determinado custo de transporte.Como Último Problema abordado, temos o de Ampliação,on
-
de já existe construída uma rede e, através de uma análise, sabe -se que a mesma não está atendendo aos requisitos de fluxo. A questão6
conhecer de quanto deve ser aumentada a capacidade de cada arco da rede, de maneira que a rede ampliada satisfaça &peles requisitos e tenha um custo total de ampliação mínimo.~onv6m lembrar que este trabalho tem finalidade didáti
-
ca, dai a inclusão de determinados itens que funcionam como suporte aos Problemas referidos.ABSTRACT
The objective of this work is to collect severa1 kinds of Problems concerning Multicommodity in Non-Oriented Networks and put themin one unique formulation which is the most didatic possible and justify their resolution procedures, for a11 the publications
about these topics are not didatic and do not present any justificationo The most important Problem presented is the Synthesis Problem, where we have to determine the capacities of a network to
he
constructed so that the previously established flow requirement are satisfied at minimum total construction cost. The main part of this mrk, where is a11 its originality, is the feasible area of this kind of Problem, for we determine a very restrictive feasible area,which help us to find the optimal solution.
Another presented Problem is the Feasihility of Flows, where the flow value at each of the commodities is prescribed, and the question is to know if a11 these flow values can be realized simultaneously or not in a given network. In other words, we have a network and we want to know if we can pass the prescribed flows through it. We also considered the Sum of Flows Problems where we have as a requisite a certain quantity of flow between specific source nodes with a minimum total cost. To this kind of problem, we can associate
a
csst, associating to every arc of the network aprescribed shipping cost.
Problem, where
we
already have an existing network and, throughanalysis, we find that the network is not satisfying the flow require
-
ments. The question is to determine how much the capacity of each arc in the network must be expanded, so that the expanded netwoxk can satisfy those requi~ements at minimum total expansion cost.We
remark that this work has a didatic finality, and this justi£ies the inclusion of some topics which have the only function to support the mentioned Problems.vii
INDICE
CAP~TULO I1
.
VIABILIDADE E SOMAT~RIO DE FLUXOS...
2.1.
~ é t o d s do Simplex Revisado2.1.1
.
~ntrodução...
2.1.2.
~nversão de Matrizes por Partiqão...
2.1.3.
Forma Matricial do Simplex...
2.1.4.
~ é t o d o do Simplex Revisado...
2.1.4.1
.
variação nos Dados do Simplex Revisado 2.2.
princípio da ~ecomposição de Dantzig-Wolfe...
2.2.1.
Introdução...
2.2.2.
Um Teorema sobre combinações Convexas...
2.2.3.
Principio da Decomposiqão de Bantzig-Wolfe..
2.2.4.
Updating...
2.3.
Viabilidade e somatorio de Fluxos...
...
2.3.1.
somatõrio de Fluxos2.3.2
.
Viabilidade de Fluxos...
2.3.3.
Um Exemplo ~um&ico Completo sobre Viabilidade de Fluxos...
2.3.4.
Um Exemplo ~umgrico Completo sobre SomatÕria deviii
3.1
.
~efinição do Problema...
82 3.2.
~armulaqão do Problema...
83....
3.3
.
Algoritmo Prima1 Aplicado a Problemas de ~ h t e s e 102 3.3.1.
Um Exemplo Nurn&ico Completo sobre Aplicaçãodo Algoritmo Prima1
...
112 3.4.
Algoritmo Dual A.plicado a Problemas de ~ h t e s e...
1383.4.1
.
Um Exemplo ~umérico Completo sobre Aplicaçãodo Algoritmo Dual
...
142 3.5.
Ampliação de Rede já Existente a ~ í n i m o Custo...
158 BIBLIOGRAFIA...
162DEFINIÇÃO DO PROBLEMA GERAL
Quando s e e s t u d a o s c l á s s i c o s problemas d e t r a n s p o r
-
t e numa r e d e [N,A,Y],
e n c o n t r a r o f l u x o máximo que v a i d a f o n t eNs a o r e c e p t o r N S l s e m v i o l a r a s c a p a c i d a d e s d a s restrições x . . <
1 3 -
< yi ( p a r a t o d o i, j )
,
onde x-
i jé
a q u a n t i d a d e d e f l u x o q u e a t r a-
v e s s a o a r c o Ai j e y i jé
a c a p a c i d a d e do a r c o Ai j, s u a formu-l a ç ã o matemática assume o t r a n s p o r t e de somente uma Única comodida- d e . 4 Resumindo-se, um problema c l á s s i c o de t r a n s p o r t e e a p r e s e n t a d o d a s e g u i n t e maneira: Sejam NS e N s l d o i s nós d i s t i n t o s de N onde NS
é
a f o n t e e N S l O r e c e p t o r . Um f l u x o e s t á t i c o d e v a l o r f ( S , S 1 )de Nç p a r a N s l e m [ N , A , Y ]
,
(uma r e d e o r i e n t a d a ) .é
uma fungão f : A-
W
q u e s a t i s f a zàs
s e g u i n t e s equações l i n e a r e s e i n e g u a ç k :C
f ( x , w )-
1
f (w,x) = f x f S r S ' W E A ( x ) w e B ( x ) - f ( S , S t ) 1 x = s lI
O No c a s o d e e x i s t i r e m d i v e r s a s f o n t e s e v á r i o s r e c e pt o r e s e s e o f l u x o d e q u a l q u e r f o n t e puder s e r e n v i a d o a q u a l q u e r r e
-
c e p t o r e n t ã o , e s t e problema pode ser t r i v i a l m e n t e t r a n s f o r m a d o em um problema de uma Única f o n t e e ú n i c o r e c e p t o r a t r a v é s d a c r i a ç ã o de uma s u p e r f o n t e a g u a l e s t a r i a l i g a d a a t o d a s a s f o n t e s o r i g i n a r i a s a t r a v ê s d e a r c o s com c a p a c i d a d e s d e t r a n s p o r t e i g u a i s a i n f i n i t o e também a t r a v é s d a c r i a ç ã o d e um s u p e r r e c e p t o r o g u a l também e s t a r i a l i g a d o a t o d o s r e c e p t o r e s o r i g i n & i o s a t r a v é s de a r c o s com c a p a c i d a - d e i n f i n i t a . P o r t a n t o , um problema d e s t e t i p o é assim a p r e s e n t a d o :P a r a maiores d e t a l h e s , suponhamos que o s N nós d e uma r e d e [ N , A , Y
]
s ã o d i v i d i d o s emt r ê s
c o n j u n t o s :S = c o n j u n t o dos nós f o n t e s SI = c o n j u n t o dos nós r e c e p t o r e s
R = c o n j u n t o dos nós i n t e r m e d i á r i o s ;
e consideremos o problema d e . e n c o n t r a r o máximo f l u x o de S p a r a SI.
O f l u x o de S p a r a S ' pode ser imaginado como u- ma função de v a l o r r e a l f d e f i n i d a em A que s a t i s f a z :
o v a l o r do f l u x o t o r n a - s e
Transformando-se
[
N , A , Y ] n a r e d e N* ,Af ,Y*]
a- t r a v é s do a c r é s c i m o de d o i s nós u e v e de t o d o s o s a r c o s ( u , S ),
( S 1 , v ) e a l t e r a n d o a função d e c a p a c i d a d e b d e f i n i d a e m A p a r a b* d e f i n i d a e m A* p o r
~ n t ã o a limitação f de um fluxo f* de u para v em [N*,A*,Y*]
é
um fluxo de S para S ' em[
N , A , Y]
.
Vice- Versa, um fluxo de S para S ' em[
N , A , Y]
pode s e r transformado em %im fluxo f * de u para v em[
N*,A* ,Y*]
,
definindo-se~ * ( u , x ) = f (x,N)
-
f(N,x) r X E S If * ( x , v ) = f (N,x)
-
f (x,N),
X E S ' ,f * (x,w) = f (x,w) r em o u t r o s casos
.
Consequentemente o problema de fluxo máximo de S
para S I em [ N , A , Y
]
é equivalente ao problema de uma Única f o n t ee Ünico receptor na rede transformada.
Se, e m cima d e s t e problema de t r a n s p o r t e apresenta- do fizermos c e r t a s r e s t r i ç õ e s t a i s como a obrigatoriedade de que o fluxo de c e r t a s f o n t e s sejam enviados a determinados receptores ou então quando o problema envolve n produtos d i f e r e n t e s para serem enviados atravgs de uma rede de t r a n s p o r t e s de capacidade l i m i t a d a e a quantidade de o f e r t a e demanda d i f e r e signi£icativamente de produ- t o para produto,então o problema torna-se mais complexo e não mais
é
p o s s i v e l resolvê-10 como um problema comum de t r a n s p o r t e ou mesmo como uma aproximação.E
que agora temos um problema de multicomodi- dade de fluxos.Sejam a s f o n t e s Ns e os receptores N S l ( S = l
,...
s
Seja x o fluxo S no arco Ai j e f(S,Sf) o valor do fluxo S
ij
de Ns para Nç,
.
Um dos problemas em multicomodidade de fluxos6
encontrar =I maxC
f (S,ST) S=l sujeito a : -f(S,S1) se j=S,
Em .casos muito especiais, como quando da existência de
um
Único tipo de fluxo em toda uma rede, podemos para arcos com flu- xos em direcões opostas, efetuar os respectivos cancelamentos. Esta observação é de grande importância para ressaltar o fato de que ar- cos com fluxos de diferentes comodidades não podem se cancelar entre si, no caso de terem dire~ões opostas. Esta6
uma das maiores difi- culdades de problemas 'de multicomodidade de fluxos.outro tipo de problema de multicomodidade de fluxos
é o chamado problema de viabilidade que se resume em dados valores inteiros não negativos de requisitos de fluxo r(S,S1)
,
(S=l,...
...,g
;
S ' =I.',..
...,
q'),
pode existir fluxos simultâneos comExistem d i v e r s o s modelos d e multicomodidade e m r e
-
d e s , d o i s dos q u a i s simplesmentejá
a p r e s e n t a d o s , mas b a s i c a m e n t e x i s t e m d o i s t i p o s de problemas, o problema d e a n á l i s e e o d e s í n t e - se que s e r ã o a p r e s e n t a d o s a s e g u i r . S e j a f P4 o v a l o r do f l u x o da f o n t e N P a o r e c e p - t o r N,
e xPq o f l u x o no a r c o A i j q i j com f o n t e N P e r e c e p t o r N.
A conservação dos f l u x o s r e q u e r 46
a c a p a c i d a d e do a r c o Ai j e n t ã o S e j a r ( t ) o f l u x o r e q u e r i d o de N p a r a N no tempo t.
O P q P qf a t o de que a r e d e
6
capaz d e t r a n s p o r t a r t o d o s o s f l u x o s a qualquer tempoé
i n d i c a d o p o rEvidentemente, o f a t o da rede [N ,A ,Y
]
atend-er aos r e q u i s i t o s de f l u x o para todos o s periodos a c a r r e t a r á uma t r a n s f o r - mação nas equações (1.1),
( 1 . 2 ) e (1.3) transformando-as r e s p e c t i - vamente em ( 1 . 4 ),
(1.5) e ( 1 . 6 ).
No caso do Problema de ~ n ã l i s e , y i j e r ( t ) são Pci
Pq
dados e o problema
6
encontrarx
( t ) t a l que ( L . 4 ) , (1.5) e (1.6) i jsejam s a t i s f e i t a s . Algumas vezes c u s t o s s ã o associados aos f l u x o s nos a r c o s , e n t ã o passamos a t e r um problema de minimização do c u s t o
t o t a l s u j e i t o a ( 1 . 4 )
,
(1.5) e ( 1 . 6.
P o r t a n t o , no problema de anã-
l i s e , já e x i s t e c o n s t r u f d a uma rede e a questão6
v e r i f i c a r s e de-
terminados r e q u i s i t o s de f l u x o podem s e r atendidos.Para o Problema de ) é dado e o pro
blema
é
encontrar y i j t a l que ( 1 . 4 ) , 1 . 5 ) e ( 1 . 6 ) sejam s a t i s-
f e i t a s com o custo t o t a l1
c i j y i j mínimo. Neste caso os custos são associados 5s capacidades dos arcos que serão construídos, ou s e j a , c i j é o custo de construção deum
arco de capacidade u n i t ã -r i a de Ni para N
.
Consequentemente, no problema de s h t e s e , n ej
-
c e s s i t a - s e e n c o n t r a r a s capacidades de uma rede a s e r construída, de modo que s a t i s f a ç a a r e q u i s i t o s de fluxo previamente e s t a b e l e c i d o s e tenha um custo t o t a l de construção mínimo.
O grau de dificuldade dos problemas de a n ã l i s e e s h
-
t e s e depende de como o r ( t )
6
dado. P4VIABILIDADE E SOMAT~RIO DE FLUXOS
Antes de passarmos a estudar os problemas de Viabi- lidade e somatório de Fluxos, apresentaremos dois tópicos que serão necessários para a perfeita compreensão dos referidos problemas.São eles: ~ é t o d o do Çimplex Revisado e o Princípio da ~ecomposiç~o de Dantzig-Wolfe.
2.1
-
~ é t o d o do Simplex Revisado2.1.1
-
IntroduçãoA forma de resolução do método simplex
6
uma manei- ra muito conveniente para fins didáticos, mas pode ser muito simpli-
ficada.O que torna posszvel esta simplificação é
o
fato de muitas informações calculadas em cada quadro do simplex serem per-
feitamente dispensáveis. Cada quadro, conforme será mostrado, pode ser determinado a partir do quadro inicial e de algumas informagões do quadro anterior. Este fato tem origem no ~ é t o d o do Simplex Revi
-
sado. Para isso, necessitamos conhecer um metodo de inversão de ma trizes, inversão por partição e também a forma matricial do sim-
plex.2.1.2
-
~ n v e r s ã o d e M a t r i z e s p o r p a r t i ç ã oSeja M uma m a t r i z (nxn) não s i n g u l a r , vamos p a r t i
-
c i o n a - l a d a s e g u i n t e forma:,
onde aé
uma m a t r i z (rnxrn),
é
(mxs),
y
é
(sxm) e 6é
( s x s ) ; m+s=nComo M é não s i n g u l a r , M
-'
e x i s t e e pode s e r= onde Im e Is s ã o m a t r i z e s i d e n t i d a d e de ordem m e s
.
Ficamos e n t ã o com o s i s t e m a : A B C D P o r d e f i n i ç ã o , Resolvendo-se o s i s t e m a , encontramos: onde A(mxm),
B (mxs),
C (sxm) e D ( s x s ).
e o: B Y 6 A 13 C D-
- I = I mo
O I s-1
Existindo 6
,
o sistema é poss~vel.Um caso particular importante e que nos interessará
é o da matriz M que pode ser particionada como se segue :
M =
1 1
Q l
de onde tiramos :2.1.3
-
Forma Matricial do SimplexConsiderando-se um PPL com as variiheis de folga já inclu~das, podemos representá-lo matricialmente da seguinte forma:
maximizar Z = c
- -
x-
ao,,
sujeito a: Ax=-
b, x-
- - -
> O (2.1) onde c-
6
o vetor linha ( C ~ ~ C r ~x-
C6
um vetor coluna ~ )[ x ~ ~ x ~ ~ . . * ~ x ~ ]
r b-
éum
vetor coluna [bl,b2,...,
],b e Aé
umamatriz (rnxn)
,
A= [aij]
.
min Z
sujeito a :
que podemos resumir em :
min Z sujeito a : A* = OU seja, c j S e j a agora a matriz :
passa a ser escrito como
ao: passa o elemento nulo da primeira linha e primeira coluna passa
a a
io e a ser es- crito aoo
.
A matriz A*6
de (m+1) linhas e ( n + l ) colunas.
A operação de pivotagem
é
equivalente a multiplicar (2.2) à esquerda pela matkizSe particionarmos as colunas de A em colunas bási
-
tas (E)) e não básicas (N),
teremos de (2.2) :onde
cb
é
um
vetor linha dem
componentes,2,
6
um vetor li-
nha de (n-m) componentes e são correspondentes aos custos na fun-
ção objetivo.Xb
é
um vetor coluna de m componentes,xn
6
um vetor coluna de (n-m) componentes e são correspondentes a variá-
veis básicas e não básicas.Fazendo-se
x
como variáveis básicas de partida,
-be como a ordem das colunas de B e N não
é
importante desde que emx
e em-b Xn as variáveis estejam na mesma ordem que as colunas cor
-
respondentes em B e em N e que seus coeficientes corresponden- tes emcb
e em c estejam nessa mesma ordem, o que estamos realmente querendo
é
uma m a t r i z i d e n t i d a d e no l u g a r de B.
O que6
e- q u i v a l e n t e a m u l t i p l i c a r m o s ( 2 . 4 )2
e s q u e r d a p o r -1 denotando-se c b B = .., ii,
temos : o queé
e q u i v a l e n t e a : Como x = O,
temos : -nPara mudarmos de base, observamos os elementos da -1
matriz
(cn
-
cbB N). Seja a a coluna j da matriz N e Z =-
-
j j= (C 8-l).
.
Os elementos c da matriz(cn
-
c b ~ - l ~ ) serão da--b
-
j j-
-
dos por c = c j -j
-
Z -j,
onde c j6
o custo relativo. -1A base B
6
viável se Bb
5
o,
e6
ÕtinS se:.<o
J-
-
para todo j
.
Se não, escolhemos o maior c positivo. A variá- jvel j correSpondente entrará na base. Para escolhermos a variá
-
vel que sairá, calculamos os quocientes bi/
aij,
onde bi6
o e-
lemento i de b e ai j
6
o elemento i da coluna a-
j.
A me- nor razão corresponderá2
variãvel que sairá da base.0 vetor linha II
-
= (",...,")6
O peso a ser mul-
tiplicado por cada linha e ser subtraído da linha custo para elimi- nar os coeficientes de custo das variáveis básicas.
2.1.4
-
~ 6 t o d o do Simplex RevisadoTodo este item 2.1.4 será baseado no seguinte pro
-
blema :maximizar Z = c x
- -
,
sujeito a: Ax-
= b-
,
x- - -
> ONo método do simplex, todos os números do quadro mudam de uma iteração para outra. Durante o cálculo, uma vez obti- do um quadro, podemos esquecer todas as informações anteriores,pois temos em cada quadro as informaçÕes necessárias para construir o se
-
g u i n t e
.
Suponhamos que mantemos o quadro i n i c i a l e queremos g e r a r um d e t e r m i n a d o quadro. Que informações p r e c i s a m o s ? Digamos que e s t a m o s i n t e r e s s a d o s e m t o d o s o s números do 299 q u a d r o . P r e c i - samos d e B-I a s s o c i a d a a o 299 q u a d r o e d o s nomes d a s v a r i á v e i s b á s i
-
tas a t u a i s . Todos o s o u t r o s números do q u a d r o podem ser g e r a d o s a
p a r t i r d o q u a d r o i n i c i a l e d a m a t r i z B-l do 299 q u a d r o , como v e r e - mos a s e g u i r . -1 Observe-se que ii
-
= c b . B,
ou s e j a , o ii-
a t u a l o b t i d o m u l t i p l i c a n d o - s ecb
do q u a d r o i n i c i a l p e l o B -1 a t u a l . Con-
vém l e m b r a r q u e conhecendo-se a s v a r i á v e i s b á s i c a s a t u a i s , conhece- secb.
b
-
( t e r m o s i n d e p e n d e n t e s do 2 9 8 q u a d r o ) é dado p o r B -1 .b,-
-
4 onde b-
6
do q u a d r o i n i c i a l . Q u a l q u e r c o l u n a a-
d a m a t r i z A e jdada p o r B-I a
-
,
onde aé
do q u a d r o i n i c i a l . ~ a m b é m o c o e f i -j
-
j-
-
c i e n t e c
,
d a f u n ç ã o o b j e t i v o , é dado p o r c = c -na,
onde cj j j ..,-j j
-1
e a
-
s ã o d o g u a d r o i n i c i a l . P o r t a n t o , se t i v e r m o s B e a s v a r ij
-
&eis b á s i c a s , podemos g e r a r t o d o o quadro.
-1 Suponhamos a g o r a que temos o q u a d r o i n i c i a l e B.>
do 299 q u a d r o . Que números a d i c i o n a i s do 299 q u a d r o devem ser g e r a
-
d o s p a r a que possamos o b t e r B do 309 quadro? O s números a d i c i o-
n a i s s ã o o s d a c o l u n a a-
não b á s i c a do 299 q u a d r o q u e e n t r a r a n a j b a s e eb
-
do 299 q u a d r o . O v e t o r a-
é c a n d i d a t o a e n t r a r n a b a s e j-
-
Escolhemos um cs > O e c a l c u l a m o sas
= B -1.as
e -1 E s t e s d e t e r m i n a r ã o B do 309 quadro.O ~ é t o d o do Simplex Revisado c o n s i s t e em conservar o quadro i n i c i a l e em cada i t e r a ç ã o gecar apenas os dados neces-
-
s ã r i o s para tomar decisões, ou s e j a , o v e t o r l i n h a c
-
,
a coluna da v a r i á v e l que e n t r a r a na base e o v e t o r colunab.
-
Estes dados, jun-
tamente com a inversa a t u a l B - l,
determinarão B do quadro seguinte.-1
-
Quando temos B
,
a-
eb
( e s t e s formarão wn quaj
-
-
dro de tamanho (m+l)x(m+2)
1 ,
podemos u s a r o t e s t e da razão e d e t e r-
minar o ~ i v Õ para,por pivotagem, acharmos B do prõximo quadro. ~ n t ã o , a cada i t e r a ç ã o , calculamos no máximo n-m custos r e l a t i v o s-
-
c
,
a colunab
e o v e t o ras
j
-
.
Como o quadro i n i c i a l contêm uma matriz identidade (mxm) com todos os seus c o e f i c i e n t e s na função odj e t i v o nulos, os números que aparecem no lugar dessa m a t r i z i d e n t i - dade em um outro quadro formarão a matriz B desse quadro, e o s que aparecem no lugar dos c o e f i c i e n t e s da função o b j e t i v o formarão
R
-
= C ~ B desse quadro. Conhecendo-se iJe B de um quadro,gg
-
-
ramos os c desse quadro por c = c
-
ii a.
Se um c o e f i c i e n t ej j j
-
- j-
c f o r não p o s i t i v o , não estaremos interessados nos componentes de
-
j-
a
-
correspondentes. Escolhendo-se qualquer c > O,
podemos ge-j
9
j
r a r o v e t o r associado a c+ para e n t r a r na base. Observe-se que
C j a
-
j = c j-
iia--
j B - ~ a-
jNo quadro i n i c i a l , B
é
i g u a l5
sua i n v e r s a e iJ6
-1
nulo, v i s t o que ii
-
= c b B ecb
=..,
O.
Portanto, podemos acresceg t a r uma coluna [ l , 0 , .. .
,O]
à matriz B e obtemos :ou s e j a l o quadro i n i c i a l pode s e r t r a t a d o como qualquer outro.
O ~ é t o d o do Simplex Revisado
é
muito Ú t i l , e s p e c i a l-
mente para processamento e l e t r ô n i c o , j á que e f e t u a menos operaqões que o simplex comum. Note-se que no ~ é t o d o do Simplex Revisado nós-
não precisamos c a l c u l a r todos os c
.
j
Como exemplo para um problema resolvido por e s t e
m ê
-
todo, citamos [ 6 ]
.
2 . 1 . 4 . 1 .
-
variação nos Dados do Simplex RevisadoSabendo-se da p o s s i b i l i d a d e de em alguns problemas de programação l i n e a r o s dados não serem exatos, torna-se muito
i m -
portante saber como e s t e s dados i r ã o a f e t a r a solução. S e j a o s e
-
guinte problema de programação l i n e a r :min Z = e x
-
..,
EXn
$.Xh
s u j e i t o a :
Considerando-se
xb
como a s v a r i á v e i s b á s i c a s , po- demos transformar ( 2 . 6 . 1 ) no s e g u i n t e problema de programaqão li-near e q u i v a l e n t e :
min Z = cb R-%
-
+
( C-
c b ~ - l ~ ) x-n -n
s u j e i t o a:
Se
xb
6
urna solução Ótima, implica em :i )
xb
= ~ - l b- - -
> 0,
ou s e j a ,é
prima1 v i á v e lii)
2,
-
c b ~ - l ~-
> J!,
ou s e j a ,é
d u a l v i á v e l.
Deve-se n o t a r que a v i a b i l i d a d e do prima1 não depen
-
de do v e t o r c u s t o c-
,
e que a v i a b i l i d a d e do d u a l não depende do v e t o r b-
.
Vamos agora c o n s i d e r a r o s s e g u i n t e s t i p o s de v a r i a - ções dos dados:
a ) O v e t o r b
-
6
a l t e r a d o p a r a b+Ab....
-
Como a condição de v i a b i l i d a - de do d u a l não depende de b,-
a solução o r i g i n a lxb
permanece d u a l v i á v e l . A solução o r i g i n a lxb
s e r á tambêm primal v i á v e lP o r t a n t o , duarnte o s c á l c u l o s ( i t e r a ç õ e s ) , devemos pegar a base o r i g i n a l B a q u a l
é
d u a l v i á v e l e u s a r o ~ é t o d o Dual Simplexpara continuarmos os c ~ l c u l o s .
b) O v e t o r c u s t o c
-
é a l t e r a d o para c.-
+
A( c ~ ,
cn).
A s o l u ~ ã o o r i-
g i n a lcb
permanece prima1 v i á v e l . ~ambém s e r 5 dual v i á v e l se:Se A c b = O
,
a condição ( 2 . 6 . 4 ) reduz-se a :C ) Este t e r c e i r o t i p o de variação de dados
6
o que mais nos i n t e r e s-
s a r á .
Se um novo v e t o r coluna an+l com custo
6
acrescentado,
então a solução ótima o r i g i n a lx,
continuará a s e r ótima s e :No ~ é t o d o do Simplex Revisado, i s t o 6 exatamente a operação de avaliação para determinarmos s e um vetor coluna não b i n á r i o deve
-
r5
s e r introduzido na base.O ~ r i n c í p i o da ~ecomposição de Dari tzig-Wolfe [ 2
1
f o i o que deu i n l c i o a um extensivo trabalho em programaqão materna- t i c a de grande porte. Este procedimento s e torna mais e f i c i e n t e quando aplicado a problemas l i n e a r e s cujos c o e f i c i e n t e s das matri-
d e n t e s s ã o l i g a d o s p o r equações de acoplamentos. E s t e p r o c e s s o o- p e r a a t r a v é s da formação d e um programa p r i n c i p a l com a p e n a s umas poucas l i n h a s a mais do que as equações d e acoplamento do problema o r i g i n a l , mas com muito mais c o l u n a s . E s t e programa
é
r e s o l v i d o sem tabularmos t o d a s e s t a s c o l u n a s a t r a v é s d a g e r a ç ã o d e l a s quando ome
-
t o d o simplex a s n e c e s s i t a ; a t é c n i c aé
denominada " g e r a ç ã o d e c o l u - n a s " . O r e s u l t a d o do a l g o r i t m o envolve i t e r a ç õ e s e n t r e o c o n j u n t o de sub-problemas i n d e p e n d e n t e s c u j a s funç6es o b j e t i v o contêm parame-
t r o s v a r i á v e i s e o problema p r i n c i p a l . O s sub-problemas recebem um c o n j u n t o d e p a r â m e t r o s do programa p r i n c i p a l . E l e s enviam s u a s so- l u ç õ e s a o programa p r i n c i p a l , o q u a l a s combina com a s s o l u q õ e s p r e
-
v i a s de uma maneira Õtima e computa novos p r e ç o s . E s t a s s ã o nova
-
mente e n v i a d a s a o s sub-programas e a s i t e r a ç õ e s prosseguem a t é s e-
r e m aprovadas num t e s t e d e o t i m a l i d a d e .2 . 2 . 2
-
Um Teorema s o b r e combinações ConvexasO desenvolvimento do ~ r i n c l p i o d a ~ e c o m p o s i q ã o d e Dantzig-Wolfe e s t á apoiado p r i n c i p a l m e n t e em duas noqões. A p r i m e i
-
r a6
a u g e r a ç ã o de c o l u n a s " e a segunda6
um teorema o q u a l a f i r m a que um p o n t o p e r t e n c e a um p o l i e d r o convexo fechado e l i m i t a d o s e e somente se puder ser e s c r i t o como combinação convexa dos p o n t o s ex- tremos do poLiedro. E s t a p r o v a r e q u e r o s s e g u i n t e s r e s u l t a d o s a c ê s - c a de c o n j u n t o s convexos, c u j a s p r o v a s podem s e r e n c o n t r a d a s e m [14]:1. S e j a X um c o n j u n t o convexo e y
-
um elemento não p e r t e n c e n t e a2 , Se X
é
um c o n j u n t o convexo compacto, e n t ã o q u a l q u e r h i p e r p l a n o s u p o r t e( 6
um h i p e r p l a n o t a l que t o d o o c o n j u n t o X e s t e j a e m um de s e u s l a d o s e p e l o menos um p o n t o d e X p e r t e n c e a o h i p e r - p l a n o ) de X contém um p o n t o extremo de X.
O teorema que nos i n t e r e s s a
é
o s e g u i n t e :s e j a
x
um c o n j u n t o compacto convexo em IRn; E ( X ) o conjun- t o d e s e u s p o n t o s extremos e C [E (x)] a e n v o l t ó r i a convexa d e E ( X ).
E n t ã o C [E (x)] = E ( X )
.
Prova:
a ) P a r a mostrarmos que X
2
C [E (x)],
escreveremos q u a l q u e r elemento,
de C [ E ( X ) ] comoi
P o r t a n t o , desde que x E X e X
6
convexo,y
E X.
b) P a r a mostrarmos que C [ E ( X ) ]
2
X,
façamos x*-
c X,
mas x*-
6
C[E (x)].
E n t ã o x*-
pode s e r s e p a r a d o de C[E ( X )]
pm um hi-O
Fapamos ao = m a x { c ' x / x
- - -
E X l . O número a e x i s t e , umavez que X
é
compacto. ~ n t ã o ( $ , a 0 ) d e f i n e um h i p e r p l a n o supor- t e de X,
v i s t o queO
c ' x < a
- _ -
f y x E x (2.10)i
Como e s t e deve c o n t e r um p o n t o extremo d e X
,
x,
e n t ã oi O
C ' X = a
Mas i s t o c o n t r a d i z o f a t o de que t o d o s o s p o n t o s d e
C
[E (x)]( d e s s e modo t o d o s o s p o n t o s extremos d e X ) s a t i s f a z e m ( 2 . 9 ) , desde
O TEOREMA 1 pode ser r e e s c r i t o numa forma m a i s usá
v e l p a r a o s pr6ximos desenvolvimentos, usando-se ( 2 . 7 ) e e s p e c i a l
-
mente o c a s o onde X tem um número f i n i t o de p o n t o s extremos.S e j a X = {x/@=
-
?,E
2 01,..
não v a z i o e l i m i t a d o , ei
s e j a x ( i = 2r ) s e u s p o n t o s extremos. ~ n t ã o , q u a l q u e r e l e
-
mento x E X pode ser a s s i m e s c r i t o.. ..
(2.10.1)do é como s e s e g u e .
TEOREMA 3 :
S e j a X =
{x/%
= b-
,
x--,..
z O ) não v a z i o . ~ n t ã o , u m p o n t o x-
E X se e somente s e e l e puder ser e s c r i t o como combinaçãoconvexa dos p o n t o s extremos d e X mais uma combinação l i n e a r não n e g a t i v a dos r a i o s extremos ( s o l u ç õ e s homogêneas) de X
,
i s t o6 ,
onde p o n t o extremo i dependendo de
x
s e r um{
}
de X. r a i o extremo 2 . 2 . 3-
~ r i n c i p i o d a ~ e c o m p o s i ç ã o de Dantzig-Wolfe Em c ~ l c u l o d e m a t r i z e sé
comum p a r t i c i o n a r m o s uma m a t r i z grande em d i v e r s o s b l o c o s e e n t ã o e f e t u a r m o s a l g u n s c ~ l c u l o s em cada um dos b l o c o s . E s t e enfoque é e s p e c i a l m e n t e v a n t a j o s o se algumas d a s s u b m a t r i z e s t i v e r e m uma e s t r u t u r a e s p e c i a l , e x e m p l i f i-
cando, i d e n t i d a d e ou z e r o.
I s t o também6
verdade em programação l i n e a r quando a m a t r i z A tem uma e s t r u t u r a e s p e c i a l . Deve-se en- f a t i z a r o f a t o d e que o ~ r i n c i p i o d a ~ e c o m p o s i ç ã o , que será d e s c r i - t o a s e g u i r , p o s s a s e r usado p a r a q u a l q u e r m a t r i z A,
m a s o m é r i t odeste enfoque
é
mais evidentemente revelado quando a matriz A tem uma estrutura especial.Consideremos o programa linear min Z = C
-
x-
sujeito a :
Acontece frequentemente o fato da matriz A ter a
estrutura especial mostrada na Figura 2.1
,
onde os coeficientes quenão pertençam a qualquer um dos blocos são zero
.
Um programa l i n e a r de uma grande firma pode conter e s t a e s t r u t u r a . Cada agência da firma
é
apresentada como um progra-
ma l i n e a r de s i ou s e j a , Aixi
= b -i,
e a rede da f i r - ma tem uma matriz de r e s t r i ç õ e s (equações de acoplamento) envolven- do todas as suas agências. Algumas das matrizes Ai podem s e r va-+
z i a s
,
é o caso em que a firma tem uma f i l i a l onde seu pessoal e não produtivo r mas e l eé
computado na matriz de r e s t r i ç õ e s t o t a i sda firma.
Note-se que o vetor b em ( 2 . 1 1 ) também p a r t i c i o
-
nado em p + l vetores Qo,hl, b2,...,
%
.
Da mesma forma, o ve-
t o r c-
é particionado em p vetores l i n h agl,
c 2 , . . . , c-P
.
Portan t o , podemos reescrever ( 2 . 1 1 ) da seguinte forma :P
-
min 2 =
1
c j
g j
j = l s u j e i t o a :
Cada um dos subconjuntos de r e s t r i ç õ e s
=
b j
d e f i n e u m p o l i t o p o c o n v e x o S ( S j = { x j / A
* x
= b,
x . > O l ) . Se j-
j - j - j-
J--
-
jam
xij
OS pontos extremos do poiitopo convexo, então, p e l o TEORE-
MA 2 , qualquer solução x
-
pode s e r e s c r i t a como sendocom
' i
onde assumimos ter o politopo S
,
s vértices e ser limitado. Asj j
-
sumiremos agora que conhecemos todos
zij
(pontos extremos).
Sejam~ n t ã o , de (2.12) e (2.13) I temos :
sujeito a :
com ' i
Se os hij desconhecidos de (2.15) são determina
-
dos, então podemos determinarx
por (2.13) I supondo -se que to--
jte ser disposto como na Figura 2.2
.
Figura 2.2
A transformacão de (2.12) para (2.15) provoca uma reduqão no nÚ
-
P
mero de linhas de mo
+
1
mj para mo+
p linhas. Por outro j=1lado, há um grande acréscimo do número de variáveis, passando de
P
P
1
j. para sj.
Felizmente nós não necessitamos traba- j=l j =ilhar com todas as variáveis
"
j
e
também não precisamos conhecer todos os xij.
Desde que a matriz da Figura 2.2 tenha
m
O +p li- nhas,
mo+p vetores serão necessários para formar uma solução bá- sica viável. Assumiremos que temos uma soluqão básica vi&el dep a r t i d a e usaremos o método do simplex revisado. I s t o i r á g e r a r pxe
-
ÇOS para cada uma das l i n h a s . S e j a o v e t o r preço
,
),
onden
..,
-
é
r e f e r e n t e ao v e t o r mo e ii.-.
é
r e f e r e n t e ao v e t o r p.
Note-seque [ ; i j , $ j ]
6
um t f p i c o v e t o r coluna na Figura 2 . 2.
D e acordo com o método do simplex, um v e t o r que não e s t á na base deve s e r co- locado na base se seus c u s t o s r e l a t i v o s forem n e g a t i v o s , i s t o 6 , s eS e j a :
Dentre todos o s v e t o r e s que não e s t ã o na base. alguns e s t ã o em S I , o u t m s e m S2
,
e assim por d i a n t e . Se o mhimo dos c u s t o s r e l a t i --
vos dos v e t o r e s em cada S
é
não negativo, i s t oé,
min c > O,
j i i j
-
e n t ã o a solução a t u a l
é
Ótima. P o r t a n t o , devemos p e s q u i s a r em cadaS p e l o v e t o r com o mfnimo c u s t o r e l a t i v o . Desde que em um dado j
-
S
n
é o mesmo para todos o s v e t o r e s , nós resolvemosj r j min i ( c i j
-
n
-
L . . ) -1.1 = m i n i(cj
-
-
nr.,.)zij 3 s u j e i t o a : X E S -i j j(Escolhemos o menor v é r t i c e do p o l i t o p o convexo
I
C
um programa linear
min (c -j
-
-
L.) Jx
-jsujeito a :
Desde que a função objetivo em (2.16)
é
linear, o rnhimo da função objetivo será sempreum
vértice [6],
istoé,
xij
(onde
x
6
a solução Ótima de (2.16) ),
então o vètor[ei
,ej]-i j
deve ser introduzido na base através do processamento usual do sim- plex. Uma coisa deve ser bem enfatizada,
é
com relação ao fato de que quando introduzimos o vetor[iij
]
na base, nós devemos mil-
tiplicá-10 por B atual antes de realizarmos a operação de pivo- teamento. Porque, quando (ll-
,
E)
-
foi obtido em (2.15),
a matriz-1
em (2.15) havia sido multiplicada por B Houvesse o vetor
[ei
j,gj]
pertencido a (2.15),
ele deveria ser multiplicado à es-
querda por B-',
o mesmo ocorrendo com os demais vetores de (2.15). A operação de multiplicar-se um vetor coluna do quadro inicial pelo atual B-'6
denominada "UPDATING".
Se depois de resolvermos todos os p programas line- ares
Um exemplo completo de resoluqão de
um
problema des-
te tipo encontra-se em[
16J
.
2.2.4
-
UpdatingQualquer conjunto de equações lineares simultâneas tem uma representação conveniente usando-se notação matricial.0 sis
-
temapode ser aceito como :
Ax = b
, . 9
onde
Se A
6
quadrada (m=n) e não singular, o vetor solução6
dado por:Existe um simples esquema de cálculo que pode ser aplicado a qual- quer sistema não singular para obtenção do vetor solução e/ou
a
ma-t r i z inversa. Este procedimento, o ~ é t o d o da ~ l i m i n a ç ã o Completa de Gauss e Jordan
,
tem um número f i n i t o de i t e r a ç õ e s . Em exatamen-
t e m (=n) i t e r a ç õ e s , o procedimento multiplica o sistema ( 2 . 1 6 . 1 )por A -1 e obtém x = A -1 b
-
.
S e f o r necess&io, A pode s e r dg senvolvido ao mesmo tempo. Ilustraremos o método com um exemplo.Consideremos o seguinte conjunto :
Seja
a matriz dos c o e f i c i e n t e s . Pode-se v e r i f i c a r que A
é
não singu- l a r ,I A /
= 6.
Podemos reescrever ( 2 . 1 6 . 2 ) da seguinte forma:podemos reescrever (2.16.2) como :
Desde que A seja não singular, o conjunto de vetores al,
a2
e a -3 são linearmente independentes e consequentemente formam uma base no espaço tri-dimensional.Para provarmos que o conjunto de vetores 51,32,...
- - I
en
de uma matriz não singular A formam um conjunto linear-
*
mente independente, iremos primeiramente assumir que o conjunto e linearmente dependente. Portanto, para algum conjunto de a ,j=ltw
j
. .
n devemos ter :com pelo menos um u
#
O.
Podemos então resolver para algum ve-i j
tor a
-
,
por exemploal
,
em funqão dos outros vetores para ob- jtermos :
onde
Bj
= -aj/al.
Substituimos o vetoral
por esta expressão na matriz A.
~ n t ã o , adicionando-se sucessivamente a primeira co- luna - 6 . a,
para j=2,3,...,
n,
nÕs reduzimos a primeira colunaJ -j
ao vetor zero. Pela propriedade dos determinantes, a adiqão desses vetores não altera o valor do determinante, e como agora uma das co
-
lunasé
igual a zero, o valor do determinante6
zero. Entretanto,
isto contradiz a suposição de que Aé
uma matriz não singular.Por-
t a n t o , n o s s a h i p ó t e s e d e dependência l i n e a r f o i c o n t e x t a d a e conse-
quentemente o c o n j u n t o de v e t o r e s de A é l i n e a r m e n t e i n d e p e n d e n t e . Provado q u e o s v e t o r e s
al,
a2
e a s ã o l i n e a r-
-3
mente i n d e p e n d e n t e s , p a r a resolvermos ( 2 . 1 6 . 2 ) , nós precisamos en
-
c o n t r a r a Única combinação l i n e a r (ou s e j a , o s Únicos v a l o r e s xl,
x2 e x3) de a l ,
-
a2
ea3
a q u a l6
i g u a l a o v e t o rao
.
Devemos primeiramente o b t e r o v e t o r s o l u ç ã o p a r a (2.16.2).
O processo de eliminaqão c a p l e t a elimina s u c e s s i v a m e n t e a p r i m e i r a , a segunda, a t e r c e i r a ,
e t c . . .
.,
v a r i á v e i s d e t o d a s as equações com e x c e s s ã o da p r i m e i r a , d a segunda, da t e r c e i r a , e t c . . .,
r e s p e c t i v a m e n t e . P a r a ( 2 . 1 6 . 2 ) , o p r i m e i r o p a s s o é eliminarmos a p r i m e i r a v a r i á v e l de t o d a s a s equa-
ç õ e s , e x c e t o da p r i m e i r a . Como segundo p a s s o , eliminaremos a segun-
d a v a r i á v e l de t o d a s a s equações, com e x c e s s ã o d a segunda e no ter- c e i r o p a s s o eliminamos a t e r c e i r a v a r i á v e l de t o d a s a s equaçÕes,come x c e s s ã o da t e r c e i r a . Devemos também f a z e r com que a s v a r i á v e i s que
permaneçam tenham c o e f i c i e n t e u n i t á r i o .
Com estes
três
p a s s o , reduzimos o s i s t e m a (2.16.2)A s o p e r a ç õ e s do procedimento d e e l i m i n a ç ã o completa transformou a m a t r i z dos c o e f i c i e n t e s
Com .isto nós notamos que a transformação total causada pelo proces
-
so de eliminação completa6
equivalente a multiplicarmos o sistema-1 (2.16.1) por A
.
na matriz identidadeIsto
é
frequentemente necessário, não somente para resolvermosum
sistema de equações lineares simultâneas, mas também para obtermos o inverso da matriz dos coeficientes. Isto ocorre,^^locando-se uma matriz identidade (mxm)
ã
direita da matriz original dos coeficientes e aplicando-se as t~nsformações de eliminação a toda a matriz. A matriz inversa será gerada no lugar da matriz iden-
tidade. Se escrevermos a matriz particionada-
I3
-
e aplicarmos as transformações de eliminação completa, teremos: 1
o
o
o
1o
Oo
1Ilustraremos este procedimento com o exemplo anterior. A matriz particionada
6
:OS sucessivos passos são: Passo 1 :
Passo 2 :
Passo
NÕS e n t ã o temos:
A Única combinação l i n e a r dos v e t o r e s
?I,
a2
ea3
que6
i g u a l a a pode ser determinada como sendoDesde que o s v e t o r e s
el
,
a2
e a - 3 formam uma base no espaço tri- dimensional, qualquer o u t r o v e t o r n e s t e espaço pode também s e r ex-
p r e s s o como Ünica combinação l i n e a r d e s t e s t r é s v e t o r e s . Para quaJ quer v e t o ra4
,
podemos determinar yl, y 2 e y j t a l que :OU
A x = $4 ( 2 . 1 6 . 4 )
Resolvendo-se para
Y
,
devemos m u l t i p l i c a r ( 2 . 1 6 . 4 ) por A-', ob-
tendoPor exemplo, s e j a :
y
é
dado por-
a
Aqui
%
6
i g u a la
combinação l i n e a r de somente d o i s dos t r ê s v e t o-
r e s b á s i c o s .O que denominaremos de " u p d a t i n g "
6
exatamente e s t a " a t u a l i z a ç ã o " do v e t o r que s e r á e x p r e s s o e m função dos v e t o r e s d a-1 base. No exemplo acima, o "updating"
6
a m u l t i p l i c a ç ã o de A p o r54
,
ou s e j a , e x p r e s s a r oa4
e m função da baseal,
a2
e a - 3 ouentão,dando-se um o u t r o enfoque,
6
a transformação dea4
e* $!2 . 3
-
V i a b i l i d a d e e ~ o m a t ó r i o de Fluxos 2.3.1-
~ o m a t 6 r i o de FluxosNesta s e ç ã o , o problema que iremos abordar
6
r e f e-
r e n t e a maximizar a soma de f l u x o s de d i v e r s a s comodidades;para ca- d a uma d a s comodidades e x i s t e m d i v e r s a s c a d e i a s unindo a f o n t e ao r e c e p t o r . O o b j e t i v o d e s t e t i p o de problema6
s e l e c i o n a r d e t e r m i-
nadas c a d e i a s p a r a cada comodidade, de t a l forma que a capacidade dos a r c o s não s e j a v i o l a d a e que s e j a máxima a soma dos f l u x o s em t o d a s a s c a d e i a s s e l e c i o n a d a s .Façamos a h i p ó t e s e de que e x i s t e m m a r c o s na r e d e e que a s capacidades dos a r c o s sejam bi
,
(i=l,.
.
.
,m).
Q u a l q u e r uma d a s c a d e i a s d a r e d e pode s e r r e p r e s e n - t a d a p o r um v e t o r de m componentes, com o v a l o r 1 na componente
s e o arco f o r usado na cadeia e O na componente caso o a r c o não s e j a usado na cadeia
.
Podemos então d e f i n i r uma matriz de arcos i n-
c i d e n t e s A = [ai]
,
da seguinte forma:a =
{'
s e o arco i pertence à cadeia j
,
i jO nos demais casos.
Sendo x a quantidade de fluxo na cadeia j
,
en-j
t ã o o problema de maximizar os fluxos das diverdas comodidades pode assim ser expresso:
max
1
x j j s u j e i t o a :(si são a s v a r i á v e i s de f o l g a ) .
E
muito importante notarmos que n e s t e t i p o de for- mulação, a matriz A tem uma quantidade muito grande de colunas,
p o i s cada cadeia p o s s l v e l para cada comodidade o r i g i n a uma coluna.
Felizmente, para resolvermos ( 2 . 1 7 ) , necessitamos somente de uma ma-
t r i z (m+l)x(m+l),
conforme teremos oportunidade de mostrar no de-
c o r r e r d e s t a seção.pecto de multicomodidade não aparece exBlicitamente em (2.17), mas e s t á contido na e s t r u t u r a da m a t r i z
A = [ a i j ]
.
No caso de consi- derarmos apenas cadeias de uma Única comodidade na matriz de arcos i n c i d e n t e s A,
então (2.17) s e r á simplesmente convertido em um pro-
blema de f l u x o máximo.Suponhamos que conhecemos a s m colunas que formam a base de p a r t i d a d e ( 2 . 1 7 ) ; podemos r e s o l v e r (2.17) e determinar o v e t o r preço II
-
= (",",...,L)
onde cadani
corresponde a uma l i n h a e s p e c í f i c a . Devemos n o t a r que o c u s t o r e l a t i v o de todas a s-
colunas não b á s i c a s
eij
é
dado por c = c-
IIa.
No caso dej j --j
-
-
c < O a a t u a l base é 6tima e s e c > 0 , e n t ã o e s t a coluna deve
j
-
j-
-
r 6 s e r i n t r o d u z i d a na base. O problema de determinarmos c
é
re-j
lativamente f á c i l ; se i n t e r p r e t a r m o s
ni
como o comprimento dos a r-
tos, então na
--
j6
o comprimento da cadeia a q u a lê
representada pe-
l a coluna a-
j.
Observemos que c = +1 (método do simplex revisado)
3
para todas a s colunas, e s e o método simplex f o r usado, e n t ã o e não (-II)
-
aparecerá na l i n h a de c u s t o das v a r i ã v e i s de f o l g a pelo fa-
t o de termos usado-cb
e -c -n no quadro de p a r t i d a . Comi i s t o f i c a mostrado, p a r t e do f a t o de usarmos somente uma m a t r i z de tama- nho ( m + l ) x ( m + l ),
ou s e j a , a p a r t e r e f e r e n t e a ( m + l ) l i n h a s , ondem + l
-
êsima l i n h a6
o v e t o r preço (comprimento).
~ n t r e t a n t o , n Ó s não necessitamos l i s t a r todas a s colunas representanlio cadeias unin-
do a s d i f e r e n t e s f o n t e s aos d i f e r e n t e s r e c e p t o r e s . A cada i t e r a-
ção de resolução, n6s simplesmente usamos o mstodo do simplex r e v i - sado e pegamos uma matriz de tamanho (m+l)x(m+l).
A p a r t i r de en-
t ã o
,
usamos o procedimento do método simplex revisado p a r a a s ope- rações de pivoteamento, i s t oé,
s e algumiii f o r negativo, então es
-
colhemos a coluna r e f e r e n t e a e l e como coluna pivÔ. Se todos os iii
são não negativos, nós o s consideramos como comprimento dos arcos e encontramos a menor cadeia ligando a f o n t e ao receptor de cada co- modidade. Se a
t o 1 ou maior
menor cadeia de todas as comodidades
é
de comprimen-
< O ) , então a a t u a l base
é
Ótima. ( c j-
Uma observação muito importante
é
o f a t o de que to- das as colunas que forem e n t r a r na base fazerem o "updating" an- t e s de serem acrescentadas ao quadro, conforme mostrado no ~ r i n c i-
pio da ~ecomposiçaÕ de Dantiig-Wolfe ( 2 . 2 . 3 ).
2 . 3 . 2
-
Viabilidade de FluxosNeste t i p o de problema, i s t o
é,
problema de v i a b i l i-
dade de multicomodidade de fluxos, sabemos a p r i o r i o v a l o r do f l u - xo de cada uma das comodidades e nosso o b j e t i v oé
saber Se todos e s-
s e s valores de fluxo s e r ã o s a t i s f e i t o s em uma dada rede, de t a l f o r
-
ma que a capacidade de nenhum dos arcos da rede dada, s e j a excedido. Usaremos a rede na qual estamos desejando saber s e todos os r e q u i s i t o s de fluxo serão s a t i s f e i t o s sem excedermos a ca- pacidade de seus arcos da seguinte forma: primeiramente, montaremos e s t a rede com todos os seus nós e a r c o s , mas retiramos a s r e t r i ç õ e s de capacidade. Numa segunda f a s e , para cada r e q u i s i t o de f l u x o , de-
terminamos uma cadeia da fonte ao receptor d e s t a comodidade, i s t o sempre sendo f e i t o na rede da primeira f a s e . Com i s t o , nós assegu-ramos a cada arco da cadeia uma capacidade i g u a l quantidade de f
-
luxo requerida. Sobrepondo-se todas e s t a s cadeias para todos os r e
-
q u i s i t o s de fluxo, nós obrigatoriamente teremos uma rede vi&elIpois fomos s a t i s f a z e n d o gradativamente o s requiisitos de fluxo de cada um dos arcos. Portanto, existem milhares d e s t a s redes v i á v e i s que i-rão s a t i s f a z e r aos r e q u i s i t o s de fluxo. Todas e s t a s v i á v e i s têm o mesmo número de arcos ligando os mesmos pares de nós da rede o r i g i - n a l , mas todas e s t a s redes t e r ã o a s capacidades dos arcos d i f e r e n
-
t e s . O mesmo n h e r o de arcos em todas a s redes o c o r r e r ã e m v i r t u d e de mantermos na rede todos os arcos, i n c l u s i v e os de capacidade ze-ro ( i s t o
é
necessãrio para que possamos superpor todas a s cadeias com todos os r e q u i s i t o s de fluxo para determinarmos a rede v i á v e l ) .~ r o p o s i ç ã o 1:
Qualquer combinação convexa l i n e a r d e s t a s redes vi- á v e i s também i r ã o s a t i s f a z e r o s r e q u i s i t o s de fluxo da rede o r i g i
-
na&.Prova:
(i) Seja uma rede G = [ N , A , ~
]
com m a r c o s .(ii)
$
E IRmé
a quantidade de fluxo que desejamos passar a-t r a v é s da rede G
?
=[ p l t
% 2 ~ * 0 * fPm]
-
(iii) b1
-
c IRm e b2."
E lRm são vetores que definem a s capaci-
dades de duas quaisquer das i n h e r a s ~ e d e s v i á v e i s obtidas pelo prr, cesso acima. Estes dois vetores pe&encem a
IRm
p o i s fixamos que todas a s redes v i á v e i s deveriam t e r o mesmo número de arcos da re-1 1 1 2 2
b1 = [ b l I b2 r . . . r bm] 1
b2
= [ b l r b 2 t * - * -De (ii) e (iii)
'V'A E [ 0 ~ 1 ] temos :
Descreveremos a g o r a um meio de d e t e r m i n a r s e a r e d e o r i g i n a l contém uma r e d e q u e seja combinação convexa l i n e a r d e s t a s r e d e s v i á v e i s :
S e j a [ a .
.
]
uma m a t r i z de m l i n h a s onde cada li- 11nka c o r r e s p o n d e a um a r c o d a r e d e dada. A c o l u n a j d a m a t r i z r e - p r e s e n t a uma r e d e , a q u a l t e m a i j como c a p a c i d a d e do p r i m e i r o a r - c o ! a
2 j como c a p a c i d a d e do segundo a r c o e a s s i m p o r d i a n t e . En-
t ã o , t o d a s as r e d e s v i á v e i s mencionadas a n t e r i o r m e n t e podem ser r e - p r e s e n t a d a s p o r c o l u n a s d a m a t r i z . Se a r e d e o r i g i n a l r e p r e s e n t a d a p o r
[
bl,b2,..
.
!bm]
contém a r e d e [ b i , h;,.
.
.
,bm] com b i-
e bi( i2 . . m ) e
[
b i , b i ,.
. .
,b&]b
uma combinação convexa l i n e a r d a s c o l u n a s d e[
c o e f i c i e n t e s d a combinação convexa d a c o l u n a j
,
xj , e n t ã o o p r o b l e-
m a d e v i a b i l i d a d e pode s e r formulado comomax B
s u j e i t o a :
S e o v a l o r Ótimo d e 0
6
1,
e n t ã o a r e d e o r i g i-
n a 1 é v i á v e l .F e l i z m e n t e não n e c e s s i t a m o s e s c r e v e r a enorme guan- t i d a d e d e c o l u n a s d e [aij]
,
(método d a decomposição de Dantzig-Wal-
f e ) . Tendo-se uma b a s e i n i c i a l de (2.18) com m c o l u n a s , podemos a t r a v é s do método do simplex d e t e r m i n a r o v e t o r ii.-
Com e s t e v e t o rn
,
podemos a t r a v é s do método do simplex r e v i s a d o , i r g e r a n d o a s co-
-
Zunas que nos d a r ã o aumento n a função o b j e t i v o , gerando-se p r i m e i r a
-
mente a q u e l a que c a u s a r o maior acréscimo e assim p o r d i a n t e . Desde-
-
que o c u s t o r e l a t i v o c d a c o l u n a jé
dado p o r c = c-
na j j j --j L e cé
1 p a r a t o d a s a s c o l u n a s , e n t ã o o que queremos e n c o n t r a r e j-
o minimo de
--
na j Se p a r a o m h i m o d e iía --j t i v e r m o s c j j =C -iia.<O,--I-
e n t ã o a s o l u ç ã o a t u a l
é
Ótima.Com o b j e t i v o computacional, devemos p e g a r uma matriz ( m + l ) x ( m + l ) e devemos i n t e r p r e t a r iii como o c u s t o d e c o n s t r u ç ã o de um a r c o i d e c a p a c i d a d e u n i t á r i a . Quando temos no q u a d r o t o -
dos os
ni
-
> 0, devemos tentar introduzir na base a coluna que re-
presenta a mais barata das redes que capaz de transportar simulta-
neamente os requisitos de fluxo.Se O
-
> 1, então o conjunto de requisitos de fluxoSe O < 1 e na --j
-
> 1 para todo j,
então o con-
junto de requisitos de fluxosé
inviável para a rede existente.2.3.3
-
Um Exemplo ~umérico Compiheto sobre Viabilidade de FluxosO objetivo deste exemplo
6
dirimir todas as dúvidas que por ventura ainda possam existir a respeito de Viabilidade de Fluxos; portanto, o exemplo ser5 apresentado de uma forma bastante didática, incluindo-se todas as passagens.Seja a rede mostrada na Figura 2.3 referente 5s capacidades dos arcos, ou seja, os números sobre os arcos são suas capacidades e na Figura 2.4 apresentamos os requisitos de fluxo de quatro comodidades. Estes requisitos têm seus valores marcados so- bre os arcos. O nosso objetivo
é
determinar se os requisitos de fluxo da rede apresentada na Figura 2.4 são viáveis ou não na rede cujas capacidades são apresentadas na Figura 2. 3.s u j e i t o a :
Figura 2 . 3
Capacidade dos arcos
Figura 2 . 4
Requisitos de f l u x o
Montapemos agora um quadro no qual o v a l o r de O
é
zero (0=0) e a s capacidades da rede s ã o expressas em função das va
-
r i á v e i s de f o l g a e o v e t o r b