MATEMÁTICA SUPERIOR APLICADA Solución Numérica de Sistemas de Ecuaciones No Lineales en Ingeniería Química Universidad Tecnológica Nacional Facultad Regional Rosario Dr. Alejandro S. M. Santa Cruz
Sistemas de Ecuaciones No Lineales Como se mencionara, la solución de diversos problemas de modelado y simulación de procesos implica en algún momento resolver un sistema de ecuaciones, por lo general no lineal. A continuación se presentan algunos ejemplos, aunque obviamente no cubren todos los campos que pueden analizarse en un curso de este tipo. 2
Sistemas de Ecuaciones No Lineales Son los sistemas que comúnmente se presentan en la modelización matemática de procesos fisicoquímicos o equipos de procesos a parámetros concentrados. Estudiaremos problemas del tipo: o en forma equivalente: f 0 1 1 2 3 n 2 1 2 3 n 3 1 2 3 n m 1 2 3 n f,,,..., 0 f,,,..., 0 f,,,..., 0 f,,,..., 0 Sin pérdida de generalidad, en lo que sigue supondremos que el sistema presenta igual número de ecuaciones que de incógnitas, esto es, m=n. 3
Discusión de la Convergencia Se busca generar una secuencia infinita de vectores (sucesión),, 1, 2, 3, n tal que si eiste * lím y se cumple que n * n entonces * es la raíz de la ecuación buscada del SENL. Al igual que en el caso de la resolución de una ecuación no lineal en una variable, se deben seguir los siguientes pasos: 1) Generar una aproimación inicial a la raíz. f 0 2) Hallar una ley de recurrencia que nos provea la secuencia buscada. 3) Fijar un criterio que nos indique cuando hemos logrado una aproimación aceptable de la raíz. 4
Método de Aproimaciones Sucesivas Básicamente consiste en eplicitar el sistema de ecuaciones (lineales o no lineales): transformándolo en el sistema equivalente: Una vez eplicitada la función, se propone una aproimación inicial 0 de la solución buscada que se mejora en sucesivas iteraciones conforme a la siguiente ley de recurrencia: Se itera hasta que se verifique que: f 0 f F n1 F n1 n ε y f n ε n 5
Normas Usualmente Empleadas Norma Euclideana Norma de Máimo m 2 n1,i i1 n,i 2 má 1 i m n1,i n,i 6
Convergencia del Método Función continua de Lipschitz en R: Propiedades F a F(b) K ab ; K0,1 a, b R Si F() es continua en R, entonces si * es la raíz buscada (*=F(*) se cumple que: Además, * K * n1 n n1 n1* K 0 * Esto es, si 0<K<1 el error de crecerá en las sucesivas iteraciones y el decrecimiento será mayor cuanto menor sea K. 7
Condición Suficiente para la Convergencia del Método Matriz Jacobiana: J i,j f i j Condición suficiente de convergencia: J M <1 R Para el caso unidimensional esta condición se reduce a: Condición necesaria de convergencia: Para que el método de Aproimaciones Sucesivas converja para todo R el radio espectral r del Jacobiano debe ser menor o igual a 1: k r J má λ J 1 donde los λ k representan a los autovalores del Jacobiano. k F' <1 8
Método de Wegstein Aplicado a la Resolución de Sistemas de Ecuaciones No Lineales Sea el problema f 0 Se lo transforma al esquema de Aproimaciones Sucesivas Entonces la ley de recurrencia se epresa como: Valor estimado: n1 F ~ n ~ ~ Valor mejorado : Q. I Q. n1 n1 n 2 w i n1,i n,i i i ~ ~ wi 1 n1,i n,i donde : Q 0 0... 0 0 con q y w q1 0 0 0 0 0 q 0 0 0 0 0 0... 0 0 0 0 0 q n 9
Método de Wegstein Etapas el Método Identificamos las siguientes etapas: Etapa de preparación del método Etapa de iniciación Etapa general 10
Método de Wegstein Ejemplo Sea el siguiente sistema de ecuaciones: 1 2 1 f1 1,2 sen 1.2 2 4π 2 1 2 1 1 2 f2 1,2 e. 1. e 1 e. 21 4π π Elegimos como valores de arranque del método: 0 0.4 1 0 3 2 11
Método de Wegstein Etapa de Preparación Se generan tres valores de mediante aproimaciones sucesivas a partir de una estimación inicial de la solución. Valores Estimados en la Primer Iteración ~ ~ 1 0 0 F, 1 1 1 2 1 0 0 F, 2 2 1 2 1 1 1 1 2 2 1 1 Valores Mejorados en la Primer Iteración Valores Estimados en la Segunda Iteración ~ 1 ~ 1 2 1 1 1 F1 1,2 F1 1,2 ~ 1 ~ 1 2 1 1 2 F2 1,2 F2 1,2 Valores Mejorados en la Segunda Iteración ~ ~ 2 1 1 2 2 2 Valores Estimados en la Tercera Iteración ~ 2 ~ 2 3 2 2 1 F1 1,2 F1 1,2 ~ 2 ~ 2 3 2 2 2 F2 1,2 F2 1,2 2 2 12
Método de Wegstein w q Etapa de Iniciación 3 2 1 Fi 3 2 i i i i ~ 2 ~ 1 ~ 2 ~ 1 i i i i i i F wi w 1 ~ 3 ~ 2 i qi i 1qi i 3 ~ 4 i Fi ; i=1,2 13
Método de Wegstein Etapa de General del Método w q n1 n i Fi n1 n n n1 ~ ~ F i Fi n1 n i i i ~ n ~ n1 ~ n ~ n1 i w i i i i i i w 1 ~ ~ n1 i q i i 1qi i ; i=1,2 14
30/10/2017 Matemática Superior Aplicada Dr. Alejandro S. M. Santa Cruz UTN - FRRo 15
Métodos de Linealización En forma análoga al caso unidimensional, dada una aproimación inicial a de la raíz * se aproima la Ecuación: f() = 0 por la epresión linealizada: Se determina la raíz de l() = 0 como una aproimación de f() = 0. Ley de Recurrencia: f l f A. 0 1 n1 n n A.f Según como se genere A, se definen los diferentes algoritmos numéricos de linealización. a a 16
Método de Newton Consiste en adoptar A como la matriz Jacobiana de f(): f1 f1 f1 f1... 1 2 n1 n f2 f2 f2 f 2... 1 2 n1 n A J.............................. fn fn f n...... 1 2 n 17
Aplicación del Método de Newton para Resolver un Sistema de Dos Ecuaciones No Lineales 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 2 1 2 1 1 2 2 1 1 2 1 Δ 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 Δ 2 1 1 1 1 2 2 2 1 2 f f, 0 f f, 0 f f f f, 0 f f f f, 0 f f Δ 1 1 1 2 f f, f 1 1 Δ f, 2 1 1 1 2 2 2 1 2 18
Método de Newton f f 1 1 1 1 1 1 1 2 1 1 Δ f 1 1 f f Δ 2 2 2 2 1 2 Δ Δ 1 2 1 1 2 1 2 2 2 f f f f f f f 1 2 1 2 f 1 2 2 1 f 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 f f f f f f f n1 n n Δ i i 1 1 i f 19
Método de Newton con Factor de Relajación n1 n n f f,, 0 1 1 1 k f f,, 0 k 2 1 k f1 f 1 1 1 1 1 k 1 Δ f 1 1 1 1 fk f k Δ f k k 1 1 k 1 J.Δf ρδ ρ 0.5 20
Dificultades del Método de Newton (I) Si bien este método converge cuadráticamente presenta varias dificultades: 1) Requiere evaluar n 2 elementos de la matriz Jacobiana J, ya sea en forma analítica si se dispone de las epresiones analíticas de f i / j o numéricamente de acuerdo a: f i j j f e f i j i donde e j es el vector cuyas componentes valen todas cero, ecepto la j- ésima que vale 1. 2) Se requiere invertir la matriz Jacobiana en cada iteración. La inversión se realiza resolviendo para n+1 por algunos de los métodos de resolución de SEAL el siguiente problema: J.y f n1 n n y j 21
Dificultades del Método de Newton (II) 3) Si J es singular o casi singular cerca de la solución, la inversión del Jacobiano no es posible. 4) Se requiere una buena aproimación inicial de la raíz para que el método converja. Esta aproimación inicial no siempre puede ser obtenida, sobre todo en problemas de elevada dimensionalidad. 22
Método de Newton Modificado (I) Requerimos que: 1) El algoritmo progrese hacia la solución en cada paso: k1 k f f 2 2 2) Los pasos no sean demasiado grandes: k1 k δ donde δ es elegido por el algoritmo. 2 23
Método de Newton Modificado (II) Supongamos que tenemos: k1 k p Corrección A partir del Método de Newton esperamos que: 1 k k pj.f pero puede que no satisfaga: p Además, si J es singular, p no eiste. 2 δ 24
Método de Newton Modificado (III) En lugar de evaluar la corrección por el Método de Newton, resolvemos un problema de optimización restringida: sujeto a la restricción: k k mín J.p f p 2 Esto funciona aún para J singular!!!! p 2 δ 25
Método de Newton Modificado (IV) Si dispusiésemos de un solver que nos permita resolver el problema de optimización, entonces procederíamos de la siguiente manera: k 1) Si, f ε entonces parar. 2 2) Calcular p vía optimización restringida. 3) Si: k k f p f 2 2 aceptar p e ir a la Etapa (1). Aquí podríamos pensar en aumentar δ. 4) Si no, reducir δ y volver a la Etapa (2) Este algoritmo permite determinar la solución de manera confiable. El problema es que pueda quedar atrapado en un mínimo local de la función. La clave: Arrancar cerca de la solución!!! 26
Ejemplo 4: Solución de Ecuaciones No Lineales en Equilibrio Químico mediante el método de Newton. 1) Desarrollar una función de MATLAB para resolver n ecuaciones no lineales simultáneas con n incógnitas. 2) Aplicar esta función para hallar la conversión de equilibrio de las siguientes reacciones químicas [kmol/m 3 ]: 27
Sean 1 y 2 las conversiones de las reacciones anteriores, entonces: 28
Sistemas de Ecuaciones No Lineales Ejemplos y Archivos.m Ejemplo_04: Resuelve reacciones simultáneas en equilibrio químico mediante el método de Newton con parámetro de relajación para sistemas de ecuaciones no lineales (Newton.m). 29
Sistemas de Ecuaciones No Lineales Métodos Ejemplos y Archivos.m Newton.m: Método de Newton con parámetro de relajación para resolver ecuaciones no lineales simultáneas. Funciones E_04_func.m: Funciones del sistema de ecuaciones no lineales simultáneas. Jacobian.m: Jacobiano de la función del Ejemplo_04 (argumento de Newton.m). 30
% Programa Ejemplo_04 % Solution to the problem posed in Eample_04. It calculates the % equilibrium concentration of the components of a system of two % reversible chemical reactions using the Newton s method. % Input data % c0 = Initial concentration % K1 = Equilibrium constant of the first Equation % K2 = Equilibrium constant of the second Equation % rho = Relaation factor % 0 = Vector of initial guesses % tol = Tolerance echo off clear clc c0 = input(' Vector of initial concentration of A, B, C, and D = '); K1 = input(' 2A + B = C K1 = '); K2 = input(' A + D = C K2 = '); 30/10/2017 31
disp('graph of the function') 1=(0.1:0.01:0.5); 2=(0.1:0.01:0.5); [X1,X2]=meshgrid(1,2); ca = c0(1) - 2*X1*c0(2) - X2*c0(4); cb = (1 - X1)*c0(2); cc = c0(3) + X1*c0(2) + X2*c0(4); cd = (1 - X2)*c0(4); Z1 = cc./(ca.^2)./cb - K1; Z2 = cc./ca./cd - K2; mesh(x1,x2,z1); hold on mesh(x1,x2,z2); pause disp('zero Level Curves') figure(2) contour(x1,x2,z1,[0 0]); hold on contour(x1,x2,z2,[0 0]); grid on hold off pause 30/10/2017 32
disp('root estimation') disp('click on the intersection of the curves') [1e,2e] = ginput(1) repeat = 1; while repeat rho = input(' Relaation factor = '); 0 = input('\n\n Vector column of initial guesses = '); tol = input (' Tolerance = '); % Solution of the set of equations [solution,iter] = Newton(rho,0,tol,c0,K1,K2) % Display the results fprintf('\n Results :\n 1 = %6.4f, 2 = 6.4f\n',solution); fprintf('\n Solution reached after %3d iterations.\n\n',iter); repeat = input(' Repeat the calculations (0 / 1)? '); end 30/10/2017 33
function f = E_04_func(,c0,K1,K2) % Evaluation of set of equations for Eample_04 % c0(1) = ca0 / c0(2) = cb0 / c0(3) = cc0 / c0(4) = cd0 ca = c0(1) - 2*(1)*c0(2) - (2)*c0(4); cb = (1 - (1))*c0(2); cc = c0(3) + (1)*c0(2) + (2)*c0(4); cd = (1 - (2))*c0(4); f(1) = cc / ca^2 / cb - K1; f(2) = cc / ca / cd - K2; f = f'; % Make it a column vector. 30/10/2017 34
Sistemas de Ecuaciones No Lineales Ejecución del Programa % Solution to the problem posed in Eample_04. It calculates the % equilibrium concentration of the components of a system of two % reversible chemical reactions using the Newton s method. % Input data % c0 = Initial concentration % K1 = Equlibrium constant of the first Equation % K2 = Equilbrium constant of the second Equation % rho = Relaation factor % 0 = Vector of initial guesses % tol = Tolerance echo off Vector of initial concentration of A, B, C, and D = [40, 15, 0, 10] 2A + B = C K1 = 5e-04 A + D = C K2 = 4e-02 Graph of the function 30/10/2017 35
30/10/2017 36
Click on the intersection of the curves 1e = 0.1207 2e = 0.4784 30/10/2017 37
Relaation factor = 1 Vector column of initial guesses = [0.1 0.4]' Tolerance = 1e-06 solution = 0.1203 0.4787 iter = 4 Results : 1 = 0.1203, 2 = 0.4787 Solution reached after 4 iterations. Repeat the calculations (0 / 1)? 30/10/2017 38
Resumiendo: Se presentaron un conjunto de técnicas numéricas usuales en ingeniería química para resolver ecuaciones y sistemas de ecuaciones algebraicas no lineales. Se introdujo un conjunto reducido de problemas típicos en los cuales resulta imperioso resolver computacionalmente sistemas de este tipo. Se verá mas adelante que cualquier intento de construir programas de simulación de procesos o equipos (aún sencillos) requiere inevitablemente del uso de estas técnicas, más otras que permitan el particionado, rasgado y ordenamiento de grandes sistemas de ecuaciones (por ejemplo, del orden de 1000 1000). 39