VinBR

PO - 11/09/2012

May 28th, 2013
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.35 KB | None | 0 0
  1. # # # # # # # # # # # # #
  2. # Pesquisa Operacional #
  3. # Prof. Alexandre Cunha #
  4. # notasdogarcia.blog.com #
  5. # # # # # # # # # # # # #
  6.  
  7. Prof. Alexandre Salles da Cunha
  8. site: www.dcc.ufmg.br/~acunha/DCC035/2012_2
  9.  
  10. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  11.  
  12. Livro Texto:
  13. Otimização combinatória e Programação Linear - Modelos e Algoritmos, Editora Campus, Primeira Edição, 2000.
  14.  
  15. Literatura complementar disponível no site.
  16.  
  17. Notas sobre a literatura complementar:
  18. os 2 primeiros no site são simpleszinhos,
  19. os que tem um (+) são os com nível de pós graduação.
  20.  
  21. Livro tido como perfeito pelo professor na bibliografia complementar:
  22. Vasek Chvátal, Linear Programming, Editora Freeman, 1983.
  23.  
  24. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  25.  
  26. Presença só é cobrada se voce tirar menos de 60 pts.
  27. (implicando que infrequencia te impossibilita de fazer exame especial).
  28.  
  29. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  30.  
  31. Cronograma disponível no site. (o cronograma é confiável de acordo com ele)
  32.  
  33. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  34.  
  35. Conceito:
  36. Pesquisa Operacional é a ciência da tomada de decisão.
  37.  
  38. // Impressão pessoal:
  39. // Em PO vamos estudar a resolução eficientes de problemas NP-Completo em otimizações de processos.
  40.  
  41. O professor comentou a existencia de duas vertentes em PO;
  42. - Otimização
  43. - Simulação
  44. - E o caso que combina os 2
  45.  
  46. Esse curso será focado na vertente da otimização.
  47.  
  48. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  49.  
  50. Vamos agora apresentar o foco de nossas aulas (ao menos das primeiras aulas até onde eu sei):
  51.  
  52. O que é um problema de otimização?
  53.  
  54. Vamos dizer que eu tenho uma fórmula e quero otimizar ela.
  55.  
  56. Esse objetivo meu pode ser expresso no formato abaixo:
  57.  
  58. "Max cTx"
  59.  
  60. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  61.  
  62. NOTAÇÃO:
  63. "cTx" significa "c Transposto e multiplicado por x".
  64.  
  65. Usaremos os nomes c = vetor de custos, x = variável de decisão (vetor).
  66.  
  67. // Usaremos ele quase como um operador multiplicativo, é simples de entender e fácil de digitar para mim =P.
  68. // Sem falar que é a mesma notação utilizada pelo professor.
  69.  
  70. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  71.  
  72. Para ficar mais claro vamos dar um exemplo:
  73.  
  74. c = | 1 | x = | x1 |
  75. | 4 | | x2 |
  76. | 5 | | x3 |
  77.  
  78. e cTx fica:
  79.  
  80. x1 + 4x2 + 5x3
  81.  
  82. Ficou claro?
  83.  
  84. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  85.  
  86. // Agora continuando o problema de otimizar uma fórmula:
  87.  
  88. Voltando ao prob. de otimização, é preciso saber o que limita minha otimização.
  89.  
  90. em via de regra utilizaremos nessa disciplina inequações da forma: c1 x1 + c2 x2 <= b
  91.  
  92. Para expressar várias inequações em uma única formula basta utilizarmos uma matriz Ax contendo uma equação por linha:
  93.  
  94. Ax <= b - (Conjunto de restrições) (A = matriz, x = vetor, b = vetor)
  95.  
  96. E para simplificar os problemas garantimos variáveis não nulas:
  97.  
  98. x >= 0 - (x e 0 são vetores, onde 0 é o vetor nulo)
  99.  
  100. Assim nosso problema é escolher o valor de x tal que cTx obtenha o maior valor possível sem infringir a restrição Ax <= b.
  101.  
  102. // Nota: As restrições no mundo real normalmente são coisas como o limite que tenho em estoque de um material.
  103.  
  104. Nomes que vamos usar:
  105. c = vetor de custos de altura n
  106. x = variável de decisão (com uma coluna) de altura m
  107. A = matriz de tecnologia com dimensões m×n
  108. b = vetor de capacidade, é o limite fisíco de cada material (ex: minerio, madeira, papel) que voce tem diponível.
  109.  
  110. Esse problema é considerado linear por não apresentar não-linearidades do tipo: uma variável ao quadrado ou uma multiplicando a outra.
  111.  
  112. // Notas: Problema de otimização linear inteira é quando o x ou outras variáveis só podem ser compostas por valores inteiros.
  113. // Problema de otimização combinatória é quando existem variáveis que só possuem o valor 0 ou 1.
  114.  
  115. // Outra nota: Vamos trabalhar somente com os casos mais simples com matrizes constantes e lineares.
  116.  
  117. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  118.  
  119. Otimização linear é um problema NP Polinomial.
  120. Otimização linear inteira é NP Difícil.
  121. Existem outros que são NP-Completo
  122.  
  123. Vamos trabalhar só nas duas primeiras partes que citei acima.
  124.  
  125. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  126.  
  127. CONCEITO:
  128. Função objetivo: f(x) = cTx
  129.  
  130. É a função sobre a qual tenho de trabalhar. Objetivando Maximiza-las ou Minimiza-las.
  131.  
  132. Por exemplo: "max cTx" ou "min cTx"
  133.  
  134. CONCEITO:
  135. Variáveis de decisão ou variáveis em nível de atividade:
  136.  
  137. São as variáveis sobre as quais temos a flexibilidade de escolher os valores,
  138. com o objetivo de otimizar o objetivo.
  139.  
  140. Nós usamos os nomes: x1, x2, x3, xi ... e assim por diante durante as aulas.
  141. É fácil de identifica-las.
  142.  
  143. CONCEITO:
  144. Restrições:
  145.  
  146. É o conjunto de regras que limitam a flexibilidade das variáveis de decisão.
  147. Se uma variável de decisão ou um conjunto delas infringir uma restrição a solução obtida se torna inviável.
  148. Se não infringiu nada a solução é viável.
  149.  
  150. CONCEITO:
  151. PPL é sigla para Problema de Programação Linear.
  152.  
  153. CONCEITO:
  154. O Dominio do problema é o espaço no qual as soluções para o problema são viáveis,
  155. matemáticamente:
  156.  
  157. D = { x € R^n | Ax >= b, x>=0 }
  158.  
  159. // Esse é o dominio do problema-exemplo 1
  160.  
  161. Como em programação linear todas as restrições formam retas ou planos
  162. Chamamos esse espaço também de poliedro.
  163.  
  164. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  165.  
  166. Passos para Modelar um problema de otimização Linear
  167.  
  168. Uma vez que voce tenha um problema do mundo real (ou um exercicio desse materia) que voce queira otimizar,
  169. voce deve seguir os seguintes passos:
  170.  
  171. 1° passo: Identificar as variáveis de decisão - Entenda o problema e escolha quais serão os valores x1,x2 e etc.
  172. 2° passo: Descrever analiticamente por meio de funções LINEARES o objetivo do problema.
  173. 3° passo: Descrever analiticamente por meio de funções LINEARES as restrições do problema.
  174.  
  175. Nota do professor: Pode acontecer de voce escolher uma variável de decisão e não conseguir fazer o passo 2 com funções lineares,
  176. nesse caso pode ser necessário voltar ao passo 1 e escolher outra(s) variávei(s) de decisão.
  177.  
  178. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  179.  
  180. // Agora vamos dar um exemplo de um PPL típico:
  181.  
  182. Seja o problema das ligas metálicas:
  183.  
  184. Veja a tabela de ligas:
  185.  
  186. Liga de baixa resistência | liga de alta resistencia | Disponibilidade de Insumos
  187. Cobre | 0,5 0,2 16 ton
  188. Zinco | 0,25 0,3 11 ton
  189. Chumbo | 0,25 0,5 15 ton
  190.  
  191. Valor | 3000 5000
  192.  
  193.  
  194. Agora vamos modelar o problema segundo os passos que falamos anteiormente.
  195.  
  196. Passo 1: Qual a nossa variável de decisão?
  197.  
  198. No caso as variáveis de decisão são a quantidade em toneladas a serem produzidas de cada liga.
  199. Sendo a quantidade B = quantidade de liga de baixa resistencia e B a quantidade de liga de alta resistencia.
  200.  
  201. Passo 2: Qual a função objetivo?
  202.  
  203. A função objetivo é a soma do valor de venda das toneladas das duas ligas:
  204.  
  205. 3000*B + 5000*A
  206.  
  207. E nós desejamos máximizar esse valor:
  208.  
  209. max 3000*B + 5000*C
  210.  
  211. Passo 3: Precisamos agora então modelar as restrições.
  212.  
  213. - A produção não pode ser menor que 0: A,B >= 0
  214. - Não pode-se exceder a capacidade em estoque dos insumos.
  215.  
  216. Seja b1, b2 e b3 o uso efetivo de cada um dos 3 materiais: cobre, zinco e chumbo:
  217.  
  218. b1 <= 16
  219. b2 <= 11
  220. b3 <= 15
  221.  
  222. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  223.  
  224. Agora podemos escrever de forma explicita nosso problema:
  225.  
  226. max 3000x1 + 5000x2
  227.  
  228. 0,5 x1 + 0,2 x2 <= 16
  229. 0,25 x1 + 0,3 x2 <= 11
  230. 0,25 x1 + 0,5 x2 <= 15
  231.  
  232. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  233.  
  234. // Não passei a limpo o prob. abaixo e não pretendo passar:
  235. Problema 2:
  236.  
  237. Vamos otimizar o número de funcionarios de uma empresa para que os clientes sejam adequadamente atendidos com o menor custo possível com RH
  238.  
  239. Há diferentes turnos de trabalho para os funcionários e eles ganham salários diferentes dependendo do turno.
  240. Há também um número minímo de funcionário durante cada periodo do dia.
  241. (e há intercessões tanto entre os turnos dos funcionarios como também há diferentes números de funcionarios necessários para cada periodo do dia)
  242.  
  243. Parte 1: Variáveis de decisão:
  244.  
  245. Façamos xi ser o número de funcionarios trabalhando em cada uma das 5 opções de turno:
  246.  
  247. Turno 1: 6h 14h: 170,00
  248. Turno 2: 8h 16h: 160,00
  249. Turno 3: 12h 20h: 175,00
  250. Turno 4: 16h 0h: 180,00
  251. Turno 5: 22h 6h: 195,00
  252.  
  253. Parte 2: Objetivo:
  254.  
  255. Objetivo é minimizar o custo total de contração dos funcionarios ou seja:
  256.  
  257. min zum (i€I) ci*xi, onde ci é o custo de cada turno.
  258.  
  259. Parte 3: Restrições:
  260.  
  261. xi >= 0 para todo i€I
  262. xi € Z (inteiros)
  263.  
  264. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  265.  
  266. Vamos chamar de J o conjunto de periodos de serviço
  267. Chamemos de qj a quantidade mínima de agentes contratados que satisfaçam a demanda no periodo j.
  268.  
  269. Seja Aij € {0,1} um indicador de se determinado turno i, cobre o periodo j de funcionamento da empresa.
  270.  
  271. Façamos agora nossa matriz A:
  272.  
  273. A:
  274. | T1 | T2 | T3 | T4 | T5 | Demanda:
  275. 6:00 a 8:00 | 1 | 48
  276. 8:00 a 10:00 | 1 1 | 79
  277. 10:00 a 12:00 | 1 1 | 65
  278. 12:00 a 14:00 | 1 1 1 | 87
  279. 14:00 a 16:00 | 1 1 | 64
  280. 16:00 a 18:00 | 1 1 | 73
  281. 18:00 a 20:00 | 1 1 | 82
  282. 20:00 a 22:00 | 1 | 43
  283. 22:00 a 24:00 | 1 1 | 52
  284.  
  285. // Ainda faltaria mais da tabela mas parece que ninguém se importa nem os slides.
  286.  
  287. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  288.  
  289. // Fim da aula!
  290.  
  291. // Nós aconselhou a fazer esses exercicios em casa.
Advertisement
Add Comment
Please, Sign In to add comment