Análise de Sensibilidade Transparências de apoio à disciplina de Investigação Operacional rupo de ontrolo e estão Análise de Sensibilidade A análise de sensibilidade permite responder a um conjunto de questões What If identificando as alterações verificadas na solução óptima do problema quando se verificam pequenas variações num dos parâmetros do modelo (termo independente ou coeficiente da função objectivo), sem ser necessário voltar a resolver o problema. rupo de ontrolo e estão
Importância. Muitas vezes, os parâmetros de um modelo de programação linear são apenas estimativas de quantidades (por eemplo lucros) que não podem ser determinados com precisão na altura em que se desenvolve o modelo. Uma análise what if permite identificar até que ponto as estimativas devem ser precisas para se evitar obter uma solução óptima errada, ou seja, quais os parâmetros sensíveis para os quais se requer um cuidado particular na realização das estimativas.. Se as condições presentes quando se desenvolveu o modelo se alterarem após a sua implementação, a análise de sensibilidade permite saber (sem voltar a resolver o modelo) se essas alterações significam uma mudança na solução óptima. 3. Quando alguns parâmetros do modelo representam decisões de gestão, a análise de sensibilidade providencia uma ajuda importante acerca do impacto de alterações de política têm sobre o problema. rupo de ontrolo e estão Eemplo MaZ = 80 + 40 6 + 4 + 3 9 + 3, 400 500 700 0 600 400 A Pedala e Anda prevê aumentar o lucro das bicicletas todo o terreno para 85, através da aquisição de materiais mais baratos a outro fornecedor. Que impacto terá essa variação do lucro nas decisões a tomar pela empresa? 00 400 600 800 O que esperar de uma redução da capacidade do departamento de maquinagem para 300 horas devido à avaria de uma máquina? rupo de ontrolo e estão
Mudança num coeficiente da função objectivo D 600 400 A variação de um coeficiente da função objectivo implica uma mudança de declive da recta D que representa essa função. Se o declive da recta D se mantiver entre o declive da recta D e D então a solução óptima do problema não se altera: = 00 e = 300. No entanto o valor de Z altera-se. Z = 80 + 40 = 00 400 600 800 D D O declive da recta D é - O declive da recta D é -3/ O declive da recta D é -3 rupo de ontrolo e estão Mudança num coeficiente da função objectivo Verifica-se, então que se o declive da recta D (-a/b) se mantiver entre -3/ e -3 não haverá alteração da solução óptima Fiando o coeficiente em 80 a = 40 3 a = = 3 60 = a = 0 40 Fiando o coeficiente em 40 80 = b 3 80 = = 3 53,33 = b = 6,66 b rupo de ontrolo e estão 3
Solver - Relatório Análise de sensibilidade Se a pedala e anda aumentar o lucro das bicicletas todo o terreno para 85 a solução óptima continua a ser produzir 00 modelos TT e 300 modelos PP O lucro passará a ser 85 X 00 + 40 X 300 = 9 000 em vez dos 8 000 anteriores. rupo de ontrolo e estão Mudança num coeficiente da função objectivo Se um coeficiente da FO alterar mais do que o intervalo permitido então a solução óptima altera-se. Por eemplo considere-se o aumento de coeficiente de para 60. 600 400 Nova solução óptima 00 400 600 800 rupo de ontrolo e estão 4
Mudança num termo independente 6 + 4 K + 3 500 9 + 3 700, 0 Quando K = 400 a S.O. situa-se na intercepção das rectas D e D que representam as restrições activas 000 800 600 400 00 400 600 800 rupo de ontrolo e estão Mudança num termo independente 600 000 O aumento de K muda o SA, a solução óptima e 800 o valor da F.O 000 800 600 K = 57,43 400 400 00 400 600 800 00 400 600 800 rupo de ontrolo e estão 5
Mudança num termo independente Quando K aumenta de 400 até 57,43 verifica-se uma alteração da solução óptima mas esta continua a ser dada pela intercepção das rectas que representam as restrições de maquinagem e montagem. Quando K = 57,43 a S.O. passa a situar-se sobre a intercepção das 3 restrições. A partir desse valor, se K continuar a aumentar, deia de se verificar uma alteração na solução óptima, que passa a ser a intercepção entre a recta que representa a restrição de soldadura e a que representa a restrição de montagem = 7,43 e = 385,7 A restrição de soldadura passa a estar activa e a restrição de maquinagem deia de estar activa. rupo de ontrolo e estão usto reduzido e preço sombra usto reduzido: alteração verificada em Z se formos obrigados a ter uma das variáveis de decisão superior a zero. O custo reduzido pode ser visto como o incentivo que deve ser dado para que uma variável tenha um valor superior a zero. Preço sombra: aumento verificado em Z quando se aumenta o valor de um dos termos independentes em unidade. Para eemplificar estes dois conceitos pode-se voltar a resolver o problema pedala & anda, assumindo agora que o lucro de uma bicicleta TT se mantém em 80 mas que o lucro das bicicletas PP subiu para 60 rupo de ontrolo e estão 6
usto reduzido e preço sombra Qual a solução óptima para a Pedala & Anda com estes novos lucros? Produzir 0 bicicletas TT e 600 bicicletas PP, obtendo um lucro de 36 000. Esgota-se a capacidade do departamento de maquinagem, sobram 300 horas de trabalho no departamento de soldadura e 900 horas no departamento de montagem. élula de destino (Má) élula Nome Valor original Valor final $D$6 FO 0 36000 élulas ajustáveis élula Nome Valor original Valor final $B$4 0 0 $$4 0 600 Restrições élula Nome Valor da célula Fórmula Estado Tolerância $D$9 Maquinagem 400 $D$9<=$E$9 Arquivar 0 $D$0 Soldadura 00 $D$0<=$E$0 Não arquivar 300 $D$ Montagem 800 $D$<=$E$ Não arquivar 900 rupo de ontrolo e estão usto reduzido e preço sombra O que acontece se o lucro das bicicletas PP baiar para 55? E para 50? O que acontece se o lucro aumenta? Se o lucro baiar para 55 (diminuição de 5), mantém-se nos limites -6,67 a infinito e consequentemente o plano de produção mantém-se: 0 BTT e 600 BPP. O lucro diminui em 5 X 600 = 3 000. Uma diminuição de 0 > 6,67 no lucro das BPP conduz a uma alteração na solução óptima. Para saber o efeito dessa alteração é necessário alterar o coeficiente no modelo e voltar a resolver o problema. Qualquer que seja o aumento no lucro das BPP não haverá alteração no plano de produção, verificando-se no entanto um aumento do lucro. élulas ajustáveis Final Reduzido Objectivo Permissível Permissível élula Nome Valor usto oêficiente Aumentar Diminuir $B$4 0-0 80 0 E+30 $$4 600 0 60 E+30 6,666666667 rupo de ontrolo e estão 7
usto reduzido e preço sombra Que lucro deveriam dar as BTT para que a sua produção fosse vantajosa? Ou se formos obrigados a produzir BTT que impacto isso tem sobre o lucro? Se formos forçados a produzir BTT perderemos 0 (usto reduzido) por cada BTT que produzirmos. A variável é nula na solução óptima, ou seja não se devem produzir BTT. Isso significa que o lucro das BTT não compensa o consumo de recursos necessários ao seu fabrico. Para que o fabrico de BTT passa a ser vantajoso é necessário que o seu lucro aumente em 0 unidades monetárias (custo reduzido). élulas ajustáveis Final Reduzido Objectivo Permissível Permissível élula Nome Valor usto oêficiente Aumentar Diminuir $B$4 0-0 80 0 E+30 $$4 600 0 60 E+30 6,666666667 rupo de ontrolo e estão usto reduzido e preço sombra O que acontece se se conseguir aumentar o tempo disponível no departamento de maquinagem de hora? E de 00, 500, 650. O aumento de uma hora disponível no departamento de maquinagem irá representar um aumento do lucro (Z) de 5 (Preço sombra). O aumento de 00 horas disponíveis aumenta o lucro em 00 X 5 = 500 e de 500 horas representa um aumento de 500 X 5 = 7500 no lucro. Note-se que este aumento de tempo disponível pode conduzir a alterações do plano de produção. Este raciocínio é válido enquanto o aumento não for superior a 600 horas. Se o aumento do tempo disponível for de 650 horas > 600 horas é necessário voltar a correr o modelo, alterando o termo independente, para ver o que acontece em termos de lucro e plano de produção. Uma diminuição do tempo disponível no departamento de montagem implica uma diminuição do lucro em 5 por cada hora que se diminui. Note-se que para as restrições não activas o preço sombra é nulo. Restrições Final Sombra Restrição Permissível Permissível élula Nome Valor Preço Lado direito Aumentar Diminuir $D$9 Maquinagem 400 5 400 600 400 $D$0 Soldadura 00 0 500 E+30 300 $D$ Montagem 800 0 700 E+30 900 rupo de ontrolo e estão 8
Problemas de Afectação Transparências de apoio à disciplina de Investigação Operacional rupo de ontrolo e estão Problemas de Afectação aso particular de Programação Linear Problema típico: O problema típico de afectação (PA) é afectar pessoas a tarefas Para que se possa definir um problema como PA é necessário observar os seguintes pressupostos: O nº de pessoas e tarefas tem que ser o mesmo (n) ada pessoa só é afectada a uma e uma só tarefa e vice-versa Eiste um custo associado a cada pessoa para fazer cada tarefa (cij) O objectivo é minimizar o custo total, afectando as n pessoas às n tarefas rupo de ontrolo e estão 9
Problemas de Afectação Modelo de programação linear: F.O: n n min Z = i= j= c ij ij Suj a: n i= n j= ij ij ij =, j =, i { 0, }, i, j rupo de ontrolo e estão Problemas de Afectação Eemplo de uma empresa de parafusos A empresa Roscado, pretende fazer uma reestruturação dos seus 3 funcionários de oficina (O, O, O3) e decidiu afectar cada uma das 4 máquinas (M, M, M3, M4) que dispõe a um e um só funcionário. Sabe-se que o operário não sabe funcionar com a máquina 4 (máquina de tecnologia avançada). O desperdício que cada funcionário efectua em cada máquina pode ser traduzido no quadro seguinte (em /dia) M M M3 M4 O 3 5 O 4 4 X O3 3 5 9 O objectivo é saber qual o operário que irá operar com cada máquina e para que máquina deve ser contratado um novo operário indiferenciado. rupo de ontrolo e estão 0
Problemas de Transportes Transparências de apoio à disciplina de Investigação Operacional rupo de ontrolo e estão Problemas de Transportes aso particular de Programação Linear Problema típico: O problema típico de transportes (PT) é transportar bens ou serviços de n origens para m destinos Nos PT é necessário que se observem os seguintes pressupostos: Eistem n origens com um determinado bem ou serviço disponível Eistem m destinos que têm necessidades desse bem ou serviço Eiste um custo unitário associado ao transporte desse bem ou serviço de cada origem para cada destino O objectivo é minimizar o custo de transporte, satisfazendo as necessidades, tendo em conta as disponibilidades rupo de ontrolo e estão
Problemas de Transportes Modelo de programação linear: F.O: Suj a: min Z = m j= n i= n 0 ij m i= j= ij c ij d, i ij n, j ij i j ij - quantidade a transportar da origem i ao destino j cij - custo de transportar uma unidade da origem i ao destino j di - oferta na origem I nj - procura no destino j rupo de ontrolo e estão Problemas de Transportes Forma standard Para que um PT possa ser resolvido utilizando um algoritmo próprio, aproveitando a sua estrutura particular, é necessário que a oferta de bens e serviços seja igual á procura dos mesmos. Quer dizer que a soma das disponibilidades nas origens tem que ser igual à soma das necessidades nos destinos. n i= m d i = n j= j As restrições passam a: m j= n i= ij ij = d, i i = n, j j rupo de ontrolo e estão
Problemas de Transportes Forma standard Somando as equações das restrições da oferta obtém-se n m i= j= n ij = d i= i Somando as equações das restrições da procura obtém-se n m i= j= m ij = n j= i Obtém-se a mesma equação. As equações são linearmente dependentes. Eiste uma equação a mais. Num PT na forma standard só é necessário ter n+m- restrições rupo de ontrolo e estão Problemas de Transportes Eemplo de um distribuidor de automóveis: O distribuidor dos automóveis Apel pretende abastecer os seus concessionários a partir dos seus armazéns situados no país. Sabe-se que cada stand necessita de ser abastecido com 0 viaturas do modelo Ostra. O seu armazém do Norte dispõe de 5 viaturas deste modelo, enquanto que o do centro possui 5 e o do sul 0. O custo unitário de transportar cada automóvel para cada stand pode ser traduzido pelo seguinte quadro. Stand 3 Norte 3 Armazém entro 4 5 Sul 3 3 4 rupo de ontrolo e estão 3
Problemas de Transportes Formulação: min + + + 33 + + 4 + 5 3 + 33 + 33 433 suj a: 3 3 ij + + + + + + 0 3 3 + + + + + + 3 3 33 3 3 33 5 5 0 0 0 0 rupo de ontrolo e estão Problemas de Transportes aso particular Um problema de afectação é um caso particular de um problema de transportes em que: O número de origens e destinos é o mesmo; A quantidade a transportar entre cada origem e cada destino é igual a. rupo de ontrolo e estão 4
Programação Inteira e Programação Binária Transparências de apoio à disciplina de Investigação Operacional rupo de ontrolo e estão Programação Inteira Na solução de um problema de programação linear, as variáveis de decisão podem ter valores inteiros ou fraccionários. Nenhuma das restrições de um modelo de programação linear impede o aparecimento de valores fraccionários. Para alguns problemas as variáveis de decisão só têm sentido se tomarem valores inteiros (afectação de pessoas, veículos ou equipamentos a determinadas actividades). É para estas situações que eiste a programação inteira. rupo de ontrolo e estão 5
Programação Inteira A TAP - Transportes Aéreos Portuenses é uma pequena empresa especializada em voos de curto curso em aviões de pequena dimensão. A TAP pretende epandir as suas operações. Para isso pretende adquirir aviões pequenos para novas rotas de curto curso, aviões grandes para operar em rotas internacionais ou ambos. Os dados relevantes para a decisão a tomar pela TAP são apresentados na tabela seguinte: Aviões pequenos Aviões grandes apital disponível Receita anual esperada milhão 5 milhões usto de aquisição 5 milhões 50 milhões 00 milhões Quantidade máima sem limite rupo de ontrolo e estão Programação Inteira Modelo de programação linear Ma ( Z) = + Sujeito a: 5, 5 + 50 0 00 3 Solução óptima: = ; =,8 Receita = Solução arredondada: = ; = Receita = 7 3 rupo de ontrolo e estão 6
Programação Inteira A solução óptima do modelo de programação linear não é possível uma vez que é necessário comprar um número inteiro de aviões. Às vezes o arredondamento da solução do modelo de PL pode ser uma opção razoável. Por eemplo se o valor das variáveis for elevado, e se eistir alguma fleibilidade para violar as restrições do problema. Nesses casos o arredondamento pode ser um procedimento aceitável. Suponha-se que o valor de seria 0,8, neste caso o arredondamento para 0 seria perfeitamente aceitável. No eemplo anterior o arredondamento de para implicaria um investimento adicional de 0 milhões, o que é inaceitável para a TAP. Além disso, não eiste garantia de que a solução (, ) seja a solução óptima inteira. Assim, neste caso é necessário recorrer à programação inteira. rupo de ontrolo e estão Programação Inteira Modelo de programação Inteira Ma ( Z) = + Sujeito a: 5,, 5 + 50 0 Inteiros 00 3 Solução óptima: = 0; = Receita = 0 3 rupo de ontrolo e estão 7
Programação Inteira Dificuldades associadas ao arredondamento A solução arredondada pode não ser admissível. A solução arredondada pode não se encontrar próimo do óptimo. Pode eistir um grande número de soluções arredondadas. 5 4 3 3 4 5 Eemplo: considere um problema em que 30 das variáveis do modelo de programação linear são não inteiras. Quantas soluções arredondadas se podem obter? rupo de ontrolo e estão Programação Inteira Programação Inteira Modelo Ecell rupo de ontrolo e estão 8
Programação Inteira onclusões Os algoritmos eistentes para resolver problemas de programação inteira não são tão eficiente como o algoritmo de simple é para a resolução de problemas de programação linear. Apesar disso, dependendo da compleidade do problema, o solver pode lidar com modelos com mais de 00 variáveis. Para problemas mais compleos eistem softwares que tem tido sucesso na resolução de problemas de PI de grandes dimensões. Podem considerar-se modelos de PI pura, quando têm de ter valores inteiro e modelos de PI mistos quando apenas algumas das variáveis têm de ter valores inteiros. rupo de ontrolo e estão Programação binária A programação binária é particularmente útil quando o problema considerado envolve decisões do tipo sim ou não. Neste caso se a decisão for do tipo sim a variável correspondente toma o valor, caso contrário a variável toma o valor 0. Um modelo de programação binária considera várias opções representadas por variáveis binárias, com o objectivo de considerar a melhor combinação de opções a aceitar. Podem considerar-se problemas de PB pura quando todas as variáveis são binárias e problemas de PB mistos quando só algumas variáveis são binárias. rupo de ontrolo e estão 9
Programação binária Aplicações: Escolha de uma carteira de investimento Afectação de veículos a rotas Sequenciamento de actividades interelacionadas Deve uma actividade ocorrer durante um determinado período rupo de ontrolo e estão Programação binária Eemplo Uma empresa em epansão pretende construir novas instalações (fábricas e armazéns). Essas novas instalações deverão ser construídas em oimbra, no Porto ou se for vantajoso em ambas as cidades. A empresa pretende construir apenas um novo armazém que deverá estar localizado numa cidade onde construa uma nova fábrica. Formule o modelo de programação binária adequado. Dados do problema Pergunta sim ou não Lucro anual esperado usto construir fábrica em oimbra 9 milhões 6 milhões construir fábrica no Porto 5 milhões 3 milhões construir armazém em oimbra 6 milhões 5 milhões construir armazém no Porto 4 milhões milhões apital disponível 0 milhões rupo de ontrolo e estão 0
Programação binária Variáveis de decisão associadas ao problema V. Decisão Valores possíveis se a variável é se a variável é 0 0, construir fábrica em oimbra não construir fábrica em coimbra 0, construir fábrica no Porto não construir fábrica no Porto 3 0, construir armazém em oimbra não construir armazém em oimbra 4 0, construir armazém no Porto não construir armazém no Porto Função objectivo Ma ( Z) = 9 + + 5 + 63 4 4 rupo de ontrolo e estão Programação binária Restrições 6 + 3 + 53 + 4 0 Limitação do capital disponível 3 + 4 arante que só se constrói um armazém 3 arante que só se constrói um armazém em oimbra se se construir uma fábrica em oimbra 4 arante que só se constrói um armazém no Porto se se construir uma fábrica no Porto rupo de ontrolo e estão
Programação binária rupo de ontrolo e estão Programação binária A TAP Transportes Aéreos Portuenses pretende afectar 3 tripulações sedeadas em São Francisco de modo a garantir que todos a cidades que Norte Americanas que serve sejam servidas.. As sequências de voos que podem ser realizadas e os respectivos custos encontram-se listados na tabela seguinte. Sequências de voos realizáveis 3 4 5 6 7 8 9 0 S. Fransisco - L A S. Fransisco - Denver S. Fransisco - Seatle L A - hicago 3 3 L A - S. Fransisco 3 5 5 hicago - Denver 3 3 4 hicago - Seatle 3 3 3 3 4 Denver - S. Fransisco 4 4 5 Denver - hicago Seatle - S. Fransisco 4 4 5 Seatle - L A 4 4 usto 3 4 6 7 5 7 8 9 9 8 9 rupo de ontrolo e estão