VinBR

PO - 14/03/2013

Mar 22nd, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.88 KB | None | 0 0
  1. # # # # # # # # # # # # #
  2. # Pesquisa Operacional #
  3. # notasdogarcia.blog.com #
  4. # # # # # # # # # # # # #
  5.  
  6. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  7.  
  8. Aula 4: Entendendo o Simplex
  9.  
  10. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  11.  
  12. Na aula passada aprendemos a caminhar pelo espaço utilizando o simplex.
  13.  
  14. O nosso problema exemplo era:
  15.  
  16. max 3 x1 + 5 x2
  17.  
  18. 1 x1 + 0 x2 + F1 = 4
  19. 0 x1 + 2 x2 + F2 = 12
  20. 3 x1 + 2 x2 + F3 = 18
  21.  
  22. x1,x2,F1,F2,F3 >= 0
  23.  
  24. Inicialmente escolhemos a base: B = {F1,F2,F3}
  25.  
  26. max 3 x1 + 5 x2
  27.  
  28. F1 = 4 - 1 x1 - 0 x2
  29. F2 = 12 - 0 x1 - 2 x2
  30. F3 = 18 - 3 x1 - 2 x2
  31.  
  32. x1,x2,F1,F2,F3 >= 0
  33.  
  34. E o problema ficou assim:
  35.  
  36. ^ x2
  37. |
  38. |------\
  39. | \
  40. | \
  41. | |
  42. | |
  43. | |
  44. | |
  45. | |
  46. A--------------------> x1
  47.  
  48. E caminhamos através de uma operação de Pivoteamento até o ponto: (0,6) com B = {F1,x2,F3}
  49.  
  50. Com o dicionario escrito assim:
  51.  
  52. max z = 30 + 3 x1 - 5/2 F2
  53.  
  54. F1 = 4 - 1 x1
  55. x2 = 6 - 1/2 F2
  56. F3 = 6 - 3 x1 - 1 F2
  57.  
  58. x1,x2,F1,F2,F3 >= 0
  59.  
  60. ^ x2
  61. |
  62. |
  63. | restrição 2
  64. A------\
  65. | \ restrição 3
  66. | \
  67. | |
  68. | |
  69. | ^ | restrição 1
  70. | / |
  71. |/ |
  72. .--------------------> x1
  73.  
  74. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  75.  
  76. Na aula de hoje vamos ver mais afundo 3 detalhes do Dicionário do Simplex dos quais ainda não haviamos falado:
  77.  
  78. 1° Teste da Razão (fizemos ele na última aula, mas irei formaliza-lo nesta)
  79. 2° Como confirmar a otimálidade de uma solução?
  80. 3° Problema ilimitada
  81. 4° Problema inviável
  82.  
  83. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  84.  
  85. Vamos continuar o exercicio da última aula falando de um ponto de vista agora mais técnico:
  86.  
  87. max z = 30 + 3 x1 - 5/2 F2
  88.  
  89. F1 = 4 - 1 x1
  90. x2 = 6 - 1/2 F2
  91. F3 = 6 - 3 x1 - 1 F2
  92.  
  93. x1,x2,F1,F2,F3 >= 0
  94.  
  95. B = {F1,x2,F3} N = {x1,F2}
  96.  
  97. Então vamos fazer mais um pivoteamento.
  98. O pivoteamento é composto de duas etapas:
  99.  
  100. 1° Escolhe-se uma variável de N para entrar B.
  101. 2° Através do Teste da razão descobre-se quem de B vai entrar N.
  102.  
  103. Vamos então iniciar o processo de pivoteamento:
  104.  
  105. A variável que vai sair de N precisa ser aquela cujo crescimento beneficia o objetivo:
  106.  
  107. max z = 30 + 3 x1 - 5/2 F2
  108.  
  109. Somente o crescimento de x1 beneficia o objetivo, logo queremos x1.
  110.  
  111. Agora precisamos de aprender o que é o teste da razão:
  112.  
  113. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  114.  
  115. CONCEITO:
  116. Teste da Razão é o teste pelo qual comparamos dentre um conjunto de restrições
  117. que restrigem o crescimento de uma variável,
  118. qual delas restringe mais, ou seja, permite que essa variável cresça menos.
  119.  
  120. Uma vez detectada essa restrição, podemos fazer uma variável crescer
  121. até o ponto máximo permitido por ela.
  122. Sabendo que essa restrição é a mais restringente temos certeza que não estaremos
  123. infringindo outras restrições ou saindo do nosso dominio de soluções.
  124.  
  125. Quando a variável cresce até o ponto máximo que essa restrição permite,
  126. naturalmente uma outra variável que estava associada a essa restrição diminuí.
  127.  
  128. No momento em que ela chega no crescimento máximo essa outra variável atingirá o valor 0.
  129.  
  130. É neste ponto que geramos uma variável Não-Básica, quando ela assume o valor 0.
  131.  
  132. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  133.  
  134. Fazendo o teste da razão temos de encontrar
  135. as restrições afetadas pelo crescimento de x1:
  136.  
  137. Se olharmos as 3 restrições:
  138.  
  139. (1) F1 = 4 - 1 x1
  140. (2) x2 = 6 - 1/2 F2
  141. (3) F3 = 6 - 3 x1 - 1 F2
  142.  
  143. Notamos que somente as restrições (1) e (3) são afetadas.
  144. (vale notar que se x1 tivesse o coeficiente positivo nelas ela não seria afetada,
  145. pois o crescimento dele não infringiria as restrições)
  146. (se não houvesse nenhuma restrição restringindo o crescimento de x1 teriamos um problema ilimitado!)
  147.  
  148. Assim podemos calcular o teste da razão:
  149.  
  150. Qual o crescimento máximo de x1 em (1)?
  151.  
  152. 4/1 = 4
  153.  
  154. Qual o crescimento máximo de x1 em (2)?
  155.  
  156. infinito, x1 não aparece nessa restrição.
  157.  
  158. Qual o crescimento máximo de x1 em (3)?
  159.  
  160. 6/3 = 2
  161.  
  162. Logo a restrição que será infringida mais rapidamente é a (3).
  163.  
  164. Concluímos duas coisas:
  165.  
  166. 1° x1 ira crescer para o valor 2.
  167. 2° A varíavel básica F3 associada a restrição 3
  168. deverá ser zerada e se tornara uma Não-Básica.
  169.  
  170. E esse foi o fim do teste da razão.
  171.  
  172. Com isso temos uma nova base:
  173.  
  174. B = {x1,F1,x2} N = {F2,F3}
  175.  
  176. E um novo ponto A, Note que mesmo sem saber o valor de x1 e x2 podemos saber
  177. desenhar o plano cartesiano:
  178.  
  179. ^ x2
  180. |
  181. |
  182. | restrição 2
  183. |------A
  184. | \ restrição 3
  185. | \
  186. | |
  187. | |
  188. | ^ | restrição 1
  189. | / |
  190. |/ |
  191. .--------------------> x1
  192.  
  193. Como as folgas F2 e F3 são não básicas (ou seja zero) significa que o Ponto A
  194. se localiza encima de ambas as retas da restrição 2 e da restrição 3,
  195. ou seja na intercessão das duas como mostrado acima =].
  196.  
  197. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  198.  
  199. Algumas notas:
  200. 1° A variável x1 não aparece na restrição 2 certo?
  201. Graficamente isso significa que x1 é paralelo à restrição 2.
  202.  
  203. 2° E se eu ignorasse r3 durante o pivoteamento, onde ficaria o ponto A?
  204.  
  205. ^ x2
  206. |
  207. |
  208. | restrição 2
  209. |------\-A
  210. | \|restrição 3
  211. | \
  212. | |
  213. | |
  214. | ^ | restrição 1
  215. | / |
  216. |/ |
  217. .--------------------> x1
  218.  
  219. Ficaria sobre a intercessão da próxima restrição no caminho, no caso r1.
  220.  
  221. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  222.  
  223. Vamos atualiar nosso Dicionário para enchergar exatamente qual é o ponto A:
  224.  
  225. max z = 30 + 3 x1 - 5/2 F2
  226.  
  227. F1 = 4 - 1 x1
  228. x2 = 6 - 1/2 F2
  229. x1 = 2 - 1/3 F3 - 1/3 F2
  230.  
  231. x1,x2,F1,F2,F3 >= 0
  232.  
  233. B = {x1,F1,x2} N = {F2,F3}
  234.  
  235. Atualizando Fica:
  236.  
  237. max z = 36 - 7/2 F2 - 1 F3
  238.  
  239. F1 = 2 + 1/3 F3 + 1/3 F2
  240. x2 = 6 - 1/2 F2
  241. x1 = 2 - 1/3 F3 - 1/3 F2
  242.  
  243. x1,x2,F1,F2,F3 >= 0
  244.  
  245. B = {x1,F1,x2} N = {F2,F3}
  246.  
  247. Agora fica claro:
  248.  
  249. x1 = 2
  250. x2 = 6
  251.  
  252. Ponto (2,6)
  253.  
  254. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  255.  
  256. Agora vamos observar nossa Dicionário
  257.  
  258. O objetivo está na forma padrão, e não possuí variáveis positivas certo?
  259. Logo crescer qualquer uma delas não irá beneficiar o objetivo.
  260.  
  261. O que isso quer dizer?
  262.  
  263. Quer dizer Atestado de Solução Ótima.
  264.  
  265. Se todos as variáveis do objetivo não podem crescer, temos um atestado de otimalidade.
  266.  
  267. Uma vez que voce tenha o atestado voce tem certeza de estar no ótimo.
  268.  
  269. Com isso terminamos nosso exercicio.
  270. E já sabemos como operar o Simplex do inicio ao fim =].
  271.  
  272. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  273.  
  274. Para completar o entendimento da materia vamos tornar o simplex mais genérico.
  275.  
  276. 1° O que fazer quando uma de nossas variáveis for negativa?
  277.  
  278. Basta substituíla por uma positiva com um sinal de menos na frente (essa é fácil né)
  279.  
  280. 2° O que fazer se o sinal da nossa variável não for limitado, pode ser positivo ou negativo?
  281.  
  282. Essa é mais difícil. O macete é criar duas variáveis positivas, e substituir a variável original pela diferença das duas novas.
  283.  
  284. 3° O que fazer se o ponto (0,0) não for uma solução viável?
  285. Até agora só encontramos problemas onde (0,0) é viável,
  286. porém o simplex só funciona se voce partir de uma solução viável.
  287.  
  288. O que fazer?
  289. Um macete é criar uma variável chamada de "Artificial" A1 na restrição impeditiva.
  290. De forma que ela torne o ponto (0,0) viável.
  291.  
  292. Para eliminar essa variável A1 basta resolver o seguinte problema de mínimização:
  293.  
  294. min A1
  295.  
  296. De forma que quando A1 for igual à 0 voce poderá corta-lo da solução e resolver sua vida.
  297. Pois quando ele for 0 haverá um conjunto de variáveis básicas que satisfaz o problema original.
  298.  
  299. Com base nele voce pode recomeçar o problema agora com o obejtivo original.
  300.  
  301. É um macete inteligente, mas não acho que precisaremos usa-lo nos exercicios da materia, apenas na vida real.
  302.  
  303. Com isso eu encerro a segunda aula sobre o Simplex.
  304.  
  305. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  306.  
  307. // Fim da aula!
Advertisement
Add Comment
Please, Sign In to add comment