VinBR

PO - 18/09/2012

May 28th, 2013
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.97 KB | None | 0 0
  1. # # # # # # # # # # # # #
  2. # Pesquisa Operacional #
  3. # Prof. Alexandre Cunha #
  4. # notasdogarcia.blog.com #
  5. # # # # # # # # # # # # #
  6.  
  7. Na aula de hoje vamos começar a explicar o Método Simplex =].
  8.  
  9. Para isso vamos partir do mesmo problema da última aula, e resolver ele usando o Simplex =].
  10.  
  11. ^ x2
  12. |
  13. |------\
  14. | \
  15. | \
  16. | |
  17. | |
  18. | |
  19. | |
  20. | |
  21. |--------------------> x1
  22.  
  23. O problema era:
  24.  
  25. max 3 x1 + 5 x2
  26.  
  27. 1 x1 + 0 x2 <= 4
  28. 0 x1 + 2 x2 <= 12
  29. 3 x1 + 2 x2 <= 18
  30.  
  31. x1,x2 >= 0
  32.  
  33. Já vimos que precisamos coloca-lo na forma padrão para usar o Simplex então:
  34.  
  35. max 3 x1 + 5 x2
  36.  
  37. 1 x1 + 0 x2 + x3 = 4
  38. 0 x1 + 2 x2 + x4 = 12
  39. 3 x1 + 2 x2 + x5 = 18
  40.  
  41. x1,x2,x3,x4,x5 >= 0
  42.  
  43. Agora vamos pensar o quanto essas novas variáveis afetam o nosso problema.
  44.  
  45. Nosso problema era para ser pensado em duas dimensões, porém temos agora 5 variáveis, que problemão Ô.Ô
  46.  
  47. Para resolver um problema de 5 variáveis, nós sabemos bem que precisamos de 5 equações certo?
  48.  
  49. Graças a forma normal nós ganhamos 3 equações (antes eram inequações):
  50.  
  51. 1 x1 + 0 x2 + x3 = 4
  52. 0 x1 + 2 x2 + x4 = 12
  53. 3 x1 + 2 x2 + x5 = 18
  54.  
  55. Porém faltam duas. Por sorte tem um macete simples.
  56.  
  57. As variáveis x3,x4 e x5 que são nossas variáveis de folga e portanto podemos colocar sobre elas qualquer valor que quisermos =].
  58.  
  59. Escolhendo duas delas completamos 5 equações:
  60.  
  61. 1 x1 + 0 x2 + x3 = 4
  62. 0 x1 + 2 x2 + x4 = 12
  63. 3 x1 + 2 x2 + x5 = 18
  64.  
  65. x3 = 0
  66. x5 = 0
  67.  
  68. E essas 5 equações geram uma solução única, que está na intercessão das arestas:
  69.  
  70. Vertical:
  71. 1 x1 + 0 x2 + 0 = 4 (pois x3 = 0)
  72.  
  73. Diagonal:
  74. 3 x1 + 2 x2 + 0 = 18 (pois x5 também = 0)
  75.  
  76. E notem que nossa aresta Horizontal:
  77.  
  78. 0 x1 + 2 x2 + x4 = 12
  79.  
  80. Aceita qualquer valor dentro de: 2 x2 <= 12
  81. Pois o x4 lhe dá essa flexibilidade.
  82.  
  83. Dessa forma, todas as soluções que geraremos no método simplex são intercessões de arestas,
  84. ou em outras palavras os vertices que vimos na aula anterior =].
  85.  
  86. E para encontrar soluções diferentes basta zerar variáveis diferentes, interessante não?
  87.  
  88. Notem também que o vertice descrito acima é o vertice (4,3), que sabemos não ser o vertice ótimo =].
  89.  
  90. CONCEITO:
  91. Variáveis não-básicas são aquelas variáveis que são zeradas pelo processo descrito acima,
  92. para delimitar um unico ponto no espaço.
  93.  
  94. No caso: N = {x3 e x5}
  95.  
  96. CONCEITO:
  97. Variáveis básicas são aquelas variáveis que nós não zeramos no processo acima.
  98.  
  99. No caso: B = {x1, x2 e x4}
  100.  
  101. // NOTA: x1 e x2 não são necessáriamente variáveis básicas ein!
  102. // Veja: x1=0 e x2=0 definem o ponto (0,0) que é um vertice do problema como qualquer outro.
  103.  
  104. CONCEITO:
  105. Solução básica é uma solução gerada por uma determinada escolha de variáveis básicas (B) e não-básicas (N)
  106.  
  107. Toda solução básica é um vertice (formado por intercessões de duas ou mais restrições).
  108.  
  109. Toda solução básica possuí uma única configuração de B e de N que à gera.
  110.  
  111. Nem toda solução básica é ótima.
  112.  
  113. E nem toda solução básica sequer é viável! (a intercessão de duas restrições pode formar um vertice mas infringir uma terceira restrição)
  114.  
  115. Se experimentarmos no exemplo acima:
  116.  
  117. N = {x3, x4}
  118. B = {x1, x2, x5}
  119.  
  120. Encontraremos o vertice que é intecessão da reta horizontal e da reta vertical.
  121.  
  122. Refazendo o desenho:
  123.  
  124. ^ x2
  125. |
  126. |-----\ P (solução com N={x3,x4})
  127. | \
  128. | \
  129. | \
  130. | |
  131. | |
  132. | |
  133. | |
  134. |--------------------> x1
  135.  
  136. E fica claro que o ponto P (4,12) não pertence ao dominio de soluções do problema.
  137.  
  138. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  139.  
  140. Agora lembram-se que na aula passada nós aprendemos a caminhar pelos vertices
  141. seguindo sempre um tal de vetor gradiente?
  142.  
  143. Vamos aprender a fazer isso no simplex?
  144.  
  145. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  146.  
  147. Nosso problema é:
  148.  
  149. max 3 x1 + 5 x2
  150.  
  151. 1 x1 + 0 x2 + x3 = 4 linha vertical
  152. 0 x1 + 2 x2 + x4 = 12 linha horizontal
  153. 3 x1 + 2 x2 + x5 = 18 linha diagonal
  154.  
  155. x1,x2,x3,x4,x5 >= 0
  156.  
  157. E façamos a mesma escolha de B e N que fizemos anteriormente:
  158.  
  159. x3 = 0
  160. x5 = 0
  161.  
  162. Sabendo que para cada escolha de B e N temos uma nova solução,
  163. fazendo diferentes escolhas podemos caminhar por todos os vertices.
  164.  
  165. Agora nos queremos caminhar pelos vertices e não saltar por eles.
  166.  
  167. Vamos então escolher o sentido para caminharmos para que cheguemos no ponto (2,6) que era o ponto ótimo.
  168.  
  169. Sabemos que atualmente estamos no ponto formado entre nossa diagonal e e nossa linha vertical.
  170. Queremos caminhar para o ponto entre nossa diagonal e nossa linha horizontal =].
  171.  
  172. Para fazermos isso temos de transformar a equação da linha horizontal em uma linha de igualdade.
  173. E transformar a equação da linha vertical em uma linha de desigualdade.
  174.  
  175. Ou seja temos de fazer da linha horizontal uma restrição justa , ou seja x4 = 0 -> uma variável não-básica.
  176. e temos de fazer da linha vertical uma restrição com folga, ou seja x3 != 0 -> uma variável básica.
  177.  
  178. Assim nossa nova configuração é:
  179.  
  180. B = {x1, x2, x3}
  181. N = {x4, x5}
  182.  
  183. Observando nosso desenho, e sabendo que nosso novo vertice é formado na intercessão
  184. da linha horizontal com a linha diagonal, vemos claramente que o novo P é o ponto (2,6):
  185.  
  186. ^ x2
  187. |
  188. |-----P (solução com B={x1, x2, x3} N={x4, x5})
  189. | \
  190. | \
  191. | \
  192. | |
  193. | |
  194. | |
  195. | |
  196. |--------------------> x1
  197.  
  198. Solução essa que obviamente está dentro do conjunto de soluções,
  199. e já sabemos pela aula passada (pois resolvemos esse exercício) que é a solução ótima.
  200.  
  201. Super interessante não?
  202. Assim sendo já sabemos como caminhar pelo grafo, e as várias interpretações que podemos dar as linhas,
  203. vertices e variáveis básicas e não-básicas =].
  204.  
  205. Uma boa introdução ao método.
  206.  
  207. Na próxima aula veremos o método de forma crua, o simples algoritmo.
  208. Nele veremos como é feito o uso do gradiente do objetivo. (é bem simples na verdade)
  209.  
  210. E veremos uma última coisa importante.
  211. Lembram-se que nem toda solução básica é uma solução básica viável?
  212.  
  213. O método simplex ele precisa partir de uma sol. básica viável.
  214. Mas nem sempre nosso chute inicial vai nos permitir isso.
  215. Há um método para encontra-la e vamos falar disso na próx aula =].
  216.  
  217. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  218.  
  219. // Antes de acabar a aula alguns nomes:
  220.  
  221. CONCEITO:
  222. Dicionário é o nome dado ao conjunto de informações que temos sobre o problema no caso acima:
  223.  
  224. max 3 x1 + 5 x2
  225.  
  226. 1 x1 + 0 x2 + x3 = 4 linha vertical
  227. 0 x1 + 2 x2 + x4 = 12 linha horizontal
  228. 3 x1 + 2 x2 + x5 = 18 linha diagonal
  229.  
  230. x1,x2,x3,x4,x5 >= 0
  231.  
  232. CONCEITO:
  233. Matriz tecnológica é um outro nome dado ao conjunto de restrições justas do problema:
  234.  
  235. 1 x1 + 0 x2 + x3 = 4 linha vertical
  236. 0 x1 + 2 x2 + x4 = 12 linha horizontal
  237. 3 x1 + 2 x2 + x5 = 18 linha diagonal
  238.  
  239. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  240.  
  241. // Fim da aula!
Advertisement
Add Comment
Please, Sign In to add comment