VinBR

PO - 13/09/2012

May 28th, 2013
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.40 KB | None | 0 0
  1. # # # # # # # # # # # # #
  2. # Pesquisa Operacional #
  3. # Prof. Alexandre Cunha #
  4. # notasdogarcia.blog.com #
  5. # # # # # # # # # # # # #
  6.  
  7. Resolução de problema de programação linear.
  8.  
  9. Hoje vamos falar sobre nosso primeiro método de resolução de problema de programação linear.
  10.  
  11. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  12.  
  13. 1) Método Gráfico:
  14.  
  15. Nosso problema é: Queremos o máximo de uma equação linear, e temos algumas restrições lineares que limitam nosso problema.
  16. E por fim, todas as nossas variáveis são necessáriamente maior ou igual à 0.
  17.  
  18. Escreveremos ele assim:
  19.  
  20. max 3 x1 + 5 x2
  21.  
  22. 1 x1 + 0 x2 <= 4
  23. 0 x1 + 2 x2 <= 12
  24. 3 x1 + 2 x2 <= 18
  25.  
  26. x1,x2 >= 0
  27.  
  28. Vamos desenhar nosso dominio de soluções (é o método gráfico afinal né?):
  29.  
  30. Com minha habilidade artistica vai ficar assim:
  31.  
  32. ^ x2
  33. |
  34. 12 |----\
  35. | \
  36. | \
  37. | |
  38. | |
  39. | |
  40. |------|---------->
  41. 0 4 x1
  42.  
  43. Notem então que primeiro:
  44. - O problema nescessáriamente tem alguma solução, porque a área é > 0.
  45.  
  46. Segundo:
  47. - A área é < infinito, logo necessáriamente existe uma solução ótima pro problema, seja ele de maximização ou minimização.
  48.  
  49. Terceiro:
  50. - Podemos desenhar um vetor para indicar a direção do ponto ótimo.
  51.  
  52. Esse terceiro vamos discutir mais um pouco.
  53.  
  54. Vejam como queremos o ponto de máximo queremos o ponto onde a função objetivo:
  55.  
  56. 3 x1 + 5 x2
  57.  
  58. Tem o maior valor possível
  59.  
  60. Se eu formar a linha:
  61.  
  62. 3 x1 + 5 x2 = 15
  63.  
  64. e depois a linha
  65.  
  66. 3 x1 + 5 x2 = 20
  67.  
  68. Verei que são paralelas indicando um sentido único de crescimento (por ser um prob. linear)
  69.  
  70. O vetor normal à essas duas linhas é fácil de se obter.
  71.  
  72. Como x1 tem coeficiente 3 e x2 coeficiente 5 o vetor é:
  73.  
  74. (3,5)
  75.  
  76. Assim vemos claramente que a solução deve estar mais pro lado do x2 do que do x1 devido ao tamanho do coeficiente.
  77.  
  78. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  79.  
  80. E agora como descobrir o ponto ótimo?
  81.  
  82. Bem se pensarmos bem a solução com certeza será um vertice ou uma aresta do dominio de solução.
  83. Porque ele é um poligono convexo devido a forma como as restrições de PPLs são construídas.
  84.  
  85. Um macete bom é caminharmos de vertice em vertice com os olhos sempre escolhendo o próximo
  86. vertice adjacente, e escolhendo aquele que melhor satisfizer o vetor gradiente: (3,5)
  87.  
  88. Primeiro vamos contar todos os vertices eles são:
  89.  
  90. (0,0), (4,0), (4,3), (2,6), (0,6)
  91.  
  92. Vamos começar do vertice (0,0)
  93.  
  94. Quais os vizinhos dele? São o (4,0) e o (0,6).
  95.  
  96. Qual deles satisfaz melhor o vetor objetivo: (3,5)?
  97.  
  98. Claramente é o (0,6), ele cresce 6 posições em x2 apesar de não crescer nada em x1.
  99.  
  100. Agora estamos no vertice (0,6), Quais os vizinhos? (0,0) e (2,6)
  101.  
  102. Caminhar para (0,0) é caminhar sobre o vetor -(0,6) o que seria ruim.
  103. Caminhar para (2,6) é caminhar sobre o vetor (2,0) o que aumentaria um pouco nosso objetivo.
  104.  
  105. Então a decisão está tomada né? vamos para o vetor (2,6).
  106.  
  107. E agora quem são os vizinhos dele? (0,6) de onde acabamos de sair e (4,3).
  108.  
  109. Voltar para o (0,6) já sabemos que não será uma boa idéia,
  110. Agora andar para o (4,3) é uma boa?
  111.  
  112. (4,3) - (2,6) = (2,-3)
  113.  
  114. Ou seja diminuíriamos em 3 unidades a variável x2 mas aumentariamos em 2 a variável x1.
  115.  
  116. Com base no vetor gradiente: (3,5)
  117.  
  118. Sabemos que cada unidade de crescimento/decrescimento em x1 varia nosso objetivo em 3 unidades enquanto
  119. cada unidade de crescimento/decrescimento em x2 varia nosso objetivo em 5 unidades
  120.  
  121. Variação total: (2,-3)*(3,5)T = 3*2 + 5*-3 = -9
  122.  
  123. Com isso em mente fica obvio que não é uma boa caminhar para (4,3).
  124. Nem voltar para o (0,6)
  125.  
  126. Que conclusão tiramos disso?
  127.  
  128. Temos a solução ótima do nosso PPL =] que é o ponto (2,6).
  129.  
  130. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  131.  
  132. // Observação do professor:
  133. // Um vertice também pode ser expresso como "ponto extremo" ou "solução básica" em prog. linear.
  134.  
  135. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  136.  
  137. Bem a partir da próxima aula, vamos falar do nosso primeiro método não gráfico de resolução de PPLs.
  138.  
  139. O método Simplex.
  140.  
  141. Mas o método simplex só funciona se o dominio do problema estiver expresso na forma padrão,
  142. então vamos definir essa forma padrão já nessa aula e aprender a converter um problema qualquer para esse formato.
  143.  
  144. CONCEITO:
  145. Poliedro na Forma Padrão é a forma padrão de se expressar os dominios de solução para Problemas de Programação Lineares.
  146.  
  147. Um poliedro na forma padrão é diferenciado porque ele não contém desigualdades exceto as de não negatividade (x1,x2 >= 0)
  148.  
  149. Para transformarmos o poliedro (o nosso desenho no gráfico) no formato padrão precisamos alterar as restrições dele, vejam:
  150.  
  151. max 3 x1 + 5 x2
  152.  
  153. 1 x1 + 0 x2 <= 4
  154. 0 x1 + 2 x2 <= 12
  155. 3 x1 + 2 x2 <= 18
  156.  
  157. x1,x2 >= 0
  158.  
  159. Vira:
  160.  
  161. max 3 x1 + 5 x2
  162.  
  163. 1 x1 + 0 x2 = 4
  164. 0 x1 + 2 x2 = 12
  165. 3 x1 + 2 x2 = 18
  166.  
  167. x1,x2 >= 0
  168.  
  169. Mas ficou estranho né? Agora mudou o dominio do problema.
  170. Antes a solução (1,1) era uma solução viável, ainda que não fosse ótima e agora não mais.
  171.  
  172. Para expressarmos então as desigualdades e ainda manter a forma padrão podemos definir novas variáveis
  173. responsáveis pela folga, vejam como ficaria:
  174.  
  175. max 3 x1 + 5 x2
  176.  
  177. 1 x1 + 0 x2 + x3 = 4
  178. 0 x1 + 2 x2 + x4 = 12
  179. 3 x1 + 2 x2 + x5 = 18
  180.  
  181. x1,x2,x3,x4,x5 >= 0
  182.  
  183. Assim quando as novas variáveis forem iguais à 0, estaremos nas bordas do poliedro,
  184. e quando forem diferentes estaremos nos pontos intermediarios como o ponto (1,1).
  185.  
  186. Mantivemos assim o mesmo dominio do problema =].
  187.  
  188. Vantagem da Forma Padrão:
  189.  
  190. Agora podemos aplicar o método Simplex de resolução de PPLs.
  191.  
  192. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  193.  
  194. // Alguns conceitos que podemos usar nas próximas aulas:
  195.  
  196. CONCEITO:
  197. Ponto extremo (vertice) é um ponto que não pode ser expresso como combinação convexa de nenhum outro ponto
  198. dentro do dominio de soluções de um problema.
  199.  
  200. CONCEITO:
  201. Combinação Convexa (CC) é a combinação de todos os pontos existentes entre dois pontos iniciais digamos "A" e "B".
  202. (ou seja todos os pontos na linha (A,B))
  203.  
  204. Formalmente podemos expressar isso na forma:
  205.  
  206. CC(A,B) = lambda A + (1 - lambda) B
  207.  
  208. Onde lambda é um valor entre 0 e 1.
  209.  
  210. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  211.  
  212. // Fim da Aula!
Advertisement
Add Comment
Please, Sign In to add comment