Vous êtes sur la page 1sur 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

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

x ij = b j

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

Problemas de Transportes e de Afectao

Problema de Transporte

71
DESTINOS
1

O
R
I
G
E
N
S

...

Oferta

x11

c11

x12

c12

...

x1n

c1n

a1

x21

c21

x22

c22

...

x2n

c2n

a2

...

...

xm1

Procura

...

cm1

xm2

b1

...

...

cm2

...

b2

xmn

...

am

cmn

a i = bj

bn

Quadro 1. Quadro do Problema de Transporte.

1.1. Formalizao do Problema de Transporte


m n

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

Sujeito a

x ij = a i

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

restries de oferta

j =1
m

x ij = b j

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

restries de procura

i =1

xij 0

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

O problema clssico apresenta uma estrutura especial, segundo a disposio das restries :
x11 + . . . + x1n

= a1
x21 + . . . + x2n

= a2
.
.
.
xm1 + . . . + xmn

x11

+ x21
.

. . .
.

.
.

.
x1n

+ x2n

.
.
.
.

.
.
.
.

.
.
.
.

+ xm1

.
.
.
= am
= b1

.
.
.
+ xmn

.
.
.
= 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

Problema de Transporte

Exemplo :

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

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 +

x22 + 2 x23

x13

= 100
x21 +
+

x11

x23 =

50

80

30

x23 =

40

x21
+

x12

x22 +

x22

x13

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

Oferta

x11

x12

x13

100

x21

x22

x23

50

Procura

80

30

40

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

20

50
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

20

50
80

30
10

40

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

100

20

10

50

40

80

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

20

80

10

40

30
10

40

100

20

50

40

A SBA obtida :
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

20

10

80

40

30

100

50

40

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

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

4
30

80

20

100

50

20

30

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

30

80

20

100

80

20

50

20

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

30

7
3
80

30

20

100

80

20

50

20

30

40
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

20

100

20

50

40

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

Problema de Transporte

Exemplo :

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.

50

100

50

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

100

50

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.
4

100

50

30

50

30

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

3
80

30

40

1
30

100

50

40

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

20 ()

4 x13 (+) 3

100

10 (+)

40 ()

50

80

30

40

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

30

80

20

100

20

50

30

40

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

v1 +
+

u1

v2
+

u1
u2 +
u2

v2 3
3

v1
+

v2

u2

v3 2

u1 , u2 , v1 , v2 , v3 sem sinal

Problemas de Transportes e de Afectao

Problema de Transporte

79

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

20

10

40

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

u1 + v1 = 7

x12

u1 + v2 = 4

x22

u2 + v2 = 1

x23

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

20 ()

4 x13 (+) 3

100

10 (+)

40 ()

50

80

30

40

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 :
7

20 (+)

x21 (+) 3

10 ()

80 ()

40

100

50

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
30

3
80

20

100

20

50

30

40

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

v1 = 7

u1 + v3 = 3

v3 = 3

u2 + v3 = 2

u2 = 1

u2 + v2 = 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 ()

30

x21 (+) 3
80

20 (+)

100

20 ()

50

30

40

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

4
30

40

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

v1 = 7

u1 + v3 = 3

v3 = 3

u2 + v1 = 3

u2 = 4

u2 + v2 = 1

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

81

Passo 4. Apenas existe uma VNB candidata a entrar na base : x12. Logo, tem-se :
60 ()

7 x12 (+) 4

20 (+)

30 ()

80

40

30

100

50

40

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

30

40

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

v1 = 7

u1 + v2 = 4

v2 = 4

u1 + v3 = 3

v3 = 3

u2 + v1 = 3

u2 = 4

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

ui + vj cij,
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 +

(i = 1, 2, , m)

bj = bj

(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

100

40

80

20

40

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


80

20

80

40

20

100

40

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

100 +

40 +

80

40 + 2

20

e preenchendo este quadro pelo Canto Noroeste,


80

20

3
80

100 +

40 +

40 +

40 + 2

20

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


80

20

3
80

20

100

40

40

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

Sujeito a

x ij = 1

(i = 1, 2, , n)

x ij = 1

(j = 1, 2, , n)

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

...

x11

c11

x12

c12

...

x1n

c1n

x21

c21

x22

c22

...

x2n

c2n

...
n

...
xn1

...
cn1

xn2

...

...
cn2

...

xnn

...

cnn

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

Empregado

25

31

35

24

17

16

15

23

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
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
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
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

0o

10

0o

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

0o

10

0o

(4)

9 (1)

9 (3)

9
(2), (5)

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
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

00

11

00

00

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

z = 25 + 17 + 18 = 60 .

Problemas de Transportes e de Afectao

Vous aimerez peut-être aussi