1 / 14

PROGRAMAÇÃO INTEIRA

PROGRAMAÇÃO INTEIRA. 27 de maio de 2014. PROGRAMAÇÃO INTEIRA. 5. 4. 3. x 2. 2. 1. 0. 0. 1. 2. 3. 4. 5. x 1. É um caso particular da Programação Linear em que todas as variáveis são restritas a valores inteiros.

ailani
Download Presentation

PROGRAMAÇÃO INTEIRA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROGRAMAÇÃO INTEIRA 27 de maio de 2014

  2. PROGRAMAÇÃO INTEIRA 5 4 3 x2 2 1 0 0 1 2 3 4 5 x1 É um caso particular da Programação Linear em que todas as variáveis são restritas a valores inteiros. Aplicações em problemas envolvendo número de itens, como televisores, automóveis, número de estágios...

  3. Na resolução desses problemas, além da Função Objetivo e das restrições, são acrescentadas Condições de Integralidade Max f = 3 x1 + 4 x2 s.a.: 2 x1 + x2 6 2 x1 + 3 x2 9 x1 ≥ 0 (inteiro) x2 ≥ 0 (inteiro) Há problemas, no entanto, em que apenas algumas variáveis são restritas a valores inteiros. Nesse caso, as condições de integralidades são acrescentadas apenas para estas. Max f = 3 x1 + 4 x2 s.a.: 2 x1 + x2 6 2 x1 + 3 x2 9 x1≥ 0 (inteiro) x2 ≥ 0 Temos, então a Programação Linear com Inteiros

  4. No decorrer da resolução dos problemas de Programação Inteira, aparecem os seguintes tipos de soluções intermediárias: - soluções inteiras: todas as variáveis exibem valores inteiros. - soluções não-inteiras: pelo menos uma variável exibe um valor não-inteiro. As soluções não-inteiras são eliminadas passo-a-passo restando ao final a solução inteira ótima. A estratégia de resolução consiste em: 1. Aplicar o SIMPLEX ao problema original com as condições de integralidaderelaxadas Se coincidir desta solução ser inteira, ela é a solução do problema. 2. Formular e resolver sucessivos problemas de Programação Linear. Em cada problema é acrescentada um nova restrição a uma variável não-inteira, convergindo-se, assim, para asolução inteira ótima.

  5. Essa estratégia pode ser aplicada com o auxílio do Método de Branch-and-Bound, que consta de duas operações básicas: bifurcação(“branch”) e limitação (“bound”). 100 P xj xj  [xj*] xj ≥ [xj*] + 1 80inteira Guardada 70 não-inteiranão bifurcável SP1 SP2 A bifurcação gera novos problemas restritos. A limitação evita a resolução de problemas cujas soluções se mostram, antecipadamente, piores (economiza esforço computacional). xj xj

  6. Eliminação de Intervalo 5 4 3 x2 2 1 0 0 1 2 3 4 5 x1 Numa solução intermediária não-inteira, deve haver pelo menos uma variável xj cujo valor xj* é não-inteiro. Seja [xj*] a parte inteira de xj. Então, a condição necessária para que xj seja inteiro é xj  [xj*]ouxj≥[xj*] + 1 Ou seja: o intervalo [xj*]<xj < [xj*] + 1 deve ser eliminado da busca Exemplo: x2* = 2,6 [x2*] = 2 Intervalo eliminado2<x2 < 2 + 1

  7. Eliminação de Intervalo: Bifurcação (“branch”) Ao dar continuidade à resolução, parte-se da solução intermediária não-inteira FP Problema de Máximo P xj FSP1 < FP FSP2 < FP xj  [xj*] xj ≥ [xj*] + 1 e criam-se dois sub-problemas(bifurcação) com as devidas restrições: SP1 Sub-problema 1: xj  [ xj* ] SP2 Sub-problema 2: xj≥[ xj* ] + 1 A solução de qualquer Sub-Problema é mais restrita do que a do Problema que a originou. Portanto, a sua solução é necessariamente pior do que a do Problema. Este fato não preocupa porque faz parte do caminho de busca de uma solução inteira. Heurística: havendo mais de uma variável com valor não-inteiro, deve-se selecionar, para bifurcação, aquela mais afastada do valor inteiro (mais próxima de 0,5).

  8. LIMITAÇÃO (“Bound”) FP xj xj FSP1 < FPinteira FSP2 < FSP1 não-inteiranão bifurcável Ao se chegar a uma primeira solução inteira, esta não é necessariamente a ótima porque outras soluções inteiras ainda podem ser encontradas no processo de bifurcação. O valor (F) da Função Objetivo desta primeira solução inteira serve de limite (“bound”) para as soluções seguintes. Em Problemas de Mínimo  limite superior. Em Problemas de Máximo  limite inferior. 100 P P xj xj Qualquer outra solução inteira posteriormente encontrada com um valor melhor do que F, deve ser adotada como solução ótima provisória. Se pior, deve ser descartada. xj  [xj*] xj  [xj*] xj ≥ [xj*] + 1 xj ≥ [xj*] + 1 Qualquer solução não-inteira com um valor pior do que F, não deve ser bifurcada: as soluções bifurcadas são necessariamente piores. 80inteira Guardada 70 não-inteiranão bifurcável SP1 SP1 SP2 SP2 Exemplo Problema de Máximo xj xj

  9. EXEMPLO

  10. Max f = 3 x1 + 4 x2 s.a.: 2 x1 + x2 6 2 x1 + 3 x2 9 x1 ≥ 0 (inteiro) x2 ≥ 0 (inteiro) x1 = 2,5x2 = 1 5 f = 11,50 4 3 x1 = 1x2 = 2 x2 f = 11,00 2 1 0 0 1 2 3 4 5 x1 7 3 1 5 6 2 inviável Problema Relaxado f = 12,75 x1 = 2,25x2 = 1,50 Duas soluções piores... x2 1 x2 2 x1 = 1,5x2 = 2 f = 12,5 x1 2 x1 1 Não-inteira não-bifurcável: pior que a outra x1 = 1x2 = 2,33 4 f = 12,33 x2 3 inviável x2 2 x1 = 0x2 = 3 f = 12,00 SOLUÇÃO

  11. PROGRAMAÇÃO 0 - 1 Caso particular da Programação Inteira em que as variáveis inteiras só podem assumir os valores 0 e 1. É a parte da Programação Inteira de interesse na Engenharia de Processos.

  12. Min f = 2 x1 – 3 y1 – 2y2 – 3y3 s.a.: x1 + y1 + y2 + y3 ≥ 2 10 x1 + 5 y1 + 3 y2 + 4 y3  10 x1≥ 0 y1 , y2 , y3 = 0, 1 [0,6; 1; 1] f= -6,8 6 3 0 1 2 5 y1= 0 [1; 0,333; 1] [0; 1; 1] f= -5 f= - 6,667 y2= 0 y1= 1 y1= 1 4 f= - 6,5 [1; 1; 0,5] y3= 0 y3= 1 [1; 1; 0] f= - 5 f= -6 [1; 0; 1] Inviável (pq?)

  13. Na Engenharia de Processos, o problema central é a criação de um fluxograma de processo. Neste problema, há variáveis inteiras e variáveis contínuas. As variáveis inteiras binárias correspondem à presença (1) ou não (0) de um equipamento. As variáveis contínuas correspondem às variáveis de processo (vazões, temperaturas, concentrações, dimensões). Temos, então, a Programação LinearInteira Mista (PLIM) “Mixed Integer Linear Programming” (MILP). e a Programação Não-LinearInteira Mista (PNLIM) “Mixed Integer Nonlinear Programming” (MINLP).

  14. 6.5.4 Resolução por Super-estruturas Escrevem-se os modelos dos equipamentos e conexões. A cada equipamento é associada uma variável binária. Na solução: (1) equip. presente; (0) equip. ausente. Resolve-se um problema de programação não-linear com inteiros: geradas e analisadas diversas estruturas..

More Related