Introdução à Otimização: Programação Linear

Tamanho: px
Começar a partir da página:

Download "Introdução à Otimização: Programação Linear"

Transcrição

1 Introdução à Otimização: Programação Linear Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto

2 Roteiro Otimização Introdução Motivação Modelagem em Programação Matemática Programação Linear: princípios básicos Programação Linear por Metas (Goal programming) Programação Inteira: princípios básicos Softwares de Otimização: LINGO / COIN-CLP / GLPK / CPLEX Heurísticas computacionais para otimização Conceitos básicos Heurísticas construtivas Heurísticas clássicas de refinamento Metaheurísticas Simulated Annealing Variable Neighborhood Search (VNS) Iterated Local Search (ILS) Algoritmos Genéticos Aplicações de técnicas de otimização a processos produtivos: Alocação dinâmica de caminhões Planejamento da produção, Controle de Pátio de Minérios Corte de Estoque (Cutting Stock) Seleção de projetos

3 Otimização Área da Pesquisa Operacional que utiliza o método científico para apoiar a tomada de decisões, procurando determinar como melhor projetar e operar um sistema, usualmente sob condições que requerem a alocação de recursos escassos. Trabalha com modelos determinísticos As informações relevantes são assumidas como conhecidas (sem incertezas) Aplicações típicas: Mistura de minérios Planejamento da produção Roteirização Escala de pessoal

4 Problema de Roteamento de Veículos (Vehicle Routing Problem) () () () 6 () [5] (9) () 5 () 7 6 () () 9 (7) 8 () () () 5 () (5)

5 Problema de Roteamento de Veículos (Vehicle Routing Problem) () () () 6 () [5] (9) () 5 () 7 () 8 () 9 6 () (7) () () 5 () (5) Dentre todas as possíveis roteirizações, determine aquela que minimiza a distância total 5 percorrida

6 Escala de Motoristas (Crew Scheduling) 6

7 Escala de Motoristas (Crew Scheduling) 7

8 Escala de Motoristas (Crew Scheduling) 8

9 Escala de Motoristas (Crew Scheduling) 9

10 Escala de Motoristas (Crew Scheduling)

11 Escala de Motoristas (Crew Scheduling) Redução de um tripulante!

12 Programação de jogos de competições esportivas (Sports timetabling) INTRODUÇÃO Montar uma tabela de jogos entre os times participantes de uma competição esportiva Satisfazer as restrições da competição Minimizar os custos relativos ao deslocamento dos times

13 Programação de jogos de competições esportivas (Sports timetabling) INTRODUÇÃO () Atlético () 7Km Grêmio Santos 7Km 586Km 9Km Vitória 7Km Grêmio Atlético 586Km Santos 7Km 7Km Vitória Vitória Atlético Grêmio Atlético Atlético Santos Distância total percorrida: 676 Km Atlético Vitória Grêmio Atlético Atlético Santos Distância total percorrida: 58 Km Economia = 78 Km

14 Programação de jogos de competições esportivas (Sports timetabling) JUSTIFICATIVA DO TRABALHO Gastos com deslocamento Influência no desempenho dos times Enquadra-se na classe de problemas NP-difíceis Número de tabelas possíveis para uma competição envolvendo n times confrontando-se entre si em turnos completos (Concílio & Zuben ()): ( n )!( n )!( n 5)!...( n ( n ))! n ( n ) Competição com participantes:,96 tabelas possíveis (apro. anos para analisar todas as tabelas em um computador que analisa uma tabela em -8 segundos)

15 Programação de jogos de competições esportivas (Sports timetabling) PROBLEMA ABORDADO ª Divisão do Campeonato Brasileiro de Futebol, 5 e 6 ª Divisão do Campeonato Brasileiro de Futebol 6 Competições realizadas em dois turnos completos e espelhados Restrições do problema. Dois times jogam entre si duas vezes, uma no turno e a outra no returno, alternando-se o mando de campo entre os mesmos. Nas duas primeiras rodadas de cada turno, cada time alternará seus jogos, sendo um em casa e o outro na casa do adversário. Por e.: ª fora, ª em casa. As duas últimas rodadas de cada turno devem ter a configuração inversa das duas primeiras rodadas de cada turno com relação ao mando de campo. E.: Penúltima em casa, Última fora. Não pode haver jogos entre times do mesmo estado na última rodada 5. A diferença entre os jogos feitos em cada turno em casa e fora de casa de um time não pode ser maior que uma unidade 6. Um time não pode jogar mais que duas vezes consecutivas dentro ou fora de casa 5

16 Programação de jogos de competições esportivas (Sports timetabling) RESULTADOS COMPUTACIONAIS Melhores soluções obtidas pelos métodos Instâncias CBF Biajoli et al. () ILS-MRD DIST DIF DIST DIF DIST DIF %MDIST %MDIF bssp ,6,89 bssp ,9,7 bssp6-a ,8 5,88 bssp6-b , 6,9 Economia possível: Considerando o custo do quilômetro aéreo a R$,7 Delegação de pessoas Campeonatos e 5, Série A: Apro. R$ milhões Campeonato 6, Série A: Apro. R$ milhão Campeonato 6, Série B: Apro. R$ 5 mil 6

17 Controle de Pátio de Minérios Aplicação na mina Cauê, Itabira (MG), da CVRD pátios de estocagem de minérios Minérios empilhados em balizas Pilhas formadas por subprodutos com composição química e granulométrica diferentes Objetivo é compor um lote de vagões (± 8), atendendo às metas de qualidade e produção de um dado produto Eemplos de algumas restrições operacionais: Retomar uma pilha toda sempre que possível Concentrar retomada Retomar minério da esquerda para a direita e de cima para baio 7

18 Controle de Pátio de Minérios Pátio de Estocagem Cauê 8

19 Controle de Pátio de Minérios Equipamentos de empilhamento e recuperação Recuperadora (Bucket Wheel) Recuperadora Tambor (Drum) Empilhadeira (Stacker) 9

20 Controle de Pátio de Minérios Silos de embarque

21 Controle de Pátio de Minérios Programação/Simulação

22 Controle de Pátio de Minérios SECA Fe SiO P Al O Mn MgO HO +6, +, -,5 LSG -,5,,,6 - -, - 7, LSE -,85,8,8, - 6,5 8, - 7, META -,6,,7, ,5 6,, LIE , - LIG , - CRIT. - CR CR CR CR SFCA Fe SiO P Al O Mn MgO HO +6, +, -,5 LSG - 5,,59, ,5 - -, LSE -,5,, - - 6, , META -,,5,,7-6, - 5,, LIE 65,, LIG -, CRIT. - CR MI CR - - MI - - CR

23 Controle de Pátio de Minérios PCCA Teor de SiO (%) 5,6 5, 5, 5,,8,6,,, 5 Lotes LSE Meta Manual Sistema

24 Controle de Pátio de Minérios PCCA,5 Teor de P (%),,5,,5 LSE Meta Manual Sistema, 5 Lotes

25 Controle de Pátio de Minérios PCCA Teor de Al O (%),8,7,6,5,,,,, 5 Lotes LSE Meta Manual Sistema 5

26 Controle de Pátio de Minérios PCCA,,5 Teor de Mn (%),,5,,5 LSE Meta Manual Sistema, 5 Lotes 6

27 Controle de Pátio de Minérios PCCA,, Teor de H O (%) 8, 6,,, LSE Meta Manual Sistema, 5 Lotes 7

28 Carregamento de produtos em Navios Navio Porão Porão... Porão N Produto Produto... Produto m 8

29 Carregamento de produtos em Navios: Características do problema Turnos de 6 horas de trabalho: 7h-h h-9h 9h-h h-7h 8 tipos de turnos: Dia útil (horários normal e noturno) Sábado (horários normal e noturno) Domingo (horários normal e noturno) Feriado (horários normal e noturno) Terno: equipe de trabalho atuando em um porão durante um turno 9

30 Carregamento de produtos em Navios: Características do problema Eiste um certo número de máquinas disponíveis para fazer o carregamento do navio: CN, CG e GB. Cada máquina possui uma produtividade diferente para cada tipo de produto.

31 Carregamento de produtos em Navios: Características do problema Produtos carregados em uma ordem preestabelecida. As equipes são remuneradas de acordo com a produção (ton.). Os custos variam de acordo com o produto carregado e o tipo do turno em que ocorre o terno. O custo total é dado pelo somatório dos custos com docas, encarregados, guincheiros, conferentes, estivadores e equipamento utilizado.

32 Carregamento de produtos em Navios: Características do problema Custo do carregamento dado pelo somatório dos custos dos ternos Carregamento concluído depois da data prevista em contrato: Demurrage (multa por dia de atraso) Carregamento concluído antes da data prevista em contrato: Prêmio (metade da multa) Objetivo é reduzir os custos com a mãode-obra

33 Modelos de Otimização Programação matemática: Fundamentados na matemática Métodos eatos: garantem a geração da solução ótima Método mais difundido: Programação Linear (PL) Desvantagens: Modelagem mais complea Em problemas combinatórios, podem eigir um tempo proibitivo para encontrar a solução ótima Heurísticos: Fundamentados na Inteligência Artificial Métodos aproimados: Não garantem a otimalidade da solução final Vantagens: De fácil modelagem Boas soluções podem ser obtidas rapidamente

34 Modelos de Programação Formulação algébrica: Linear otimizar f ( ) = n j= c j j função objetivo sujeito a n j= a ij j = b i i =,..., m j j =,..., n condições de não-negatividade restrições

35 Modelos de Programação Linear. As restrições representam limitações de recursos disponíveis (mão-de-obra, capital, recursos minerais ou fatores de produção) ou então, eigências e condições que devem ser cumpridas. j é uma variável de decisão, que quantifica o nível de operação da atividade j. b i representa a quantidade do i-ésimo recurso disponível ou a eigência que deve ser cumprida 5

36 Modelos de Programação Linear. c j representa o custo associado à j-ésima atividade 5. a ij é a quantidade do recurso i (eigido ou disponível) em uma unidade da atividade j 6. otimizar = maimizar ou minimizar 6

37 Solução Terminologia Qualquer especificação de valores para as variáveis de decisão Solução viável Solução que satisfaz a todas as restrições Solução ótima Solução viável que tem o valor mais favorável da função objetivo 7

38 Hipóteses assumidas em um modelo de programação linear Proporcionalidade O custo de cada atividade é proporcional ao nível de operação da atividade A quantidade de recursos consumidos por uma atividade é proporcional ao nível dessa atividade Divisibilidade As atividades podem ser divididas em qualquer nível fracionário Aditividade O custo total é a soma das parcelas associadas a cada atividade Certeza Assume-se que todos os parâmetros do modelo são constantes conhecidas 8

39 Problema da Mistura de Minérios Há um conjunto de pilhas de minério Em cada pilha há uma composição química e granulométrica diferente (% de Fe, SiO, AlO etc.) A cada pilha está associado um custo É necessário formar uma mistura com uma certa especificação Dentre as possíveis misturas que atendem a especificação requerida, o objetivo é encontrar aquela que seja de custo mínimo 9

40 Problema da Mistura de Minérios 6% Fe $/t Pilha 5% Fe 6 $/t Pilha Pilha 55% Fe 9 $/t t t t Solução : t. Pilha + t. Pilha = t. Ferro na mistura = 55% Mistura requerida: t., 55% Fe Solução : t. Pilha = t. minério Ferro na mistura = 55% Custo da mistura = $ 6 Custo da mistura = $ 8

41 Modelo de PL para o Problema da Mistura de Minérios Dados de entrada: Pilhas = Conjunto de pilhas Parametros = Conjunto dos parâmetros de controle (Teores, Granulometria) t ij = % do parâmetro de controle j em uma tonelada da pilha i tl j = % mínimo admissível para o parâmetro j tu j = % máimo admissível para o parâmetro j Qu i = Quantidade máima de minério, em toneladas, eistente na pilha i c i = Custo, em $, de uma tonelada de minério da pilha i p = quantidade, em toneladas, da mistura a ser formada Variáveis de decisão: i = Quantidade de minério a ser retirado da pilha i

42 Modelo de PL para o Problema da Mistura de Minérios min c i i i Pilhas t ij i Pilhas m i i Pilhas i tu j j Parametros % do parâmetro j na mistura não pode superar o valor máimo permitido t ij i Pilhas i i Pilhas i tl j j Parametros % do parâmetro j na mistura não pode ser inferior ao valor mínimo permitido i Qu i = i Pilhas i i i Pilhas p i Pilhas A quantidade a ser retomada em cada pilha i está limitada à Qu i A mistura deve ter peso total p Não-negatividade

43 Modelo de PL para o Problema da Mistura de Minérios Linearização das restrições min c i i i Pilhas ( t ) ij tu j i j Parametros i Pilhas Valor do parâmetro j na mistura não pode superar o valor máimo permitido ( t ) ij tl j i j Parametros i Pilhas Valor do parâmetro j na mistura não pode ser inferior ao valor mínimo permitido i Qu i i = i Pilhas i i Pilhas p i Pilhas A quantidade a ser retomada em cada pilha i está limitada à Qu i A mistura deve ter peso total p Não-negatividade

44 Modelo de PL para o Problema da Mistura de Minérios Problemas dessa modelagem de programação linear: Restrições são rígidas Na prática, pode não haver solução Nesse caso, otimizador aplicado ao modelo retorna que não há solução viável Qual a melhor solução inviável?

45 Programação linear por metas (goal programming) Permite trabalhar com restrições relaadas É mais fleível Cria variável de desvio para cada restrição que pode ser relaada Variável de desvio mensura a distância de viabilidade e é colocada na função objetivo, para ser minimizada O valor mínimo da variável de desvio representa a meta a ser atingida 5

46 Programação linear por metas (goal programming) Restrições do tipo min dp + + dp Desvio positivo = desvio para cima Desvio positivo (dp): Mede o quanto se ultrapassou de 6

47 Programação linear por metas (goal programming) Restrições do tipo + min dn + + dn Desvio negativo = desvio para baio Desvio negativo (dn): Mede o quanto faltou para chegar a 7

48 Programação linear por metas (goal programming) Restrições do tipo = min dp + dn + = + dp + dn = Mede o que supera Mede o que falta para chegar a 8

49 Programação linear por metas (goal programming) Dois métodos de solução são normalmente utilizados: Método dos pesos Método hierárquico Método dos pesos: Forma-se uma única função objetivo com o somatório ponderado das variáveis de desvio A cada variável de desvio é associado um peso, que reflete a importância relativa da restrição relaada Método hierárquico: É estabelecida, inicialmente, a hierarquia (prioridade) das metas Resolve-se o problema com a meta de maior prioridade (isto é, apenas a variável de desvio mais prioritária) Resolve-se, a seguir, o problema tendo como função objetivo uma meta de prioridade mais baia que a anterior, mas atribuindo o valor ótimo da meta anterior à variável de desvio correspondente, isto é, tratando a meta anterior como restrição do modelo O procedimento é eecutado de modo que a solução obtida de uma meta de prioridade mais baia nunca degrade qualquer solução de prioridade mais alta 9

50 Modelo de PL para a Mistura de Minérios com relaação dos limites de especificação Dados de entrada: Pilhas = Conjunto de pilhas Parametros = Conjunto dos parâmetros de controle t ij = % do parâmetro de controle j em uma tonelada da pilha i tl j = % mínimo admissível para o parâmetro j tu j = % máimo admissível para o parâmetro j Qu i = Quantidade máima de minério, em toneladas, eistente na pilha i p = quantidade, em toneladas, da mistura a ser formada wne j = Peso para o desvio negativo de especificação do parâmetro j na mistura wpe j = Peso para o desvio positivo de especificação do parâmetro j na mistura Variáveis de decisão: i = Quantidade de minério a ser retirado da pilha i dne j = Desvio negativo de especificação, em toneladas, do parâmetro j na mistura dpe j = Desvio positivo de especificação, em toneladas, do parâmetro j na mistura 5

51 min Modelo de PL para a Mistura de Minérios com relaação dos limites de especificação wpe j Parametros j dpe j + wne j Parametros j dne j Peso associado ao desvio negativo ( tij tu j ) i dpe j j Parametros i Pilhas ( tij tl j ) i + dne j j Parametros i Pilhas dne j i Qu i = i Pilhas p i i Pilhas, dpe j Parametros j Desvio positivo, em toneladas Desvio negativo, em toneladas i i Pilhas Admite-se que a quantidade do parâmetro j na mistura supere em dpe j toneladas a quantidade máima admitida Admite-se que a quantidade do parâmetro j na mistura esteja dne j toneladas abaio da quantidade mínima permitida A quantidade a ser retomada em cada pilha i está limitada à Qu i A mistura deve ter peso total p Não-negatividade 5

52 Problema da Mistura de Minérios com metas de qualidade e relaação dos limites de especificação Há um conjunto de 5 pilhas de minério Em cada pilha há uma composição química diferente (% de Fe, AlO etc.) É necessário formar 6 toneladas de um produto com uma certa especificação Para cada parâmetro de controle são dados os limites inferior e superior de especificação, bem como as metas de qualidade para o produto formado Cada parâmetro de controle é classificado em 5 critérios: irrelevante, importante, muito importante, crítico e muito crítico O peso de desvio de meta é igual ao produto do peso critério pelo peso de comparação O peso de comparação serve para colocar cada parâmetro de controle em uma mesma ordem de grandeza Dentre as possíveis misturas que atendem a especificação requerida, o objetivo é encontrar aquela que esteja o mais próimo possível das metas de qualidade 5

53 Mistura de Minérios com metas de qualidade e relaação dos limites de especificação: dados de entrada 5

54 Mistura de Minérios com metas de qualidade e relaação dos limites de especificação: modelo de PL Dados de entrada: Pilhas = Conjunto de pilhas Parametros = Conjunto dos parâmetros de controle t ij = % do parâmetro de controle j em uma tonelada da pilha i tl j = % mínimo admissível para o parâmetro j tu j = % máimo admissível para o parâmetro j tr j = % recomendada para o parâmetro j Qu i = Quantidade máima de minério, em toneladas, eistente na pilha i p = quantidade, em toneladas, da mistura a ser formada wnm j = Peso para o desvio negativo (de meta) do parâmetro j na mistura wpm j = Peso para o desvio positivo (de meta) do parâmetro j na mistura wne j = Peso para o desvio negativo (de especificação) do parâmetro j na mistura wpe j = Peso para o desvio positivo (de especificação) do parâmetro j na mistura Variáveis de decisão: i = Quantidade de minério a ser retirado da pilha i dnm j = Desvio negativo (de meta), em toneladas, do parâmetro j na mistura dpm j = Desvio positivo (de meta), em toneladas, do parâmetro j na mistura dne j = Desvio negativo (de especificação), em toneladas, do parâmetro j na mistura dpe j = Desvio positivo (de especificação), em toneladas, do parâmetro j na mistura 5

55 Mistura de Minérios com metas de qualidade e relaação dos limites de especificação: modelo de PL min ( tij tu j ) i dpe j j Parametros i Pilhas ( wpe j Parametros j dpe j + wne j dne ( tij tl j ) i + dne j j Parametros i Pilhas j + wpm dpm j j + wnm j dnm Admite-se que a quantidade do parâmetro j na mistura supere a quantidade máima permitida em dp j ton. Admite-se que a quantidade do parâmetro j na mistura seja inferior à quantidade mínima permitida em dn j ton. j ) ( tij trj ) i + dnm j dpm j = j Parametros i Pilhas Admite-se que haja ecesso (dpm j ) ou falta (dnm j ) no parâmetro j na mistura em relação à quantidade recomendada dne j, dpe j i Qu i = i Pilhas i i Pilhas p i i Pilhas, dnm, dpm j j j Parametros A quantidade a ser retomada em cada pilha i está limitada à Qu i A mistura total deve ter peso total p Não-negatividade 55

56 Resolução gráfica de PPL s Passos para resolver graficamente um PPL: a) Determinar o gradiente da função objetivo (Gradiente é perpendicular à reta definida pela função objetivo) b) Caminhar no sentido e direção do gradiente da função objetivo até tangenciar a região viável c) O ponto de tangência representa a solução ótima * 56

57 Fundamentação do Método SIMPLEX Seja resolver o seguinte PPL: ma + +, 57

58 Fundamentação do Método F * = (,), z* = 5 SIMPLEX A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) ma + +, E D G z = C + A ma z= + B H 58

59 Teorema Fundamental da Programação Linear O ótimo de um PPL, se eistir, ocorre em pelo menos um vértice do conjunto de soluções viáveis. Situações que podem ocorrer com relação ao conjunto M de soluções viáveis: ) M = {} Neste caso não há solução viável => Não há solução ótima 59

60 Teorema Fundamental da Programação Linear ) M é não vazio a) M é limitado * * y* Única solução ótima, a qual é vértice Infinidade de soluções ótimas, sendo duas vértices 6

61 Teorema Fundamental da Programação Linear ) M é não vazio b) M é ilimitado * * Única solução ótima, a qual é vértice Infinidade de soluções ótimas, sendo uma vértice 6

62 Teorema Fundamental da Programação Linear ) M é não vazio b) M é ilimitado * y* Infinidade de soluções ótimas, sendo duas vértices Não há soluções ótimas 6

63 Forma-padrão de um PPL PPL está na forma-padrão quando é posto na forma: n (min)ou (ma) z = c j j j= n j= aij j = bi i =,..., j j =,..., n m sendo b i i =,..., m 6

64 Redução de um PPL qualquer à forma-padrão Restrições do tipo = 5 Restrições do tipo = 7 6

65 Redução de um PPL qualquer à forma-padrão Eiste b i < Solução: Basta multiplicar restrição i por - Eistem variáveis não-positivas: Seja k : Solução: Criar variável k tal que k = - k Assim, modelo terá variável k 65

66 Redução de um PPL qualquer à forma-padrão Eistem variáveis livres, isto é, variáveis k que podem assumir qualquer valor real (negativo, nulo ou positivo): Solução: Substituir k por k k, com k e k k > k k > k = k k = k < k k < PPL é de maimização: ma f() = - min {-f()} 66

67 67 Caracterização de vértice, ma + +,,,, ma = + + = + = = 5 A b

68 68 Caracterização de vértice + A B C D E F G A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) H,,,, ma = + + = + =

69 Caracterização de vértice Em um ponto no interior do conjunto (não pertencente a nenhuma aresta) não há variáveis nulas Em uma aresta há, pelo menos, uma variável nula Em um vértice há, pelo menos, n-m variáveis nulas n - m m R B m n 69

70 Caracterização de vértice Para gerar um vértice: Escolher uma matriz não-singular B tal que: Fazer R = B B + R R = b Se ao resolver o sistema B B = b, for obtido B, então = ( B R ) t = ( B ) t é vértice Deste procedimento resulta uma Solução Básica Viável (SBV), com o significado geométrico de vértice. 7

71 Definições B = base = ( B R ) t B = vetor das variáveis básicas R = vetor das variáveis não-básicas Solução Básica (SB): vetor tal que B B =b e R = Solução Básica Viável (SBV): vetor tal que B B =b; B e R = Solução Básica Viável Degenerada (SBVD): É uma SBV em que eiste variável básica nula 7

72 Princípio de funcionamento do Algoritmo SIMPLEX SBV inicial Esta SBV pode ser melhorada? Não Pare: Esta SBV é ótima Sim Determine VNB que deve entrar na base Determine VB que deve deiar a base Encontre nova SBV 7

73 7 Princípio de funcionamento do Algoritmo SIMPLEX, ma + = + z,,,, ma = + + = + = + = z = 5 A b

74 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 5 z PPL na forma canônica: Base é a identidade e coeficientes das VB s na função objetivo são todos nulos. 7

75 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 5 z VB = { =, =, 5 = } VNB = { =, = } Solução inicial: () = ( ) t ; z = 75

76 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 (L ) (L ) (L ) 5 (L ) z Transformações elementares: L -L + L L -L + L 76

77 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 (L ) (L ) (L ) 5 - (L ) - z- VB = { =, =, 5 = } VNB = { =, = } Final da Iteração : () = ( ) t ; z = 77

78 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 (L ) (L ) (L ) 5 - (L ) - z- L -L + L L -L + L 78

79 Princípio de funcionamento do Algoritmo SIMPLEX VB 5 (L ) - (L ) (L ) - (L ) - - z-5 VB = { =, =, = } VNB = { =, 5 = } Final da Iteração : () = ( ) t ; z = 5 79

80 8 Interpretação geométrica + A B C D E F G A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) H,,,, ma = + + = + =

81 8 Situação em que a origem não pode ser solução inicial: Eemplo, ma + = + z,,,, ma = + = + = + = z = 5 A b

82 8 Método das Duas Fases + A B C D E F G A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) H,,,, ma = + = + =

83 Método das Duas Fases Primeira fase (Criar problema auiliar P ): Introduzir variáveis de folga e variáveis artificiais Variáveis de folga: introduzidas quando há variáveis do tipo ou Variáveis artificiais: introduzidas quando há restrições do tipo ou = Criar função objetivo artificial: z a = i a i i Variáveis básicas iniciais: variáveis de folga associadas às restrições e variáveis artificiais Objetivo da primeira fase: minimizar a função objetivo artificial Caminhar de SBV em SBV de P até alcançar SBV do problema original P (situação que ocorre quando todas as variáveis artificiais são nulas). 8

84 8 Método das Duas Fases Segunda fase: A partir de uma SBV do problema original P, gerar SBV cada vez melhores até se atingir a solução ótima. Aplicando o método das duas fases ao PPL dado, tem-se:,,,,, ma = + + = + = + = a a a z a a z = min

85 Método das Duas Fases VB 5 a (L ) (L ) (L ) a - (L ) z a (L 5 ) z Redução à forma canônica: L -L + L 85

86 Método das Duas Fases VB 5 a (L ) (L ) (L ) a - (L ) - - z a - (L 5 ) z L -L + L L L + L L 5 -L + L 5 86

87 Método das Duas Fases VB 5 a (L ) (L ) (L ) a - - (L ) - z a - (L 5 ) - z- L -L + L L L + L L 5 -L + L 5 87

88 Método das Duas Fases VB 5 a (L ) (L ) - (L ) - - (L ) z a (L 5 ) - z- Fim da primeira fase: z a = = (, ); z = 88

89 Método das Duas Fases VB 5 (L ) (L ) (L ) - - (L ) z- L L + L L -L + L 89

90 Método das Duas Fases VB 5 (L ) (L ) 5 (L ) (L ) - - z-6 Solução ótima: * = (,); z* = 6 9

91 Método das Duas Fases: Interpretação Geométrica F A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) E D G C ma + + +, +, + +, +, = = = A B H 9

92 9 Outro eemplo de aplicação do Método das Duas Fases: Eemplo, ma + = + z,,,, ma = + = + = = z = 5 A b

93 9 Método das Duas Fases: Eemplo Introduzindo variáveis artificiais no PPL dado, tem-se:,,,,,, ma = + + = + = + = a a a a a a z a a a z = min

94 Método das Duas Fases VB 5 a a (L ) a - (L ) (L ) a - (L ) z a (L 5 ) z Transf. para forma canônica: L -L L + L 9

95 Método das Duas Fases VB 5 a a (L ) a - (L ) (L ) a - (L ) - - z a -5 (L 5 ) z L -L + L L L + L L 5 -L + L 5 95

96 Método das Duas Fases VB 5 a a (L ) - (L ) (L ) a - - (L ) - - z a - (L 5 ) - z- L -L + L L L + L L 5 -L + L 5 96

97 Método das Duas Fases VB 5 a a (L ) - (L ) - - (L ) - - (L ) z a (L 5 ) - - z- Fim da primeira fase: z a = = (, ); z = 97

98 Método das Duas Fases VB 5 (L ) - (L ) - (L ) - (L ) - z- L L + L L -L + L 98

99 Método das Duas Fases VB 5 (L ) - (L ) 5 - (L ) (L ) - z-6 pode entrar na base melhorando o valor de z indefinidamente. Assim, não há solução ótima. 99

100 Método das Duas Fases: Interpretação Geométrica F A = (,) B = (,) C = (,) D = (,) E = (,) F = (,) G = (,) H = (,) E D G C ma + + +, +, + +, +, = = = A B H

101 Dualidade Seja o PPL, doravante chamado de PPL primal: ou, na forma epandida:.:. ) ( min = b A a s f c t n j m i b a a s c j n j i j ij n j j j,...,,..., :. min = = = =

102 Dualidade Associado a este PPL, eiste um PPL, chamado PPL dual: ma ub = f ( ) t s. a.: A u c u ou, na forma epandida: ma t D s. a : m i= m i= b u a i ij i u i u i c j j =,..., n i =,..., m

103 Dualidade: Regras de transformação Primal Dual Restrição = qq. Variável MIN MAX Variável qq. = Restrição Dual Primal

104 Dualidade: Vantagens Em situações na qual a matriz de coeficientes do primal tem maior número de linhas do que de colunas: Dual A base no DUAL é menor!!!

105 Dualidade: Vantagens É possível cercar a solução ótima. (Considere um PPL primal de minimização) f() (valor do primal) * = u* f D () (valor do dual) 5

106 6 Dualidade: Interpretação Econômica Seja o par de PPL s: n j m i b a a s f c j n j i j ij n j j j,...,,..., :. ) ( ma = = = = = m i u n j c u a a s u f b u i m i j i ij m i D i i,...,,..., :. ) ( min = = = = = PRIMAL DUAL

107 Dualidade: Interpretação Econômica Sejam * e u* soluções ótimas desses PPL s e seja B* a base relativa a essas soluções. Então: f ( * ) = f D ( u * ) = u * b = m i= Supondo b variável e derivando em relação a b, temos: f ( b * ) = Então u* é a taa de variação do valor ótimo da função objetivo f(*) com b. Como u*, então f(*) cresce à medida que b i cresce 7 u * b i u * i

108 Dualidade: Interpretação Econômica Considere o primal um problema de alocação de recursos, com m recursos disponíveis nas quantidades b, b,..., b m com os quais desejamos fabricar n produtos nas quantidades,,..., n a serem determinadas. Cada unidade do produto j consome a ij unidades do recurso i trazendo um retorno de c j unidades monetárias. Queremos determinar a quantidade a ser fabricada de cada produto de modo a maimizar o retorno. 8

109 Dualidade: Interpretação Econômica Suponha, agora, aumentada em uma unidade a quantidade disponível do recurso k, isto é, temos (b k + ) unidades. Suponha que a base associada permaneça a mesma. Neste caso, a nova solução ótima u** do dual permanece a mesma, uma vez que: u** = u* = (c B* ) t B* -. A nova solução ótima ** será: 9

110 Dualidade: Interpretação Econômica m ** * * ( ) = biui + ( bk ) uk i= i k m = * * * * b iui + uk = f ( ) + uk i= f + Isto é, f(**) f(*) = u k *, ou seja, u k * é o incremento no lucro trazido pelo aumento de uma unidade da matéria disponível k. u k * é chamado shadow price, dual, valor incremental, efficiency price, valor implícito, etc.

111 Análise de Sensibilidade (Pós-otimização) Seja o sistema A=b,com uma base B, e uma função objetivo f() Seja o quadro genérico do Simple em uma dada iteração colocado na forma matricial não canônica ( R ) t ( B ) t (L ) B R B b (L ) (c R ) t (c B ) t f()

112 Análise de Sensibilidade (Pós-otimização) Para colocar esse quadro na forma canônica devemos efetuar as seguintes transformações elementares: L B - L ( R ) t ( B ) t (L ) B B - R I B - b (L ) (c R ) t (c B ) t f() L -(c B ) t L + L

113 Análise de Sensibilidade (Pós-otimização) ( R ) t ( B ) t (L ) B B - R I B - b (L ) (c R ) t - (c B ) t B - R () t f()-(c B ) t B - b Seja: Y = B - R y j = B - a j B = B - b z = (c B ) t B - R z j = (c B ) t B - a j

114 Análise de Sensibilidade (Pós-otimização) ( R ) t ( B ) t (L ) B Y I B (L ) (c R ) t - z () t f()-f() Sendo: f() = c t = (c B ) t B + (c R ) t R = = (c B ) t B = (c B ) t B - b

115 Análise de Sensibilidade: E. Carteira de Investimentos Uma empresa gerencia recursos de terceiros através da escolha de carteiras de investimentos para diversos clientes, baseados em bonds de diversas empresas. Um de seus clientes eige que: Não mais de 5% do total aplicado deve ser investido em um único investimento; Um valor superior ou igual a 5% do total aplicado deve ser investido em títulos de maturidade maiores que anos; O total aplicado em títulos de alto risco deve ser, no máimo, de 5% do total investido. Considerando a tabela abaio de retorno, risco e maturidade dos diversos títulos, determine a estratégia ótima para o investidor de forma que a rentabilidade de sua aplicação seja máima. Título Retorno anual (%) Maturidade (anos) Risco 8,7 5 Muito baio 9,5 Regular, 8 Alto 9, 7 Baio 5 6,, 5 Alto 5 Muito alto 5

116 Carteira de Investimentos: Modelo de Programação Matemática ma rendimento j j j Titulos j, 5 j Titulos j Titulos j maturidade j,5 j j Titulos = j Titulos j risco j,5 6

117 Análise de sensibilidade: Carteira de Investimentos - Questões. Qual o melhor retorno que se pode obter? Quanto se deve aplicar em cada título para que se tenha o retorno ótimo?. Em qual percentual aumentaria o retorno se fosse permitido aplicar % a mais no Título? De quanto seria o retorno? Essa regra vale até quanto?. A partir de qual percentual a aplicação no título é vantajosa?. Se fosse imposto limitar a aplicação em cada título em % para um dentre os títulos, e 6, em qual título deveria ser feita a diminuição de aplicação? Justifique. 5. Quanto está influenciando a restrição de limitação de aplicação em título de alto risco? Qual seria o retorno se esta limitação fosse de 9%? 7

118 Análise de Sensibilidade: E. Produção de automóveis Uma empresa deve produzir automóveis. Ela tem quatro fábricas, as quais, devido a diferenças na mão-de-obra e avanços tecnológicos, as plantas diferem no custo de produção de cada carro. Elas também utilizam diferentes quantidades de matériaprima e mão-de-obra. A tabela abaio resume essas informações: Fábrica Custo (R$ mil) Mão-de-Obra Mat. Prima

119 Análise de Sensibilidade E. Produção de automóveis Um acordo trabalhista requer que pelo menos carros sejam produzidos na fábrica. Eistem horas de mão-de-obra e unidades de material que podem ser alocadas às fábricas. O modelo de programação matemática que otimiza a produção é: min j Fabricas j Fabricas j Fabricas j j Fabricas j c j j MObra j MatPrima = j j j TotMObra Producao Acordo j TotMatPrima j Fabricas Acordo j 9

120 Análise de sensibilidade: E. Produção de automóveis. Quais são as quantias ótimas de produção? Qual o custo da produção?. Quanto custa produzir mais um veículo? Quanto economizamos produzindo um veículo a menos?. Como mudaria a solução se custasse somente R$8., para produzir na fábrica? Como ficaria o custo?. Quanto estamos dispostos a pagar por uma hora de trabalho? 5. Quanto o acordo está custando? Qual seria a variação no custo se o acordo fosse de 5 carros? 6. Quanto vale a matéria-prima (conseguir mais uma unidade)? Quantas unidades estamos dispostos a pagar por esse preço? 7. Até que custo ainda é vantajoso produzir na fábrica?

121 Resolução de PPL s Inteiros Seja resolver: ma + + +, 9 5 Z + cuja solução ótima (contínua) é: = 8,89 =,58 z = 8,

122 Resolução de PPL s Inteiros Aplicando a estratégia de arredondamento, uma vez que os valores ótimos são fracionários, e providenciando uma busca racional no entorno do ponto ótimo, teríamos: Z= +9* 9 Inviável 9 8 Melhor valor 8 Inviável 8 7 No entanto, a solução ótima inteira é: = = z = 8 isto é, o erro é de % no arredondamento. Conclusão: Não é uma boa estratégia resolver o PPL (contínuo) e arredondar a solução resultante

123 Programação inteira: Branch-and and-bound Maimizar z = sujeito a : Eemplo etraído de: GOLDBARG & LUNA (5), Otimização Combinatória, Editora Campus., Z +

124 Programação inteira: Branch-and and-bound Solução Contínua = 9 = 5 Z= Disjuntiva 5 + ou 5

125 Programação inteira: Branch-and and-bound Soluções Inteiras A B z= =5 + =6 O C 5

126 Programação inteira: Branch-and and-bound 6

127 Programação inteira: Árvore de Branching P =,5 =,75 z=,5,, P =,8 =, z= P =, =, z=9,, P Inviável P =, =, z=,56 5,, P 5 = =5 z= P 6 =, =, z=7 7

128 Programação inteira: Branch-and-Bound Resolva pelo método Branch-and-Bound o PLI abaio Use a variante de Dank para decidir a variável a ramificar (Nessa variante, a variável a ramificar é aquela cujo valor está mais próimo de um valor inteiro) Em caso de empate, escolha a de menor índice Use busca em profundidade e analise primeiro o valor maior da variável ramificada, isto é, o valor min z = , + Ζ 9 j j + 8

129 Programação inteira: Árvore de Branching 9

130 Programação inteira: Árvore de Branch-and and-bound

131 Eercícios de modelagem em programação matemática Problema proposto pelo Tales Problema de transporte Problema de alocação de pessoal (Staff Scheduling) Sem hora-etra Com hora-etra Problema de Corte de Estoque (Cutting Stock Problem) Problema das bobinas Problema da serralheria Problema da Mochila (Knapsack Problema) Mochila - Mochila - Múltipla Mochila Inteira Mochila Inteira Múltipla Alocação Dinâmica de Caminhões Determinação do Ritmo de Lavra Controle de Pátio de Minérios Programação da produção: dimensionamento de lotes Seqüenciamento em uma máquina com penalidades por antecipação e atraso da produção e janelas de atendimento

132 Problema proposto pelo Tales () Dados de entrada: Pilhas = Conjunto de pilhas Parametros = Conjunto dos parâmetros de controle t ij = % do parâmetro de controle j em uma tonelada da pilha i tl j = % mínimo admissível para o parâmetro j tu j = % máimo admissível para o parâmetro j tr j = % recomendada para o parâmetro j Qu i = Quantidade máima de minério, em toneladas, eistente na pilha i p = quantidade, em toneladas, da mistura a ser formada wnm j = Peso para o desvio negativo (relativo à meta) do parâmetro j na mistura wpm j = Peso para o desvio positivo (relativo à meta) do parâmetro j na mistura wpe j = Peso para o desvio positivo relativo à especificação do parâmetro j na mistura wnpilha i = Peso para a quantidade de minério que resta na pilha i (peso relativo ao desvio negativo de pilha) wpp = Peso para o desvio positivo de produção wnp = Peso para o desvio negativo de produção

133 Problema proposto pelo Tales Dados de entrada: () Para determinados parâmetros de controle, o limite superior de especificação pode ser etrapolado, isto é, etrapolar j = significa que o parâmetro de controle j pode ter seu limite superior relaado) wpe j = Peso para o desvio positivo (de limite superior) do parâmetro j na mistura Algumas pilhas não podem ser utilizadas (desconsiderar i = significa que a pilha i não pode ser usada) Se uma pilha for retomada, deve-se retomar no mínimo retmin toneladas Deve-se tirar o máimo possível de cada pilha i, isto é, a quantidade que restar na pilha (dnpilha i ) deve ser minimizada Algumas pilhas devem ser necessariamente retomadas, isto é, retomar i = significa que a pilha i deve ser totalmente usada Variáveis de decisão: i = Quantidade de minério a ser retirado da pilha i dnm j = Desvio negativo (relativo à meta), em toneladas, do parâmetro j na mistura dpm j = Desvio positivo (relativo à meta), em toneladas, do parâmetro j na mistura dpe j = Desvio positivo (relativo ao lim. superior de especificação), em ton, do parâmetro j na mistura dnpilha i = Quantidade de minério que sobra, em toneladas, na pilha i (Desvio negativo relativo à quantidade Qu i disponível na pilha i) dpp = Desvio positivo de produção, em toneladas dnp = Desvio negativo de produção, em toneladas y i = se a pilha i for retirada e zero, caso contrário.

134 Problema da Mistura proposto pelo Tales () ( tij tu j ) i dpe j j Parametros etrapolarj = i Pilhas min j Parametros wpm dpm j j + j Parametros wnm dnm j j + wpe j Parametros j dpe + wnpilhai dnpilhai + ( wnp dnp + wpp dpp) i Pilhas A quantidade do parâmetro j na mistura só pode superar a máima permitida quando etrapolar j = j ( tij tu j ) i j Parametros etrapolarj = i Pilhas A quantidade do parâmetro j na mistura não pode superar a máima permitida ( tij tl j ) i j Parametros i Pilhas ( tij trj ) i + dnm j dpm j = j Parametros i Pilhas i Pilhas i + dpp dnp = dnpilha, i i Qu i i i Pilhas p i Pilhas dpe j A quantidade do parâmetro j na mistura não pode ser inferior à mínima permitida Admite-se que haja ecesso (dpm j ) ou falta (dnm j ) do parâmetro j na mistura em relação à quantidade recomendada A quantidade a ser retomada em cada pilha i está limitada à Qu i A mistura deve ter como meta um peso total p, dpm j, dnm j j Parametros

135 Problema da Mistura proposto pelo Tales () Uma pilha i será retomada (total ou parcialmente) se y i = i yi i Pilhas Qui Qu i Deve-se tentar retomar totalmente a pilha i (dnpilha i representa a sobra) i + dnpilha i Qu i y i i Pilhas Deve-se retomar no mínimo retmin toneladas de uma pilha, caso ela seja usada i retmin y i i Pilhas i = Qui i Pilhas retomari = Quando se deseja retomar totalmente uma pilha i tem-se i = Qu i i = i i Pilhas desconsiderar = Para as pilhas i que não se deseja retomar, i = y i {, } i Pilhas 5

136 Problema de Transporte Há um conjunto de minas produtoras de minério Há um conjunto de usinas que processam os minérios provenientes das minas Há um custo de transporte de minério de uma mina para uma usina Cada mina tem uma capacidade de produção mensal Cada usina tem uma demanda mensal Cada mina tem um custo fio se for usada Determinar a estratégia ótima de transporte Mina 7 6,5 8,5 Usinas 8 9,8,7, 9,8 Cap (t/mês) 5 5 Custo ($/t) 5 55 Demanda (t/mês) 5-6 -

137 Problema de Transporte cap f c dem cap f c cap f c dem cap f dem Minas Usinas 7

138 Problema de Transporte Dados de entrada: Minas = Conjunto de minas Usinas = Conjunto de usinas cap i = capacidade de produção, em toneladas/mês, da mina i dem j = quantidade de minério demandado pela usina j, em ton/mês f i = custo fio de uso da mina i, em $ c ij = custo de transporte de minério proveniente da mina i para abastecer a usina j, em $/tonelada/mês Variáveis de decisão: ij = Quantidade de minério, em toneladas/mês, a ser transportado da mina i para abastecer a usina j y i = se a mina i será usada e, caso contrário 8

139 Problema de Transporte (Caso em que: Oferta > Demanda) Como oferta (minas) > demanda (usinas): Toda a demanda será atendida. Função objetivo Minimizar o custo de transporte mais o custo fio pelo uso das minas usadas min c + ij ij i Minas j Usinas i Minas f i y i 9

140 Problema de Transporte: modelo de PL. Restrições: a) A capacidade de produção das minas deve ser respeitada ij j Usinas cap i i Minas b) Toda a demanda é atendida ij i Minas = dem j j Usinas

141 Problema de Transporte: modelo de PL c) Uma mina só pode ser usada se houver produção y i cap ij j Usinas i i Minas d) Não negatividade e integralidade y i {, } i Minas ij i Minas, j Usinas

142 Problema de Transporte: modelo (Caso em que Oferta < Demanda) min c + ij ij i i Minas j Usinas i Minas f ij j Usinas = cap i i Minas Toda a produção é ofertada ij i Minas dem j j Usinas Nem toda a demanda é atendida ij i Minas, j Usinas

143 Alocação de Pessoal Um hospital trabalha com atendimento variável em demanda Turno Horário durante as horas do dia. As necessidades distribuem-se segundo a tabela ao lado. 8-5 O horário de trabalho de um enfermeiro é de 8 horas seguidas e só pode ser iniciado no começo de cada turno, isto é, às 8 ou ou 6 ou ou ou horas. 6-6 Considere que cada enfermeiro recebe $ por hora de trabalho no período diurno (8 às h) e - $5 no período noturno ( às 8 h). 5 - Elabore um modelo de PLI que minimize o gasto com a mão-deobra # enf.

144 Problema de Alocação de Pessoal Dados de entrada: Turnos = Conjunto de turnos de trabalho req i = número de enfermeiros requeridos no turno i c i = custo do enfermeiro que começa sua jornada no início do turno i, em $ Variáveis de decisão: i = Número de enfermeiros que começam sua jornada de trabalho no início do turno i

145 Problema de Alocação de Pessoal. Função objetivo Minimizar o custo com as despesas com pessoal. Restrições min c i i i Turnos a) A demanda por enfermeiros em cada turno i deve ser atendida i req b) Não-negatividade e integralidade + i i i Turnos i Z + i Turnos 5

146 Listas Circulares no LINGO Listas circulares são usadas para ligar o último elemento de um conjunto ao primeiro, bem como o primeiro ao último. No LINGO, pode-se usar listas circulares por meio = retorna o índice J, dado por: J = inde + k Limit onde k é um número inteiro tal que J pertença ao intervalo [, Limit] 7) = + k 7 = + 7 7) = 8 + k 7 = 8 + (-) 7 7) = 9 + k 7 = 9 + (-) 7 7) = + k 7 = + () 7 = 7) = - + k 7 = - + () 7 = 7) = - + k 7 = - + () 7 = 5 Assim, se i pertence ao conjunto Turnos, isto é, i Turnos, então i- seria representado no LINGO por: 6

147 Problema de Alocação de Pessoal com hora-etra Um hospital trabalha com atendimento variável em demanda durante as horas do dia. As necessidades distribuem-se segundo a tabela ao lado. O horário de trabalho de um enfermeiro é de 8 horas seguidas e só pode ser iniciado no começo de cada turno, isto é, às 8 ou ou 6 ou ou ou horas. Considere que cada enfermeiro recebe $ por hora de trabalho no período diurno (8 às h) e $5 no período noturno ( às 8 h) Suponha que cada enfermeiro possa trabalhar mais quatro horas consecutivas além de sua jornada normal de trabalho e que a hora-etra seja remunerada em 5% a mais que a hora normal. Considere, também, que em cada turno, não mais de % dos enfermeiros possa fazer hora-etra. Elabore um modelo de PLI que minimize o gasto com a mão-de-obra. Turno 5 6 Horário # enf

148 Problema de Alocação de Pessoal com hora-etra Dados de entrada: Turnos = Conjunto de turnos de trabalho req i = número de enfermeiros requeridos no turno i csemhetra i = custo do enfermeiro que começa sua jornada no início do turno i, em $, e não faz hora-etra ccomhetra i = custo do enfermeiro que começa sua jornada no início do turno i, em $, e FAZ hora-etra phe = percentual máimo de enfermeiros fazendo hora-etra em um turno de trabalho Variáveis de decisão: i = Número de enfermeiros que começam sua jornada de trabalho no início do turno i e NÃO FAZEM hora-etra y i = Número de enfermeiros que começam sua jornada de trabalho no início do turno i e FAZEM hora-etra 8

149 Problema de Alocação de Pessoal. Função objetivo Minimizar o custo com as despesas com pessoal min. Restrições i Turnos csemhetra a) A demanda por enfermeiros em cada turno i deve ser atendida i b) Em cada turno, não mais de phe (= %) dos enfermeiros podem fazer hora-etra y c) Não-negatividade e integralidade i i + + i + yi + yi + yi phe i Turnos req ccomhetra i i y i Turnos ( + + y + y + y ) i Turnos i i i i i i, y i i Z + i Turnos i 9

150 Problema de Corte de Estoque () (Cutting Stock Problem) Certa empresa trabalha com a produção de etiquetas autocolantes. O papel usado para sua confecção encontra-se em bobinas de mesmo comprimento, todas com largura de 5 cm. Há uma programação para a próima semana de bobinas de 5 cm, 7 bobinas de 7,5 cm e bobinas de cm. 5

151 Problema de Corte de Estoque () (Cutting Stock Problem) É política da empresa estocar um máimo de bobinas de cada tipo (Esta ação evita a imobilização de capital, uma vez que são incertos os próimos pedidos). Os possíveis padrões de corte estabelecidos pelo setor técnico são especificados na tabela ao lado. Qual a programação de corte a ser adotada que minimiza o desperdício face à necessidade de produção? Padrão de corte 5 6 Largura da faia 5 cm 7,5 cm cm Perda (cm) 5,5,5 5

152 Problema de Corte de Estoque () (Cutting Stock Problem) Dados de entrada: Padroes = Conjunto dos padrões de corte Bobinas = Conjunto dos tipos de bobinas perda i = perda, em cm, com o uso do padrão de corte i demanda j = quantidade de bobinas do tipo j requeridas estma = estoque máimo permitido de bobinas de cada tipo a ij = número de bobinas de largura j eistentes no padrão i Variáveis de decisão: i = Número de vezes em que se usa o padrão de corte i 5

153 Problema de Corte de Estoque () (Cutting Stock Problem) min perda i i i Padroes Minimizar a perda com os cortes a ij i Padroes i demanda j j Bobinas A demanda por bobinas do tipo j deve ser atendida a ij i Padroes i demanda j + estma j Bobinas O ecesso de bobinas do tipo j não pode eceder a estma i Z + i Padroes 5

154 Problema de Corte de Estoque () (Cutting Stock Problem) Relativamente ao problema anterior, suponha que se deseje minimizar, além da perda inerente ao processo de corte, também a perda com o ecesso de bobinas cortadas Neste caso, o modelo anterior sofre a seguinte alteração: A função objetivo tem agora uma segunda parcela, que mede a perda com o ecesso de bobinas cortadas. Nessa parcela, para cada largura de bobina requerida, o número de bobinas em ecesso é multiplicado pela largura da bobina, resultando na perda em cm devido ao ecesso de bobinas cortadas. min i Padroes perda i i + j Bobinas largura j a ij i Padroes i demanda j 5

155 Problema de Corte de Estoque () (Cutting Stock Problem) Uma serralheria dispõe de barras de 7 metros de comprimento É necessário cortar essas barras de forma a atender a uma encomenda por barras menores nos seguintes comprimentos: 9 barras de metros 59 barras de metros 89 barras de metros Elaborar um modelo para atender ao pedido minimizando a perda com o corte das barras e também com o ecesso de barras cortadas 55

156 Problema de Corte de Estoque () (Cutting Stock Problem) Dados de entrada: Padroes = Conjunto dos padrões de corte Barras = Conjunto dos tipos de barras a serem produzidas perda i = perda, em cm, com o uso do padrão de corte i demanda j = quantidade de barras do tipo j requeridas a ij = número de barras do tipo j eistentes no padrão i compr j = comprimento, em cm, da barra do tipo j Variáveis de decisão: i = Número de vezes em que se usa o padrão de corte i 56

157 Problema de Corte de Estoque () (Cutting Stock Problem) Primeiro passo: Estabelecimento dos padrões de corte Barras Padrão m m m Perda 5 57

158 Problema de Corte de Estoque () (Cutting Stock Problem) Segundo passo: Modelagem do problema min i Padroes perda i i + j Barras compr j a ij i Padroes i demanda j Perda referente aos padrões de corte Perda referente ao ecesso de barras produzidas a ij i Padroes i demanda j j Barras i Z + i Padroes 58

159 Problema da Mochila - É dado um conjunto de objetos, uma unidade de cada Há uma mochila de capacidade cap para colocar os objetos Cada objeto tem associado um peso w j e um valor de retorno p j se for alocado à mochila Determinar quais objetos devem ser alocados à mochila de forma que o valor de retorno seja o maior possível Dados de entrada: Objetos = Conjunto dos diferentes tipos de objeto cap = Capacidade da mochila w j = peso (weight) do objeto j p j = benefício (profit) proporcionado pelo uso do objeto j Variáveis de decisão: j = se o objeto j for alocado à mochila e zero, caso contrário 59

160 Problema da Mochila -: modelo de programação linear ma p j j j Objetos Maimizar o benefício pelo uso dos objetos (Levar os objetos mais valiosos) w j j Objetos j cap A capacidade da mochila não pode ser superada j {, } j Objetos Apenas uma unidade de cada objeto pode ser alocada à mochila 6

161 Problema da Mochila - Múltipla Dados de entrada: Objetos = Conjunto dos diferentes tipos de objeto Mochilas = Conjunto dos diferentes tipos de mochila cap i = Capacidade da mochila i w j = peso (weight) do objeto j p j = benefício (profit) proporcionado pelo uso do objeto j Variáveis de decisão: ij = se o objeto j for alocado à mochila i e zero, caso contrário 6

162 Problema da Mochila - Múltipla: modelo de programação linear ma i Mochilas j Objetos p j ij Maimizar o benefício pelo uso dos objetos (Levar os objetos mais valiosos) w j j Objetos ij cap i i Mochilas A capacidade de cada mochila i não pode ser superada ij i Mochilas j Objetos Cada objeto j, se for usado, deve ser alocado à uma única mochila i ij {,} i Mochilas, j Objetos Apenas uma unidade do objeto j pode ser alocada à mochila i 6

163 Problema da Mochila Inteira Múltipla Dados de entrada: Objetos = Conjunto dos diferentes tipos de objeto Mochilas = Conjunto dos diferentes tipos de mochila u j = quantidade de objetos j disponíveis cap i = Capacidade da mochila i w j = peso (weight) do objeto j p j = benefício (profit) proporcionado pelo uso do objeto j Variáveis de decisão: ij = quantidade de objetos do tipo j alocados à mochila i 6

164 Problema da Mochila Inteira Múltipla: modelo de programação linear ma i Mochilas j Objetos p j ij Maimizar o benefício pelo uso dos objetos (Levar os objetos mais valiosos) w j j Objetos ij cap i i Mochilas A capacidade de cada mochila i não pode ser superada ij i Mochilas u j j Objetos Para cada objeto j só podem ser usados, no máimo, u j unidades ij Z + i Mochilas, j Objetos A quantidade de objetos do tipo j a serem alocados à mochila do tipo i é inteira 6

165 Alocação Dinâmica de Caminhões DESCRIÇÃO carregadeiras Caminhão Frente Frente Frente Carregadeira Caminhão Carregadeira Caminhão Mistura Desejada frentes = minerio esteril Caminhão caminhoes 65

166 Alocação Dinâmica de Caminhões Função Objetivo Peso por desvio negativo de meta para o parâmetro j Peso por desvio positivo de meta para o parâmetro j Peso por desvio negativo da produção Peso por desvio positivo da produção min α j d j + α + j d + j j parametros j parametros β P + β P Desvio negativo de meta do parâmetro j na mistura (t/h) Desvio positivo de meta do parâmetro j na mistura (t/h) Desvio negativo da meta de produção (t/h) Desvio positivo da meta de produção (t/h) 66

167 Alocação Dinâmica de Caminhões Restrições da Mistura de Minérios Teor máimo admissível (tij -tu j )i i minerio j parametros Teor mínimo admissível (tij -tl j )i i minerio j parametros Teor recomendado (meta de qualidade) (tij -tr j )i i minerio + j j + d d = j parametros 67

168 Alocação Dinâmica de Caminhões Restrições relativas ao Ritmo de Lavra Ritmo de lavra máimo: i i minerio Pl Ritmo de lavra mínimo: i i minerio Pu Ritmo de lavra recomendado (meta de produção): i i minerio + P P + = Pr 68

169 Alocação Dinâmica de Caminhões Restrição relativa à Relação Estéril/Minério i i esteril rem i i minerio i i esteril i i minerio rem i i esteril rem i minerio i 9 (t/h) (t/h), 9 >= (t/h) (t/h), >= 69

170 Alocação Dinâmica de Caminhões Restrições ligadas à Alocação das Carregadeiras () Em uma frente só pode estar operando uma carregadeira, no máimo ik k carregadeiras y i frentes y = Cg y = = y k F y = Cg y = y k = F y = Cg y = 7

171 Alocação Dinâmica de Caminhões Restrições ligadas à Alocação das Carregadeiras () Uma carregadeira pode ser alocada a uma frente, no máimo: ik i frentes y k carregadeiras y i = y = F y = y i = Cg Cg y = F y = 7

172 Alocação Dinâmica de Caminhões Restrições relativas à Produção das Carregadeiras: Respeito à Capacidade máima da carregadeira alocada à cada frente i Cu k k carregadeiras y ik i frentes Respeito à Capacidade mínima da carregadeira alocada à cada frente i Cl k k carregadeiras yik i frentes 7

173 Alocação Dinâmica de Caminhões O número de viagens que cada caminhão l faz à cada frente i em uma hora depende de seu tempo de ciclo: i n T 6 l ca minhoes il il frentes n = e T = min F n = e T = min n T i i = 5 min Ca n = e T = 5 min F n = e T = 5 min n T Ca i i = 55 min n = e T = 5 min F n = e T = min 7

174 Alocação Dinâmica de Caminhões Restrições relativas à Compatibilidade dos Caminhões n il T il 6 y ik k Carregadeiras compatibilidade lk = i frentes, l caminhoes Ca Cgk n = nv e T = 5 min F y k = Se comp = então nv = até (6/5) k Se comp k = então nv = 7

175 Alocação Dinâmica de Caminhões Restrições relativas à Produção dos Caminhões i = n il l caminhoes cap l i frentes n = e cap = 5 t = n lcapl = t/h n = e cap = 5 t F Ca Ca n = e cap = 5 t = n lcapl = 6 t/h F n = e t = 8 t Ca n = e cap = 8 t 75

176 Alocação Dinâmica de Caminhões Restrições de Integralidade e Não-negatividade i y ik i frentes {,} i frentes, k carregadeiras n Ζ il + i frentes,l ca minhoes d,d j + j j parametros P,P + 76

177 Determinação do Ritmo de Lavra Frente CO Frente CO Carregador Frente CA Carregadeira Hopper Frente 5 CA Frente CO Carregador Correia Principal Frente 6 CO USINA - Produção - Qualidade 77

178 Determinação do Ritmo de Lavra: Dados de Entrada Limites inferior, superior e meta dos parâmetros de controle (Fe, SiO, Al O, P, etc); Produção mínima, máima e a meta de produção, em ton/h, para atender a usina; Frentes de lavra que podem ou não estar disponíveis (ativadas), com suas respectivas características químicas, ritmos de lavra desejados e método de lavra (caminhão ou correia); Quantidade e modelos de carregadeiras disponíveis; Produtividade mínima e máima das carregadeiras. Cu (prod. ma.) Cl (prod. min.) CA fio fio CO varia com a DM da CAR a correia fio 78

179 Determinação do Ritmo de Lavra: Objetivos Determinar o ritmo de lavra próimo da meta de produção Gerar um produto dentro de certas especificações e próimo às metas de qualidade Fazer a alocação dos equipamentos de carga 79

180 Determinação do Ritmo de Lavra: Função MultiObjetivo = j j + j j + j parametros min fo ( wdq dnq wde dne ) j parametros ( wdq dpq + wde dpe ) + j j j j wp ( pn + pp ) + wdp ( dnp + dpp ) wdq j : peso para o desvio da meta no parâmetro j; wde j : peso para o desvio fora dos limites de especificação no parâmetro j; dnq j : desvio negativo da meta no parâmetro j; dpq j : desvio positivo da meta no parâmetro j; dne j : desvio negativo abaio do limite mínimo de especificação no parâmetro j; dpe j : desvio positivo acima do limite máimo de especificação no parâmetro j; wp : peso para o desvio da meta de produção; pn : desvio negativo da meta de produção; pp : desvio positivo da meta de produção; wdp : peso para o desvio fora dos limites de produção; dnp : desvio negativo abaio do limite mínimo de produção; dpp : desvio positivo acima do limite máimo de produção; 8

181 Determinação do Ritmo de Lavra: Restrições Restrições relativas aos limites e metas dos parâmetros de controle: Teor do parâmetro de controle j não pode superar o limite máimo de especificação (tu j ) i frentes i frentes i frentes (( teores tu ) ) dpe j parametros ij j i j Teor do parâmetro de controle j não pode ser menor que o limite mínimo de especificação (tl j ) (( teores tl ) ) + dne j parametros ij j i j Teor do parâmetro de controle j deve buscar a meta de qualidade (tr j ) (( teores tr ) ) + dnq dpq = j parametros ij j i j j 8

182 Determinação do Ritmo de Lavra: Restrições Restrições de Produção: Ritmo total de lavra não pode superar o limite máimo de produção (pu) i i Frentes dpp pu Ritmo total de lavra não pode ser menor que o limite mínimo de produção (pl) i i Frentes + dnp pl Ritmo total de lavra deve buscar a meta de produção (pr) i i Frentes + pn pp = pr 8

183 Determinação do Ritmo de i Lavra: Restrições Restrições de Produção Por Frente: Ritmo de lavra na frente i não pode superar o limite máimo de produção da carregadeira k na frente i (Cu ik ), o qual é fio se o método de lavra for caminhão, mas é variável de acordo com a distância da carregadeira à correia, se o método de lavra for correia transportadora. i Cu ik k Carregadeiras Cl k k Carregadeiras y y ik ik i i frentes Ritmo de lavra na frente i não pode ser inferior ao limite mínimo de produção da carregadeira k (Cl k ) frentes 8

184 Determinação do Ritmo de Lavra: Restrições Restrições relativas às Carregadeiras: Em cada frente só pode haver uma carregadeira operando y ik k Carregadeiras i Frentes O número de carregadeiras do modelo k utilizadas não pode ultrapassar o número de carregadeiras disponíveis desse modelo (carregdisp k ) y ik i Frentes carregdisp k k Carregadeiras CAR modelo Frentes unid y +y +y +y <= 8

185 Determinação do Ritmo de Lavra: Restrições Restrições relativas ao Ritmo de Lavra: Quando for definido um ritmo de lavra mínimo (ritmin i ) para uma frente i e ela estiver disponível (dispfrente i ), então esse ritmo mínimo tem que ser respeitado: i ritmin i dispfrente i i Frentes ritmin i Quando for definido um ritmo de lavra máimo (ritma i ) para uma frente i e ela estiver disponível (dispfrente i ), então esse ritmo máimo tem que ser respeitado: i ritma i dispfrente i i Frentes ritmin i 85

186 Determinação do Ritmo de Lavra: Restrições Restrições de Capacidade: O ritmo de lavra total das frentes que operam com o carregador l não pode ultrapassar a capacidade do carregador ( carregador = l) capcarregador l carregadores i Frentes F CO F CO i O ritmo de lavra total das frentes que operam com caminhão não pode ultrapassar a capacidade do Hopper i ( i Métododelavrada frentei é caminhão) i Frentes Carregador t/h + <= caphopper F CA Hopper t/h F CA + <= 86

187 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ Otimizar a coleta de minério dos pátios de estocagem: Produzir soluções que melhor se aproimem das metas de qualidade estabelecidas Ao utilizar minério de uma pilha, tentar eliminá-la, sempre que possível Respeitar as restrições operacionais dos pátios 87

188 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Parâmetros do modelo Pátio: Conjunto de pátios, no caso, Pátio = {A, B, C}; Baliza(k): Conjunto de balizas do pátio k. Para cada pátio k o número de balizas nb varia no intervalo [, nb(k)]. Para o pátio A, tem-se: Baliza (A) = {-5, -, -5,...,}, isto é, nb(a) = 7; Cada pilha situada em uma dada baliza i de um dado pátio k, é dividido em duas partes: uma superior, denotada por sup, outra inferior, denotada por inf. Eliminar ijk : Parâmetro que assume o valor se a pilha situada na baliza i, parte j do pátio k deve ser completamente eliminada, como desejo do operador ; ElParc ijk : Quantidade de minério, em toneladas, a ser eliminado da parte j da baliza i do pátio k; Qu ijk : Quantidade de minério, em toneladas, eistente na baliza i do pátio k, na parte j; tem ijl : Parâmetro que assume valor se há um conjunto de pilhas contíguas iniciando na baliza i, parte j, do pátio k. Para as demais balizas, o parâmetro assume o valor zero; ncp k : Número máimo de conjuntos de pilhas contíguas a serem retiradas do pátio k nas posições inf e sup; S: Conjunto dos parâmetros de qualidade analisados no minério; t ijkl : Teor do parâmetro l na parte j da pilha situada na baliza i do pátio k (%); tr l : Teor recomendado para o parâmetro l no produto final (%); lig l : Limite inferior de garantia, isto é, teor mínimo admissível para o parâmetro l no produto final (%); lsg l : Limite superior de garantia, isto é, teor máimo admissível para o parâmetro l no produto final (%); 88

189 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Parâmetros do modelo Sejam os seguintes parâmetros de entrada: lie l : Limite inferior de especificação, isto é, teor mínimo recomendável para o parâmetro l no produto final (%); lse l : Limite superior de especificação, isto é, teor máimo recomendável para o parâmetro l no produto final (%); α l+ : Penalidade por desvio positivo em relação ao limite superior de garantia do parâmetro l no produto final; α l- : Penalidade por desvio negativo em relação ao limite inferior de garantia do parâmetro l no produto final; γ l+ : Penalidade por desvio positivo em relação ao limite superior de especificação do parâmetro l no produto final; γ l- : Penalidade por desvio negativo em relação ao limite inferior de especificação do parâmetro l no produto final; δ l+ : Penalidade por desvio negativo em relação à meta de qualidade para o parâmetro l no produto final; δ l- : Penalidade por desvio positivo em relação à meta de qualidade para o parâmetro l no produto final; β + : Penalidade por desvio negativo na meta de produção; β - : Penalidade por desvio positivo na meta de produção; P m : meta de produção (t); 89

190 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Variáveis de decisão ijk :quantidade de minério, em toneladas, a ser retirado da parte j da baliza i do pátio k; se a pilha que está na baliza i do pátio k, parte j, pode ser usada y ijk : caso contrário se a pilha que está na baliza i do pátio k, parte j, será usada z ijk : caso contrário dg l+ : Desvio positivo do parâmetro l no produto final (t), em relação ao limite superior de garantia; dg l- : Desvio negativo do parâmetro l no produto final (t), em relação ao limite inferior de garantia; de l+ : Desvio positivo do parâmetro l no produto final (t), em relação ao seu limite superior de especificação; de l- : Desvio negativo do parâmetro l no produto final (t), em relação ao seu limite inferior de especificação; dr l+ : Desvio positivo do parâmetro l no produto final (t), em relação à meta; dr l- : Desvio negativo do parâmetro l no produto final (t), em relação à meta; P - : Desvio negativo em relação à meta de produção (t); P + : Desvio positivo em relação à meta de produção (t); dbaliza ijk : Quantidade de minério que resta na pilha localizada na baliza i, parte j do pátio k. 9

191 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Função objetivo min l s α dg + l + l + l s i Baliza j Parte k Patio α dg l l dbaliza + ijk l S γ + l de + l + l S γ l de l + l S δ + l dr + l + l S δ l dr l + β P + + β P + + Restrições de Qualidade e Produção ( tijkl lsgl ) k Patio i Baliza( k ) j Parte ( tijkl ligl ) k Patio i Baliza( k ) j Parte ( tijkl lsel ) k Patio i Baliza( k ) j Parte ( tijkl liel ) k Patio i Baliza( k ) j Parte ( tijkl trl ) k Patio i Baliza( k ) j Parte + P ijk ijk P + dg + de + dr l + ijk P m k Patio i Baliza( k ) j Parte ijk ijk ijk dg de = + l l + l l dr + l = l S l S l S l S l S l S 9

192 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Restrições de Seqüenciamento Horizontal y y y y ijk ijk Qu Qu i,j,k i,j,k ijk ijk i, inf, k i+, sup, k i,inf, k i Baliza(k), j Parte, k Patio i e i Baliza(k), j Parte, k Patio Restrições de Seqüenciamento Vertical Qu Qu i-,j,k y i Baliza( k), k Pátio i nb( k) - i+,sup, k ijk i+,sup, k i Baliza( k), k Pátio Qui+, sup, k e i nb( k) Qu Restrições Para Forçar Retomada Concentrada z i Baliza(k), j Parte, k Pátio ijk ijk ijk zijk i Baliza(k), j Parte, k Pátio Quijk Quijk tem i Baliza ( k ) i,sup, k z i,sup, k + tem i Baliza ( k ) i,inf, k z i,inf, k ncp k k Pátio 9

193 COMPOSIÇÃO DE LOTES DE MINÉRIO DE FERRO DA MINA CAUÊ O MODELO BASEADO EM PROGRAMAÇÃO POR METAS Restrições Para Eliminar Parcial e Totalmente ijk = ElParc ijk ijk Qu ijk i Baliza( k), k Pátio, j Parte Qu ijk e Eliminar ijk ElParc ijk, = i Baliza( k), k Pátio, j Parte Eliminar = ijk Restrição Para Tentar Limpar Pilha dbaliza = z Qu ijk + i Baliza( k), j Parte, k Pátio ijk ijk ijk 9

194 Programação da produção: Dimensionamento de lotes Empresas de manufatura fabricam diversos tipos de produtos solicitados por diferentes clientes Produtos devem estar prontos em datas previamente agendadas Fábricas têm capacidade de produção limitada (máquinas, mão-deobra etc) Necessário se faz planejar a produção Decidir o quê produzir, quanto produzir, isto é, dimensionar os lotes de produção, e quando produzir (em cada período do horizonte de planejamento) A necessidade de antecipação da fabricação de produtos (estocados de um período para outro) acarreta custos de estocagem e algumas dificuldades operacionais No planejamento da produção deseja-se determinar o tamanho dos lotes de produção para atender a demanda na data solicitada, de modo que a soma dos custos de produção e estocagem seja mínima 9

195 Programação da produção: Dimensionamento de lotes (um único item) Uma empresa recebe uma encomenda para entregar um produto ao longo de um período de tempo. São dadas para cada mês: a demanda desse produto, o custo de produção e o custo de estocagem. Mês Cap. Produção (unid) Demanda (unid.) 9 Custo estocagem (R$) 6 5 Custo de prod. (R$) 5 7 Considere que o estoque no início é de unidades Elabore um modelo de PLI que minimize o custo total de produção e estocagem

196 Programação da produção: Dimensionamento de lotes (um único item) Dados de entrada: Mes = conjunto dos meses de produção cprod t = custo de produção no mês t cest t = custo de estoque no mês t demanda t = demanda no mês t cap t = capacidade de produção no mês t estinicial = estoque inicial Variáveis de decisão: t = quantidade do produto a ser produzida no mês t e t = quantidade do produto a ser estocada no mês t 96

197 Programação da produção: Dimensionamento de lotes (um único item) Função objetivo: minimizar os custos de produção e de estocagem ( cprod + cest e ) t t t t t Mes Restrições: Conservação de fluo no final do mês : e = estinicial + demanda 97

198 Programação da produção: Dimensionamento de lotes (um único item) Restrições: Conservação de fluo em cada mês t>: e t = et + t demandat t Mes t > Restrições: Respeito à capacidade de produção em cada mês t: t cap t t Mes 98

199 Programação da produção: Dimensionamento de lotes Considere uma empresa que fabrica n produtos e deseja programar sua produção nos próimos T períodos de tempo (= horizonte de planejamento) É conhecida a demanda de cada produto em cada período do horizonte de planejamento Em cada período, os recursos necessários para a produção são limitados e renováveis, isto é, uma quantidade de recursos está disponível e não depende de como foram utilizados nos períodos anteriores. Eemplos de recursos renováveis: mão-de-obra, energia elétrica, horas de máquina Eemplo de recurso não renovável: matéria-prima que sobra em um período e pode ser usada nos períodos seguintes Há a possibilidade de estocagem de produtos de um período para outro Dados de entrada do problema: d it : demanda do item i no período t (i =,..., n; t =,..., T) disp t : disponibilidade de recursos (renováveis) no período t r i : quantidade de recursos necessários para a produção de uma unidade do item i c it : custo de produzir uma unidade do item i no período t h it : custo de estocar uma unidade do item i no período t Variáveis de decisão: it : número de itens do tipo i produzidos no período t e it : número de itens do tipo i em estoque no final do período t Estoques iniciais do horizonte de planejamento e i são dados 99

200 Programação da produção: Dimensionamento de lotes Função objetivo: (minimizar os custos de produção e estocagem) min n T i= t= c it it + n T i= t= h it e it Equações de conservação de estoque: Restrições de capacidade de produção: Garantia de atendimento à demanda: eit = ei, t + it dit i =,..., n t =,..., T n i= ri it dispt t =,..., T e it Z + i =,..., n t =,..., T Não-negatividade integralidade: e it Z + i =,..., n t =,..., T

201 Programação da produção: Dimensionamento de lotes Considere uma fábrica de pré-moldados que produz dois tipos de vigas, cujas demandas para as próimas semanas são conhecidas Os produtos utilizam os mesmos tipos de recursos, porém em quantidades diferentes Suponha que apenas um centro de trabalho esteja disponível para a produção dos dois itens, cuja disponibilidade é de horas por período e que a produção de uma unidade do item consuma 5 minutos (= / da hora) e uma unidade do item consuma minutos (= / da hora) Os custos de produção por período, bem como os custos de estocagem são conhecidos Os estoques iniciais dos dois produtos são nulos Definir um plano de produção de modo que os pedidos sejam atendidos ao menor custo de produção e estocagem Demanda de vigas Item Item Custos de produção Item Item Custos de estocagem Período 5 5 Período Período Período 9 5 Período Período Período 8 Período Item Item,5,5

202 Programação da produção: Seqüenciamento em uma máquina Problema de seqüenciamento em uma máquina com penalidades por antecipação e atraso da produção (PSUMAA). Tempo de preparação de máquina dependente da seqüência de produção; Janelas de atendimento; Os objetivos: redução dos custos de manutenção do estoque (quando a produção é antecipada) e dos custos por atraso na produção.

203 Programação da produção: Seqüenciamento em uma máquina Características do PSUMAA: Uma máquina deve processar um conjunto de n jobs; Cada job possui um tempo de processamento P i, uma data inicial E i e uma data final T i desejadas para o término do processamento; A máquina eecuta no máimo um job por vez e uma vez iniciado o processamento de um job, o mesmo deve ser finalizado, ou seja, não é permitido a interrupção do processamento;

204 Programação da produção: Seqüenciamento em uma máquina Todos os jobs estão disponíveis para processamento na data ; Quando um job j é seqüenciado imediatamente após um job i, sendo estes pertencentes a diferentes famílias de produtos, é necessário um tempo S ij para a preparação da máquina; Assume-se, ainda, que a máquina não necessita de tempo de preparação inicial;

205 Programação da produção: Seqüenciamento em uma máquina É permitido tempo ocioso entre a eecução de dois jobs consecutivos. Os jobs devem ser finalizados dentro da janela de tempo [E i, T i ], denominada janela de entrega. Se o job i for finalizado antes de E i então há um custo de manutenção de estoque. Caso o job seja finalizado após T i então há associado um custo por atraso (que pode ser uma multa imposta por contratos de prestação de serviço), além de insatisfação do cliente. Os jobs que forem finalizados dentro da janela de entrega não proporcionarão nenhum custo para a empresa; Os custos unitários por antecipação e atraso da produção são dependentes dos jobs. Objetivo: minimização do somatório dos custos de antecipação e atraso da produção. 5

206 Programação da produção: Seqüenciamento em uma máquina Dados de Entrada: n: número de jobs a serem processados; P i : tempo de processamento do job i; E i : data de início do período de entrega do job i; T i : data de término do período de entrega do job i; S ij : tempo de preparação da máquina necessário para processar job j depois do job i; α i : custos de antecipação da produção do job i por unidade de tempo; β i : custos de atraso da produção do job i por unidade de tempo. 6

207 Programação da produção: Seqüenciamento em uma máquina Variáveis de Decisão: s i : a data de início do processamento do job i; e i : o tempo de antecipação do job i; t i : o tempo de atraso do job i; Jobs Fictícios: : antecede imediatamente o primeiro job na seqüência de produção; n + : sucede imediatamente o último job na seqüência de produção; Observação: P e P n+ são iguais a zero, S i = e S i, n+ = i =,,...,n. 7

208 Programação da produção: Seqüenciamento em uma máquina Função Objetivo Minimizar o somatório dos custos totais de antecipação e atraso da produção () 8

209 Programação da produção: Seqüenciamento em uma máquina Restrições Um job j só pode ser iniciado imediatamente após um job i, sem nenhum job intermediário, depois de preparar a máquina de i para j e completado o processamento do job i: () onde: M é uma constante de valor suficientemente grande 9

210 Programação da produção: Seqüenciamento em uma máquina Restrições () Quando j sucede i (y ij =), têm-se: Quando j não sucede i (y ij =), têm-se:

211 Programação da produção: Seqüenciamento em uma máquina Restrições: Cada job j tem somente um job i imediatamente antecessor: () Cada job i tem somente um job j imediatamente sucessor: (5)

212 Programação da produção: Seqüenciamento em uma máquina Restrições: O tempo de antecipação e i [, (E i P i s i )] é determinado pelas restrições: (6) (7) O tempo de atraso t i [, (s i + P i T i )] é determinado pelas restrições: (8) (9)

213 Problema de Seleção de Projetos Mineiros Concorrentes Produção Mina Projeto Projeto Projeto... Projeto n VPL Mina Projeto Projeto Projeto... Projeto n Mina... Mina m Projeto Projeto Projeto... Projeto n Em cada mina apenas uma opção de projeto pode ser escolhida; O objetivo é maimizar o VPL respeitando a meta de produção. Projeto Projeto Projeto... Projeto n Meta de Produção

214 Problema de Seleção de Projetos Mineiros Concorrentes E. de opções de projeto por mina

215 Eemplo de Problema de Seleção de Projetos Mineiros Concorrentes Eemplo de VPL ($ 6 ): Eemplo de Produção (Mt):

216 Modelo de Programação Matemática para o Problema de Seleção de Projetos Considere: Minas: conjunto de minas; Opcoes: conjunto de opções de projeto em cada mina; VPL ij : Valor Presente Liquido do projeto j na mina i; prod ij : produção do projeto j na mina i; M: meta de produção; Pfalta: penalidade por produção inferior à meta estabelecida; Pec: penalidade por produção superior à meta estabelecida. caso a mina i opere com o projeto j ij = caso contrário 6

217 Modelo de Programação Matemática para o Problema de Seleção de Projetos ma i Minas j Projetos VPLij ij Pfalta dnp Pec dpp ij j Projetos = i Minas i Minas j Projetos prod ij ij dpp + dnp = M ij {,} i Minas, j Projetos 7

218 Heurísticas construtivas e de refinamento: Fundamentação e aplicações Marcone Jamilson Freitas Souza Aleandre Xavier Martins Tatiana Alves Costa José Maria do Carmo Bento Alves Frederico Augusto Coimbra Guimarães Túlio Ângelo Machado Toffolo Departamento de Computação Homepage: [email protected] 8

219 Problema do Caieiro Viajante Dado um conjunto de cidades e uma matriz de distâncias entre elas PCV consiste em encontrar uma rota para um Caieiro Viajante tal que este: parta de uma cidade origem passe por todas as demais cidades uma única vez retorne à cidade origem ao final do percurso percorra a menor distância possível Rota conhecida como ciclo hamiltoniano 9

220 Problema do Caieiro Viajante

221 Problema do Caieiro Viajante

222 Formulação Matemática para o Problema do Caieiro Viajante Dados de entrada: Cidades: Conjunto de cidades d ij = distância entre as cidades i e j Variáveis de decisão: ij = se a aresta (i,j) será usada;, caso contrário f ij = quantidade de fluo de i para j Função objetivo: min i Cidades j Cidades d ij ij

223 Formulação Matemática para o Problema do Caieiro Viajante Restrições:. De cada cidade i só sai uma aresta: ij j Cidades = i Cidades i. A cada cidade j só chega uma aresta: ij i Cidades = j Cidades i

224 Formulação Matemática para o Problema do Caieiro Viajante. O fluo que chega a uma cidade i menos o que sai é igual a uma unidade: j Cidades f ji f ij j Cidades = i Cidades i f f - i. O fluo máimo em cada aresta é igual a n-, onde n é o número de cidades: f ij ( n ) i Cidades, ij 5. Integralidade e não negatividade: j Cidades f ij i Cidades, j Cidades ij {,} i Cidades, j Cidades

225 Problema do Caieiro Viajante Compleidade Considerando PCV simétrico (d ij = d ji ), para n cidades há (n-)!/ rotas possíveis Para n = cidades, há 6 rotas possíveis. Um computador que avalia uma rota em -8 segundos gastaria cerca de 9 anos para encontrar a melhor solução por enumeração completa Métodos de enumeração implícita, tais como branch-and-bound, embutidos em solvers, podem reduzir significativamente este tempo Não há garantia de que isso sempre ocorra 5

226 Problema do Caieiro Viajante Compleidade Para dimensões mais elevadas (> 5 cidades), a resolução por modelos de programação matemática é proibitiva em termos de tempos computacionais PCV é da classe NP-difícil: ainda não eistem algoritmos eatos que o resolvam em tempo polinomial À medida que n cresce, o tempo de eecução cresce eponencialmente PCV é resolvido por meio de heurísticas: Procedimentos que seguem uma intuição para resolver o problema (forma humana de resolver o problema, fenômenos naturais, processos biológicos, etc.) Não garantem a otimalidade da solução final Em geral, produzem soluções finais de boa qualidade rapidamente 6

227 Heurísticas Construtivas Consistem em construir uma solução passo a passo, elemento por elemento De refinamento Consistem em efetuar modificações na solução construída, de forma a tentar melhorá-la 7

228 Heurística de construção gulosa Funcionamento: Constrói uma solução, elemento por elemento A cada passo é adicionado um único elemento candidato O candidato escolhido é o melhor segundo um certo critério O método se encerra quando todos os elementos candidatos foram analisados 8

229 Heurísticas construtivas para o Problema do Caieiro Viajante Vizinho mais próimo Idéia central: Construir uma rota passo a passo, adicionando à solução corrente a cidade mais próima (ainda não visitada) da última cidade inserida Inserção mais barata Idéia central: Construir uma rota passo a passo, partindo de rota inicial envolvendo cidades e adicionar a cada passo, a cidade k (ainda não visitada) entre a ligação (i, j ) de cidades já visitadas, cujo custo de inserção seja o mais barato 9

230 PCV Vizinho mais Próimo Eemplo - Passo d ij j i Cid. Distância Total =

231 PCV Vizinho mais Próimo Eemplo - Passo 9 5 d ij j i Cid. Distância Total = + =

232 PCV Vizinho mais Próimo Eemplo - Passo d ij j i Cid. Distância Total = + = 5

233 PCV Vizinho mais Próimo Eemplo - Passo 5 9 d ij j i Cid. Distância Total = 5 + = 7

234 PCV Vizinho mais Próimo Eemplo - Passo d ij j i Cid. Distância Total = = 7

235 5 PCV Vizinho mais Próimo Eemplo Passo final: Inserção forçada Cid. Distância Total = + = 6 7

236 Heurística da Inserção Mais Barata para o Problema do Caieiro Viajante Inserção mais barata Idéia central: Construir uma rota passo a passo, partindo de rota inicial envolvendo cidades (obtidas por um método qualquer) e adicionar a cada passo, a cidade k (ainda não visitada) entre a ligação (i, j ) de cidades já visitadas, cujo custo de inserção seja o mais barato 6

237 7 Heurística da Inserção Mais Barata para o Problema do Caieiro Viajante k t u j r i Cid. d ij d ir d ri

238 8 k t u j r i Cid. d ij d ir d ri Custo da inserção = d ik + d kj - d ij d ik d kj Heurística da Inserção Mais Barata para o Problema do Caieiro Viajante

239 9 PCV Inserção mais Barata Eemplo - Passo Cid. Distância Total = 7

240 PCV Inserção mais Barata Eemplo - Passo = = = = i + 6 = = = = 9 + = d ik + d kj d ij j k Cid. Distância Total = + = 7

241 PCV Inserção mais Barata Eemplo - Passo + 6 = = = + 5 = i = = = = 6 d ik + d kj d ij j k Cid. Distância Total = + = 6 7 5

242 PCV Inserção mais Barata Eemplo Passo final + 6 = = = 7 6 i + = = 9 d ik + d kj d ij j k Cid. Distância Total = 6 + = 7 5 9

243 PCV Inserção mais Barata Eemplo Solução final Cid. Distância Total = 6 + = 5 9 s = (6 5)

244 Heurísticas de refinamento Baseadas na noção de vizinhança A cada solução s está associado um conjunto de vizinhos s definidos por um determinado tipo de movimento m s = s m O tipo de movimento é dependente do problema

245 Heurísticas de refinamento No PCV, um movimento m pode ser a troca da ordem de visita entre duas cidades Eemplo: Dada a solução s = (6 5), são eemplos de vizinhos de s: s = (6 5) s = (6 5) 5

246 6 PCV - E: Vizinhos de uma solução s Cid. Distância Total s = 5 9 s = (6 5)

247 7 PCV - E: Vizinhos de uma solução s Cid. Distância Total s = 7 5 s = (6 5) 6 9

248 8 PCV - E: Vizinhos de uma solução s Cid. Distância Total s = 9 5 s = (6 5) 9 8

249 Eemplos de vizinhos no Problema de Roteamento de Veículos (Vehicle Routing Problem) () () () 6 () [5] (9) () 5 () 7 () 9 6 (7) () () (5) 8 () () 5 () Solução s 9

250 Eemplos de vizinhos no Problema de Roteamento de Veículos (Vehicle Routing Problem) () () () 6 () [5] (9) () 5 () 7 () 8 () 9 6 () (7) () () (5) 5 () Solução s s obtida pela realocação de um cliente de uma rota para outra rota (realocação 5 inter-rota)

251 Eemplos de vizinhos no Problema de Roteamento de Veículos (Vehicle Routing Problem) () () () 6 () [5] (9) () 5 () 7 () 8 () 9 6 () (7) () () (5) 5 () Solução s s obtida pela troca de clientes entre rotas (movimento inter-rotas) (Clientes e mudam 5de rota)

252 Problema de Alocação de Salas (Classroom Assignment Problem) Diz respeito à designação de salas para as aulas de uma instituição de ensino O horário das aulas é previamente conhecido O PAS é um subproblema do Problema de Programação de Horários (timetabling) Pode ser tratado de forma isolada ou de forma integrada à programação de horários 5

253 Problema de Alocação de Salas (Classroom Assignment Problem) Restrições: Não pode haver sobreposição de turmas; As salas têm que comportar as turmas etc. Objetivos: Manter as aulas de uma mesma turma em uma mesma sala ao longo da semana; Minimizar o fluo de alunos mudando de sala após uma aula; Sempre que possível, alocar a uma mesma sala alunos de um mesmo curso e período etc. 5

254 Problema de Alocação de Salas (Classroom Assignment Problem) Movimento de Realocação 5

255 Problema de Alocação de Salas (Classroom Assignment Problem) Movimento de Troca 55

256 Problema de Alocação de Salas (Classroom Assignment Problem) Algumas possíveis estruturas de vizinhança: N (s) = {s s s movimento de realocação} N (s) = {s s s movimento de troca} N(s) = {s s s mov. de realocação ou troca} 56

257 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Representação de uma Solução CARGA Cam Cam... Cam V F (Car, ) 5 X... F (D, )... F (Car, ) F F (Car 5, )

258 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Seis tipos de movimentos para eplorar o espaço de soluções: Movimento Carga Movimento Número de Viagens Movimento Realocar Viagem de um Caminhão Movimento Realocar Viagem a uma Frente Movimento Operação Caminhão Movimento Operação Frente Cada movimento define um tipo de vizinhança 58

259 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N CG Movimento Carga - N CG (s) F (Car,) F (D,) F Carga (Car,) Carga F (Car,) F (Car,) F (Car,) F (Car,) F (D,) 59

260 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N OF Movimento Operação Frente - N OF (s) Desativar operação de uma carregadeira alocada a uma frente F (Car,) F (D,) F F Carga (Car,) (Car,) F (Car,) F (D,) F F Carga (Car,) (Car,) Ativar operação de uma carregadeira alocada a uma frente F (Car,) F (D,) F F Carga (Car,) (Car,) F (Car,) F (D,) F F Carga (Car,) (Car,) 6

261 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N NV Movimento Número de Viagens - N NV (s) Decréscimo no número de viagens de um caminhão a uma frente F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X - F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 5 Cam X Acréscimo no número de viagens de um caminhão a uma frente F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X + F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X 6

262 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N VC Movimento Realocar Viagem de um Caminhão - N VC (s) F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 5 Cam X 6

263 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N VF Movimento Realocar Viagem a uma Frente - N VF (s) F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X 6

264 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Vizinhança N OC Movimento Operação Caminhão - N OC (s) F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X F Carga (Car,) F (D,) F (Car,) F (Car,) Cam 6 Cam X 6

265 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Função de avaliação de uma solução s: Feita por uma função que penaliza o não atendimento às restrições e objetivos Restrições (Requisitos essenciais): Produção da mina dentro dos limites de especificação; Parâmetros de controle respeitam os limites de qualidade especificados; Relação estéril/minério dentro dos limites de especificação; Taa de utilização dos caminhões inferior ao máimo possível; Produção dos equipamentos de carga respeita as capacidades de produção especificadas. Objetivos (Requisitos não-essenciais): Atendimento às metas de produção da mina Atendimento às metas de qualidade dos parâmetros de controle Atendimento à relação estéril/minério desejada Taa de utilização de caminhões igual à meta de utilização Utilização do menor número possível de caminhões. f ( s) = p q r u c n f ( s) + f j ( s) + f ( s) + f l ( s) + f i ( s) + f ( s) j S l V i F 65

266 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto à produção: p p f ( s) = θ Pr P P : Produção de minério (t/h); Pr : Meta de produção de minério (t/h); θ p : Peso associado à avaliação da produção. 66

267 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto à qualidade: q q q j j j j j f ( s) = θ Qr Q j S Q j : Quantidade encontrada na mistura para o parâmetro j (t/h); Qr j : Quantidade recomendada para o parâmetro j na mistura (t/h); θ q j : Peso associado à avaliação da qualidade do parâmetro j; q j : Multiplicador associado ao parâmetro j. 67

268 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto à relação estéril / minério: r r f ( s) = θ Rr R R : Produção de estéril na mistura (t/h); R r : Meta de Produção de estéril na mistura (t/h); θ r : Peso associado à avaliação da relação estéril/minério 68

269 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto à taa de utilização dos caminhões: f u l ( s) = θ u l Ur l U l l V U l : Carga transportada pelo caminhão l (t/h); Ur l : Meta de carga transportada pelo caminhão l (t/h); θ lu : Peso associado à avaliação da utilização do caminhão l 69

270 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto à produção dos equipamentos de carga: c c i k k i f ( s) = θ Cu i F i : Ritmo de lavra da frente i (t/h); k : Equipamento de carga que está operando na frente i; Cu k : Produção máima do equipamento de carga k alocado à frente i (t/h); θ c k : Peso associado à avaliação da produção do equipamento de carga k alocada à frente i 7

271 Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Avaliação da solução s quanto ao número de caminhões utilizados: n n f ( s) = β TUl i F TU l : Taa de utilização do caminhão l, em %; β n : Peso associado à avaliação do número total de caminhões utilizados 7

272 Problema de Seleção de Projetos Mineiros Concorrentes Produção Mina Projeto Projeto Projeto... Projeto n VPL Mina Projeto Projeto Projeto... Projeto n Mina... Mina m Projeto Projeto Projeto... Projeto n Em cada mina apenas uma opção de projeto pode ser escolhida; O objetivo é maimizar o VPL respeitando a meta de produção. Projeto Projeto Projeto... Projeto n Meta de Produção 7

273 Modelagem Heurística para o Problema de Seleção de Projetos Representação de uma solução: *Obs.: Com esta representação, a restrição de que em cada mina um projeto tem que ser implementado é automaticamente satisfeita 7

274 Estrutura de Vizinhança para o Problema de Seleção de Projetos Eploração do espaço de soluções por meio do Movimento Substituição da Opção Solução s: Eemplo de vizinho s : gerado a partir de s, substituindo-se a opção implementada em uma mina pela opção posterior

275 Avaliação da Solução heurística do Problema da Seleção de Projetos Feita por função que procura maimizar o VPL e penalizar a produção inferior ou superior à meta f ( s) = VPLi S Pfalta ma{, M prodi, S } Pec ma{, prod i i i, i Minas j Opcoes, S M i i Minas i Minas } em que: Minas = conjunto de minas; Opcoes = conjunto das opções de projeto em cada mina; VPL i,si = Valor Presente Líquido referente à opção j da mina i; prod i,si = Produção referente à opção j da mina i; Pfalta = Penalidade por produção inferior à meta; Pec = Penalidade por produção superior à meta; M = Meta de produção especificada. 75

276 Heurísticas de refinamento (Princípio de funcionamento) Partir de uma solução inicial qualquer Caminhar, a cada iteração, de vizinho para vizinho de acordo com a definição de vizinhança adotada, tentando melhorar a solução construída 76

277 Método da descida/subida (Descent/Uphill Method) Parte de uma solução inicial qualquer A cada passo analisa todos os possíveis vizinhos Move somente para o vizinho que representa uma melhora no valor atual da função de avaliação. Em problemas de minimização, um vizinho s é melhor que s quando f(s ) < f(s)). Neste caso, s passa a ser a nova solução corrente O método pára quando um ótimo local (com respeito à definição de vizinhança) é encontrado 77

278 Funcionamento da Heurística de Descida 78

279 Funcionamento da Heurística de Descida 79

280 Funcionamento da Heurística de Descida 8

281 Funcionamento da Heurística de Descida Problema: Fica-se preso no primeiro ótimo local 8

282 METAHEURÍSTICAS Marcone Jamilson Freitas Souza Aleandre Xavier Martins Tatiana Alves Costa José Maria do Carmo Bento Alves Frederico Augusto Coimbra Guimarães Túlio Ângelo Machado Toffolo Departamento de Computação Homepage: 8

283 Metaheurísticas Métodos heurísticos, de caráter geral, dotados de mecanismos para escapar das armadilhas dos ótimos locais Princípio básico: aceitar soluções de piora Podem ser baseados em Busca Local ou Busca Populacional. Os métodos baseados em Busca Local são fundamentados na noção de vizinhança: Dada uma solução s, diz-se que s é um vizinho de s, se s é obtido de s a partir de um movimento m, isto é: s s m A estrutura de vizinhança varia de acordo com o problema tratado Os métodos baseados em Busca Populacional partem de um conjunto de soluções, aplicando sobre estes operadores que visam à melhoria desse conjunto. 8

284 Metaheurísticas Eemplos de metaheurísticas: de busca local: Busca Tabu Simulated Annealing Iterated Local Search (ILS) Variable Neighborhood Search (VNS) de busca populacional: Algoritmos Genéticos Colônia de Formigas 8

285 Simulated Annealing: Fundamentação do método Proposto por Kirkpatrick et al. (98) Simula o processo de recozimento de metais; Resfriamento rápido conduz a produtos meta-estáveis, de maior energia interna; Resfriamento lento conduz a produtos mais estáveis, estruturalmente fortes, de menor energia; Durante o recozimento o material passa por vários estados possíveis 85

286 Simulated Annealing: Fundamentação do método Analogia com um problema combinatorial: Os estados possíveis de um metal correspondem a soluções do espaço de busca; A energia em cada estado corresponde ao valor da função objetivo; A energia mínima corresponde ao valor de uma solução ótima local, possivelmente global. 86

287 Simulated Annealing: Fundamentação do método A cada iteração do método, um novo estado é gerado a partir do estado corrente por uma modificação aleatória neste; Se o novo estado é de energia menor que o estado corrente, esse novo estado passa a ser o estado corrente; Se o novo estado tem uma energia maior que o estado corrente em unidades, a probabilidade de se mudar do estado corrente para o novo estado é: e - /(kt), onde k = constante de Boltzmann e T = temperatura corrente; Este procedimento é repetido até se atingir o equilíbrio térmico (passo de Metrópolis) 87

288 Simulated Annealing: Probabilidade de aceitação de um movimento de piora Baseada na fórmula: P(aceitação) = e - /T = variação de custo; T = temperatura Temperatura Probabilidade de aceitação Temperatura Probabilidade de aceitação 88

289 Simulated Annealing: Fundamentação do método No início do processo, a temperatura é elevada e a probabilidade de se aceitar soluções de piora é maior; As soluções de piora são aceitas para escapar de ótimos locais; A probabilidade de se aceitar uma solução de piora depende de um parâmetro, chamado temperatura; Quanto menor a temperatura, menor a probabilidade de se aceitar soluções de piora; 89

290 Simulated Annealing: Fundamentação do método Atingido o equilíbrio térmico, a temperatura é diminuída; A taa de aceitação de movimentos de piora é, portanto, diminuída com o decorrer das iterações; No final do processo, praticamente não se aceita movimentos de piora e o método se comporta como o método da descida/subida; O final do processo se dá quando a temperatura se aproima de zero e nenhuma solução de piora é mais aceita, evidenciando o encontro de um ótimo local. 9

291 Algoritmo Simulated Annealing 9

292 Simulated Annealing: Prescrições para o resfriamento 9

293 Simulated Annealing: Prescrições para determinar a temperatura inicial 9

294 Determinação da temperatura inicial por simulação 9

295 Simulated Annealing: Considerações Gerais Número máimo de iterações em uma dada temperatura calculado com base na dimensão do problema; Temperatura de congelamento do sistema: quando se atingir, p.e., T =, ou quando a taa de aceitação de movimentos cair abaio de um valor predeterminado; Os parâmetros mais adequados para uma dada aplicação só podem ser obtidos por eperimentação. 95

296 Resultados Computacionais do Problema de Seleção de Projetos Parâmetros do AG Parâmetro Geração de populações Número de indivíduos em cada nova geração Probabilidade de Mutação Probabilidade de Crossover Valor % 5% Parâmetros do SA Parâmetro SA ma Temperatura inicial α (taa de resfriamento) Valor 5 Obtida por simulação.99 96

297 Resultados Computacionais do Problema de Seleção de Projetos Meta de produção e penalidades por desvios de meta Parâmetro meta de produção (M) Pec Pfalta Valor 9 Mt $5,/t $,/t 97

298 Resultados Computacionais do Problema de Seleção de Projetos Microcomputador PC AMD Durom, 9 MHz, 8 MB RAM LINGO versão 7. SA e SA+Subida desenvolvidos em Borland C++ 5. Algoritmos Genéticos: linguagem e equipamento não especificados Método Melhor VPL ($X 6 ) VPL Médio ($X 6 ) Tempo Médio de eecução (segundos) AG 5 -, SA 67 65,99 SA+Subida 8 8,99 Lingo 8 -, Solução ótima: 8 (obtida por enumeração completa, em 8 segundos) 98

299 Variable Neighborhood Descent (VND) Proposto por Nenad Mladenovic & Pierre Hansen em 997 Método de Descida em Vizinhança Variável Eplora o espaço de soluções através de trocas sistemáticas de estruturas de vizinhança Eplora vizinhanças gradativamente mais distantes Sempre que há melhora em uma certa vizinhança, retorna-se à vizinhança menos distante 99

300 Variable Neighborhood Descent (VND) Princípios básicos: Um ótimo local com relação a uma vizinhança não necessariamente corresponde a um ótimo com relação a outra vizinhança Um ótimo global corresponde a um ótimo local para todas as estruturas de vizinhança Para muitos problemas, ótimos locais com relação a uma vizinhança são relativamente próimos

301 Variable Neighborhood Descent (VND) Seja s uma solução inicial e r o número de estruturas de vizinhança; s s ; {Solução corrente} k ; {Tipo de estrutura de vizinhança} enquanto (k r) faça 5 Encontre o melhor vizinho s N (k) (s); 6 se ( f(s ) < f(s) ) 7 então s s ; k ; 8 senão k k + ; 9 fim-se; fim-enquanto; Retorne s; fim VND;

302 Iterated Local Search (ILS) Pressuposto: Os ótimos locais de um problema de otimização podem ser gerados a partir de perturbações na solução ótima local corrente A perturbação precisa ser suficientemente forte para permitir que a busca local eplore diferentes soluções e fraca o suficiente para evitar um reinício aleatório

303 Iterated Local Search (ILS) Componentes do ILS: GeraSolucaoInicial: BuscaLocal: Retorna uma solução melhorada Perturbacao: Modifica a solução corrente guiando a uma solução intermediária CriterioAceitacao: Decide de qual solução a próima perturbação será aplicada

304 Iterated Local Search (ILS) procedimento ILS s SolucaoInicial s BuscaLocal(s ) iter enquanto (iter < iter ma ) iter iter + s perturbação(s, histórico) s BuscaLocal(s ) s CriterioAceitacao(s, s, s ) fim-enquanto retorne s se ( f(s ) < f(s) ) faça s s fim-se

305 Iterated Local Search (ILS) Combina intensificação com diversificação Intensificação: É obtida fazendo-se pequenas perturbações na solução ótima corrente Diversificação: É obtida aplicando-se grandes perturbações na solução ótima corrente 5

306 ILS aplicado ao Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Utiliza níveis de pertubação; Cada nível n consiste em realizar n diferentes movimentos de forma aleatória Busca Local: Método VND (Variable Neighborhood Search) Critério de Parada: Tempo de processamento pré-determinado 6

307 ILS aplicado ao Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Problemas-teste: Situações reais em mineradoras; Instâncias N o De Frentes N o de Parâmetros de Controles N o de Carregadeiras N o de Caminhões POLAD 7 8 POLAD 7 8 POLAD 7 POLAD 7 7

308 ILS aplicado ao Planejamento Operacional de Lavra com Alocação Dinâmica de Caminhões Desempenho do Algoritmo ILS: Instância f PM ( s*) Procedimento I ILS f ( s *) Dp (%) Procedimento II ILS f ( s *) Dp (%) Tempo POLAD 6,8 () 6,8 (),99, 68,8, 789, POLAD 75,79 () 75,79 () 7,7, 58,99, 8, POLAD 96,9 () 58,5 () 585, 8,6 76,9 7, 8, POLAD,8 () 76,5 () 76,5, ,8, 89, () Melhor solução em 5 minutos de processamento; () Melhor solução em minutos; () Solução ótima, obtida em 8 minutos de processamento. 8

309 Algoritmos Genéticos Os AGs fundamentam-se em uma analogia com processos naturais de evolução, nos quais, dada uma população, os indivíduos com características genéticas melhores têm maiores chances de sobrevivência e de produzirem filhos cada vez mais aptos, enquanto indivíduos menos aptos tendem a desaparecer As características dos indivíduos, registradas em seus genes, são transmitidas para seus descendentes e tendem a propagar-se por novas gerações Características dos descendentes são parcialmente herdadas de seus pais (Crossover) e parcialmente de novos genes criados durante o processo de reprodução (Mutação) 9

310 Operadores genéticos CROSSOVER MUTAÇÃO

311 Algoritmos Genéticos O objetivo de um AG é o de tentar melhorar as qualidades genéticas de uma população através de um processo de renovação iterativa das populações

312 Relação entre AG e Problema de Otimização AG Indivíduo População Cromossomo Problema de Otimização Solução de um problema Conjunto de soluções Representação de uma solução Gene Alelos Crossover / Mutação Parte da representação de uma solução Valores que uma variável pode assumir Operadores de busca

313 Estrutura de um AG básico Gere uma população inicial Avalie a população Critérios de parada satisfeitos? Sim Liste os melhores indivíduos Não Selecione os pais Crossover Mutação Avalie a população Defina a população sobrevivente Geração de uma nova população

314 Avaliação de cromossomos Feita pela função de aptidão (fitness) Em um problema de maimização pode ser a própria função objetivo Em um problema de minimização pode ser o inverso da função objetivo

315 Fase de seleção Binary tournament selection: Selecionar dois indivíduos aleatoriamente O primeiro pai é o indivíduo com maior aptidão Selecionar, aleatoriamente, outros dois pais O segundo pai é o indivíduo com maior aptidão nessa nova seleção Aleatório Roleta russa 5

316 Fase de reprodução Dois ou mais cromossomos passam por um processo de mutação e/ou recombinação para gerar novos cromossomos filhos (offsprings) Operador mutação clássico p = ( ) p = ( ) 6

317 Fase de reprodução Operador crossover clássico (one point crossover): Descendentes são formados a partir da reunião de segmentos de cada pai p = ( ) p = ( ) O = ( ) O = ( ) 7

318 Operador crossover para o PCV Operador OX Operador crossover de dois pontos de corte Cruzamento entre os pais geram dois filhos Filhos herdam a ordem de visita dos pais 8

319 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} 9

320 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5}

321 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = ( 8 )

322 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = ( 8 9 )

323 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = ( 8 9 )

324 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = (7 8 9 )

325 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = ( ) 5

326 Operador OX para o PCV p = ( ) p = ( ) f = ( ) Ordem de visita de p = {8,9,,,,7,,6,5} f = ( ) 6

327 Sobrevivência / morte de cromossomos Como selecionamos os cromossomos que devem sobreviver? Sobrevivem os que possuem os melhores níveis de aptidão? É importante permitir também a sobrevida de cromossomos menos aptos, do contrário o método ficaria preso em ótimos locais Elitismo 7

328 Seleção de cromossomos sobreviventes Níveis de aptidão 6 5 Cromossomos 8

329 Roleta russa: mecanismo para selecionar os cromossomos sobreviventes 9

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte I Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo [email protected] [email protected] Departamento de Computação Universidade

Leia mais

Inteligência Computacional para Otimização

Inteligência Computacional para Otimização Inteligência Computacional para Otimização Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Engenharia Mineral / UFOP Programa de Pós-Graduação em Modelagem Matemática

Leia mais

Marcone Jamilson Freitas Souza

Marcone Jamilson Freitas Souza Otimização: Algumas aplicações Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo [email protected] [email protected] Departamento de Computação

Leia mais

Aula 06: Dualidade (aula prática)

Aula 06: Dualidade (aula prática) Aula 06: Dualidade (aula prática) Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Exercício 1 Exercício 1: PL Primal PL Dual

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática [email protected] wwwp.fc.unesp.br/~adriana Problema da Mistura minimizar f ( 1, 2,..., n ) = c 1 1 + c 2 2 +... + c n n Sujeito a: a 11 1

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática [email protected] wwwp.fc.unesp.br/~adriana Dualidade A eoria da Dualidade é um dos mais importantes tópicos da Programação Linear (PL). Estudos

Leia mais

Métodos Quantitativos

Métodos Quantitativos UNIVERSIDADE FEDERAL DE SÃO PAULO Escola Paulista de Política, Economia e Negócios Bacharelado em Ciências Contábeis Métodos Quantitativos Prof. João Vinícius de França Carvalho [email protected] Modelo

Leia mais

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e Programação Linear A otimização é o processo de encontrar a melhor solução (ou solução ótima) para um problema. Existe um conjunto particular de problemas nos quais é decisivo a aplicação de um procedimento

Leia mais

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Introdução Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema

Leia mais

Otimização de grande porte

Otimização de grande porte Otimização de grande porte Silvana Bocanegra Ciclo de Seminários BSI 204.2 Esboço Otimização: definição, aplicações e motivação; Classe de problemas de otimização e métodos de solução; Principais métodos

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática [email protected] wwwp.fc.unesp.br/~adriana Forma geral de um problema Em vários problemas que formulamos, obtivemos: Um objetivo de otimização

Leia mais

Otimização Aplicada à Engenharia de Processos

Otimização Aplicada à Engenharia de Processos Otimização Aplicada à Engenharia de Processos Aula 4: Programação Linear Felipe Campelo http://www.cpdee.ufmg.br/~fcampelo Programa de Pós-Graduação em Engenharia Elétrica Belo Horizonte Março de 2013

Leia mais

Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br 2018/2 - PCC174/BCC464 Aula Prática - Laboratório COM30!1 Breve Revisão Modelagem Método gráfico O Algoritmo Simplex

Leia mais

Introdução à Programação Linear

Introdução à Programação Linear Introdução à Programação inear Caracterização É um subitem da programação matemática É um dos modelos utilizados em pesquisa operacional. É um modelo de otimização. Tem como objetivo: "Alocar recursos

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo [email protected] [email protected] Departamento de Computação

Leia mais

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr. Programação Linear São problemas complexos, muitas vezes de difícil solução e que envolvem significativas reduções de custos, melhorias de tempos de processos, ou uma melhor alocação de recursos em atividades.

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 15 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

Investigação Operacional

Investigação Operacional Modelos de Programação Linear (Mestrado) Engenharia Industrial http://dps.uminho.pt/pessoais/zan - Escola de Engenharia Departamento de Produção e Sistemas 1 Modelação Matemática As técnicas e algoritmos

Leia mais

Métodos de Pesquisa Operacional I

Métodos de Pesquisa Operacional I Etraído de INTRODUÇÃO Á PESQUISA OPERACIONAL- Eduardo Leopoldino de Andrade LTC ( PLT 391) 1) Uma pequena manufatura produz dois modelos, Standard e Luo, de um certo produto. Cada unidade do modelo Standard

Leia mais

Introdução à Pesquisa Operacional - Otimização Linear

Introdução à Pesquisa Operacional - Otimização Linear Introdução à Pesquisa Operacional - Otimização Linear Professora: Maristela Oliveira dos Santos - [email protected] Auxilio 2009: Victor C.B. Camargo Auxilio 2010 - PAE: Marcos Mansano Furlan - L-1007 Instituto

Leia mais

Problema de designação

Problema de designação Departamento de Engenharia de Produção UFPR 48 Problema de designação Imagine, que em uma gráfica eiste uma única máquina e um único operador apto a operá-la. Como você empregaria o trabalhador? Sua resposta

Leia mais

Professor: Rodrigo A. Scarpel

Professor: Rodrigo A. Scarpel Professor: Rodrigo A. Scarpel [email protected] www.mec.ita.br/~rodrigo Pesquisa Operacional Durante a Segunda Guerra Mundial, os líderes militares solicitaram que cientistas estudassem problemas como posicionamento

Leia mais

Graduação em Engenharia Elétrica MÉTODOS DE OTIMIZAÇÃO ENE081. PROF. IVO CHAVES DA SILVA JUNIOR

Graduação em Engenharia Elétrica MÉTODOS DE OTIMIZAÇÃO ENE081. PROF. IVO CHAVES DA SILVA JUNIOR UNIVERSIDADE FEDERAL DE JUIZ DE FORA Graduação em Engenharia Elétrica MÉTODOS DE OTIMIZAÇÃO ENE081 PROF. IVO CHAVES DA SILVA JUNIOR E-mail: [email protected] Aula Número: 07 Programação Linear Últimas

Leia mais

Aula 08: Modelagem Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 08: Modelagem Otimização Linear e Inteira Túlio A. M. Toffolo Aula 08: Modelagem Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Aulas anteriores: Modelagem (básico) Método

Leia mais

Modelo matemático e algoritmo de apoio para auxílio ao sequenciamento e programação de lavra com alocação de equipamentos de carga

Modelo matemático e algoritmo de apoio para auxílio ao sequenciamento e programação de lavra com alocação de equipamentos de carga Modelo matemático e algoritmo de apoio para auxílio ao sequenciamento e programação de lavra com alocação de equipamentos de carga MSc. Arthur Andrade Prof. Dr. Miguel Santoro (USP) Prof. Dr. Giorgio de

Leia mais

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos PROGRAMAÇÃO INTEIRA Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos M9.1 - Problema de Seleção de Projetos ver Taha Capítulo 9 Cinco projetos estão sob avaliação

Leia mais

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex Prof. Volmir Wilhelm Curitiba, Paraná, Brasil Algoritmo Dual Simplex Motivação max sa Z = cx Ax = b x 0 escolhida uma base viável max sa Z = c B x B

Leia mais

Combinando inequações lineares

Combinando inequações lineares Combinando inequações lineares A multiplicação por um número > 0 não altera uma inequação 2x x 5 4x 2x 10 1 2 1 2 A soma de duas inequações (com o mesmo sentido) produz uma inequação válida x 3x x 3 1

Leia mais

α ( u 1 - u 2 ) = u 3 - u 2.

α ( u 1 - u 2 ) = u 3 - u 2. 2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA DE PROBLEMAS DE PROGRAMAÇÃO LINEAR 21 Noções de Convexidade 211 - Combinação Convexa de pontos ponto b = αx 1 Considere C um conjunto contendo os pontos

Leia mais

Solução de problemas de PL com restrições do tipo >= e =

Solução de problemas de PL com restrições do tipo >= e = Solução de problemas de PL com restrições do tipo >= e = Seja o Problema de maximização abaixo: O problema na forma padrão: Tem-se um problema, não existe na restrição 3 uma variável de folga para entrar

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo [email protected] [email protected]

Leia mais

Pesquisa Operacional. Introdução à Pesquisa Operacional Programação Linear

Pesquisa Operacional. Introdução à Pesquisa Operacional Programação Linear Pesquisa Operacional Introdução à Pesquisa Operacional Programação Linear 1 Sumário Modelagem e limitações da Programação Linear. Resolução Gráfica. Forma padrão de um modelo de Programação Linear. Definições

Leia mais

Aula 07: Análise de sensibilidade (2)

Aula 07: Análise de sensibilidade (2) Aula 07: Análise de sensibilidade (2) Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously Aulas anteriores: Dualidade

Leia mais

Índice. Prefácio Os modelos de programação linear e a investigação operacional 17

Índice. Prefácio Os modelos de programação linear e a investigação operacional 17 Índice Prefácio 13 Capítulo 1 Introdução 1. Os modelos de programação linear e a investigação operacional 17 2. O problema de programação linear 18 2.1. O problema de programação linear em substituição

Leia mais

Modelagem Matemática I

Modelagem Matemática I Introdução à Otimização Combinatória Modelagem Matemática I Professora: Rosiane de Freitas ([email protected]) Colaborador Bruno Raphael Cardoso Dias ([email protected]) Universidade

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Programação Linear (PL)

Programação Linear (PL) Programação Linear (PL) Prof. Paulo Cesar F. De Oliveira, BSc, PhD 07/08/15 P C F de Oliveira 2014 1 Características Técnicas mais utilizadas na abordagem de problemas em PO Técnica de solução programável

Leia mais

Aula 03: Algoritmo Simplex (Parte 2)

Aula 03: Algoritmo Simplex (Parte 2) Aula 03: Algoritmo Simplex (Parte 2) Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Slides baseados no material de Haroldo Gambini Previously... Aula anterior:

Leia mais

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual INVESTIGAÇÃO OPERACIONAL Programação Linear Exercícios Cap. IV Modelo Dual António Carlos Morais da Silva Professor de I.O. i Cap. IV - Modelo Dual - Exercícios IV. Modelo Problema Dual 1. Apresente o

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática [email protected] wwwp.fc.unesp.br/~adriana Revisão Método Simplex Solução básica factível: xˆ xˆ, xˆ N em que xˆ N 0 1 xˆ b 0 Solução geral

Leia mais

Lista 3 - Exercícios sobre Modelagem Matemática

Lista 3 - Exercícios sobre Modelagem Matemática 1 Lista 3 - Exercícios sobre Modelagem Matemática 1) Uma empresa de Agricultura quer decidir quais e em que quantidade os alimentos soja, arroz e feijão devem ser plantados em uma determinada área de forma

Leia mais

Tópicos Especiais em Computação I

Tópicos Especiais em Computação I Tópicos Especiais em Computação I Pesquisa Operacional Exercícios (Simplex) Prof. Fabio Henrique N. Abe [email protected] Método Simplex Desenvolvido por George Dantzig em 1947 É um procedimento

Leia mais

Modelagem Matemática de Problemas de Programação Linear

Modelagem Matemática de Problemas de Programação Linear Capítulo 1 Modelagem Matemática de Problemas de Programação Linear 1.1. Introdução Neste Capítulo analisamos brevemente a estratégia usada para encontrar a modelagem matemática de um problema de programação

Leia mais

Professor: Rodrigo A. Scarpel

Professor: Rodrigo A. Scarpel Professor: Rodrigo A. Scarpel [email protected] www.mec.ita.br/~rodrigo Programa do curso: Semana 1: Apresentação da disciplina Introdução à Programação Linear Resolução de problemas de PL pelo Método Gráfico

Leia mais

Aula 09: Modelagem / Variáveis inteiras

Aula 09: Modelagem / Variáveis inteiras Aula 09: Modelagem / Variáveis inteiras Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Aulas anteriores sobre

Leia mais

Pesquisa Operacional

Pesquisa Operacional Pesquisa Operacional Casos Especiais do Método Simplex e Gráfica Profa. Sheila Morais de Almeida DAINF-UTFPR-PG setembro - 2015 1 Casos Especiais do Método Simplex Degeneração Múltiplas soluções ótimas

Leia mais

Algoritmo Simplex para Programação Linear I

Algoritmo Simplex para Programação Linear I EA Planejamento e Análise de Sistemas de Produção Algoritmo Simple para Programação Linear I DCA-FEEC-Unicamp Modelo de Programação Linear ma c ( n ) s. a. A b A ( m n) b ( m ) c ( n) P ( R n A b} Poliedro

Leia mais

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Introdução à Pesquisa Operacional Origens militares Segunda guerra mundial Aplicada na alocação de

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

Unidade: Modelo Simplex e Modelo Dual. Unidade I: Unidade: Modelo Simplex e Modelo Dual Unidade I: 0 Unidade: Modelo Simplex e Modelo Dual Segundo Wikipédia (2008), em teoria da otimização matemática, o algoritmo simplex de George Dantiz é uma técnica

Leia mais

CAPÍTULO 3. Método Simplex

CAPÍTULO 3. Método Simplex CAPÍTULO 3 1. Soluções Básicas Admissíveis Considere um problema de PL representado nas suas formas padrão e matricial. Uma base é um conjunto de m variáveis, tais que a matriz dos coeficientes do sistema

Leia mais

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex Programação Linear Dual Simplex: Viabilidade Dual Viabilidade Dual Considere o par de problemas primal (P) dual (D). Agora já sabemos como encontrar a solução de um desses PPL a partir da solução do outro.

Leia mais

CAPÍTULO 4. Teoria da Dualidade

CAPÍTULO 4. Teoria da Dualidade CAPÍTULO 4 1. Introdução Uma dos conceitos mais importantes em programação linear é o de dualidade. Qualquer problema de PL tem associado um outro problema de PL, chamado o Dual. Neste contexto, o problema

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Fabrício Maciel [email protected] Departamento de Produção 1 Programação linear Sumário Modelagem e limitações da Programação

Leia mais

Programação Linear/Inteira - Aula 5

Programação Linear/Inteira - Aula 5 Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira - Aula 5 Prof. Thiago Alves de Queiroz Aula 5 Thiago Queiroz (IMTec) Aula 5 Aula 5 1 / 43 Análise de Sensibilidade Estudar o efeito

Leia mais

Referências: Notas de aulas do Prof. Silvio Alexandre de Araujo

Referências: Notas de aulas do Prof. Silvio Alexandre de Araujo Programação Inteira Referências: Notas de aulas do Prof Silvio Aleandre de Araujo http://wwwdcceibilceunespbr/~saraujo/ Material da Professora Gladys Castillo do Departamento de Matemática da Universidade

Leia mais

Lista 3 - Exercícios sobre Modelagem Matemática

Lista 3 - Exercícios sobre Modelagem Matemática 1 Lista 3 - Exercícios sobre Modelagem Matemática 1) Uma empresa de Agricultura quer decidir quais e em que quantidade os alimentos soja, arroz e feijão devem ser plantados em uma determinada área de forma

Leia mais

MÉTODO SIMPLEX. Prof. MSc. Marcos dos Santos

MÉTODO SIMPLEX. Prof. MSc. Marcos dos Santos MÉTODO SIMPLEX OBJETIVO DA AULA Determinar a Solução Ótima de um PPL por meio do Método Simple, especialmente adequado para problemas com mais de duas V.D. SUMÁRIO Overview sobre PO; Métodos Algébricos;

Leia mais

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA PESQUISA OPERACIONAL APLICADA A LOGÍSTICA Pós-Graduação em Logística e Supply Chain Valdick Sales 1 APRESENTAÇÃO Valdick sales Graduado em Ciência da Computação pela UFPE. Pós-Graduado em Redes e Banco

Leia mais

Universidade da Beira Interior Departamento de Matemática. Ficha de exercícios nº3: Dualidade. Interpretação Económica.

Universidade da Beira Interior Departamento de Matemática. Ficha de exercícios nº3: Dualidade. Interpretação Económica. Ano lectivo: 2008/2009; Universidade da Beira Interior Departamento de Matemática INVESTIGAÇÃO OPERACIONAL Ficha de exercícios nº3: Dualidade. Interpretação Económica. Cursos: Economia 1. Formule o problema

Leia mais

Análise de Sensibilidade Solução Degenerada Solução Gráfica Análise dos Coeficientes da Função Objetivo A Análise do Lindo A análise do Excel O

Análise de Sensibilidade Solução Degenerada Solução Gráfica Análise dos Coeficientes da Função Objetivo A Análise do Lindo A análise do Excel O Análise de Sensibilidade Solução Degenerada Solução Gráfica Análise dos Coeficientes da Função Objetivo A Análise do Lindo A análise do Ecel O Limite dos coeficientes das Restrições Lindo Ecel Analisando

Leia mais

Lista de Exercícios 1 - Otimização Linear Prof. Silvio Alexandre de Araujo. Construção de Modelos e Solução Gráfica

Lista de Exercícios 1 - Otimização Linear Prof. Silvio Alexandre de Araujo. Construção de Modelos e Solução Gráfica Lista de Exercícios 1 - Otimização Linear Prof. Silvio Alexandre de Araujo Construção de Modelos e Solução Gráfica 1) - Estudar Capítulo 1 do livro texto; - Estudar Capítulo 2 do livro texto (seções 2.1,

Leia mais

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Introdução Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema do

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Pesquisa Operacional Modelos, Conceitos Básicos para PL. Prof. Ricardo Santos

Pesquisa Operacional Modelos, Conceitos Básicos para PL. Prof. Ricardo Santos Pesquisa Operacional Modelos, Conceitos Básicos para PL Prof. Ricardo Santos Problema do Transporte Centros de produção de produtos são denominados origens Mercados consumidores são denominados destinos

Leia mais

PROGRAMAÇÃO LINEAR 1. A TEORIA DA PROGRAMAÇÃO LINEAR 2. MÉTODO GRÁFICO 3. MÉTODO SIMPLEX 4. ANÁLIDE DE SENSIBILIDADE 5. APLICAÇÕES

PROGRAMAÇÃO LINEAR 1. A TEORIA DA PROGRAMAÇÃO LINEAR 2. MÉTODO GRÁFICO 3. MÉTODO SIMPLEX 4. ANÁLIDE DE SENSIBILIDADE 5. APLICAÇÕES UNIVERSIDADE FEDERAL DA BAHIA - UFBA ESCOLA POLITÉCNICA DEPARTAMENTO DE ENGENHARIA MECÂNICA DEM CURSO DE ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO LINEAR PESQUISA OPERACIONAL PARTE II 1. A TEORIA DA PROGRAMAÇÃO

Leia mais

Resolvendo algebricamente um PPL

Resolvendo algebricamente um PPL Capítulo 6 Resolvendo algebricamente um PPL 6.1 O método algébrico para solução de um modelo linear A solução de problemas de programação linear com mais de duas variáveis, não pode ser obtida utilizando-se

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010

DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010 DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010 Exame de Recurso Dep. Econ. Gestão e Engª Industrial 14 de Julho de 2010 duração: 2h30 (80) 1. Considere o modelo seguinte, de Programação Linear

Leia mais

LOGÍSTICA EMPRESARIAL

LOGÍSTICA EMPRESARIAL LOGÍSTICA EMPRESARIAL Centro de Distribuição (CD) 2 Centro de Distribuição (CD) Local utilizado para armazenar produtos provenientes de diferentes plantas e empresas, mantendo um certo nível de estoque,

Leia mais

Exercícios de Matemática II

Exercícios de Matemática II Eercícios de Matemática II Sequências 1) Os números 4, + 1 e + 1 formam, nesta ordem, uma progressão aritmética. O maior desses três números é: R$ 1 000,00. Quanto esse cliente pagou de entrada na aquisição

Leia mais

Investigação Operacional

Investigação Operacional Análise de Sensibilidade, Formulação Dual (Mestrado) Engenharia Industrial http://dps.uminho.pt/pessoais/zan - Escola de Engenharia Departamento de Produção e Sistemas Uma das tarefas mais delicadas no

Leia mais

Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional

Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional Parte I Programação Linear 4 Organização Parte I: Programação linear (5 aulas) Parte II: Programação inteira

Leia mais

Modelagem de problemas de programação linear

Modelagem de problemas de programação linear Otimização Combinatória c Graduação em Engenharia de Controle e Automação/Universidade Federal de Ouro Preto Modelagem de problemas de programação linear Marcone Jamilson Freitas Souza, Departamento de

Leia mais

Aula 22: Formulações com número exponencial de variáveis

Aula 22: Formulações com número exponencial de variáveis Aula 22: Formulações com número exponencial de variáveis Otimização Linear e Inteira Túlio Toffolo http://www.toffolo.com.br BCC464 / PCC174 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Correção

Leia mais

Problemas de Transportes e de Afectação

Problemas de Transportes e de Afectação CAPÍTULO 6 Problemas de Transportes e de Afectação 1. Problema de Transporte Este problema, que é um dos particulares de PL, consiste em determinar a forma mais económica de enviar um bem disponível, em

Leia mais

Pesquisa Operacional / Programação Matemática

Pesquisa Operacional / Programação Matemática Pesquisa Operacional / Programação Matemática Otimização discreta Modelagem com variáveis binárias: problemas clássicos Breve Comentários (aula anterior) Em geral, não faz sentido resolver a relaxação

Leia mais

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX. Prof. Angelo Augusto Frozza, M.Sc.

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX. Prof. Angelo Augusto Frozza, M.Sc. PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX Prof. Angelo Augusto Frozza, M.Sc. MÉTODO SIMPLEX A ideia geral é Em vez de enumerar todas as soluções básicas (pontos extremos) do problema de PL,

Leia mais

PESQUISA OPERACIONAL I

PESQUISA OPERACIONAL I PESQUISA OPERACIONAL I Professor: Dr. Edwin B. Mitacc Meza [email protected] www.engenharia-puro.com.br/edwin/po-i.html Dualidade Introdução Uma das mais importantes descobertas no início do

Leia mais

PESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16

PESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX Página 16 Após o problema ter sido modelado, pode-se resolvê-lo de forma algébrica. A solução algébrica é dada pelo método simplex elaborado por Dantzig. Antes da

Leia mais

Programação Linear/Inteira

Programação Linear/Inteira Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira Prof. Thiago Alves de Queiroz Aula 2 Thiago Queiroz (IMTec) Aula 2 Aula 2 1 / 46 Hipóteses de Linearidade Existem algumas hipóteses

Leia mais

Aplicações de PL possíveis até o momento

Aplicações de PL possíveis até o momento Universidade Federal de Itajubá Instituto de Engenharia de Produção e Gestão Pesquisa Operacional Síntese Problemas Interessantes Prof. Dr. José Arnaldo Barra Montevechi Aplicações de PL possíveis até

Leia mais

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29 Análise e Síntese de Algoritmos Programação Linear CLRS, Cap. 29 Conteto Algoritmos em Grafos (CLRS, Cap. 22-26)... Fluos máimos em grafos (CLRS, Cap. 26) Programação Linear (CLRS, Cap. 29) Programação

Leia mais

Combinando inequações lineares

Combinando inequações lineares Combinando inequações lineares A multiplicação por um número > 0 não altera uma inequação 2x x 5 4x 2x 0 2 2 A soma de duas inequações (com o mesmo sentido) produz uma inequação válida x 3x + x 3 2 + 5x

Leia mais

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes Agosto/2013 Problemas de roteirização e programação de veículos (RPV) Objetivo geral: Determinar rotas de

Leia mais

Branch-and-Bound para problemas de Otimização Combinatória

Branch-and-Bound para problemas de Otimização Combinatória para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas

Leia mais

Pesquisa Operacional

Pesquisa Operacional Pesquisa Operacional Em busca da solução ótima: método gráfico Diretoria dos Cursos de Informática Ciência da Computação Profa. Dra. Gisele Castro Fontanella Pileggi Programação Linear Solução Gráfica

Leia mais

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016 Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização

Leia mais

Pesquisa Operacional. Introdução à Pesquisa Operacional Programação Linear

Pesquisa Operacional. Introdução à Pesquisa Operacional Programação Linear Pesquisa Operacional Introdução à Pesquisa Operacional Programação Linear 1 Sumário Modelagem e limitações da Programação Linear. Resolução Gráfica. Forma padrão de um modelo de Programação Linear. Definições

Leia mais

Pesquisa Operacional. Ementa. Prof. Edézio

Pesquisa Operacional. Ementa. Prof. Edézio Ementa Pesquisa Operacional A apresentação da PO Modelos e forma-padrão de PPL Solução gráfica de um PPL O algoritmo Simplex Teoria dos Jogos Livro texto Silva, Ermes Medeiros..et al.l., Pesquisa Operacional,

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

Pesquisa Operacional Aula 3 Modelagem em PL

Pesquisa Operacional Aula 3 Modelagem em PL Pesquisa Operacional Aula 3 Modelagem em PL Prof. Marcelo Musci [email protected] www.musci.info Programação Linear Programação Linear: Preocupação em encontrar a melhor solução para problemas associados

Leia mais