Você está na página 1de 19

CAPTULO 6

Problemas de Transportes e de Afectao

1. Problema de Transporte
Este problema, que um dos particulares de PL, consiste em determinar a forma mais econmica de enviar um bem disponvel, em quantidades limitadas, em determinados locais para outros locais onde necessrio. Como qualquer problemas de PL, tambm este pode ser resolvido pelo mtodo Simplex. Porm, a sua estrutura prpria permitiu a utilizao de mtodos que, embora derivados do Simplex, so mais eficientes. Existem muitos problemas de PL, que podem ser formulados como de transporte, apesar de, aparentemente, no existir qualquer relao com este tipo de problemas. O problema clssico de transporte surge com a necessidade de programar a distribuio ptima de um produto homogneo que : a) encontra-se disponvel em m origens nas quantidades fixas ai > 0 (oferta), com i = 1, , m; b) necessrio em n destinos nas quantidades fixas bj > 0 (procura), com j = 1, 2, , n; c) deve ser enviado directamente para os destinos, esgotando as disponibilidades em cada origem e satisfazendo as necessidades em cada destino (a procura total iguala a oferta total); e tendo por objectivo a minimizao do custo total envolvido no programa de distribuio desse produto, em que se supe que os custos unitrios de transporte da cada origem i para cada destino j, cij, so proporcionais s quantidades transportadas, xij.

70

Problema de Transporte

Figura 1. Rede do Problema de Transporte. A Figura 1 ilustra o problema de transporte sob a forma de uma rede com m origens e n destinos representados por ns; os arcos que ligam as origens aos destinos representam os percursos atravs dos quais o produto pode ser transportado. Uma outra forma de representar este problema, consiste na utilizao de um quadro (ver Quadro 1), em que,
cada linha corresponde a uma origem, cada coluna corresponde a um destino, a ltima coluna contm a informao relativa s quantidades disponveis nas origens, a ltima linha contm a informao respeitante a quantidades necessrias nos destinos, em cada quadrcula (i, j) encontra-se a quantidade a transportar da origem i para o destino j, xij,

e o correspondente custo unitrio de transporte, cij. Para qualquer plano de transporte admissvel,

x ij = a i
j

a soma em linha dos xij iguala a quantidade de ai;

x ij = b j
i

a soma em coluna dos xij iguala a quantidade de bj.

O custo de transporte associado a cada percurso (i, j) dado por cij xij, pelo que o custo total do plano de transporte dado por

c ij x ij .
i j

Problemas de Transportes e de Afectao

Problema de Transporte DESTINOS 1 O R I G E N S 1 2 ... m Procura 2 ... n Oferta

71

x11 x21 ... xm1


b1

c11 c21

x12 x22 ... xm2


b2

c12 c22

... ...

x1n x2n ...

c1n c2n

a1 a2 ... am

cm1

cm2

...
...

xmn
bn

cmn

a i = bj

Quadro 1. Quadro do Problema de Transporte.

1.1. Formalizao do Problema de Transporte


Minimizar Z = c ij x ij
i =1 j =1 m n

Sujeito a

x ij = a i
j =1 m

(i = 1, 2, . . ., m)

restries de oferta

i =1

x ij = b j

(j = 1, 2, . . ., n)

restries de procura

xij 0

(i = 1, 2, . . ., m; j = 1, 2, . . ., n)

O problema clssico apresenta uma estrutura especial, segundo a disposio das restries : x11 + . . . + x1n x21 + . . . + x2n . . . xm1 + . . . + xmn x11 . . . x1n + x21 . . . + x2n . . . . . . . . . . . . . . . + xm1 . . . + xmn = a1 = a2 . . . = am = b1 . . . = bn

A estrutura especial da matriz dos coeficientes caracteriza-se pelo facto de ser constituda por
uns (1) e zeros (0), e por cada varivel xij ter como coeficientes significativos apenas 2 elementos

unidade, um na linha associada origem i e outro na linha relativa ao destino j.

Problemas de Transportes e de Afectao

72 Exemplo :

Problema de Transporte

Certa empresa possui 2 fbricas a produzirem determinado produto, a ser depois transportado para 3 centros de distribuio. As fbricas 1 e 2 produzem 100 e 50 carregamentos por ms, respectivamente. Os centros 1, 2 e 3 necessitam de receber 80, 30 e 40 carregamentos por ms, respectivamente. Sabendo que os custos de transporte, por carregamento, so os que constam no quadro :
Centro 1 Centro 2 Centro 3

Fbrica 1 Fbrica 2

7 3

4 1

3 2

a formalizao do problema (minimizao do custo total de transporte) vem : Minimizar Sujeito a Z= 7 x11 + 4 x12 + 3 x13 + 3 x21 + x11 + x12 + x13 x21 + x11 x12 x13 + x21 + x22 + x22 + x22 + 2 x23 = 100 x23 = = = x23 = 50 80 30 40

x11 , x12 , x13 , x21 , x22 , x23 0

1.2. Alguns resultados


1) O problema de transporte tem sempre soluo ptima (finita). 2) Qualquer SBA do problema tem no mximo (m + n 1) variveis positivas. 3) A matriz da base de qualquer SBA do problema triangular. 4) Se ai e bj, com i = 1, 2, , m e j = 1, 2, , n, so inteiros, ento qualquer SBA tem apenas valores

inteiros.

1.3. Resoluo do problema de transporte


A resoluo de um problema de transportes envolve, tal como o problema de PL, os seguintes passos :
Passo 1. Obteno de uma SBA inicial. Passo 2. Teste de optimalidade : se a SBA em presena satisfaz o critrio do ptimo, o processo

termina; caso contrrio, continuar.


Passo 3. Melhoria da soluo : clculo de nova SBA atravs da introduo na base de uma VNB em

substituio de uma VB. Voltar ao Passo 2.

Problemas de Transportes e de Afectao

Problema de Transporte

73

1.4. Obteno de uma SBA inicial


Considere-se o problema definido atravs do Quadro 1. De uma maneira geral, os mtodos que se apresentam para a obteno de uma SBA inicial, apenas difere no critrio de escolha da varivel a considerar como bsica nos sucessivos quadros :
escolher a primeira varivel bsica, de acordo com o critrio utilizado : xpq , atribuir a xpq o maior valor possvel : xpq = min { ap, bq } , subtrair a ai e bj o valor de xpq.

Este processo repete-se at se anularem todas as disponibilidades e todos os requerimentos.


1.4.1. Mtodo do Canto Noroeste

Este mtodo fcil de aplicar, mas tem um inconveniente : no considera os custos de transporte. Aqui, a varivel escolhida como bsica , em cada quadro, a que se encontra situada no canto superior esquerdo (canto Noroeste). Portanto, as VB escolhidas so as seguintes :
x11 : no primeiro quadro, x12 ou x21 : no segundo quadro, consoante tenha sido traada a coluna 1 ou a linha 1, e assim sucessivamente, at terem sido traadas todas as linhas e todas as colunas.

Exemplo : retome-se o exemplo anterior. 1 1 2 Procura 2 3 Oferta

x11 x21
80

7 3

x12 x22
30

4 1

x13 x23
40

3 2

100 50 150

Primeira VB : x11 = min { 100, 80 } = 80, (100 = oferta da origem 1; 80 = procura no destino 1). O destino 1 v satisfeita a procura respectiva. Traa-se a coluna 1 e ficam disponveis 100 80 = 20 unidades na origem 1. Tem-se ento o novo quadro :
80

100 50

20

80 30 40 Segunda VB : x12 = min { 20, 30 } = 20. A origem 1 fica esgotada. Traa-se a linha 1 e fica por satisfazer 30 20 = 10 unidades no destino 2. O quadro fica ento :
80 20

100 50 40

20

80

30 10

Problemas de Transportes e de Afectao

74

Problema de Transporte

Terceira VB : x22 = min { 10, 50 } = 10. O destino 2 v satisfeita a procura respectiva. Traa-se a coluna 2 e fica disponvel 50 10 = 40 unidades na origem 2. O quadro fica ento :
80 20 10

100 50

20 40

30 40 10 Quarta VB : x23 que nica (igualdade entre oferta e procura. O quadro fica ento :
80 20 10 40

80

100 50 40

20 40

80 A SBA obtida :

30 10

x11 = 80, x12 = 20, x22 = 10, x23 = 40 variveis bsicas (clulas preenchidas) x13 = 0, x21 = 0 variveis no bsicas (clulas vazias) a que corresponde o valor da FO, z = 7 80 + 4 20 + 1 10 + 2 40 = 730. Esta soluo que tem (m + n 1) = (2 + 3 1) = 4 variveis bsicas, apresentada em forma tabular de acordo com o quadro seguinte :
80

7 3
80

20 10 30

4 1
40 40

3 2

100 50

1.4.2. Mtodo do Custo Mnimo

Este mtodo, ao invs do anterior, tem em considerao a matriz dos custos de transporte, pelo que, em princpio, determina solues iniciais mais prximas da soluo ptima. Neste caso, a escolha da varivel a tomar como bsica, recai sobre aquela de menor custo em cada quadro (em caso de empate, a escolha arbitrria).
Exemplo : Retome-se o exemplo anterior.

Primeira VB : o menor dos custos c22, pelo que x22 = min { 50, 30 } = 30. O destino 2 fica totalmente satisfeito, traa-se a coluna 2, ficando disponveis 50 30 = 20 unidades na origem 2. 7 3
30

4 1

3 2

100 50 20

80 30 40 Segunda VB : o menor dos custos c23, pelo que x23 = min { 20, 40 } = 20. A origem 2 fica esgotada, traa-se a linha 2, ficando por satisfazer 40 20 = 20 unidades no destino 3.
Problemas de Transportes e de Afectao

Problema de Transporte

75

7 3 80
30

4 1 30
20

3 2

100 50 20

40 20 Terceira VB : o menor dos custos c13, pelo que x13 = min { 20, 100 } = 20. O destino 2 fica totalmente satisfeito, traa-se a coluna 3, ficando disponveis 100 20 = 80 unidades na origem 1. 7 3 80
30

4 1 30

20 20

3 2

100 50

80 20

40 20 Resta c11, pelo que x11 = min { 80, 80 } = 80 : a oferta disponvel iguala a procura por satisfazer.
80

7 3 80
30

4 1 30

20 20

3 2 40 20

100 50

80 20

A SBA obtida : x11 = 80, x13 = 20, x22 = 30, x23 = 20 variveis bsicas (clulas preenchidas) x21 = 0, x12 = 0 variveis no bsicas (clulas vazias) a que corresponde o valor da FO, z = 7 80 + 3 20 + 1 30 + 2 20 = 690 (melhor que no Canto Noroeste)

Esta soluo apresentada em forma tabular de acordo com o quadro seguinte :


80

7 3
80 30 30

4 1

20 20 40

3 2

100 50

1.4.3. Mtodo das Penalidades

Neste mtodo, o critrio de escolha da varivel a tomar como bsica em cada quadro o do menor custo da linha ou coluna associada maior das diferenas entre os dois menores custos da cada linha ou coluna (penalidades). Portanto, para facilitar esta escolha, recomenda-se que acrescente-se uma linha e uma coluna, s quais esto associados as penalizaes de cada uma delas.

Problemas de Transportes e de Afectao

76 Exemplo :

Problema de Transporte

Retome-se o exemplo anterior (considere o quadro inicial nas condies descritas). Primeira VB : a maior penalidade ocorre na coluna 1, pelo que pode-se escolher a varivel de menor custo nesta coluna para bsica : x21 = min { 80, 50 } = 50. A origem 2 fica esgotada, traa-se a linha 2, ficando por satisfazer 80 50 = 30 unidades no destino 1. 7
50

4 1
3

3 2
1

1 1

100 50

3
4

80 30 40 30 Segunda VB : a maior penalidade ocorre na coluna 1, pelo que pode-se escolher a varivel de menor custo nesta coluna para bsica : x11 = min { 30, 100 } = 30. O destino 1 fica totalmente satisfeito, traase a coluna 1, ficando disponveis 100 30 = 70 unidades na origem 1.
30 50

7 3
4

4 1
3

3 2
1

1 1

100 50

70

80 30 40 30 Terceira VB : a maior penalidade ocorre na coluna 2, pelo que pode-se escolher a varivel de menor custo nesta coluna para bsica : x12 = min { 30, 70 } = 30. O destino 2 fica totalmente satisfeito, traa-se a coluna 2, ficando disponveis 70 30 = 40 unidades na origem 1.
30 50

7 3
4

30

4 1
3

3 2
1

1 1

100 50

70

40

80 30 40 30 Como resta apenas a varivel x13, esta a prxima a entrar na base : : x13 = 40. Portanto, a soluo bsica inicial a seguinte :
30 50

7 3 80

30

4 1 30

40

3 2 40

100 50

cujo valor da funo objectivo : z = 7 30 + 4 30 + 3 40 + 3 50 = 600 (melhor que os outros)

Problemas de Transportes e de Afectao

Problema de Transporte

77

1.5. Obteno da soluo ptima


Obtida uma SBA inicial, esta submetida ao teste de optimalidade, passando-se em seguida a outra soluo, caso o critrio respectivo no seja satisfeito; o processo repete-se at se obter a soluo ptima. Este mtodo, baseia-se nas propriedades da dualidade para a obteno de uma soluo ptima do problema.
1.5.1. Algoritmo

Sejam ui e vj as variveis duais associadas, respectivamente, s restries de oferta e de procura. A cada varivel bsica do problema primal (clula preenchida) est associada uma restrio saturada do problema dual : xij (VB do primal) ui + vj = cij. O algoritmo composto pelos seguintes passos :
Passo 1. Determinar uma SBA inicial; Passo 2. Determinar as variveis duais, fazendo u1 = 0, e calcular as restantes usando as clulas

ocupadas;
Passo 3. Se ui + vj cij para todas as clulas no preenchidas ento a soluo ptima; caso

contrrio, continuar no passo seguinte;


Passo 4. Seleccionar para a nova VB a clula para a qual se verifica ui + vj > cij e que conduza a

um maior decrscimo no custo total. Transferir para essa clula o nmero mximo de unidades possvel. Voltar ao Passo 2.
1.5.2. Obteno de uma nova SBA

A partir de uma SBA pode obter uma nova soluo daquele tipo, atravs de transferncias de unidades entre clulas, o que constitui um ciclo. Dado que em cada quadro os requerimentos e as disponibilidades tm que ser satisfeitos, sempre que se adicionam n unidades a uma clula tm que se subtrar as mesmas n unidades a uma outra que esteja na mesma linha e a outra que esteja na mesma coluna. Assim, geralmente, pode-se determinar um ciclo de transferncias da seguinte forma :
procura-se uma clula preenchida na mesma linha da clula para a qual se pretende transferir

unidades,
na mesma coluna desta nova clula procura-se outra clula preenchida, na mesma linha desta nova clula procura-se outra clula preenchida. Se esta ltima clula se

encontrar na mesma coluna da clula para a qual se pretende transferir unidades, o ciclo fica determinado; caso contrrio, continua-se a pesquisa, at se encontrar uma clula preenchida pertencente a essa coluna.

Problemas de Transportes e de Afectao

78

Problema de Transporte

Nas clulas, cujos valores podem sofrer diminuio, associado um sinal () e nas outras um sinal (+). A sequncia de clulas com (+) e () constituem um ciclo atravs do qual se podem fazer transferncias de unidades para a clula pretendida. O nmero mximo de unidades que se podem transferir para aquela clula, de modo a se obter uma SBA, atravs deste ciclo, dado por : Min { xij : xij afectado de sinal () no ciclo }. Por exemplo, tome-se a SBA determinada pelo mtodo do Canto de Noroeste :
80

7 3
80

20 () 10 (+) 30

4 x13 (+) 3 1
40 () 40

100 50

Pode-se transferir 1 unidade para a clula (1, 3), diminuindo 1 unidade nas clulas (1, 2) e (2, 3), e aumentando 1 unidade na clula (2, 2). O nmero mximo de unidades que se podem transferir para a clula (1, 3) : Min { 20, 40 } = 20 O que implica que a varivel que vai sair da base x12, pois a clula (1, 2) fica vazia. Desta forma, a nova SBA :
80

7 3
80 30 30

4 1

20 20 40

3 2

100 50

1.5.3. Exemplo

Retome-se o exemplo anterior. Se se associar as variveis duais ui (i = 1, 2) e vj (j = 1, 2, 3) s 2 restries de oferta e 3 restries de procura, respectivamente, o problema dual pode ser formulado da seguinte forma : Maximizar W = 100 u1 + 50 u2 + 80 v1 + 30 v2 + 40 v3 Sujeito a u1 u1 u1 u2 + u2 u2 u1 , u2 , v1 , v2 , v3 sem sinal v1 + v2 + + v1 + + v2 + 7 4 v2 3 3 1 v3 2

Problemas de Transportes e de Afectao

Problema de Transporte Passo 1. Supondo que a SBA inicial a obtida pelo mtodo do Canto Noroeste, tem-se o quadro : QUADRO 1 80

79

7 3

20 10

4 1
40

3 2

100 50

80 30 40 O custo total de transporte : z = 7 80 + 4 20 + 1 10 + 2 40 = 730.


Passo 2. A cada VB do primal est associada uma restrio saturada do dual. Assim, VB do Primal Restrio do Dual

x11 x12 x22 x23

u1 + v1 = 7 u1 + v2 = 4 u2 + v2 = 1 u2 + v3 = 2

Fazendo u1 = 0, vem para as restantes variveis duais : v1 = 7, v2 = 4, u2 = 3, v3 = 5.


Passo 3. Como u1 + v3 > c13 (0 + 5 > 3) e u2 + v1 > c21 (3 + 7 > 3), continuar no passo seguinte. Passo 4. Determinar qual daquelas clulas ir causar maior reduo no custo total de transporte, que

ser a que ir entrar na nova SBA. As VNB candidatas a entrar na base so x13 e x21.
Passo 5. Relativamente a x13, tem-se : 80

7 3
80

20 () 10 (+) 30

4 x13 (+) 3 1
40 () 40

100 50

Podendo ser transferidas, no mximo 20 unidades ( min { 20, 40 } ). A diminuio no custo total de transporte, por unidade transferida para a clula (1, 3) : u1 + v3 c13 = 2; assim, se x13 for a nova VB, haver um decrscimo de 40 unidades no custo total (2 20). Relativamente a x21, tem-se :
80 ()

20 (+) 10 ()

4 1
40

3 2

100 50

x21 (+) 3

80 30 40 Podendo ser transferidas, no mximo 10 unidades ( min { 10, 80 } ). A diminuio no custo total

de transporte, por unidade transferida para a clula (2, 1) : u2 + v1 c21 = 1; assim, se x21 for a nova VB, haver um decrscimo de 10 unidades no custo total (1 10).

Problemas de Transportes e de Afectao

80

Problema de Transporte

Desta forma, introduzindo x13 na base, obtm-se o seguinte quadro :


QUADRO 2 80

7 3 80
30

4 1 30

20 20

3 2 40

100 50

O custo total de transporte : z = 7 80 + 3 20 + 1 30 + 2 20 = 690.


Passo 2. Fazendo u1 = 0, as restantes variveis duais tm os seguintes valores :

u1 + v1 = 7 u1 + v3 = 3 u2 + v3 = 2 u2 + v2 = 1

v1 = 7 v3 = 3 u2 = 1 v2 = 2

Passo 3. S a clula (2, 1) no satisfaz a desigualdade : u2 + v1 > c21 (1 + 7 > 3). Passo 4. Apenas existe uma VNB candidata a entrar na base : x21. Logo, tem-se : 80 ()

7
30 30

4 1

20 (+) 20 () 40

3 2

100 50

x21 (+) 3 80

Podendo ser transferidas, no mximo 20 unidades ( min { 20, 80 } ). A diminuio no custo total de transporte, por unidade transferida para a clula (2, 1) : u2 + v1 c21 = 3; assim, haver um decrscimo de 60 unidades no custo total (3 20). Desta forma, introduzindo x21 na base, obtm-se o seguinte quadro :
QUADRO 3 60 20

7 3
30

4 1

40

3 2

100 50

80 30 40 O custo total de transporte : z = 7 60 + 3 40 + 3 20 + 1 30 = 630.


Passo 2. Fazendo u1 = 0, as restantes variveis duais tm os seguintes valores :

u1 + v1 = 7 u1 + v3 = 3 u2 + v1 = 3 u2 + v2 = 1

v1 = 7 v3 = 3 u2 = 4 v2 = 5

Passo 3. Apenas a clula (1, 2) no satisfaz a desigualdade : u1 + v2 > c12 (0 + 5 > 4).

Problemas de Transportes e de Afectao

Problema de Transporte Passo 4. Apenas existe uma VNB candidata a entrar na base : x12. Logo, tem-se : 60 () 20 (+) 80

81

7 x12 (+) 4 3
30 () 30

40

3 2
40

100 50

Podendo ser transferidas, no mximo 30 unidades ( min { 30, 60 } ). A diminuio no custo total de transporte, por unidade transferida para a clula (1, 2) : u1 + v2 c12 = 1; assim, haver um decrscimo de 30 unidades no custo total (1 30). Desta forma, introduzindo na base x21, obtm-se o seguinte quadro :
QUADRO 4 30 50

7 3

30

4 1

40

3 2

100 50

80 30 40 O custo total de transporte : z = 7 30 + 4 30 + 3 40 + 3 50 = 600.


Passo 2. Fazendo u1 = 0, as restantes variveis duais tm os seguintes valores :

u1 + v1 = 7 u1 + v2 = 4 u1 + v3 = 3 u2 + v1 = 3 ui + vj cij,

v1 = 7 v2 = 4 v3 = 3 u2 = 4

Passo 3. Como todas as clulas no preenchidas verificam a desigualdade :

est-se na presena da soluo ptima do problema. Portanto, a soluo ptima e respectivo valor da FO : X* = (30, 30, 40, 50, 0, 0) Z* = 600.

1.6. Degenerescncia
Uma soluo degenerada quando tem menos do que (m + n 1) VB e ocorre sempre que surjam empates na obteno de uma
SBA inicial, antes de ser escolhida a ltima VB, nova SBA, aquando da escolha da varivel a ser substituda na base.

Um dos mtodos para resolver estes casos, consiste em perturbar os valores de ai e bj, da forma seguinte : ai = ai + bj = bj (i = 1, 2, , m) (j = 1, 2, , n1)

Problemas de Transportes e de Afectao

82

Problema de Transporte

bn = bn + m . com > 0 e arbitrariamente pequeno, para que a soluo obtida seja muito prxima da correcta.
Exemplo :

Considere-se o seguinte problema de transportes, traduzido no seguinte quadro : 7 3 80 20 4 1 40 3 2 100 40

A SBA inicial determinada pelo mtodo do Canto Noroeste a seguinte :


80

7 3 80

20

4 1 20
40

3 2 40

100 40

A soluo obtida degenerada, pois (m + n 1) = 4 e apenas 3 VB so positivas. Aplicando o mtodo descrito em cima, tem-se : 7 3 80 20 4 1 3 2 40 + 2 100 + 40 +

e preenchendo este quadro pelo Canto Noroeste,


80

7 3 80

20

4 1 20

40 +

3 2

100 + 40 +

40 + 2

Como arbitrariamente pequeno, faz-se = 0 e obtm-se a seguinte SB :


80

7 3 80

20

4 1 20

0 40

3 2 40

100 40

1.7. Casos em que a Oferta total diferente da Procura total


Na maioria dos problemas reais a soma das disponibilidades diferente da soma dos requerimentos : oferta diferente da procura. A resoluo destes casos consiste em transform-los na situao anterior (oferta igual procura) para depois se aplicarem os mtodos descritos. Duas situaes podem acontecer :
a) a oferta superior procura ( ai > bj) : criar um destino fictcio cujo requerimento igual

diferena entre a oferta e procura ( ai bj) e com custos de transporte nulos,

Problemas de Transportes e de Afectao

Problema de Afectao (Assignment)

83

b) a procura superior oferta ( ai < bj) : criar uma origem fictcia com disponibilidade igual

ao excesso da procura em relao oferta ( bj ai) e com custos de transporte nulos.

2. Problema de Afectao (Assignment)


Pretende-se, com a resoluo deste problema, afectar (atribuir, distribuir) da forma mais econmica indivduos a tarefas, entendidos estas entidades em sentido geral. Atendendo a algumas das suas propriedades, este problema pode ser formulado como sendo de transportes, estando ento garantida a integridade da soluo. No entanto, no a resoluo como problema de transporte a mais aconselhvel, at porque este problema normalmente degenerado. O problema clssico consiste em afectar n indivduos a n tarefas um indivduo por tarefa e uma tarefa por indivduo, tendo por objectivo a minimizao do custo total envolvido no plano de afectao, sendo conhecidos os custos, cij, de afectar o indivduo i tarefa j (i, j = 1, 2, , n). Uma das formas de resolver este problema, seria calcular todas as permutaes possveis (n!), sendo a soluo ptima do plano a permutao que verificasse o menor custo.

2.1. Formalizao do problema


O problema de afectao pode ser formulado como um caso especial do problema de transporte, e portanto, utilizar um mtodo de resoluo mais eficiente. A formulao a seguinte : 1 se o indivduo i for afecto tarefa j x ij = 0 se o indivduo i no for afecto tarefa j Ento, o problema consiste em Minimizar Z = c ij x ij
i j

Sujeito a

x ij = 1
j

(i = 1, 2, , n)
(j = 1, 2, , n)

x ij = 1
i

xij = 0, 1 em que os dois conjuntos de restries garantem que cada indivduo afectado exactamente a uma s tarefa, e que cada tarefa executada por um s indivduo, respectivamente. O facto de considerar xij = 0 ou xij = 1 torna o problema de difcil resoluo. No entanto, a sua substituio por xij 0 transforma o problema de afectao num problema de transporte equivalente (Quadro 2), em que :
os indivduos so as origens e as tarefas so os destinos;

Problemas de Transportes e de Afectao

84

Problema de Afectao (Assignment)


as disponibilidades em cada origem e as necessidades em cada destino so iguais a 1; o custo unitrio de transporte cij e xij inteiro (xij 0).

Portanto, o problema pode ser organizado, na seguinte forma :


TAREFA 1 I N D I V 1 2 ... n 2 ... n

x11 x21 ... xn1


1

c11 c21 cn1

x12 x22 ... xn2


1

c12 c22 cn2

... ...

x1n x2n ... xnn


1

c1n c2n cnn

1 1 ... 1

...
...

Quadro 2. Problema de Afectao. Exemplo : Numa fbrica foram instaladas 3 mquinas e 3 empregados. O objectivo da Direco da

fbrica estabelecer uma afectao mquinaempregado recproca e exclusiva, que envolva um custo mnimo. Os custos de afectao so os seguintes :
Mquina 1 1 Empregado 2 3 2 3

25 24 15

31 17 23

35 16 18

A formulao do problema a seguinte : Minimizar Z = 25 x11 + 31 x12 + 35 x13 + + 24 x21 + 17 x22 + 16 x23 + + 15 x31 + 23 x32 + 18 x33 Sujeito a

x 11 + x 12 + x 13 = 1 x 21 + x 22 + x 23 = 1 1 empregado 1 mquina x 31 + x 32 + x 33 = 1 x 11 + x 21 + x 31 = 1 x 12 + x 22 + x 32 = 1 1 mquina 1 empregado x 13 + x 23 + x 33 = 1

Problemas de Transportes e de Afectao

Problema de Afectao (Assignment)

85

2.2. Resoluo do problema


Qualquer afectao de um indivduo a uma tarefa esgota a oferta e satura a procura respectivas. Assim, em qualquer plano de afectao (SBA), existe apenas n variveis bsicas positivas, em vez das (2n 1) necessrias; isto , qualquer SBA altamente degenerada, contendo (n 1) VB nulas, o que dificulta a aplicao dos mtodos do problema de transporte.
TEOREMA : A soluo ptima do problema de afectao no se altera se uma constante for

adicionada ou subtrada a qualquer linha ou coluna da matriz de custos. Este teorema pode ser explorado em dois sentidos :
1) Se num problema alguns elementos da matriz de custos forem negativos, ento pode passar-se

a um problema relacionado, cujos custos sejam todos no negativos.


2) Se for possvel passar a um problema relacionado, em que todos os elementos da matriz de

custos sejam no negativos, e encontrar um plano de afectao, em que os custos associados (s


n variveis positivas) sejam nulos, ento evidente que esse plano ptimo.

neste facto que se apoia o algoritmo Hngaro, que consiste nos seguintes passos :
Passo 1. Aos elementos de cada linha da matriz de custos, subtrair o mnimo dessa linha.

Na matriz resultante, aos elementos de cada coluna, subtrair o mnimo dessa coluna.
Passo 2. Tomar uma das linhas com menor n de zeros, enquadrar um deles (aquele que cortar menos

zeros) e cortar todos os restantes dessa linha e dessa coluna. Prosseguir at que todos os zeros estejam cortados. Se houver n zeros enquadrados, tem-se a soluo ptima; caso contrrio prosseguir.
Passo 3. Cobrir os zeros enquadrados com o menor n possvel de traos : 1. assinalar (com 9) as linhas que no contm zeros enquadrados; 2. assinalar as colunas com pelo menos um zero cortado nas linhas assinaladas; 3. assinalar as linhas com um zero enquadrado nas colunas assinaladas; 4. repetir 2 e 3 at no ser possvel assinalar mais linhas ou colunas; 5. traar as linhas no assinaladas e as colunas assinaladas. Passo 4. Determinar o menor elemento da submatriz constituda pelos elementos no traados;

subtrair esse elemento aos elementos dessa submatriz e adicion-lo aos elementos na interseco de dois traos. Voltar ao passo 2.

Problemas de Transportes e de Afectao

86

Problema de Afectao (Assignment) Exemplo : Considere-se o problema apresentado anteriormente, neste captulo.

A matriz de custos do problema a seguinte :


1 1 2 3 2 3

25 24 15

31 17 23

35 16 18

Passo 1. Subtraindo aos elementos da 1 linha 25, aos da 2 16 e aos da 3 15, obtm-se : 1 1 2 3 2 3

0 8 0

6 1 8

10 0 3

Apenas a 2 coluna no contm zeros, pelo que se subtrai aos respectivos elementos o menor deles, que 1, resultando
1 1 2 3 2 3

0 8 0

5 0 7

10 0 3

Passo 2. Enquadrar o zero da posio (1, 1) e cortar o zero da posio (3, 1); enquadrar o zero da

posio (2, 2) e cortar o zero da posio (2, 3); desta forma, obtm-se :
1 1 2 3 0o 2 3

5
0o

10 0 3

8 0

Como no existe mais zeros para enquadrar ou traar, termina este processo. Como no existem 3 zeros enquadrados, no se tem a soluo ptima.
Passo 3. Cobrindo com o menor nmero possvel de traos, os zeros enquadrados, obtm-se : 1 1 2 3 0o 2 3

5
0o

10 0 3

9 (3)
(4)

8 0
9
(2), (5)

9 (1)

Problemas de Transportes e de Afectao

Problema de Afectao (Assignment)

87

Passo 4. Subtrair aos elementos no traados o menor de entre eles e adicion-lo aos elementos na

interseco de dois traos neste caso, o valor 3; obtendo-se assim a nova matriz :
1 1 2 3 2 3

0 11 0

2 0 4

7 0 0

em que se subtraiu 3 unidades aos elementos x12, x13, x32 e x33 e adicionou-se 3 unidades ao elemento x21.
Passo 2. Enquadrar o zero da linha 1 e traar o zero da coluna 1; enquadrar a coluna 2 e traar os

zeros da linha 2; desta forma, obtm-se :


1 1 2 3 00 2 3

2
00

7 0
00

11 0

Como ainda existe um zero, na posio (3, 3), enquadra-se tambm esse zero. Como existem 3 zeros enquadrados, tem-se assim a soluo ptima, que a seguinte : x 11 = 1 , x 22 = 1 , x 33 = 1 e

z = 25 + 17 + 18 = 60 .

Problemas de Transportes e de Afectao

Você também pode gostar