370 likes | 622 Views
Faculdade de Engenharia - Campus de Guaratinguetá. Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 5 – Modelo da Designação Fernando Marins – fmarins@feg.unesp.br Departamento de Produção. Sumário. Introdução Modelo da Designação Método Húngaro. Introdução.
E N D
Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 5 – Modelo da Designação Fernando Marins – fmarins@feg.unesp.br Departamento de Produção
Sumário Introdução Modelo da Designação Método Húngaro
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
Introdução Trata-se de um caso particular do Modelo de Transporte Simples com ai= bj = 1. 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.
Modelo da Designação 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. Variáveis de decisão: xij = Função objetivo: Minimização de CT = custo total de designação Min CT = Restrições: sujeito a: Xij{0,1} para todo i = 1, 4 e j = 1, 4 (binárias)
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 ]
Modelo em Redes 5 1 I A 1 24 13 7 10 25 1 B II 1 3 23 28 9 8 1 1 C III 5 17 10 15 3 1 D IV 1
Modelo da Designação - Exemplo Como exemplo, uma designação viável pode ser identificada da forma abaixo : [ I II III IV ] Neste caso a matriz X associada com os valores das variáveis básicas Xij corresponde a: X = 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
Modelo completo para o exemplo dos operários e tarefas Variáveis de decisão: i = 1, 4 e j = 1,4 Xij = Função objetivo: Min T = tempo total execução das tarefas Min T = 5X11 + 24X12 + 13X13 + 7X14 + 10X21 + 25X22 + + 3X23 + 23X24 + 28X31 + 9X32 + 8X33 + 5X34 + + 10X41 + 17X42 + 15X43 + 3X44
Modelo completo para o exemplo dos operários e tarefas Restrições: sujeito a X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 (para as tarefas) X31 + X32 + X33 + X34 = 1 X41 + X42 + X43 + X44 = 1 X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 (para os operários) X13 + X23 + X33 + X43 = 1 X14 + X24 + X34 + X44 = 1 Xij{0,1} para todo i = 1, 4 e j = 1, 4 (binárias)
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 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. 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.
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:
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 I X23 = 1 tarefa B para o operário III X32 = 1 tarefa C para o operário II X44 = 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
Algoritmo Húngaro completo • Fase 1: Redução de Linhas e Colunas – Obter a Matriz C Reduzida • Subtrair o elemento mínimo de cada linha (e coluna) de todos os elementos daquela linha (e coluna). • Ir à Fase 2 (Etapa (II)). 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))
Algoritmo Húngaro completo • Fase 3:Etapa (III) – Proteger os zeros essenciais na Matriz C reduzida • 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)
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.
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.
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
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:
Exemplo Obter a designação de diretores para locais de trabalho de menor custo. Fase 1: Reduzindo as linhas da matriz C
Exemplo Resolução do exemplo dos diretores e locais Fase 1: Reduzindo as colunas da matriz C – Etapa I Ir para Fase 2
Exemplo Fase 2: Tentando identificar uma designação completa – Etapa II Não foi obtida uma designação completa Ir para a Fase 3.
Exemplo Fase 3: Etapa (III) - Proteger os Zeros (A): Marcar linha sem Designação
Exemplo Fase 3: Etapa (III) - Proteger os Zeros (B): Em linha marcada, marcar coluna com zero
Exemplo Fase 3: Etapa (III) - Proteger os Zeros ( C): Em coluna marcada, marcar linha com zero designado
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)
Exemplo 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).
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. Voltar à Fase 2
Fase 2 – Etapa II Fase 2: Identificação de uma Designação Ótima 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
Exercícios 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.
Exercícios 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 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.000 Região II: 50.000 Região III: 40.000 Regiã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:
Exercícios 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.
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):
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: Formule um modelo da designação para tratar este problema e resolva-o pelo Algoritmo Húngaro.