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 1 Sumário Introdução Modelo da Designação Método Húngaro Pesquisa Operacional - UNESP / Campus de Guaratinguetá 2 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 Vendedores Locais Regiões Operacionalidade Volume de vendas Pesquisa Operacional - UNESP / Campus de Guaratinguetá 3 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. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 4 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. 1, recurso i alocado à atividade j Variáveis de decisão: xij = 0, caso contrário Função objetivo: Minimização de CT = custo total de designação Min CT = C ij X ij i j Restrições: sujeito Xij = 1, j 1, 2, ..., m (Toda atividade recebe um recurso) a: i Xij = 1, i 1, 2, ..., m (Cada recurso designado a uma atividade) J Xij {0,1} para todo i = 1, 4 e j = 1, 4 (binárias) Pesquisa Operacional - UNESP / Campus de Guaratinguetá 5 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 ] A 5 24 13 7 B 10 25 3 23 C 28 9 8 5 D 10 17 15 3 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 6 Modelo em Redes 1 5 A 24 7 10 1 B 1 C 10 1 D 1 II 1 III 1 IV 1 13 25 3 23 28 I 9 8 5 17 15 3 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 7 Modelo da Designação - Exemplo Como exemplo, uma designação viável pode ser identificada da forma abaixo : [ I II III IV ] A B C D Neste caso a matriz corresponde a: X= 5 24 10 25 28 9 10 17 13 3 8 15 7 23 5 3 X associada com os valores das variáveis básicas Xij 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 O valor do tempo total de designação associado a esta solução é calculado por: CT = C ij . X ij = 5 . 1 + 9 . 1 + 15 . 1 + 23 . 1 = 52 i J Pesquisa Operacional - UNESP / Campus de Guaratinguetá 8 Modelo completo para o exemplo dos operários e tarefas Variáveis de decisão: i = 1, 4 e j = 1,4 1, se a tarefa i for para operário j Xij = 0, caso contrário 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 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 9 Modelo completo para o exemplo dos operários e tarefas Restrições: sujeito a X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 X31 + X32 + X33 + X34 = 1 X41 + X42 + X43 + X44 = 1 X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 X13 + X23 + X33 + X43 = 1 X14 + X24 + X34 + X44 = 1 (para as tarefas) (para os operários) Xij {0,1} para todo i = 1, 4 e j = 1, 4 Pesquisa Operacional - UNESP / Campus de Guaratinguetá (binárias) 10 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. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 11 Aplicação do Método Húngaro ao exemplo dos operários e tarefas Fase 1: fazendo a redução das linhas: I II III IV Menor A 5 24 13 7 5 B 10 25 3 23 3 C 28 9 8 5 D 10 17 15 5 3 3 Fase 1: fazendo a redução das colunas: I A 0 II 19 B 7 22 0 20 C 23 4 3 0 D Menor 7 0 14 4 12 0 0 0 Pesquisa Operacional - UNESP / Campus de Guaratinguetá III 8 IV 2 12 Aplicação do Método Húngaro ao exemplo dos operários e tarefas Fase 2: Procurando identificar uma designação completa: I II III IV A [0] 15 8 2 B 7 18 [0] 20 C 23 [0] 3 0 D 7 10 12 [0] 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 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 13 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)). 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á 14 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 adicionais (B) e (C) até não se conseguir marcar linhas ou colunas (E) Cobrir com uma reta cada linha não marcada e cada coluna marcada Pesquisa Operacional - UNESP / Campus de Guaratinguetá Ir à Fase 3 – Etapa (IV) 15 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. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 16 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. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 17 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 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 18 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: Local DIRETOR 1 2 3 4 A 2 1 4 2 B 3 4 1 6 C 1 2 6 5 D 1 3 3 7 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 19 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 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 20 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 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 21 Exemplo Fase 2: Tentando identificar uma designação completa – Etapa II 1 2 3 4 A 1 [0] 3 B 2 3 [0] 4 C [0] 1 5 3 D 2 2 5 Não foi obtida uma designação completa Ir para a Fase 3. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 22 Exemplo Fase 3: Etapa (III) - Proteger os Zeros (A): Marcar linha sem Designação 1 2 3 4 A 1 [0] 3 B 2 3 [0] 4 C [0] 1 5 3 D 2 2 5 Marca * Marca Pesquisa Operacional - UNESP / Campus de Guaratinguetá 23 Exemplo Fase 3: Etapa (III) - Proteger os Zeros (B): Em linha marcada, marcar coluna com zero 1 2 3 4 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á Marca * 24 Exemplo Fase 3: Etapa (III) - Proteger os Zeros ( C): Em coluna marcada, marcar linha com zero designado 1 2 3 4 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á Marca 25 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) Pesquisa Operacional - UNESP / Campus de Guaratinguetá 26 Exemplo Fase 3: Etapa (III) – Proteger os zeros Fase (E): traçar reta sobre linha não marcada e sobre coluna marcada 1 2 3 4 Marca A 1 [0] 3 B 2 3 [0] 4 C [0] 1 5 3 * D 2 2 5 * Marca * Fase 3 - Etapa (IV): O menor elemento não coberto por alguma reta é = 1, na posição (C, 2). Pesquisa Operacional - UNESP / Campus de Guaratinguetá 27 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 2 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 28 Fase 2 – Etapa II 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 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á 29 Exercícios 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á 30 Exercícios A B C D Álgebra Cálculo I Computação Cálculo II 7 8 4 5 10 7 9 4 8 8 3 6 3 1 5 9 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? Pesquisa Operacional - UNESP / Campus de Guaratinguetá 31 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: Pesquisa Operacional - UNESP / Campus de Guaratinguetá 32 Exercícios Vendedor A B C D I 0,7 0,8 0,5 1,0 II 0,7 0,8 0,5 0,4 Região III 0,7 0,8 0,5 1,0 IV 1,0 1,0 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á 33 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): 1 1 20 Produto 2 8 3 5 2 23 29 8 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Máquina 3 4 38 15 6 35 3 4 5 35 35 7 34 Exercícios Custos de Distribuição ($/unidade): 1 1 20 2 7 3 5 2 50 90 5 Máquina 3 4 20 10 8 35 4 15 5 13 80 6 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: 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. Pesquisa Operacional - UNESP / Campus de Guaratinguetá 35