OTIMIZAÇÃO DE SISTEMAS DISCRETOS PROGRAMAÇÃO DINÂMICA 29 de novembro de 2016
Considere um sistema constituido de N estágios em série. xo x2 xN xN-1 xN-2 1 2 N x1 N -1 Exemplos: baterias de extratores, permutadores, reatores... O dimensionamento deste sistema é um problema com G = N graus de liberdade. Logo, é um problema de Otimização. As variáveis de projeto são x1 ... xN Uma forma de conduzir a otimização consiste um realizar uma busca multivariável por um dos métodos conhecidos (analítico ou H&J, por exemplo).
Exemplo: resultado da otimização de um sistema de 2 extratores em série (Método Analítico ou Hooke&Jeeves) 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB/kgA W1 = 1.184 kgB/h W2 = 1.184 kgB/h x1 = 0,01357 kgAB/kgA x2 = 0,00921 kgAB/kgA y1 = 0,05428 kgAB/kgA y2 = 0,03824 kgAB/kgA Estágio 1 2 Total Soluto Rec. kg/h 64,28 43,62 107,90 Solv. Cons. kg/h 1.184 1.184 2.368 Lucro $/a 13,87 5,61 19,48
O resultado foi obtido manipulando as duas variáveis de projeto presentes durante todo o processo de otimização. 2,0 4,0 6,0 8,0 10 12 14 16 18 0,005 0,010 0,015 0,020 0,025 0,030 0,035 0,002 0,004 0,006 0,008 0,012 0,014 0,016 0,018 X 2 1 19,5 0,01357 0,00921
(a) otimizar o primeiro estágio Alternativamente, pode-se pensar em decompor o problema em dois subproblemas univariáveis: (a) otimizar o primeiro estágio (b) utilizar o valor ótimo x1o na otimização do segundo.
O primeiro estágio é otimizado sem tomar conhecimento do segundo. W1 = 1.972 kgB/h W2 kgB/h x2 kgAB/kgA x1 = 0,01118 kgAB/kgA Q = 10.000 kgA/h 1 2 xo = 0,02 kgAB/kgA y1 = 0,04472 kgAB/kgA y2 kgAB/kgA O segundo será otimizado com um valor compulsório na entrada, de cuja escolha não participou
A busca de x2o ficou restrita a x1 – 0,01118 = 0 Otimizado o 1º estágio A busca de x2o ficou restrita a x1 – 0,01118 = 0 x1 = 0,01118
O primeiro estágio foi otimizado sem tomar conhecimento do segundo. O segundo é otimizado com um valor compulsório na entrada, de cuja escolha não participou W1 = 1.972 kgB/h W2 = 843 kgB/h x2 = 0,008359 kgAB/kgA x1 = 0,01118 kgAB/kgA Q = 10.000 kgA/h 1 2 xo = 0,02 kgAB/kgA y1 = 0,04472 kgAB/kgA y2 = 0,03344 kgAB/kgA Resultado: Estágio 1 2 Total Soluto Rec. kg/h 64,28 28,21 116,41 Solv. Cons. kg/h 1.972 843 2.815 Lucro $/a 15,56 2,84 18,40
A busca de x2o ficou restrita a x1 – 0,01118 = 0 Otimizado o 1º estágio A busca de x2o ficou restrita a x1 – 0,01118 = 0 x2 = 0,008359 x1 = 0,01118 Obviamente, não é a solução ótima
Comparando as duas soluções...
Solução Simultânea Estágio 1 2 Total Soluto Recuperado (kg/h) 64,28 43,62 107,90 Solvente Consumido (kg/h) 1.184 1.184 2.368 Lucro ($/a) 13,87 5,61 19,48 Solução Sequencial Estágio 1 2 Total Soluto Recuperado (kg/h) 88,20 28,21 116,41 Solvente Consumido (kg/h) 1.972 843 2.815 Lucro ($/a) 15,56 2,84 18,40 Saldo desfavorável Na solução sequencial, o primeiro estágio consome mais solvente, recupera mais soluto e contribui mais para o Lucro. Mas obriga o segundo a recuperar menos soluto consumindo menos solvente, e contribuir menos para o Lucro.
A solução simultânea se passa como se os estágios Estágio 1 2 Total Soluto Recuperado (kg/h) 64,28 43,62 107,90 Solvente Consumido (kg/h) 1.184 1.184 2.368 Lucro ($/a) 13,87 5,61 19,48 Solução Sequencial Estágio 1 2 Total Soluto Recuperado (kg/h) 88,20 28,21 116,41 Solvente Consumido (kg/h) 1.972 843 2.815 Lucro ($/a) 15,56 2,84 18,40 Saldo desfavorável A solução simultânea se passa como se os estágios se “consultassem” sobre como melhor contribuir para o Sistema como um todo. Eles abrem mão da sua melhor performance em favor da solução ótima do Sistema
Aplicações na Engenharia Química PROGRAMAÇÃO DINÂMICA Método criado por Richard Bellman para a otimização de sistemas em estágios. x*o 1 2 N N -1 x1 x2 xN xN-1 xN-2 Aplicações na Engenharia Química baterias de reatores, extratores, torres de destilação, etc...
“Optimality Principle” (Bellman) 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". x*o 1 2 N N -1 x1o x2o xNo xN-1o xN-2o Todo xi está com o seu valor ótimo
A PROGRAMAÇÃO DINÂMICA permite que uma busca multivariável se transforme em N buscas univariáveis. Ela promove a “consulta” aos elementos do Sistema em busca da solução ótima.
Exemplo: 3 extratores em série 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB/kgA W1 kgB/h W2 kgB/h X1 kgAB/kgA X2 kgAB/kgA y1 kgAB/kgA y2 kgAB/kgA 3 W3 kgB/h y3 kgAB/kgA X3 kgAB/kgA
Na Programação Dinâmica, pode-se distinguir 2 etapas: Etapa Preparatória - Etapa Decisiva
no sentido inverso do fluxo material. Na Etapa Preparatória o sistema é percorrido no sentido inverso do fluxo material. 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB / kgA W1 = kgB/h W2 = kgB/h x1 = kgAB/kgA x2 = kgAB/kgA y1 = kgAB/kgA y2 = kgAB/kgA 3 y3 = kgAB/kgA x3 = kgAB/kgA pavimentando o caminho de volta que vai produzir a solução ótima.
A pavimentação consiste em pré-otimizar o sistema no sentido inverso do fluxo “consultando” previamente os elementos sobre a participação de cada um na solução ótima xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3
1 2 Q = 10.000 kgA/h xo = 0,02 kgAB / kgA W1 = kgB/h W2 = kgB/h x1 = kgAB/kgA x2 = kgAB/kgA y1 = kgAB/kgA y2 = kgAB/kgA 3 y3 = kgAB/kgA x3 = kgAB/kgA Na Etapa Decisiva, partindo de variáveis especificadas do Estágio 1, informações são propagadas no sentido do fluxo aproveitando o terreno pavimentado na Etapa Preparatória. 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB/kgA 3
1 2 Q = 10.000 kgA/h xo = 0,02 kgAB / kgA W1 = kgB/h W2 = kgB/h x1 = kgAB/kgA x2 = kgAB/kgA y1 = kgAB/kgA y2 = kgAB/kgA 3 y3 = kgAB/kgA x3 = kgAB/kgA Na Etapa Decisiva, partindo de variáveis especificadas do Estágio 1, informações são propagadas no sentido do fluxo aproveitando o terreno pavimentado na Etapa Preparatória. W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h X1o = 0,015 kgAB/kgA x2o = 0,011 kgAB/kgA x3o = 0,0084 kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y3o = 0,03344 kgAB/kgA y1o = 0,0598 kgAB/kgA y2o = 0,04472 kgAB/kgA Garante-se, assim, que o sistema fica otimizado a partir de qualquer estágio.
EXEMPLO DE EXECUÇÃO DO MÉTODO
Esta é a resposta do Estágio 3 à consulta feita pelo Método. 3 extratores em série xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 Explicitando o lucro proporcionado por cada estágio: L (xo, x1, x2, x3) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) L1 (xo, x1) = 105 – 4.000 x1 – 0,5 / x1 L2 (x1, x2) = 25 + 4.000 x1 – 4.000 x2 – 25 x1 / x2 L3 (x2, x3) = 25 + 4.000 x2 – 4.000 x3 – 25 x2 / x3 Início: “consulta” ao Estágio 3 sobre seus valores ótimos para qualquer valor x2# que vier do Estágio 2 na Etapa Decisiva: dL3/dx3 = - 4.000 + 25 x2# / x32 = 0 x3o = 0,0791 x2# L3o = 25 + 4.000 x2# - 632,46 x2# Esta é a resposta do Estágio 3 à consulta feita pelo Método.
Do passo anterior: x3o = 0,0791 x2 L3o = 25 + 4.000 x2 - 632,46 x2 W1 y1 2 x2 W2 y2 3 x3 W3 y3 Do passo anterior: x3o = 0,0791 x2 L3o = 25 + 4.000 x2 - 632,46 x2 Passo 2: “consulta” aos Estágios 2 e 3 sobre seus valores ótimos para qualquer valor x1# que vier do Estágio 1 na Etapa Decisiva: L23 = L2 (x1, x2) + L3 (x2, x3) Mas, ao invés de efetuar uma otimização em x2 e x3, utiliza-se o máximo de L3: L3o. L23 = L2 (x1, x2) + L3o = = [25 + 4.000 x1# – 4.000 x2 – 25 x1# / x2] + [25 + 4.000 x2 - 632,46 x2 ] Assim, a otimização fica univariável apenas em x2: L23 = 50 + 4.000 x1# - 25 x1# / x2 – 632,46 x2
Esta é a resposta dos Estágios 2 e 3 à consulta feita pelo Método xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 L23 = 50 + 4.000 x1# - 25 x1# / x2 – 632,46 x2 dL23/dx2 = 25 x1# / x22 – (1/2)(632,46 / x2#) = 0 x2o = 0,1843 x1# 2/3 L23o = 50 + 4.000 x1# – 407,2 x1# 1/3 Esta é a resposta dos Estágios 2 e 3 à consulta feita pelo Método
L123 (xo, x1, x2, x3) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) W1 y1 2 x2 W2 y2 3 x3 W3 y3 Do passo anterior: x2o = 0,1842 x12/3 L23o = 50 + 4.000 x1 – 407,2 x11/3 Passo 3:“consulta” aos Estágios 1, 2 e 3 sobre seus valores ótimos para o único valor xo conhecido na Etapa Decisisva: L123 (xo, x1, x2, x3) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) Mas, ao invés de efetuar uma otimização em x1, x2 e x3, utiliza-se a expressão ótima de L23o. L123 = L1 (xo, x1) + L23o = [105 – 4.000 x1 – 0,5 / x1] + [50 + 4.000 x1 – 407,2 x11/3 ] Assim, a otimização fica univariável apenas em x1: L123 = 155 – 0,5/x1 – 407,2 x11/3
Já se pode calcular W1o = 843,7 kg/h xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 L123 = 155 – 0,5/x1 – 407,2 x11/3 dL123/dx1 = 0,5 / x12 – 135,7 x1-2/3 = 0 x1o = 0,015 L123o = 21,2 $/a Já se tem Lo = L123o = 21,2 $/a Já se pode calcular W1o = 843,7 kg/h
Retornando no sentido do fluxo. 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB / kgA W1 = kgB/h W2 = kgB/h x1 = kgAB/kgA x2 = kgAB/kgA y1 = kgAB/kgA y2 = kgAB/kgA 3 y3 = kgAB/kgA x3 = kgAB/kgA Retornando no sentido do fluxo. W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h X1o = 0,015 kgAB/kgA x2o = 0,011 kgAB/kgA x3o = 0,0084 kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y1o = 0,0598 kgAB/kgA y2o = 0,04472 kgAB/kgA y3o = 0,03344 kgAB/kgA
DESENVOLVIMENTO LITERAL
L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) ETAPA PREPARATÓRIA xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) x2# Primeiro passo: otimiza-se o estágio 3 para um valor hipotético x2# . 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 aguardando o resultado x2o a ser determinado na etapa na volta.
L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) ETAPA PREPARATÓRIA xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 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#. 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 . Obtém-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.
L (x1, x2, x2) = L1 (xo, x1) + L2 (x1, x2) + L3 (x2, x3) ETAPA PREPARATÓRIA xo* 1 x1 W1 y1 2 x2 W2 y2 3 x3 W3 y3 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*. 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 . Obtém-se x1o e L123o , ambos função de xo. Quarto passo: regenera-se a solução final voltando com os valores de x1o e x2o e x3o
Procedimento numérico alternativo 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
Solução Analítica (Simultânea) W1o = 843,7 kgB/h W2o = 843,7 kgB/h W3o = 843,7 kgB/h X1o = 0,015 kgAB/kgA x2o = 0,011 kgAB/kgA x3o = 0,0084 kgAB/kgA Q = 10.000 kgA/h 3 1 2 xo = 0,02 kgAB/kgA y1 = 0,0598 kgAB/kgA y2 = 0,04472 kgAB/kgA y3 = 0,03344 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
A outra Solução: cada Estágio busca o seu lucro máximo ignorando os Estágios seguintes. 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB / kgA W1 = 1.972 kgB/h W2 = 843,7 kgB/h x1 = 0,01118 kgAB/kgA x2 = 0,008359 kgAB/kgA y1 = 0,04472 kgAB/kgA y2 = 0,03344 kgAB/kgA 3 W2 = 391,2 kgB/h y3 = 0,02891 kgAB/kgA x3 = 0,007228 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 do lucro máximo do sistema 1 2 Q = 10.000 kgA/h xo = 0,02 kgAB/kgA W1o = 843,7 kgB/h W2o = 843,7 kgB/h X1o = 0,015 kgAB/kgA x2o = 0,011 kgAB/kgA y1 = 0,0598 kgAB/kgA y2 = 0,04472 kgAB/kgA 3 W3o = 843,7 kgB/h y3 = 0,03344 kgAB/kgA x3o = 0,0084 kgAB/kgA Lo = L1o + L2o + L3o = 11,8 + 6,7 + 2,8 = 21,3 $/h