1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à...
Transcript of 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à...
1
Faculdade de Engenharia - Campus de Guaratinguetá
Pesquisa Operacional
Livro: Introdução à Pesquisa Operacional
Capítulo 5 – Modelo da Designação
Fernando Marins – [email protected]
Departamento de Produção
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Sumário
2
Introdução
Modelo da Designação
Método Húngaro
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Introdução
Problema: alocação de recursos disponíveis para atividades de interesse de forma a otimizar alguma medida de efetividade do sistema.
Exemplos de aplicações
RECURSO ATIVIDADE CRITÉRIO
Operários Tarefas Tempo de execução
Caminhões Rotas Custo de transporte
Máquinas Locais OperacionalidadeVendedores Regiões Volume de vendas
3
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Introdução
Trata-se de um caso particular do Modelo de Transporte Simples com ai= bj = 1.
4
Pode ser resolvido pelo Método Simplex ou pelo “Stepping Stone Method”.
Será apresentado um algoritmo mais eficiente que explora suas características particulares: Algoritmo Húngaro.
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Seja a matriz C = (cij ) de ordem m x m, onde cada valor cij corresponde ao custo da alocação do recurso i à atividade j.
contrário caso 0,
j atividade à alocado i recurso ,1
J
i
ijX
atividade) uma a designado recurso (Cada m ..., 2, 1, i 1, = X
recurso) um recebe atividade (Toda m ..., 2, 1, j 1, =
ij
Variáveis de decisão: xij =
Função objetivo: Minimização de CT = custo total de designação
Min CT = i j
ijij X C
Restrições:
sujeito a:
5
Modelo da Designação
Xij {0,1} para todo i = 1, 4 e j = 1, 4 (binárias)
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Modelo da Designação - Exemplo
Designar 4 operários [ I, II, III, IV ] para executar 4 tarefas (A, B, C, D) de maneira que o tempo total para o término de todas as tarefas seja o menor possível. Conhece-se o tempo que cada operário gasta para desempenhar cada uma das 4 tarefas:
[ I II III IV ]
3151710
58928
2332510
713245
D
C
B
A
6
Pesquisa Operacional - UNESP / Campus de Guaratinguetá7
Modelo em Redes
A1
1
1
1
1
1
1
1
B
C
D
I
II
III
IV
524
137
1025323
28985
1017
153
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Modelo da Designação - Exemplo
Como exemplo, uma designação viável pode ser identificada da forma abaixo : [ I II III IV ]
1 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0
A
B
C
D
5 24 13 7
10 25 3 23
28 9 8 5
10 17 15 3
8
O valor do tempo total de designação associado a esta solução é calculado por:CT = = 5 . 1 + 9 . 1 + 15 . 1 + 23 . 1 = 52
Neste caso a matriz X associada com os valores das variáveis básicas Xij corresponde a:
X =
i J
ijij X . C
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Modelo completo para o exemplo dos operários e tarefas
Variáveis de decisão: i = 1, 4 e j = 1,4
Xij =
contrário caso ,0
j operário parafor i tarefaa se ,1
9
Função objetivo: Min T = tempo total execução das tarefasMin T = 5X11 + 24X12 + 13X13 + 7X14 + 10X21 + 25X22 +
+ 3X23 + 23X24 + 28X31 + 9X32 + 8X33 + 5X34 + + 10X41 + 17X42 + 15X43 + 3X44
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Modelo completo para o exemplo dos operários e tarefas
Restrições:
10
Xij {0,1} para todo i = 1, 4 e j = 1, 4 (binárias)
X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 (para os operários)
X13 + X23 + X33 + X43 = 1X14 + X24 + X34 + X44 = 1
sujeito a X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 (para as tarefas)
X31 + X32 + X33 + X34 = 1X41 + X42 + X43 + X44 = 1
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Método Húngaro para Resolução
Fase 1: Redução de linhas e colunas da matriz C Objetivo é facilitar a identificação das melhores opções de designação (associados com os custos nulos existentes na matriz reduzida). Ir para a Fase 2.
Fase 3: Alterações adicionais na matriz C Necessária se não for obtida uma designação completa na Fase 2. Voltar à Fase 2.
Fase 2: Identificação de uma Solução Ótima Tentar achar uma Designação Completa que utilize as alocações de recursos à atividades associadas aos custos nulos existentes na matriz reduzida. Se não for obtida uma Designação Completa: ir para a Fase 3.
11
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Aplicação do Método Húngaro ao exemplo dos operários e tarefas
Fase 1: fazendo a redução das linhas:
Fase 1: fazendo a redução das colunas:
I II III IV Menor
A 5 24 13 7 5
B 10 25 3 23 3
C 28 9 8 5 5
D 10 17 15 3 3
I II III IV
A 0 19 8 2
B 7 22 0 20
C 23 4 3 0
D 7 14 12 0
Menor 0 4 0 0
12
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Aplicação do Método Húngaro ao exemplo dos operários e tarefas
Fase 2: Procurando identificar uma designação completa:
A solução ótima será dada por:X11 = 1 tarefa A para o operário IX23 = 1 tarefa B para o operário IIIX32 = 1 tarefa C para o operário IIX44 = 1 tarefa D para o operário IV
Tempo ótimo de execução das tarefas (ver na matriz original as posições designadas):
T* = 5 + 3 + 9 + 3 = 20
I II III IV
A [0] 15 8 2
B 7 18 [0] 20
C 23 [0] 3 0
D 7 10 12 [0]
13
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Algoritmo Húngaro completo
Fase 1: Redução de Linhas e Colunas – Obter a Matriz C Reduzida(I) Subtrair o elemento mínimo de cada linha (e coluna) de todos os elementos
daquela linha (e coluna). Ir à Fase 2 (Etapa (II)).
14
Fase 2: Identificação de Designação Ótima na Matriz C Reduzida(II) Examinar linhas e colunas sucessivamente. Para cada linha (coluna) com exatamente um zero não reservado ([0]) ou
eliminado () reservar esta posição para uma designação e eliminar os demais zeros da coluna (linha) correspondente.
Repetir este processo para as linhas e colunas sem posições reservadas até que todos os zeros tenham sido reservados ([0]) ou eliminados ().
Se as posições reservadas formarem uma designação completa Solução Ótima foi obtida. Parar!
Caso contrário ir a Fase 3 (etapas (III) e (IV))
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Algoritmo Húngaro completo
Fase 3: Etapa (III) – Proteger os zeros essenciais na Matriz C reduzida
(A)Marcar com um asterisco ao lado da tabela todas as linhas sem zeros reservados;
(B) Em linhas marcadas, marcar com um asterisco ao lado da tabela todas as colunas que tenham zeros (reservados ou eliminados);
(C) Em colunas marcadas, marcar com um asterisco ao lado da tabela todas as linhas que tenham zeros reservados;
(D) Repetir (B) e (C) até não se conseguir marcar linhas ou colunas adicionais
(E) Cobrir com uma reta cada linha não marcada e cada coluna marcada
Ir à Fase 3 – Etapa (IV) 15
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Algoritmo Húngaro completo
Fase 3: Etapa (IV) - Redução adicional na Matriz C Reduzida
(IV) Examinar os elementos não cobertos por retas na etapa (III) e identificar o elemento mínimo.
Subtrair este elemento mínimo de todos os elementos não cobertos por retas
Somar este elemento mínimo a todos os elementos cobertos por mais de uma reta (nas intersecções de duas retas)
Manter os demais elementos da matriz como são.
Retornar à Fase 2.
16
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Comentários gerais
• O número mínimo de retas necessárias para cobrir todos os zeros da Matriz de Custos Reduzida = número máximo de designações possível com os zeros disponíveis.
• Designações impossíveis: bloquear a posição (colocar um custo muito alto na Função Objetivo) associada à designação impossível na Matriz C original
• Matriz de custos não é quadrada: adicionar linhas ou colunas fictícias e custos nulos.
17
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Comentários gerais
• Problema de maximização:
Multiplicar todos os elementos da matriz C por (-1) Identificar o elemento de maior valor em módulo Somar o elemento de maior módulo a todos os elementos
da nova matriz de custos (já multiplicada por (-1)) Resolver como se fosse de minimização
18
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo de Minimização
O presidente de uma empresa está estudando a transferência de quatro diretores para quatro locais de trabalho diferentes. Foram feitas estimativas dos custos envolvidos na transferência de cada diretor para cada novo local de trabalho. Estes custos são dados a seguir:
Local1 2 3 4
DIRETOR
A 2 1 4 2
B 3 4 1 6
C 1 2 6 5
D 1 3 3 7
19
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
Obter a designação de diretores para locais de trabalho de menor custo.
Fase 1: Reduzindo as linhas da matriz C
1 2 3 4 Menor
A 2 1 4 2 1
B 3 4 1 6 1
C 1 2 6 5 1
D 1 3 3 7 1
20
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
Resolução do exemplo dos diretores e locais
Fase 1: Reduzindo as colunas da matriz C – Etapa I
1 2 3 4
A 1 0 3 1
B 2 3 0 5
C 0 1 5 4
D 0 2 2 6
Menor 0 0 0 1
Ir para Fase 2
21
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
Fase 2: Tentando identificar uma designação completa – Etapa II
Não foi obtida uma designação completa Ir para a Fase 3.
1 2 3 4
A 1 [0] 3
B 2 3 [0] 4
C [0] 1 5 3
D 2 2 5
22
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
Fase 3: Etapa (III) - Proteger os Zeros
(A): Marcar linha sem Designação
1 2 3 4 Marca
A 1 [0] 3
B 2 3 [0] 4
C [0] 1 5 3
D 2 2 5 *
Marca
23
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
1 2 3 4 Marca
A 1 [0] 3
B 2 3 [0] 4
C [0] 1 5 3
D 2 2 5 *
Marca *
24
Fase 3: Etapa (III) - Proteger os Zeros
(B): Em linha marcada, marcar coluna com zero
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
1 2 3 4 Marca
A 1 [0] 3
B 2 3 [0] 4
C [0] 1 5 3 *
D 2 2 5 *
Marca *
25
Fase 3: Etapa (III) - Proteger os Zeros
( C): Em coluna marcada, marcar linha com zero designado
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
Fase 3: Etapa (III) - Proteger os Zeros
(D): Repetir (A), (B) e (C)
• Não há como marcar novas colunas, pois a coluna 1 já foi marcada na iteração anterior.
• Finalizadas as Etapas de (A) – (D)
• Ir Para Fase 3 – (E)
26
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exemplo
27
Fase 3: Etapa (III) – Proteger os zeros
Fase (E): traçar reta sobre linha não marcada e sobre coluna marcada
Fase 3 - Etapa (IV): O menor elemento não coberto por alguma reta é = 1, na posição (C, 2).
1 2 3 4 Marca
A 1 [0] 3
B 2 3 [0] 4
C [0] 1 5 3 *
D 2 2 5 *
Marca *
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Fase 3 – Etapa IV
Fase 3 – Etapa IV: Modificações adicionais na Matriz C Reduzida: subtrair 1 dos números não cobertos por alguma reta e somar 1 aos que estão no cruzamento de 2 retas. Os demais não mudam.
1 2 3 4
A 2 0 3 0
B 3 3 0 4
C 0 0 4 2
D 0 1 1 4
Voltar à Fase 228
Pesquisa Operacional - UNESP / Campus de Guaratinguetá29
Fase 2: Identificação de uma Designação Ótima
1 2 3 4
A 2 3 [0]
B 3 3 [0] 4
C [0] 4 2
D [0] 1 1 4
Fase 2 – Etapa II
Foi obtida uma solução ótima: Diretor A vai para Local 4, Diretor B vai para o Local 3, Diretor C vai para o Local 2 e o Diretor D vai para o Local 1.Custo ótimo = soma dos custos originais para as designações ótimas = 2 + 1 + 2 + 1 = 6
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Exercícios
30
1. O Diretor de uma escola deseja inscrever quatro alunos num concurso de matemática que engloba os seguintes assuntos: Álgebra, Cálculo I, Linguagens de Computação e Cálculo II.
Somente um aluno pode ser inscrito em cada assunto e nenhum aluno pode ser inscrito em mais de um assunto porque as provas do concurso ocorrerão simultaneamente. Para isso ele seleciona seus quatro melhores alunos, A, B, C, D e lhes aplica testes cobrindo as quatro áreas do concurso. O quadro abaixo indica o número de pontos que cada aluno obteve em cada uma das áreas no exame simulado.
Pesquisa Operacional - UNESP / Campus de Guaratinguetá
Álgebra Cálculo I Computação Cálculo II
A 7 10 8 3
B 8 7 8 1
C 4 9 3 5
D 5 4 6 9
31
Qual aluno deve ser selecionado para cada um dos assuntos do concurso, sendo que o Diretor resolveu que o aluno B não deverá fazer a prova de Cálculo II?
Exercícios
Pesquisa Operacional - UNESP / Campus de Guaratinguetá32
Exercícios
2. Uma empresa vende produtos em quatro regiões e possui quatro vendedores que devem atender quatro regiões diferentes, sendo um vendedor para cada região.
As regiões não são igualmente ricas e apresentam o seguinte potencial de venda (em $):Região I: 60.000Região II: 50.000Região III: 40.000Região IV: 30.000
Os vendedores por outro lado, não são igualmente hábeis e as suas
eficiências, que refletem a capacidade de atingir o mercado potencial da região, são dados pelo quadro que se segue:
Pesquisa Operacional - UNESP / Campus de Guaratinguetá33
Exercícios
RegiãoI II III IV
A 0,7 0,7 0,7 1,0Vendedor B 0,8 0,8 0,8 1,0
C 0,5 0,5 0,5 1,0D 1,0 0,4 1,0 0,4
Pede-se determinar, empregando o modelo da designação e o algoritmo húngaro, como enviar os vendedores às regiões para que o volume de vendas total das quatro regiões seja o maior possível.
Pesquisa Operacional - UNESP / Campus de Guaratinguetá34
Exercícios
3. Uma Empresa necessita desenvolver um plano de produção para iniciar a fabricação de três novos produtos. A Empresa dispõe de cinco máquinas e apenas três destas deverão ser escolhidas para manufaturar os novos itens, sendo um produto por máquina. Os custos de produção e os custos de distribuição para todas as combinações produto-máquina são fornecidos a seguir: Custos de Produção ($/unidade):
Máquina1 2 3 4 5
1 20 23 38 15 35
Produto 2 8 29 6 35 35
3 5 8 3 4 7
Pesquisa Operacional - UNESP / Campus de Guaratinguetá35
Exercícios
Custos de Distribuição ($/unidade):
De acordo com os planos atuais é necessário manter uma determinada produção anual por item para haver demanda pelos preços unitários planejados, estes dados são fornecidos adiante:
Máquina1 2 3 4 5
1 20 50 20 10 132 7 90 8 35 803 5 5 4 15 6
Produto Produção Planejada Preços Planejados
1 35000 US$ 55
2 160000 US$ 50
3 54000 US$ 30
Formule um modelo da designação para tratar este problema e resolva-o pelo Algoritmo Húngaro.