VinBR

PO - 29/11/2012

May 28th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.90 KB | None | 0 0
  1. # # # # # # # # # # # # #
  2. # Pesquisa Operacional #
  3. # Prof. Alexandre Cunha #
  4. # notasdogarcia.blog.com #
  5. # # # # # # # # # # # # #
  6.  
  7. Entregar TP no email: [email protected]
  8.  
  9. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  10.  
  11. O problema do caixeiro viajante simétrico.
  12. É o prob. do caixeiro onde o caminho de ida e volta entre duas cidades tem o mesmo preço.
  13.  
  14. min { sum (e € E) Xe Ce tal que x pertença p intercessão com Binário de |E| dimensões }
  15.  
  16. Onde P é dada por:
  17.  
  18. sum (e € ð(i)) Xe = 2, para todo i pertencente a N
  19.  
  20. sum e € E(S) onde Xe <= |S|-1, para todo S contido em N,S != ø
  21.  
  22. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  23.  
  24. Outra relaxação possível:
  25.  
  26. relaxação 1-tree
  27.  
  28. min { sum (e € E) Xe Ce tal que x pertença p intercessão com Binário de |E| dimensões }
  29.  
  30. (9') sum(e € ð(1) Xe = 2
  31.  
  32. (10') sum Xe <= 1 para todo S contido em N-{1} (conjunto com o vertice 1)
  33. Com e € E(S)
  34. S != ø
  35.  
  36. sum Xe <= |S|-1 com e € E(s), para todo S onde 1 € S e S != N
  37.  
  38. min sum Ce Xe com e € ð(1) + sum Ce Xe com e € E-ð(1)
  39.  
  40.  
  41. R1-tree = min sum Ce Xe e € ð(1) + min sum Ce Xe com e € E-ð(1)
  42. sum Xe = 2 com e € ð(1) sum Xe <= |S|-1 com e € E(S), para todo s com 1 !€ S e S != N
  43. Xe € {0,1}, e € ð(1) Xe € {0,1} e € E-ð(1)
  44.  
  45. Note que temos dois problemas um a direita e um a esquerda.
  46.  
  47. Agora note, o objetivo (somando os 2 lados) é o mesmo do problema original do caixeiro, o min de todas as arestas.
  48. A restrição da esquerda é escolha as duas menores arestas do vertice 1.
  49. A do segundo é ache uma arvore geradora pra sub-arvore sem o vertice 1.
  50.  
  51. Juntando o conjunto de arestas dos 2 problemas apesar de termos um mesmo objetivo.
  52. Não temos uma solução viável.
  53.  
  54. O que ganhamos com essa solução não viável?
  55. -> Sabemos um limite inferior para o objetivo.
  56.  
  57. O exemplo do professor foi:
  58.  
  59. 1 --- O O
  60. \ \ /
  61. \ \ /
  62. O --- 0 --- O --- O --- O
  63.  
  64. Assim temos uma arvore geradora união com o vertice {1} e suas duas arestas.
  65.  
  66. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  67.  
  68. Vamos considerar o prob. inteiro:
  69.  
  70. x = {max cx: Ax <= b, x € S contido em inteiros de n dimensões.}
  71.  
  72. Interprete o S grande como uma simplificação das restrições de um problema qualquer.
  73.  
  74. Z=max cTx
  75.  
  76. Ax <= b
  77.  
  78. x € S
  79. x € inteiros*
  80.  
  81. Relaxação:
  82.  
  83. Z0=max cTx
  84.  
  85. x € S
  86. x € inteiros*
  87.  
  88. É uma relaxação.
  89.  
  90. O ótimo dele é um limite superior.
  91.  
  92. Vamos escolher um vetor u qualquer não negativo.
  93.  
  94. z(u) = max cTx + uT (b-Ax)
  95. X € S
  96. X € inteiros^n
  97.  
  98. Note que para u = 0 => Z(u) = Z0
  99. E que otimizar uT (b-Ax)
  100. é se aproximar da igualdade: Ax = b ( que era o prob. otimo )
  101.  
  102. Para qualquer outro valor de u teremos um valor Z(u) > Z0
  103.  
  104. Na prática o que nós queremos é encontrar o melhor valor de u, onde o valor de max Z(u) é mais baixo.
  105.  
  106. Já que o max Z(u) é o limite superior o menor max Z(u) pode vir a ser a sol. ótima.
  107.  
  108. Queremos então:
  109.  
  110. min { max Z(u) }
  111.  
  112. O que é isso?
  113.  
  114. É um problema dual.
  115. Perceba que uma característica do dual é o limite superior, onde o ótimo é o melhor limite.
  116. Nós não garantimos no entanto a dualidade Forte, somente a Fraca.
  117.  
  118. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  119.  
  120. Acabamos de construir um dual para o nosso problema de otimização original.
  121.  
  122. que era o problema Z = max cTx
  123. Ax <= b
  124. x€S <= Z^n
  125.  
  126. cTx <= cTx* <= z(u*) <= z(u)
  127.  
  128. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  129.  
  130. Vamos tentar fazer o mesmo encima do nosso problema da relaxação 1-tree?
  131.  
  132. Ele nos deu um limite inferior que pode ser muito distante do original.
  133.  
  134. Lembrando nossa relaxação:
  135.  
  136. R1-tree = min sum Ce Xe e € ð(1) + min sum Ce Xe com e € E-ð(1)
  137. sum Xe = 2 com e € ð(1) sum Xe <= |S|-1 com e € E(S), para todo s com 1 !€ S e S != N
  138. Xe € {0,1}, e € ð(1) Xe € {0,1} e € E-ð(1)
  139.  
  140. Vamos então adicionar um vetor u para otimizar/aproximar uma restrição que não existia na relaxação mas sim no original
  141. A restrição de que cada vertice só pode ter duas arestas.
  142.  
  143. min sum Ce Xe + sum Ce Xe + sum Ui ( 2 - sum Xe )
  144. e € ð(1) e € E - ð(1) i!=1 e € ð(i)
  145.  
  146.  
  147. Note então que aprendemos a construir Duais para problemas bem diferentes do que estamos acostumados.
  148.  
  149. E essa solução nos garante dualidade Fraca.
  150.  
  151. E a dualidade Forte?
  152. Garantida somente para problemas de otimização convexa.
  153.  
  154. Note no entanto que ainda não falamos de como escolher o melhor u.
  155. (isso pode ser complicado porque o dual é não diferenciavel)
  156.  
  157. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  158.  
  159. Questão Central:
  160.  
  161. Obter boas relaxações (limites mais próximos do ótimo) em tempos de CPU aceitáveis.
  162.  
  163. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  164.  
  165. // Fim da aula!
Advertisement
Add Comment
Please, Sign In to add comment