Universidad Nacional Jorge Basadre Grohmann
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas e Informática
MÉTODO
DE
BROYDEN
Asignatura: Métodos Numéricos.
Docente: Luis Amaya Cedrón
Integrantes:
-Leandro André Ramos Valdéz 2015-119038
-Josue Aldair Mamani Cariapaza 2015-119034
Fecha: 19/07/16
TACNA – PERU
2016
ÍNDICE
I. Introducción……………………………………..…1
II. Problema…………………………………………….2
III. Algoritmo Matemático……………………..……..4
i. Deducción Matemática………………………..4
ii. Interpretación Geométrica……………..……8
IV. Ejemplo (Matemático)……………………………13
V. Algoritmo Computacional………………….……18
i. Diagrama de Flujo……………………………..18
ii. Programa………………………………………..19
VI. Aplicación………………………………….……….20
i. Manual…………………………………………..20
ii. Software……………………………………..…28
VII. Conclusiones…………………………………….…29
VIII. Recomendaciones…………………………….…..30
IX. Anexos……………………………………….………30
X. Bibliografía…………………………………….……33
I) Introducción
El método de Broyden es un método para hallar las soluciones
de un sistema de Ecuaciones No Lineales.
Es denominado método Cuasi-Newtoniano, ya que casi es un
Método de Newton Raphson para Sistemas de Ecuaciones No
Lineales, sin embargo se diferencian en que el método de
Broyden consiste en computar el Jacobiano entero solamente
en la primera iteración, y llevar a cabo una actualización en
las demás iteraciones, reduciendo así el costo computacional.
1
II) Problema
Considérese una tubería de sección circular que va del punto
P1 al punto 𝑃2 y en él se divide en dos ramas, una que va al
punto 𝑃4 y otra que va al punto 𝑃4. Designando por 𝑄 al
caudal que va de 𝑃1 a 𝑃2, por 𝑄1 al que va a de P2 a P3, por
𝑄2 al que va de 𝑃2 a P4 y por 𝑝1 , 𝑝2 , 𝑝3 𝑦 𝑝4 a las presiones en los
puntos 𝑃1, 𝑃2, 𝑃3 y 𝑃4 respectivamente, caídas de presión en
cada tramo y los caudales que por ellos circulan se pueden
relacionar mediante las ecuaciones siguientes:
𝑝1 − 𝑝2 = 𝐾1 ∙ 𝑄1.75
𝑝2 − 𝑝3 = 𝐾2 ∙ 𝑄11.75
𝑝2 − 𝑝4 = 𝐾3 ∙ 𝑄21.75
𝑄 = 𝑄1 + 𝑄2
Para un fluido y una tubería concretos se han estimado los
valores siguientes:
𝐾1 = 2.35 ∙ 𝑒 −3 , 𝐾2 = 4.67 ∙ 𝑒 −3 , 𝐾3 = 3.72 ∙ 𝑒 −2
𝑝1 = 75 𝑝𝑠𝑖, 𝑝3 = 20 𝑝𝑠𝑖, 𝑝4 = 15 𝑝𝑠𝑖
Se desea estimar la presión 𝑝2 existente en el punto P2 así
como los caudales 𝑄, 𝑄1 𝑦 𝑄2 que circulan por cada una de las
ramas de la red de tuberías antes descrita.
Solución:
El sistema dado puede escribirse, de acuerdo a los datos del
ejercicio, como:
2
2.35 ∙ 𝑒 −3 ∙ 𝑄1.75 − 75 + 𝑝2 = 0
4.67 ∙ 𝑒 −3 ∙ 𝑄11.75 + 20 − 𝑝2 = 0
3.72 ∙ 𝑒 −2 ∙ 𝑄21.75 + 15 − 𝑝2 = 0
𝑄 − 𝑄1 − 𝑄2 = 0
Este sistema de 4 ecuaciones con 4 incógnitas puede intentar
resolverse tal cual está planteado mediando el método de
Broyden. Pero el proceso puede aligerarse
computacionalmente utilizando la última ecuación inyectada
en la primera y reformulando el sistema como:
2.35 ∙ 𝑒 −3 ∙ (𝑄1 + 𝑄2 )1.75 − 75 + 𝑝2 = 0
4.67 ∙ 𝑒 −3 ∙ 𝑄11.75 + 20 − 𝑝2 = 0
3.72 ∙ 𝑒 −2 ∙ 𝑄21.75 + 15 − 𝑝2 = 0
En cuanto a los valores de partida para inicializar el método,
puesto que P2 es un punto intermedio entre P1y los extremos
P3 y P4, tomaremos como 𝑝2 una presión intermedia, por
ejemplo 𝑝2 = 50 𝑝𝑠𝑖. Para los caudales 𝑄1 𝑦 𝑄2 no se dispone de
ninguna pista que nos indique en qué entorno pueden estar.
No obstante, si se considera 𝑝2 = 50, de la segunda ecuación se
tiene que 𝑄1 ≈ 16 y de la tercera ecuación, que 𝑄2 ≈ 7, con lo
que éstos pueden ser valores coherentes con la presión tomada
para inicializar el proceso.
3
III) ALGORITMO MATEMÁTICO
i) Deducción Matemática
Partiendo de alguna deducciones del Método de Newton
Raphson para Sistemas de Ecuaciones No Lineales.
Supongamos para un sistema de 2 ecuaciones no lineales de 2
variables, tenemos lo siguiente: (Luego de haber expandido en
serie de Taylor ambas funciones alrededor de 𝒙𝒌 , 𝒚𝒌 ).
𝒙𝒌+𝟏 − 𝒙𝒌 = 𝒉 (1.1)
𝒚𝒌+𝟏 − 𝒚𝒌 = 𝒋
𝝏𝒇𝟏 𝝏𝒇𝟏
𝒉+ 𝒋 = −𝒇𝟏(𝒙𝒌 ,𝒚𝒌) (1.2)
𝝏𝒙 𝝏𝒚
𝝏𝒇𝟐 𝝏𝒇𝟐
𝒉+ 𝒋 = −𝒇𝟐(𝒙𝒌 ,𝒚𝒌)
𝝏𝒙 𝝏𝒚
Factorizando (1.2), y generalizándola, tenemos:
𝑱𝒌 ⃑⃑⃑⃑ ⃑⃑⃑⃑𝒌
𝒉𝒌 = −𝒇 (1.3)
donde ⃑𝒉 = (𝒉, 𝒋, … ) y ⃑𝒇 = (𝒇𝟏 , 𝒇𝟐 , … )
Multiplicamos ambos lados de la ecuación por 𝑱−𝟏 :
⃑⃑⃑⃑ −𝟏 𝒌
𝒉𝒌 = −(𝑱𝒌 ) ⃑⃑⃑⃑
𝒇 (1.4)
Generalizando la ecuación (1.1), tenemos:
𝑿𝒌+𝟏 = 𝑿𝒌 + 𝒉𝒌 (1.5)
4
Reemplazando (1.4) en (1.5)
𝑿𝒌+𝟏 = 𝑿𝒌 − (𝑱𝒌 )−𝟏 ⃑⃑⃑
𝒇𝒌 (1.6)
Siendo ésta el modelo de la fórmula planteada por Newton
Raphson para Sistemas de Ecuaciones No Lineales.
Pues ahora, veamos la deducción matemática para el método
de Broyden.
El método de la secante para sistemas de ecuaciones no
lineales consiste en sustituir 𝑱𝒌 en la ecuación (1.6) con una
matriz 𝑨𝒌 , cuyos componentes se obtienen con los resultados
de dos iteraciones previas 𝑿𝒌 𝒚 𝑿𝒌−𝟏 , de la siguiente manera:
[ 𝑓(𝑋 𝑘 ) − 𝑓(𝑋 𝑘−1 ) − 𝐴𝑘−1 (𝑋 𝑘 − 𝑋 𝑘−1 )] (𝑋 𝑘 − 𝑋 𝑘−1 )𝑇
𝐴𝑘 = 𝐴𝑘−1 +
|𝑋𝑘 − 𝑋𝑘−1 |2
o bien:
𝑘 𝑘−1 [ ∆𝑓(𝑋 𝑘 )−𝐴𝑘−1 (∆𝑋 𝑘 )] (∆𝑋 𝑘 )𝑇
𝐴 =𝐴 + (1.7)
|∆𝑋 𝑘 |2
con la siguiente notación:
∆𝑓(𝑋 𝑘 ) = 𝑓(𝑋 𝑘 ) − 𝑓(𝑋 𝑘−1 )
∆ 𝑋 𝑘 = 𝑋 𝑘 − 𝑋 𝑘−1
Para la primera aplicación de la ecuación (1.7) se requieren
dos vectores iniciales: y . Este último puede obtenerse de una
aplicación del método de Newton-Raphson multivariable.
𝑿𝟏 = 𝑿𝟎 − (𝑱𝟎 )−𝟏 𝒇𝟎
5
cuya 𝐽0 a su vez puede emplearse en (1.7), con lo cual ésta
queda:
𝑘 [ ∆𝑓(𝑋 𝑘 )−𝐴𝑘−1 (∆𝑋 𝑘 )] (∆𝑋 𝑘 )𝑇
𝐴 =𝐽 + 0
(1.8)
|∆𝑋 𝑘 |2
La inversión de 𝐴𝑘 en cada iteración significa un esfuerzo
computacional grande (del orden de 𝑛3 ) que, sin embargo,
puede reducirse empleando una fórmula de inversión matricial
de Sherman y Morrison. Ésta fórmula establece que si A es
una matriz no singular y x, y son vectores, entonces A+𝒙𝒚𝑇
es no singular, siempre que 𝒚𝑻 𝑨−𝟏 𝒙 ≠ 𝟏 . Además, en este
caso,
𝑻 )−𝟏 −𝟏 𝑨−𝟏 𝒙𝒚𝑻 𝑨−𝟏
(𝑨 + 𝒙𝒚 = 𝑨 − (1.9)
𝟏+𝒚𝑻 𝑨−𝟏 𝒙
Esta fórmula permite calcular a partir de, eliminando la
necesidad de invertir una matriz en cada iteración. Para esto,
primero se obtiene la inversa de la ecuación (1.7)
𝑘 −1 𝑘−1
[ ∆𝑓(𝑋 𝑘 ) − 𝐴𝑘−1 (∆𝑋 𝑘 )] (∆𝑋 𝑘 )𝑇 −1
(𝐴 ) =(𝐴 + )
|∆𝑋𝑘 |2
Después se hace:
𝐴 = 𝐴𝑘−1
𝑘 𝑘−1 𝑘
[ ∆𝑓(𝑋 )−𝐴 (∆𝑋 )]
𝑥=
𝑘 2
|∆𝑋 |
𝑘 𝑇
𝒚 = (∆𝑋 ) ,
6
con lo que la última ecuación queda:
(𝐴𝑘 )−1 = (𝐴 + 𝑥𝑦 𝑇 )−1
y sustituyéndolo en la ecuación (1.9), tenemos los siguiente:
∆𝑓 𝑘 − 𝐴𝑘−1 ∙ ∆𝑋 𝑘
(𝐴𝑘−1 )−1 [ (∆𝑋 𝑘 )𝑇 ] (𝐴𝑘−1 )−1
|∆𝑋𝑘 |2
(𝐴𝑘 )−1 = (𝐴𝑘−1 )−1 −
∆𝑓 𝑘 − 𝐴𝑘−1 ∙ ∆𝑋𝑘
1 + (∆𝑋𝑘 )𝑇 ∙ (𝐴𝑘−1 )−1 ∙
|∆𝑋𝑘 |2
[(𝐴𝑘−1 )−1 ∙ ∆𝑓 𝑘 − ∆𝑋 𝑘 ](∆𝑋 𝑘 )𝑇 ∙ (𝐴𝑘−1 )−1
(𝐴𝑘 )−1 = (𝐴𝑘−1 )−1 −
|∆𝑋𝑘 |2 + (∆𝑋𝑘 )𝑇 ∙ (𝐴𝑘−1 )−1 ∙ ∆𝑓 𝑘 − |∆𝑋𝑘 |2
Finalmente:
𝑇
𝑘 −1 𝑘−1 −1 [∆𝑋 𝑘 −(𝐴𝑘−1 )−1 ∙ ∆𝑓𝑘 ](∆𝑋 𝑘 ) ∙ (𝐴𝑘−1 )−1
(𝐴 ) = (𝐴 ) − −1 (1.10)
(∆𝑋 𝑘 )𝑇 ∙ (𝐴𝑘−1 ) ∙ ∆𝑓𝑘
Ésta fórmula permite calcular la inversa de una matriz con
sumas y multiplicaciones de matrices solamente, con lo que se
reduce el esfuerzo computacional al orden 𝑛2 .
Así usaremos la ecuación (1.10) desde la 2da iteración, ya que
la primera la ocuparemos 100 % por el método de Newton
Raphson para Sistemas de Ecuaciones No Lineales.
Resultando la siguiente notación para el método de Broyden,
desde la segunda iteración.
𝑿𝒌 = 𝑿𝒌−𝟏 − (𝑨𝒌−𝟏 )−𝟏 𝒇𝒌−𝟏 (1.11)
7
ii) Interpretación Geométrica
Para tratar de entender el método de Broyden, emplearemos la
misma interpretación Geométrica que el método de Newton
Raphson.
1) Consiste en elegir las coordenadas de un punto (𝑥𝑜 𝑦𝑜 )
como aproximación (punto inicial) del punto de intersección
de las funciones f(x, y) y g(x, y).
f (x, y)
𝑦𝑜
g(x, y)
𝑥0
X
8
2) Obtener los valores de las funciones f(x, y) y g(x, y) valuadas
con las coordenadas del punto inicial (𝑥𝑜 𝑦𝑜 ), y localizar los
cuatro puntos f (𝑥1 , 𝑦), g(𝑥1 , 𝑦), f (𝑥, 𝑦1) y g(𝑥, 𝑦1 ).
𝑔(𝑥0 , 𝑦) f (x,y)
𝑓(𝑥0 , 𝑦)
𝑓(𝑥, 𝑦0 ) 𝑔(𝑥, 𝑦0 )
𝑦𝑜
g(x,y)
𝑥0
X
9
3) Trazar una recta tangente paralela a la secante que une los
puntos 𝑓(𝑥0 , 𝑦), 𝑓(𝑥, 𝑦0 ) y otra tangente paralela a la secante que
une los puntos 𝑔(𝑥0 , 𝑦) 𝑔(𝑥, 𝑦0 ).
𝑔(𝑥0 , 𝑦) f (x,y)
𝑓(𝑥0 , 𝑦)
𝑓(𝑥, 𝑦0 ) 𝑔(𝑥, 𝑦0 )
𝑦𝑜
g(x,y)
𝑥0
𝑋
10
4) El punto de intersección de estas dos tangentes constituye
una segunda aproximación (𝑥1 𝑦1 ), del punto de intersección
de las dos funciones.
𝑔(𝑥0 , 𝑦) f (x,y)
𝑦1 𝑓(𝑥0 , 𝑦)
𝑓(𝑥, 𝑦0 ) 𝑔(𝑥, 𝑦0 )
𝑦𝑜
g(x,y)
𝑥0
𝑥1 𝑋
11
5) El proceso se repite n veces hasta que las coordenadas del
punto de intersección (𝑥𝑛 𝑦𝑛 ) coincida prácticamente con el
valor exacto de la intersección entre las dos curvas.
𝑔(𝑥0 , 𝑦) f (x,y)
𝑦1
𝑓(𝑥0 , 𝑦)
𝑓(𝑥, 𝑦0 ) 𝑔(𝑥, 𝑦0 )
𝑦𝑜
g(x,y)
𝑥0 𝑥1 𝑋
12
IV) EJEMPLO (MATEMÁTICO)
Tenemos dos funciones:
𝑓(𝑥, 𝑦) = 𝑥 2 + 𝑥𝑦 − 10
𝑔(𝑥, 𝑦) = 𝑦 + 3𝑥𝑦 2 − 57
Tomamos los siguientes puntos iniciales:
𝑥𝑜 = 1.5
𝑦𝑜 = 3.5
Ahora bien, para empezar a resolver por el método de Broyden,
proseguimos a hacer lo siguiente:
Antes tengamos en cuenta lo siguiente: Para la primera
iteración, utilizamos el método de Newton Raphson para
Sistemas de Ecuaciones No Lineales. Así:
𝑥𝑛+1 𝑥𝑛 } − [ 𝐽 (𝑥 , 𝑦 )]−1 ∗ { 𝑓(𝑥𝑛, 𝑦𝑛) }
{
𝑦𝑛+1 }= {
𝑦𝑛 𝑛 𝑛
𝑔(𝑥 , 𝑦 )
𝑛 𝑛
Paso 1: Hallar 𝑓(𝑥𝑜 , 𝑦𝑜 ) 𝑦 𝑔(𝑥𝑜 , 𝑦𝑜 )
𝑓(𝑥𝑜 , 𝑦𝑜 ) = 1.52 + (1.5) ∗ (3.5) − 10 = −2.5
𝑔(𝑥𝑜 , 𝑦𝑜 ) = 3.5 + 3 ∗ (1.5) ∗ (3.52 ) − 57 = 1.63
Paso 2: Hallar la Matriz Jacobiana:
𝜕𝑓 𝜕𝑓
𝜕𝑥 𝜕𝑦
𝐽=
𝜕𝑔 𝜕𝑔
[ 𝜕𝑥 𝜕𝑦]
13
𝜕(𝑥2 + 𝑥𝑦 − 10) 𝜕(𝑥2 + 𝑥𝑦 − 10)
𝜕𝑥 𝜕𝑦
𝐽=
𝜕(𝑦 + 3𝑥𝑦2 − 57) 𝜕(𝑦 + 3𝑥𝑦2 − 57)
[ 𝜕𝑥 𝜕𝑦 ]
2𝑥 + 𝑦 𝑥
𝐽=[ ]
3𝑦 2 1 + 6𝑥𝑦
Por tanto:
6.5 1.5
𝐽(𝑥𝑜 , 𝑦𝑜 ) = [ ]
36.75 32.5
Paso 3: Invertir la Matriz Jacobiana
−1 1
[ 𝐽 (𝑥𝑜 , 𝑦𝑜 )] = ∗ 𝑎𝑑𝑗[ 𝐽 (𝑥𝑜 , 𝑦𝑜 ) ]
𝑑𝑒𝑡[ 𝐽 (𝑥𝑜 , 𝑦𝑜 ) ]
Lo desarrollamos por partes, la determinante de la matriz
Jacobiana sería:
𝑑𝑒𝑡[ 𝐽 (𝑥𝑜 , 𝑦𝑜 )] = 6.5 ∗ 32.5 − 1.5 ∗ 36.75 = 156.13
y la adjunta de la Matriz Jacobiana:
32.5 − 1.5
𝑎𝑑𝑗[ 𝐽 (𝑥𝑜 , 𝑦𝑜 ) ] = [ ]
−36.75 6.5
Finalmente, podemos obtener la inversa de la Matriz
Jacobiana, así:
−1 1 32.5 − 1.5
[ 𝐽 (𝑥𝑜 , 𝑦𝑜 )] = ∗[ ]
156.13 −36.75 6.5
= [0.21 − 0.01]
−1
[ 𝐽 (𝑥𝑜 , 𝑦𝑜 )]
−0.24 0.04
14
Paso 4: Reemplazar los valores obtenidos en la Fórmula del
Método Newton Raphson, ya que la primera iteración es igual
en ambos métodos.
𝑥1 1.5 0.21 − 0.01] ∗ [−2.5]
{
𝑦1 } = [3.5] − [ −0.24 0.04 1.63
𝑥1 1.5 −0.54 2.04
{
𝑦1 } = {3.5} − { 0.67 } = {2.83}
Hasta el momento hemos hallado el primer vector de
aproximación a la raíz.
Segunda Iteración:
Ahora según la información dada sobre el Método de Broyden,
desde aquí en adelante, No se computa el Jacobiano real, sino
una aproximación (A) . Y su inversa es calculada por la
Fórmula de Sherman Morrison.
Usamos la ecuación (1.10)
𝑇
𝑘 −1 𝑘−1 −1 [∆𝑋 𝑘 −(𝐴𝑘−1 )−1 ∙ ∆𝑓𝑘 ](∆𝑋 𝑘 ) ∙ (𝐴𝑘−1 )−1
(𝐴 ) = (𝐴 ) − −1
(∆𝑋 𝑘 )𝑇 ∙ (𝐴𝑘−1 ) ∙ ∆𝑓𝑘
que para ésta segunda iteración vendría siendo de la siguiente
forma:
[∆𝑋1 − (𝐴0 )−1 ∙ ∆𝑓 1 ](∆𝑋1 )𝑇 ∙ (𝐴0 )−1
(𝐴1 )−1 = (𝐴0 )−1 −
(∆𝑋1 )𝑇 ∙ (𝐴0 )−1 ∙ ∆𝑓 1
donde
−1
(𝐴0 )−1 = [ 𝐽 (𝑥𝑜 , 𝑦𝑜 )]
∆𝑋1 = 𝑋1 − 𝑋 0
∆𝑓 1 = 𝑓 1 − 𝑓 0
(∆𝑋1 )𝑇 = 𝑡𝑟𝑎𝑛𝑠𝑝𝑢𝑒𝑠𝑡𝑎 𝑑𝑒 ∆𝑋1
15
Para comenzar, hallamos lo necesario:
2.04 1.5 0.54
∆𝑋1 = { }−{ }= { }
2.83 3.5 −0.67
𝑓(𝑥1 , 𝑦1 ) = 2.04 + (2.04) ∗ (2.83) − 10 = −0.0652
2
1
𝑓 ={ }
𝑔(𝑥1 , 𝑦1 ) = 2.83 + 3 ∗ (2.04) ∗ (2.83 ) − 57 = −5.15
2
−0.065 −2.5 2.435
∆𝑓 1 = { }−{ }={ }
−5.15 1.63 −6.785
0.54 𝑇 {0.54
(∆𝑋1 )𝑇 = { } = − 0.67}
−0.67
Procedemos a resolver:
0.54 0.21 − 0.01 2.435 0.21 − 0.01
[{ }−{ }∙{ }] ∙ {0.54 − 0.67} ∙ { }
0.21 − 0.01 −0.67 −0.24 0.04 −6.785 −0.24 0.04
(𝐴1 )−1 = { }−
−0.24 0.04 0.21 − 0.01 2.435
{0.54 − 0.67} ∙ { } ∙{ }
−0.24 0.04 −6.785
0.198 − 0.001
(𝐴1 )−1 = [ ]
−0.179 0.034
Ahora, ejecutamos la ecuación (1.11):
𝑿𝒌 = 𝑿𝒌−𝟏 − (𝑨𝒌−𝟏 )−𝟏 𝒇𝒌−𝟏
𝑿𝟐 = 𝑿𝟏 − (𝑨𝟏 )−𝟏 𝒇𝟏
𝑥2 2.04 0.198 − 0.001 −0.065
{𝑦 } = [ ]− [ ]∗[ ]
2 2.83 −0.179 0.034 −5.15
𝑥2 2.04 −0.00772 2.04
{𝑦 } = [ ]− [ ]=[ ]
2 2.83 −0.163465 2.9935
Obtenido el segundo vector de aproximación a la raíz, se
realiza el mismo procedimiento hasta que 𝑿𝒌+𝟏 y 𝑿𝒌 sean
iguales o su norma sea menor que una tolerancia dada.
16
Los resultados para éste ejercicio de Sistemas de Ecuaciones
No Lineales, fueron los siguientes:
Tabla 1
Resultados del Sistema No Lineal de 2x2 con el Método de
Broyden
k 𝑥𝑘 𝑦𝑘
1 2.03603 2.84388
2 2.00892 2.99738
3 1.99831 3.00286
4 1.99984 3.00027
5 2 3
Con una tolerancia de: 10−6
17
V) ALGORITMO COMPUTACIONAL
i) Diagrama de Flujo
18
ii) Programa
donde:
# de iteraciones: es el número máximo de iteraciones que le
asignamos al programa para que se detenga.
Tolerancia: Nos indica el ‘nivel’ de error que tendrá nuestra
respuesta.
Var. Inicial: Es el vector de variables iniciales según las
funciones que hemos ingresado.
Numero de funciones: Es el número de funciones con las que
contará el Sistema de Ecuaciones No Lineales.
i: Es el número de iteraciones en el que logró converger el
sistema de Ecuaciones.
Xi,Yi,Zi: Son los puntos en donde las funciones se
encontrarán aproximadamente, dependiendo si colocamos 2
funciones y 2 variables o 3 funciones con 3 variables.
19
VI) APLICACIÓN
i) Manual
Partimos del problema expuesto en II) PROBLEMA
El sistema planteado fue:
𝟐. 𝟑𝟓 ∙ 𝒆−𝟑 ∙ (𝑸𝟏 + 𝑸𝟐 )𝟏.𝟕𝟓 − 𝟕𝟓 + 𝒑𝟐 = 𝟎
𝟒. 𝟔𝟕 ∙ 𝒆−𝟑 ∙ 𝑸𝟏 𝟏.𝟕𝟓 + 𝟐𝟎 − 𝒑𝟐 = 𝟎
𝟑. 𝟕𝟐 ∙ 𝒆−𝟐 ∙ 𝑸𝟐 𝟏.𝟕𝟓 + 𝟏𝟓 − 𝒑𝟐 = 𝟎
Podemos decir lo siguiente:
𝑓(𝑄1 , 𝑄2 , 𝑝2 ) = 2,35 · 𝑒 −3 (𝑄1 + 𝑄2)1.75 − 75 + 𝑝2 = 0
𝐹 = { 𝑔(𝑄1 , 𝑄2 , 𝑝2 ) = 4,67 · 𝑒 −3 𝑄11.75 · + 20 − 𝑝2 = 0 }
ℎ(𝑄1 , 𝑄2 , 𝑝2 ) = 3,72 · 𝑒 −2 · 𝑄21.75 + 15 − 𝑝2 = 0
Una vez reconocidas las funciones las cuales pertenecen a un
mismo sistema, podemos obtener para la primera iteración, el
Jacobiano.
𝜕𝑓 𝜕𝑓 𝜕𝑓
𝜕𝑄1 𝜕𝑄2 𝜕𝑝2
𝜕𝑔 𝜕𝑔 𝜕𝑔
[𝐽] =
𝜕𝑄1 𝜕𝑄2 𝜕𝑝2
𝜕ℎ 𝜕ℎ 𝜕ℎ
[ 𝜕𝑄1 𝜕𝑄2 𝜕𝑝2 ]
0,205 · (𝑄1 + 𝑄2 )0.75 ) (0,205 · (𝑄1 + 𝑄2 )0.75 ) 1
[ 𝐽𝑓 (𝑄1 , 𝑄2 , 𝑝2 )] == [0,407 · 𝑄10.75 0 − 1]
0 0,881 · 𝑄20.75 −1
En cuanto a los valores de partida para inicializar el método,
puesto que P2 es un punto intermedio entre P1 y los extremos
P3 y P4, tomaremos como 𝑝2 una presión intermedia, por
ejemplo 𝑝2 = 50 psi. Para los caudales Q1 y Q2 no se dispone de
20
ninguna pista que nos indique en qué entorno pueden estar.
No obstante, si se considera p2 = 50, de la segunda ecuación
se tiene que Q1 ≈ 16 y, de la tercera ecuación, que Q2 ≈ 7 por
lo que estos pueden ser valores coherentes con la presión
tomada para inicializar el proceso.
Aplicando pues el algoritmo de Broyden antes descrito a esta
situación, el cual consiste en aplicar método de newton
Raphson como primera iteración, solo para hallar el primer
valor de la primera iteración. El cual será utilizado para
resolver la fórmula de Sherman-Morrison, es de ahí donde se
obtiene el reemplazo a la matriz Jacobiana, y
consecuentemente, ser reemplazado en la fórmula de Newton-
Raphson. Para finalmente obtener los nuevos valores de las
variables, hasta que los siguientes valores se repitan.
Denominamos a los siguientes como parámetros del método de
Broyden.
𝑡𝑜𝑙 = 10−6
𝑛𝑢𝑚𝑎𝑥 = 10
𝑥 (0) = {𝑄1 , 𝑄2 , 𝑝2 } = {16, 7, 50}
Entonces sabiendo los puntos iniciales para las variables
independientes. Evaluamos con esos puntos, así:
21
2.1530 2.1530 1
[ 𝐽𝑓 (𝑄1 , 𝑄2 , 𝑝2 )0 ] = [3.2560 0 − 1]
0 3.7914 − 1
Necesitamos hallar la inversa de la matriz jacobiana, para eso
necesitamos lo siguiente:
1
[ 𝐽 ]−1 = ∗ 𝑎𝑑𝑗[ 𝐽 ]𝑇
𝑑𝑒𝑡[ 𝐽 ]
Primero hallaremos la determinante:
Para hallar el determinante de una matriz 3x3 se hace lo
siguiente:
Y ahora ya tenemos casi resuelta el determinante de la matriz
jacobiana:
|𝐽| = ((2.1530 ∗ 0 ∗ −1) + (0 ∗ 2.1530 ∗ −1) + (3.2560 ∗ 3.7914 ∗ 1))
− (0 ∗ 0 ∗ 1) − (2.1530 ∗ 3.7914 ∗ −1) − (3.2560 ∗ 2.1530
∗ −1 )
det(𝐽) = | 𝐽 | = 27.5178506
22
El siguiente paso sería hallar la matriz adjunta de [J]:
0 −1 3.2560 − 1 3.2560 0
| |−| || |
3.7914 − 1 0 −1 0 3.7914
2.1530 1 2.1530 1 2.1530 2.1530
Adj(J) = − | || |−| |
3.7914 − 1 0 −1 0 3.7914
2.1530 1 2.1530 1 2.1530 2.1530
( |0 −1
|−|
3.2560
||
− 1 3.2560
|
0 )
3.7914 3.2560 12.347984
Adj(J) = (5.9444 − 2.1530 − 8.1628842)
−2.1530 5.409 − 7.010168
3.7914 5.9444 − 2.1530
Adj(J)𝑇 = (3.2560 − 2.1530 5.409)
12.347984 − 8.168842 − 7.010168
El paso final para hallar la inversa de la matriz jacobiana es
solo dividir los valores obtenidos anteriormente.
1
[ 𝐽 ]−1 = ∗ Adj(J)𝑇
𝑑𝑒𝑡[ 𝐽 ]
0.1378 0.2160 − 0.0782
[ 𝐽 ]−1 = { 0.1183 − 0.0782 0.1966 }
0.4487 − 0.2966 − 0.2547
23
Ya que tenemos la matriz [ 𝐽 ]−1 podemos aplicar Newton
Raphson para hallar los valores 𝑥1 de la primera iteración.
𝑥 (1) = 𝑥 (0) − [ 𝐽 ]−1 ∗ 𝐹(𝑥 (0 ))
16 0.1378 0.2160 − 0.0782 3.2623408
𝑥 (1) = { 7 } − { 0.1183 − 0.0782 0.1966 } ∗ { −2.3928201 }
50 0.4487 − 0.2966 − 0.2547 −19.8338430
14.0506076
(1)
𝑥 = {10.4943950}
43.4152926
Ahora nos dedicaremos a aplicar la fórmula de Sherman-
Morrison, y consecuentemente la fórmula de Newton Raphson.
Según la fórmula de Sherman-Morrison, la cual es la
siguiente:
𝑡
(𝑆𝑖 − 𝐴−1 −1
𝑖−1 ∗ 𝑦𝑖 ) ∗ 𝑆𝑖 ∗ 𝐴𝑖−1
𝐴−1 −1
𝑖−1 = 𝐴𝑖−1 +
𝑆𝑖𝑡 ∗ 𝐴−1
𝑖−1 ∗ 𝑌𝑖
Donde:
𝑌𝑖 = 𝐹(𝑥 (𝑖) ) − 𝐹(𝑥 (𝑖−1) )
𝑆𝑖 = 𝑥 (𝑖) −𝑥 (𝑖−1)
𝐴−1
0 =𝐽
−1
24
En este caso:
𝑌1 = 𝐹(𝑥 (1) ) − 𝐹(𝑥 (0) )
0.08323233 3.2623408
𝑌1 = { 0.2929796 } − { −2.3928201 }
2.3902906 −19.8338430
−3.1791085
𝑌1 = { 0.5322596 }
22.2241337
Ahora:
𝑆1 = 𝑥 (1) −𝑥 (0)
14.0506076 16
𝑆1 = {10.4943950} − { 7 }
43.4152926 50
−1.9493924
𝑆1 = { 2.4943950 }
−6.5847074
Finalmente se crea una variable: 𝐴−1
0 =𝐽
−1
0.1378 0.2160 − 0.0782
𝐴−1
0 = { 0.1183 − 0.0782 0.1966 }
0.4487 − 0.2966 − 0.2547
Y podemos reemplazar en la fórmula de Sherman-Morrison:
(𝑆1 − 𝐴−1 𝑡 −1
0 ∗ 𝑦1 ) ∗ 𝑆1 ∗ 𝐴0
𝐴1−1 = 𝐴−1
0 +
𝑆1𝑡 ∗ 𝐴−1
0 ∗ 𝑌1
Para evitar que la ecuación se llene de resultados separaremos
el numerador y denominador de la división que se puede
observar, en la ecuación anterior, así:
25
−1.9493924 0.1378 0.2160 − 0.0782 −3.1791085
𝑛𝑢𝑚 = ({ 2.4943950 } − { 0.1183 − 0.0782 0.1966 } ∗ { 0.5322596 })
−6.5847074 0.4487 − 0.2966 − 0.2547 22.2241337
0.1378 0.2160 − 0.0782
∗ {−1.9493924 2.4943950 − 6.5847074} ∗ { 0.1183 − 0.0782 0.1966 }
0.4487 − 0.2966 − 0.2547
Entonces
−0.3293 0.1504 0.2609
𝑛𝑢𝑚 = {4.2641 − 1.9470 − 3.3789}
−1.9365 0.8842 1.5345
𝑑𝑒𝑛 = 𝑆1𝑡 ∗ 𝐴−1
0 ∗ 𝑌1
0.1378 0.2160 − 0.0782 −3.1791085
𝑑𝑒𝑛 = {−1.9493924 2.4943950 − 6.5847074} ∗ { 0.1183 − 0.0782 0.1966 } ∗ { 0.5322596 }
0.4487 − 0.2966 − 0.2547 22.2241337
𝑑𝑒𝑛 = 61.5868
0.1378 0.2160 − 0.0782 𝑛𝑢𝑚
𝐴1−1 = { 0.1183 − 0.0782 0.1966 } +
𝑑𝑒𝑛
0.4487 − 0.2966 − 0.2547
−0.3293 0.1504 0.2609
0.1378 0.2160 − 0.0782 {4.2641 − 1.9470 − 3.3789}
𝐴1−1 = { 0.1183 − 0.0782 0.1966 } + −1.9365 0.8842 1.5345
61.5868
0.4487 − 0.2966 − 0.2547
0.1378 0.2160 − 0.0782 −0.0053 0.0024 0.0042
𝐴1−1 = { 0.1183 − 0.0782 0.1966 } + {0.0692 − 0.0316 − 0.0549}
0.4487 − 0.2966 − 0.2547 −0.0314 0.0144 0.0249
26
Finalmente obtenemos 𝐴1−1 el cual será el reemplazo de la
matriz jacobiana en la fórmula de Newton Raphson.
0.1324 0.2185 − 0.0740
𝐴1−1 = { 0.1876 − 0.1099 0.1417 }
0.4173 − 0.2823 − 0.2298
Reemplazando en la fórmula de Newton Raphson, hallaremos
los valores de 𝑥 (2) .
𝑥 (2) = 𝑥 (1) − [ 𝐽 ]−1 ∗ 𝐹(𝑥 (1) )
14.0506076 0.1324 0.2185 − 0.0740 0.08323233
𝑥 (2) = {10.4943950} − { 0.1876 − 0.1099 0.1417 } ∗ { 0.2929796 }
43.4152926 0.4173 − 0.2823 − 0.2298 2.3902906
14.0506076 −0.1123
𝑥 (2) = {10.4943950} − { 0.4568 }
43.4152926 −0.6585
14.1629
𝑥 (2) = {10.0376}
44.0738
Así sucesivamente en las siguientes iteraciones se obtuvo los
siguientes valores:
14,1354080 14,1355289 14,1355472
(3) (4) (5)
𝑋 = {10,1313741 } 𝑋 = {10,1303992 } 𝑋 = { 10,1303018 }
43,9574486 43,9594922 43,9596554
Y finalmente hasta que se obtenga que 𝑥 (7) − 𝑥 (6) ≤ 𝑡𝑜𝑙. Por
eso el programa se detiene en la 7ma iteración.
27
Siendo:
14.1355467
(6)
𝑥 = { 10.1303043 }
43.95965156
14.1355467
𝑥 (7) = {10.13030403}
43.9596517
En conclusión, ahora si podemos saber la presión (𝑝2 ) en el
punto P2, y los caudales 𝑄, 𝑄1 , 𝑄2 respectivamente.
La solución es la siguiente:
𝑄 = 𝑄1 + 𝑄2
𝑄1 = 14.1355467
𝑄2 = 10.13030403
𝑝2 = 43.9596517 𝑝𝑠𝑖
𝑄 = 24.2658507
ii) Software
También podemos ver el método de Broyden para esta
aplicación en el programa Matlab. Y vemos que funciona
correctamente, tal y como antes habíamos mencionado, se
detiene en la 7ª iteración ya que 𝑥 (7) − 𝑥 (6) ≤ 𝑡𝑜𝑙.
Los datos a ingresar serían los siguientes: El sistema de
ecuaciones 3x3.
𝑡𝑜𝑙 = 10−6
𝑛𝑢𝑚𝑎𝑥 = 10
(0)
𝑥 = {𝑄1 , 𝑄2 , 𝑝2 } = {16, 7, 50}
28
VII) CONCLUSIONES
- El método de Broyden se basa en el Método de Newton
Raphson y se inspira en el método de la Secante para una
ecuación no Lineal, generalizándola para un Sistema de
Ecuaciones No Lineales.
-Al aproximar la Matriz Jacobiana, a sí mismo su Inversa y
evitar el laborioso trabajo de Evaluar 𝑛2 componentes con el
vector de aproximaciones, la velocidad de convergencia pasa
de ser Cuadrática (Newton Raphson) a SuperLineal (Broyden).
29
VIII) RECOMENDACIONES
-Se recomienda realizar el método de Broyden para un sistema
de ecuaciones muy grande, ya que disminuye el costo
computacional. Mientras el sistema de Ecuaciones No
Lineales sea más grande, el método de Broyden resulta ser
más eficiente.
-Se recomienda realizar un gráfico de las funciones del
Sistema de Ecuaciones No Lineales para así estimar valores
iniciales que logren que el método de Broyden pueda converger
de manera más rápida.
IX) ANEXOS
i) Ecuación No Lineal
A diferencia de las ecuaciones no Lineales, que por lo general
son rectas, un Ecuación No Lineal conlleva así un grado mayor
a 1.
ii) Sistema de Ecuaciones No Lineales
Se considera un Sistema de Ecuaciones No Lineal, a un
sistema que contenga por lo menos una ecuación No Lineal.
Para el presente trabajo usaremos la siguiente notación
general:
𝑓1 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 0
𝑓2 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 0
………………..…...…
𝑓𝑛 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 0
30
donde 𝑓𝑖 son funciones reales.
Desde el punto de vista vectorial, el sistema puede escribirse:
𝑓1 𝑥1
𝑥2
⃑ = |𝑓2 |
𝑓 ⃑ = |…|
𝑥
…
𝑓𝑛 𝑥𝑛
⃑ (𝑥
con lo cual, el sistema se escribe así: 𝑓 ⃑ )=0
iii) Matriz Jacobiana
Es una matriz formada por las derivadas parciales de primer
orden de una función. Una de las aplicaciones más
interesantes de esta matriz es la posibilidad de aproximar
linealmente a la función en un punto. En este sentido, el
jacobiano representa la derivada de una función
multivariable.
Ejemplo: Sean 3 funciones (x, y, z) que dependen de 3 variable
(u, v, w).
𝜕𝑥 𝜕𝑥 𝜕𝑥
𝜕𝑢 𝜕𝑣 𝜕𝑤 |
𝜕(𝑥, 𝑦, 𝑧) |
𝜕𝑦 𝜕𝑦 𝜕𝑦
𝐽= =
𝜕(𝑢, 𝑣, 𝑤) |𝜕𝑢 𝜕𝑣 𝜕𝑤 |
𝜕𝑧 𝜕𝑧 𝜕𝑧
𝜕𝑢 𝜕𝑣 𝜕𝑤
iv) Jacobiano
Se llama jacobiano o determinante jacobiano al determinante
de la Matriz Jacobiana.
v) Método de Newton Raphson para una ecuación No Lineal
El método de Newton es un algoritmo eficiente para encontrar
aproximaciones de los ceros o raíces de una función real.
Sea f: [a, b] R una función derivable definida en el intervalo
31
real [a, b]. Empezamos con un valor inicial 𝑥0 y definimos para
cada número natural n.
𝑓(𝑥𝑛 )
𝑥𝑛+1 = 𝑥𝑛 −
𝑓′(𝑥𝑛 )
donde 𝑓′(𝑥𝑛 ) denota la derivada de la función f.
vi) Método de la Secante
Es un método para encontrar los ceros de una función de
forma iterativa.
Es una variación del Método de Newton Raphson donde en vez
de calcular la derivada de la función en el punto de estudio,
teniendo en mente la definición de derivada, se aproxima la
pendiente a la recta que une la función evaluada en el punto
de estudio y en el punto de la iteración anterior. Este método
es de especial interés cuando el coste computacional de
derivar la función de estudio y evaluarla es demasiado elevado,
por lo que el método de Newton Raphson no resulta ‘atractivo’.
El método se resume en ésta fórmula:
𝒙𝒏 − 𝒙𝒏−𝟏
𝒙𝒏+𝟏 = 𝒙𝒏 + ∙ 𝒇(𝒙𝒏 )
𝒇(𝒙𝒏 ) − 𝒇(𝒙𝒏−𝟏 )
Como se puede ver, este método necesitará dos
aproximaciones iniciales de la raíz para poder inducir una
pendiente inicial.
vii) Métodos Cuasi Newton o Quasi Newton
Este tipo de métodos generalizan al caso de sistemas el método
de la secante estudiado para una única ecuación. La idea de la
32
que parten consiste en aproximar la Matriz Jacobiana en cada
iteración a partir de la Matriz Tangente utilizada en la
iteración anterior.
X) BIBLIOGRAFÍA
Chapra,S. y Canale R. (2007). Métodos Numéricos para
Ingeniería. Mexico D.F:McGRAW-HILL/INTERAMERICANA
EDITORES,S.A. DE C.V.
Hurtado A. y Domínguez F. (2006). Métodos Numéricos
aplicados a la Ingeniería. Mexico: Compañía Editorial
Continental.
Burden,S. y Faires J. Análisis Numérico
recuperado de: [Link]
numrico-richard-burden-7ma-edicin
Conde, C. y Schiavi E.
recuperado de: [Link]
aplicada/programacion-y-metodos-
numericos/contenidos/TEMA_8/Apuntes/[Link]
33