Você está na página 1de 18

PO

Aula Designao
6. Algoritmos Especiais.
Prof. Eduardo
(25/01/2012)
6.2. Problema da Designao.
PO
6.2. Problema da Designao.
Este problema um caso especial do modelo de Transporte. Cada
origem tem apenas uma unidade disponvel e cada destino necessita
tambm de uma unidade. Como exemplo a designao de um vendedor
para uma certa regio de vendas, mquinas para diversos locais, etc.
O algoritmo bastante simples, mas antes de aplic-lo devemos
verificar se o sistema est equilibrado. Para isso a quantidade de origens
deve ser igual a quantidade de destinos.
Caso isto no ocorra, deve ser criada origens ou destinos auxiliares
com custo de transferncia zero.
6.2.1. Introduo.
PO
6.2. Problema da Designao.
i. Subtrair de cada linha seu menor valor. Em seguida fazer o mesmo com
as colunas. Cada linha e cada coluna dever ento apresentar pelo
menos um elemento nulo.
ii. Designar origens para destinos nas clulas em que aparece o elemento
nulo. Dar preferncia a linhas ou colunas que tenham apenas um zero
disponvel. Cada designao efetuada invalida os outros zeros na linha e
na coluna da clula designada. Se a designao se completa, o
problema est resolvido. Se no:
6.2.2. Descrio do Algoritmo.
PO
6.2.2. Descrio do Algoritmo.
iii. Cobrir os zeros da tabela com o menor nmero de linhas possvel. Isto
pode ser feito da seguinte forma:
marcar as linhas sem designao;
Marcar as colunas com zeros nas linhas marcadas;
Marcar as linhas com designao nas colunas marcadas;
Voltar a marcar as colunas com zeros nas linhas marcadas at que
no seja possvel marcar novas linhas ou colunas;
Riscar as linhas no marcadas e as colunas marcadas.
PO
6.2.2. Descrio do Algoritmo.
iv. Subtrair o menor valor dentre os nmeros no cobertos, de todos os
elementos da tabela. A reposio necessria nas linhas e colunas com
zeros para impedir o aparecimento de custos negativos na tabela resulta
no quadro em que:
os elementos no cobertos ficam diminudos deste nmero;
os elementos no cruzamento de coberturas ficam aumentados desse
nmero;
os outros elementos permanecem iguais.
v. Retornar ao item ii.
PO
6.2.2. Descrio do Algoritmo.
Exemplo: o quadro representa os custos de transporte de uma mquina dos
locais de depsito para as fbricas onde devero ser instaladas. Designar
uma mquina para cada fbrica com o menor custo total possvel.
F
1
F
2
F
3
F
4

L
1
10 12 15 16
L
2
14 12 13 18
L
3
10 16 19 15
L
4
14 12 13 15
PO
6.2.2. Descrio do Algoritmo.
Soluo:
F
1
F
2
F
3
F
4

L
1
0 2 5 6
L
2
2 0 1 6
L
3
0 6 9 5
L
4
2 0 1 3
Subtrair o menor
nmero de cada linha
F
1
F
2
F
3
F
4

L
1
0 2 4 3
L
2
2 0 0 3
L
3
0 6 8 2
L
4
2 0 0 0
Subtrair o menor
nmero de cada coluna

Designar transportes cujos valores nas linhas ou colunas so iguais a
zero (prefira linhas ou colunas com apenas um zero). Anule os outros zeros.
PO
6.2.2. Descrio do Algoritmo.
F
1
F
2
F
3
F
4

L
1
0 2 4 3
L
2
2 0 0 3
L
3
0 6 8 2
L
4
2 0 0 0
A designao no se completou devido origem 3 e ao destino 3. A seguir
os passos do item iii.
marcar as linhas sem designao;
marcar as colunas com zeros nas
linhas marcadas;
marcar as linhas com
designao nas colunas
marcadas;
voltar a marcar as colunas com
zeros nas linhas marcadas at
que no seja possvel marcar
novas linhas ou colunas;
riscar as linhas no
marcadas e as colunas
marcadas.
PO
6.2.2. Descrio do Algoritmo.
F
1
F
2
F
3
F
4

L
1
L
2

L
3

L
4

Agora vem os passos do item iv que subtrair pelo menor valor dentre os
nmeros no cobertos. Neste caso, o menor nmero 2.
os elementos no cobertos ficam
diminudos deste nmero;
os elementos no cruzamento de
coberturas ficam aumentados deste
nmero;
os outros elementos
permanecem iguais;
2
4
3
6
8
2
0
2
1
4
6
0
2
2
4
4
0
0
0 0
0 0
0
3
0
0
0 0
0 0
0
3
PO
6.2.2. Descrio do Algoritmo.
F
1
F
2
F
3
F
4

L
1
0 0 2 1
L
2
4 0 0 3
L
3
0 4 6 0
L
4
4 0 0 0
Fazer uma nova designao.
Soluo:
Designao
L
1
F
1
L
2
F
2
L
3
F
4
L
4
F
3
Custo
10
12
15
13
Custo Total: 50
PO
6.2. Problema da Designao.
Existem duas sadas:
multiplicando a funo objetivo por 1;
transformando o quadro num quadro de perdas (complemento em
relao a um valor fixo).
6.2.3. O Caso de Maximizao.
PO
6.2.3. O Caso de Maximizao.
Ex: o quadro representa as eficincias de quatro vendedores, testados em quatro
regies. Os potenciais de vendas nas regies so conhecidas. Designar um
vendedor para cada regio para maximizar o valor total das vendas.
R
1
R
2
R
3
R
4

V
1
70 60 80 90
V
2
70 80 70 90
V
3
60 90 60 70
V
4
70 80 70 80
Capacidade de cada vendedor de atingir o
potencial da regio em %.
Potencial de vendas em
milhares de R$
R
1
= 100
R
2
= 80
R
3
= 60
R
4
= 90

PO
6.2.3. O Caso de Maximizao.
Soluo: Quadro de vendas ou retornos (% x Potencial de Vendas).
R
1
R
2
R
3
R
4

V
1
70 48 48 81
V
2
70 64 42 81
V
3
60 72 36 63
V
4
70 64 42 72
Quadro de perdas subtrair por 81 (complemento em relao a um valor fixo).
R
1
R
2
R
3
R
4

V
1
11 33 33 0
V
2
11 17 39 0
V
3
21 9 45 18
V
4
11 17 39 9
PO
6.2.3. O Caso de Maximizao.
Soluo:
R
1
R
2
R
3
R
4

V
1
11 33 33 0
V
2
11 17 39 0
V
3
12 0 36 9
V
4
2 8 30 0
Subtrair o menor
nmero de cada linha..
R
1
R
2
R
3
R
4

V
1
9 33 3 0
V
2
9 17 9 0
V
3
10 0 6 9
V
4
0 8 0 0
Subtrair o menor
nmero de cada coluna

Designar transportes cujos valores nas linhas ou colunas so iguais a
zero (prefira linhas ou colunas com apenas um zero). Anule os outros zeros.
PO
6.2.3. O Caso de Maximizao.
R
1
R
2
R
3
R
4

V
1
9 33 3 0
V
2
9 17 9 0
V
3
10 0 6 9
V
4
0 8 0 0
A designao no se completou devido origem 2 e ao destino 3. A seguir
os passos do item iii.
marcar as linhas sem designao;
marcar as colunas com zeros nas
linhas marcadas;
marcar as linhas com
designao nas colunas
marcadas;
voltar a marcar as colunas com
zeros nas linhas marcadas at
que no seja possvel marcar
novas linhas ou colunas;
riscar as linhas no
marcadas e as colunas
marcadas.
PO
6.2.3. O Caso de Maximizao.
R
1
R
2
R
3
R
4

V
1
0
V
2
0
V
3

V
4

Agora vem os passos do item iv que subtrair pelo menor valor dentre os
nmero no cobertos. Neste caso, o menor valor 3.
os elementos no cobertos ficam
diminudos deste nmero;
os elementos no cruzamento de
coberturas ficam aumentados deste
nmero;
os outros elementos
permanecem iguais;
9
33
3
17 9
6
30
0
14 6
0 3
9
9
6
12
10
0 6
8 0
0
10
0 6
8 0
0
PO
6.2.3. O Caso de Maximizao.
R
1
R
2
R
3
R
4

V
1
6 30 0 0
V
2
6 14 6 0
V
3
10 0 6 12
V
4
0 8 0 3
Fazer uma nova designao.
Soluo:
Designao
V
1
R
3
V
2
R
4
V
3
R
2
V
4
R
1
Vendas (em
milhares de R$)
48
81
72
70
Venda Total: 271