210 likes | 327 Views
OTIMIZAÇÃO DE SISTEMAS DISCRETOS. PROGRAMAÇÃO DINÂMICA. 27 de maio de 2014. Considere um sistema constituido de N estágios em série. N -1. 1. 2. N. x 1. x 2. x N-2. x N-1. x N. x o.
E N D
OTIMIZAÇÃO DE SISTEMAS DISCRETOS PROGRAMAÇÃO DINÂMICA 27 de maio de 2014
Considere um sistema constituido de N estágios em série. N -1 1 2 N x1 x2 xN-2 xN-1 xN xo O dimensionamento deste sistema é um problema de otimização com G = N graus de liberdade tendo x1 ... xNcomo variáveis de projeto Uma forma de conduzir a otimização consiste um realizar uma busca multivariável por um dos métodos conhecidos (H&J, por exemplo). Uma outra forma consiste em realizar N buscas univariáveis. PROGRAMAÇÃO DINÂMICA
PROGRAMAÇÃO DINÂMICA Método criado por Richard Bellman para a otimização de sistemas em estágios. Aplicações na Engenharia Química baterias de reatores, extratores, torres de destilação, etc... x2 xN-2 xN-1 xN 1 2 N -1 N x1 x*o
Base do Método PRINCÍPIO DO ÓTIMO “Optimality Principle” (Bellman) "Para que um sistema em estágios em série seja ótimo é necessário que ele seja ótimo de qualquer estágio em diante". x2o xN-2o xN-1o xNo 1 2 N -1 N x1o x*o Todo xi está com o seu valor ótimo
Exemplo: 3 extratores em série W1 W2 W3 X1 kgAB/kgA X2 kgAB/kgA X3 kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = kgAB/kgA y1 kgAB/kgA y2 = kgAB/kgA
A solução ótima W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h x1o = 0,015kgAB/kgA x2o = 0,011kgAB/kgA x3o = 0,0084kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = 0,03344 kgAB/kgA y1 = 0,0598 kgAB/kgA y2 = 0,04472 kgAB/kgA Incorporando as equações ordenadas ao Lucro: L (xo, x1, x2, x3) = 4.000 (0,02 – x3) – 25 (0,02 / x1 – x1/ x2 – x2/ x3 – 3) A solução ótima pode ser obtida pelo método analítico, maximizando o Lucro do processo completo. L / x1 = 0 x2 = 50 x12 L / x2 = 0 x3 = x22 / x1 L / x3 = 0 x1o = 0,01495 x2o= 0,01118 x3o = 0,008359 W1o = W2o = W3o = 843,7 Lo (xo, x1, x2, x3) = 21,3 $/h
W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h X1o = 0,015kgAB/kgA x2o = 0,011kgAB/kgA x3o = 0,0084kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = 0,03344 kgAB/kgA y1 = 0,0598 kgAB/kgA y2 = 0,04472 kgAB/kgA W1 = 1.972 kgB/h W2 = 843,7 kgB/h W2 = 391,2 kgB/h x1 = 0,01118kgAB/kgA x2 = 0,008359kgAB/kgA x3 = 0,007228kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB / kgA y3 = 0,02891 kgAB/kgA y1 = 0,04472 kgAB/kgA y2 = 0,03344 kgAB/kgA Este sistema é ótimo a partir de qualquer estágio Outra solução: este sistema não é ótimo a partir de estágio algum !
A outra Solução: cada Estágio busca o seu lucro máximo ignorando os Estágios seguintes. W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h X1o = 0,015kgAB/kgA x2o = 0,011kgAB/kgA x3o = 0,0084kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = 0,03344 kgAB/kgA y1 = 0,0598 kgAB/kgA y2 = 0,04472 kgAB/kgA W1 = 1.972 kgB/h W2 = 843,7 kgB/h W2 = 391,2 kgB/h x1 = 0,01118kgAB/kgA x2 = 0,008359kgAB/kgA x3 = 0,007228kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB / kgA y3 = 0,02891 kgAB/kgA y1 = 0,04472 kgAB/kgA y2 = 0,03344 kgAB/kgA Lo' (xo, x1, x2, x3) = L1o' (xo, x1) + L2o' (x1, x2) + L3o' (x2, x3) = 15,6 + 2,8 + 0,6 = 19 $/h Solução Ótima: cada Estágio abre mão do seu lucro máximo em favor dolucro máximo do sistema Lo (xo, x1, x2, x3) = 4.000 (0,02 – x3o) – 25 (0,02 / x1o – x1o/ x2o –x2o/ x3o – 3) = 21,3 $/h
A forma correta de executar as buscas univariáveis levando em conta os estágios a jusante, é através da PROGRAMAÇÃO DINÂMICA
De uma forma simplificada, pode-se dizer que a solução por Programação Dinâmica é obtida em duas fases: Fase de Ida Fase de Volta
Fase de Ida: o sistema é percorrido no sentido inverso ao do fluxo, do último ao primeiro Estágio. Nesta fase, cada estágio é “consultado” quanto à sua participação na solução ótima, ficando preparado o caminho de volta. W1 W2 W3 X1 ? kgAB/kgA X2 ? kgAB/kgA X3 ? kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = kgAB/kgA y1 kgAB/kgA y2 = kgAB/kgA
Fase de Volta: o sistema é percorrido no sentido do fluxo, do primeiro para o último Estágio. Nesta fase, a solução ótima vai sendo produzida, de estágio a estágio, utilizando as informações colhidas na Fase de Ida. W1 W2 W3 X1okgAB/kgA X2okgAB/kgA X3okgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3 = kgAB/kgA y1 kgAB/kgA y2 = kgAB/kgA
EXEMPLO: 3 extratores em série Explicitando o lucro proporcionado por cada estágio: L (xo, x1, x2, x3) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) W1 W2 W3 L1 (xo, x1) = 105 – 4.000 x1 – 0,5 / x1 1 2 L2 (x1, x2) = 25 + 4.000 x1 – 4.000 x2 – 25 x1 / x2 3 xo* x1 x2 x3 L3 (x2, x3) = 25 + 4.000 x2 – 4.000 x3 – 25 x2 / x3 y1 y2 y3 Otimização do Estágio 3 para o valor ótimo de volta ainda desconhecido x2# : dL3/dx3 = - 4.000 + 25 x2# / x32 = 0x3o = 0,0791 x2#L3o = 25 + 4.000 x2# - 632,46 x2# Assim , fica garantido que o Estágio 3 será ótimo para qualquer valor de x2.
Do passo anterior:x3o = 0,0791 x2L3o = 25 + 4.000 x2 - 632,46 x2 W1 W2 Otimização dos Estágios 2 + 3 para o valor ótimo de volta ainda desconhecido x1# (aproveitando L3o ): W3 L23 = L2 (x1, x2) + L3o = [25 + 4.000 x1# – 4.000 x2 – 25 x1# / x2] + [25 + 4.000 x2 - 632,46 x2 ] 1 2 3 xo* x1 x2 x3 y1 y2 y3 L23 = 50 + 4.000 x1# - 25 x1# / x2 – 632,46 x2 dL23/dx2 = 25 x1# / x22 – (1/2)(632,46 / x2#) = 0x2o = 0,1843 x1#2/3L23o = 50 + 4.000 x1# – 407,2 x1#1/3 Assim , fica garantido que os Estágios 2 e 3 serão ótimos para qualquer valor de x1.
Do passo anterior:x2o = 0,1842 x12/3L23o = 50 + 4.000 x1 – 407,2 x11/3 W1 W2 W3 Otimização dos Estágios 1 + 2 + 3 para a constante xo( aproveitando L23o ): L123 = L1 (xo, x1) + L23o = [105 – 4.000 x1 – 0,5 / x1] + [50 + 4.000 x1 – 407,2 x11/3 ] L123 = 155 – 0,5/x1 – 407,2 x11/3 1 2 3 xo* x1 x2 x3 y1 y2 x1o = 0,015 : W1o = 843,7 kg/h L123o = Lo = 21,2 $/a y3 dL123/dx1 = 0,5 / x12 – 135,7 x1-2/3 = 0 Retornando, no sentido do fluxo: x2o = 0,01842 x12/3= 0,01118 : W2o = 843,7 kg/h x3o = 0,07905 x2= 0,008365 : W3o = 843,7 kg/h
ETAPA PREPARATÓRIA L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) x2# W1 W2 W3 Primeiro passo: otimiza-se o estágio 3 para um valor hipotético x2# . 1 2 3 xo* x1 x2 x3 y1 y2 A função objetivo a maximizar é L3 (x2#, x3 ) e a variável de projeto é x3. Busca univariável em x3. Obtem-se x3o (x2# ) e L3o (x2# ) , ambos função de x2#. L3o (x2# ) será usado no passo seguinte. x3o (x2# ) fica agurdando o resultado x2o a ser determinado na etapa na volta. y3
ETAPA PREPARATÓRIA L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) x1# Segundo passo: otimizam-se os estágios 2 e 3, em conjunto, para um valor hipotético x1#. W1 W2 W3 1 2 3 xo* x1 x2 x3 A função objetivo a maximizar é L23 (x1#, x2, x3 ) = L2 (x1#, x2) + L3 (x2, x3). Porém, para qualquer valor de x2, já se conhece o valor máximo de L3 . Então, a função objetivo fica: L23 (x1#, x2) = L2 (x1#, x2) + L3o(x2)e a variável de projeto fica sendo x2. Busca univariável em x2 . Obtem-se x2o (x1# ) e L23o (x1# ) , ambos função de x1#. L23o (x1# ) será usado no passo seguinte. x2o (x1# ) fica aguardando x1o (x1# ) a ser determinado na etapa de na volta. y1 y2 y3
ETAPA PREPARATÓRIA L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) Terceiro passo: otimizam-se os estágios 1, 2 e 3, em conjunto, para o valor fixo xo*. W1 W2 W3 1 2 3 xo* x1 x2 x3 A função objetivo a maximizar é L123 (xo , x1 , x2, x3 ) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3). Porém, para qualquer valor de x1, já se conhece o valor máximo de L23 . Então, a função objetivo fica: L123 (xo, x1) = L1 (xo, x1) + L23o(x1) e a variável de projeto fica sendo x1. Busca univariável em x1 . Obtem-se x1o e L123o , ambos função de xo. y1 y2 y3 Quarto passo: regenera-se a solução final voltando com os valores de x1o e x2o e x3o
A solução analítica se torna inviável para problemas de grande porte. Procedimento numérico alternativo A pré-otimização de cada estágio se dá para um conjunto discreto de valores da variável de entrada. Os resultados intermediários de Lo e xio são lançados em gráficos ou tabelas. Os de Lo são usados durante a pré-otimização Os de xio são usados no caminho de volta Ver ProgramaçãoDinâmica.xls