SOLUCIÓN DE SISTEMAS DE ECUACIONES … · Web viewSistemas de ecuaciones de este tipo o aún más...
Transcript of SOLUCIÓN DE SISTEMAS DE ECUACIONES … · Web viewSistemas de ecuaciones de este tipo o aún más...
SOLUCIN DE SISTEMAS DE ECUACIONES LINEALES EMPLEANDO OPTIMIZACIN GLOBAL
Trabajo publicado en www.ilustrados.com
La mayor Comunidad de difusin del conocimiento
SOLUCIN DE SISTEMAS DE ECUACIONES LINEALES EMPLEANDO SIMULATED ANNEALING
AUTOR
Francisco Snchez-Mares
Colegio Lincoln, A. C.
Av. Mahatma Gandhi No. 350, Fracc. pilar blanco, Aguascalientes, Ags.
RESUMEN
Un gran nmero de problemas comunes en la ingeniera requieren la solucin de sistemas de ecuaciones lineales de grandes dimensiones. Por lo tanto, es necesario emplear mtodos numricos que sean capaces de determinar el vector solucin del sistema bajo anlisis de manera eficiente. En este trabajo se presenta una metodologa para resolver sistemas de ecuaciones lineales empleando como estrategia de solucin la tcnica de optimizacin global Simulated Annealing. El mtodo fue probado con diversos sistemas de ecuaciones y los resultados mostraron que el mtodo es capaz de resolver sistemas de gran dimensin.
Palabras clave
Sistemas de ecuaciones lineales, Vector solucin, Mtodos numricos, Optimizacin global, Simulated Annealing.
INTRODUCCIN
En la ingeniera, una gran cantidad de problemas prcticos se reducen a la solucin de un sistema de ecuaciones lineales, que en algunos casos presentarn un gran nmero de incgnitas. En general, un sistema de ecuaciones se representa de la siguiente forma
1,111,221,1
2,112,222,2
,11,22,
+ + + =
+ + + =
+ + + =
nn
nn
mmmnnm
axaxaxb
axaxaxb
axaxaxb
K
K
MMMM
K
(1)
La Ecuacin (1) puede ser representada en notacin matricial como
xb
=
A
rr
(2)
donde la matriz A esta conformada por los elementos
1,11,21,
2,12,22,
,1,2,
n
n
mmmn
aaa
aaa
aaa
=
A
K
K
MMM
K
(3)
y los vectores incgnita o solucin
x
r
y de el vector de trminos independientes
b
r
se representan como
1
2
m
x
x
x
x
=
r
M
(4)
1
2
m
b
b
b
b
=
r
M
(5)
Teniendo especificados los valores de A y
b
r
, la solucin del sistema (1) se tendr cuando se calculen los
x
r
que lo satisfagan.
Los mtodos empleados para obtener los valores del vector incgnita se pueden clasificar en directos e iterativos. Los mtodos directos ms representativos son el mtodo de la eliminacin de Gauss, el de Gauss-Jordan y el de factorizacin, mientras que en los iterativos se encuentran Jacobi y Gauss-Seidel.
La eliminacin de Gauss, que se basa en reducir un sistema de ecuaciones completo a uno triangular. La triangularizacin permite encontrar de manera directa el valor de
n
x
de la ecuacin n, los valores restantes se obtendrn realizando un proceso de sustitucin regresiva. Sin embargo, est mtodo no es simple de aplicar en grandes sistemas de ecuaciones y requiere tiempos de cmputo altos.
El mtodo de Gauss-Jordan consiste en transformar el sistema de ecuaciones en una matriz identidad quedando al final slo los componentes de
x
r
. El procedimiento es similar al de eliminacin de Gauss, pero tambin se deben reducir los trminos que estn debajo de la diagonal principal. La principal desventaja de este mtodo es su alto tiempo de cmputo requerido para llegar a la convergencia.
Despus de obtener la matriz triangular superior mediante el mtodo de Gauss es posible aplicar un mtodo llamado de factorizacin, que se basa en la introduccin de una matriz triangular inferior que multiplicada por la triangular superior dar por resultado la matriz original. Esta tcnica requiere de la implementacin del mtodo de Gauss para obtener la matriz triangular superior y posteriormente la definicin de la matriz triangular inferior, lo que lo convierte en un mtodo poco prctico para sistemas de un gran nmero de ecuaciones.
Los mtodos iterativos son empleados en diversas reas de la ingeniera debido a que son simples de programar. Sin embargo, requieren tiempos de cmputo altos, los cuales se incrementan con el orden del sistema bajo anlisis y presentan errores de redondeo por ser soluciones aproximadas. Los mtodos ms representativos de esta clasificacin son Jacobi y Gauss-Seidel.
Inicialmente ambos mtodos requieren del despeje de x1 de la primera ecuacin, de x2 de la segunda y as sucesivamente hasta llegar a xn de la ecuacin n. Posteriormente, se propone un vector solucin
x
r
que se supone satisface al sistema. La diferencia entre ambos mtodos radica en que el mtodo de Jacobi puede iniciar con todos los valores de
x
r
igual a cero o cualquier otro valor arbitrario, mientras que el de Gauss-Seidel emplea el valor de
1
b
como la primera solucin de
1
x
, este valor se sustituir en la segunda ecuacin para obtener el valor de
2
x
y todos los valores que componen a
x
r
se obtendrn de manera progresiva. Ambos mtodos van refinando la solucin como resultado de cada iteracin y terminarn cuando se cumpla una tolerancia o margen de error especificado regularmente como la diferencia entre el nuevo valor calculado y el valor anterior.
Se han presentado los mtodos ms empleados para determinar
x
r
. Sin embargo, existen gran cantidad de mtodos numricos propuestos o modificaciones de los aqu mencionados. Sin embargo, estas tcnicas presentan desventajas como ser iterativas, tiempos de cmputo altos que se incrementan conforme aumenta el tamao del sistema y algunos requieren el clculo de la inversa o la factorizacin de matrices triangulares.
METODOLOGA
El sistema de ecuaciones descrito en la expresin (2) se puede reacomodar de la siguiente forma
0
xb
-=
A
rr
(6)
Por lo tanto, de esta forma el vector de incgnitas se puede determinar tratando al sistema de ecuaciones lineales como un problema de optimizacin. Es decir, obtener el
x
r
que minimice al sistema de ecuaciones a un valor muy cercano a cero. La funcin objetivo a minimizar FOBJ ser la siguiente
(
)
(
)
22
1,111,221,1,11,22,
+ + + - ... + + + -
OBJnnmmmnnm
Faxaxaxbaxaxaxb
=+
KK
(7)
Como estrategia de solucin para obtener el vector incgnitas de un sistema de ecuaciones lineales en este trabajo se emple el mtodo de optimizacin global Simulated Annealing (SA), el cual es una simulacin del proceso de templado empleado en metales. El SA est compuesto por varios parmetros de optimizacin que pueden ser modificados segn la complejidad de la funcin a evaluar. La Tabla 1 muestra el valor de los parmetros estndar del SA.
Tabla 1. Parmetros principales del algoritmo Simulated Annealing.
Parmetro
Descripcin
T
RT
NT
NS
Temperatura inicial del Simulated Annealing.
Factor de reduccin de la temperatura.
Mximo nmero de iteraciones antes de reducir la temperatura.
Mximo nmero de ciclos externos.
Bsicamente el algoritmo trabaja de la siguiente forma: inicialmente se fija el valor inicial de T (parmetro que controla la aleatoriedad), luego se propone un vector solucin que deber estar comprendido entre unos lmites especificados y se supone minimiza a la funcin objetivo. Posteriormente, se verifica la respuesta que tiene el sistema para el vector propuesto y se recalcular para un nuevo vector solucin. Si este nuevo vector propuesto tiene una respuesta mnima entonces se acepta como posible solucin. Por otra parte si la respuesta no minimiza la funcin, se acepta el vector con una probabilidad igual a:
R
T
e
-D
(8)
donde (R es la diferencia de la respuesta numrica del sistema a los vectores solucin.
La aceptacin ocasional de soluciones que no minimizan la funcin permite al sistema saltar de un mnimo local al mnimo global. Despus de una normalizacin, el proceso contina repitindose al mismo instante que se reduce la temperatura hasta llegar a temperaturas muy bajas donde existe una alta probabilidad de que el mnimo global ha sido encontrado.
RESULTADOS
Para verificar la eficiencia del mtodo se evaluaron diversos sistemas de ecuaciones de gran tamao. Sin embargo, debido a la brevedad del documento se presenta un sistema de tres ecuaciones con tres incgnitas, otro de diez ecuaciones con diez incgnitas y finalmente, uno de noventa y un ecuaciones con igual nmero de incgnitas. Los programas computacionales para calcular los vectores solucin se codificaron en FORTRAN y se componen de una subrutina y un programa principal. En el programa principal se encuentra el sistema de ecuaciones a resolver reacomodado en la forma presentada en la Ecuacin (6), mientras que en la subrutina se encuentra el cdigo del SA proporcionado por W. L. Goffe. El criterio de paro o margen de error empleado fue 1.0 E-6. Todos los clculos realizados se llevaron a cabo en un PC con procesador Intel Celeron M 1.50 GHz y 240 MB de RAM. Los parmetros de SA empleados fueron los reportados en la Tabla 1.
Para observar el comportamiento numrico del mtodo SA durante la convergencia, se analiz un sistema de tres ecuaciones con el mismo nmero de incgnitas. Para todos los sistemas de ecuaciones evaluados se variaron los lmites de bsqueda con el fin de observar su influencia en el incremento del nmero de evaluaciones de la funcin objetivo y en el tiempo de cmputo.
a) Sistema de tres ecuaciones con tres incgnitas.
El sistema a evaluar es el siguiente
123
123
123
4 - 9 + 2 = 5
2 - 4 + 6 = 3
- + 3 = 4
xxx
xxx
xxx
(9)
La solucin de este sistema viene dado por el vector
[
]
6.95,2.5,0.15
T
x
=-
r
. La Tabla 2 presenta el efecto que tiene el modificar los lmites de bsqueda de SA en el nmero de iteraciones y el tiempo de cmputo empleado por el mtodo.
Tabla 2. Efecto de variar los lmites de bsqueda en el nmero de evaluaciones de la funcin objetivo y el tiempo de cmputo.
Lmite inferior
Lmite superior
Inicializacin
Nmero de evaluaciones de la funcin objetivo
Tiempo de cmputo (s)
10
10
10
x
-
=-
-
r
10
10
10
x
=
r
5
5
5
x
=
r
166801
2.31
100
100,
100
x
-
=-
-
r
100
100
100
x
=
r
50
50
50
x
=
r
163201
2.10
1000
1000
1000
x
-
=-
-
r
1000
1000
1000
x
=
r
500
500
500
x
=
r
164401
2.21
Las Figuras 1-3 muestran el comportamiento de las incgnitas x1, x2 y x3 durante las evaluaciones de la funcin objetivo para el lmite inferior
[
]
10,10,10
T
x
=---
r
y el superior
[
]
10,10,10
T
x
=
r
con una inicializacin de
[
]
5,5,5
T
x
=
r
. En estos esquemas se puede apreciar que antes de las primeras 70000 evaluaciones de la funcin objetivo existe una gran cantidad de soluciones que estn muy dispersas, siempre entre los lmites permitidos. Sin embargo, conforme aumenta el nmero de evaluacin de la funcin objetivo la solucin propuesta por el mtodo comienza a estabilizarse hasta llegar a determinar el vector solucin.
El comportamiento de la funcin objetivo es presentado en la Figura 4, en la cual se puede observar que comienza a tender a cero despus de la evaluacin 70000, que es el punto donde SA ya esta muy cercano a encontrar los valores del vector incgnita que minimizan a la funcin objetivo.
-10
-8
-6
-4
-2
0
2
4
6
8
10
020000400006000080000100000120000140000160000
Nmero de evaluacin de la funcin objetivo
X
1
Figura 1. Valor propuesto de x1 por SA contra nmero de evaluacin de la funcin objetivo.
-10
-8
-6
-4
-2
0
2
4
6
8
10
020000400006000080000100000120000140000160000
Nmero de evaluacin de la funcin objetivo
X
2
Figura 2. Valor propuesto de x2 por SA contra nmero de evaluacin de la funcin objetivo.
-10
-8
-6
-4
-2
0
2
4
6
8
10
020000400006000080000100000120000140000160000
Nmero de evaluacin de la funcin objetivo
X
3
Figura 3. Valor propuesto de x3 por SA contra nmero de evaluacin de la funcin objetivo.
0
50
100
150
200
020000400006000080000100000120000140000160000
Nmero de evaluacin de la funcin objetivo
Valor de la funcin objetivo
Figura 4. Valor de la funcin objetivo contra nmero de evaluacin de la funcin objetivo.
b) Sistema de diez ecuaciones con diez incgnitas.
El sistema evaluado de diez ecuaciones lineales con el mismo nmero de incgnitas es el siguiente
12
123
234
345
456
567
678
789
8
2 - = 1.000
+ 2 - = 1.151
+ 2 - = 1.221
+ 2 - = 1.350
+ 2 - = 1.367
+ 2 - = 1.275
+ 2 - = 1.134
+ 2 - = 0.980
xx
xxx
xxx
xxx
xxx
xxx
xxx
xxx
x
-
-
-
-
-
-
-
-
910
910
+ 2 - = 0.912
+ 2 = 0.820
xx
xx
-
(10)
El vector solucin obtenido fue
[
]
5.8431,10.6862,14.3783,16.8494,17.9705,1
7.7245,16.2036,13.5487,9.9138,5.3669
T
x
=
r
Nuevamente, se presenta en la Tabla 3 los lmites de bsqueda evaluados, nmero de evaluaciones de la funcin objetivo y el tiempo de cmputo.
Tabla 3. Efecto de variar los lmites de bsqueda en el nmero de evaluaciones de la funcin objetivo y el tiempo de cmputo.
Lmite inferior
Lmite superior
Inicializacin
Nmero de evaluaciones de la funcin objetivo
Tiempo de cmputo (s)
1
10
20
20
x
x
x
=-
=
=-
r
M
1
10
20
20
x
x
x
=
=
=
r
M
1
10
10
10
x
x
x
=
=
=
r
M
576001
3.49
1
10
200
200
x
x
x
=-
=
=-
r
M
1
10
200
200
x
x
x
=
=
=
r
M
1
10
100
100
x
x
x
=
=
=
r
M
576001
3.49
1
10
2000
2000
x
x
x
=-
=
=-
r
M
1
10
2000
2000
x
x
x
=
=
=
r
M
1
10
1000
1000
x
x
x
=
=
=
r
M
568001
3.11
c) Sistema de noventa y un ecuaciones con noventa y un incgnitas.
Sistemas de ecuaciones de este tipo o an ms grandes se obtienen regularmente cuando se resuelven ecuaciones diferenciales mediante el mtodo de diferencias finitas. El nmero de ecuaciones a resolver depender del tamao de malla empleado en la solucin del problema planteado. El sistema evaluado y su respectiva solucin se presentan en el anexo.
En la Tabla 4 se muestra la evaluacin del tiempo de cmputo, nmero de funciones evaluadas de la funcin objetivo y el efecto de los lmites de bsqueda sobre este sistema.
Tabla 4. Efecto de variar los lmites de bsqueda en el nmero de evaluaciones de la funcin objetivo y el tiempo de cmputo.
Lmite inferior
Lmite superior
Inicializacin
Nmero de evaluaciones de la funcin objetivo
Tiempo de cmputo (s)
1
91
10
10
x
x
x
=-
=
=-
r
M
1
91
10
10
x
x
x
=
=
=
r
M
1
91
5
5
x
x
x
=
=
=
r
M
5642001
93
1
91
100
100
x
x
x
=-
=
=-
r
M
1
91
100
100
x
x
x
=
=
=
r
M
1
91
50
50
x
x
x
=
=
=
r
M
5532801
85
1
91
1000
1000
x
x
x
=-
=
=-
r
M
1
91
1000
1000
x
x
x
=
=
=
r
M
1
91
500
500
x
x
x
=
=
=
r
M
5642001
93
Conclusiones
Se ha reportado en este trabajo una metodologa eficiente para resolver sistemas de ecuaciones de grandes dimensiones empleando una estrategia de optimizacin global. Los resultados obtenidos mostraron que el mtodo converge a la solucin independientemente de la estimacin inicial y de los lmites de bsqueda establecidos.
La convergencia del mtodo a la solucin esta garantizada para grandes sistemas de ecuaciones, debido a que la forma que presenta la funcin a minimizar es muy simple.
La eleccin de los lmites de bsqueda o de la inicializacin no tiene influencia en los tiempos de cmputo o en el nmero de evaluaciones de la funcin objetivo. Sin embargo, el tiempo de clculo en los sistemas evaluados si se incrementa conforme aumenta el nmero de ecuaciones.
Bibliografa
(1) Corana A., Marchesi M., Martini C. y Ridella, S. (1987), Minimizing multimodal functions of continuous variables with the Simulated Annealing algorithm, ACM Transactions on Mathematical Software, vol. 13, nm 3, pp. 262-280.
(2) Goffe W. L., Ferrier G. D. y Rogers, J. (1994), Global optimization of statistical functions with Simulated Annealing, Journal of Econometrics, vol. 60, nm 1-2, pp. 65-99.
(3) Mathews J. H. y Fink K. D. (2000), Mtodos numricos con MATLAB, Espaa, Prentice Hall.
(4) Nieves A. y Domnguez F. C. (2003), Mtodos numricos aplicados a la ingeniera, Mxico, CECSA.
Anexo
521
6132
7243
384
9165
105276
116387
12748
135109
14961110
18-40
6-40
4-40
2-40
10-40
-40
-40
-40
10-40
-40
xxx
xxxx
xxxx
xxx
xxxx
xxxxx
xxxxx
xxxx
xxxx
xxxxx
++=
+++=
+++=
++=
+++=
+++=
+++=
++=
+++=
+++=
151071211
1611812
1791413
1813101514
1914111615
20151216
21131817
2217141918
2318152019
2419162
-40
-40
10-40
-40
-40
-40
10-40
-40
-40
-4
xxxxx
xxxx
xxxx
xxxxx
xxxxx
xxxx
xxxx
xxxxx
xxxxx
xxxx
+++=
++=
+++=
+++=
+++=
++=
+++=
+++=
+++=
++
0
0
=
26172221
2721182322
2822192423
2923202524
302425
32212726
3326222827
3427232928
3528243029
362925
10-40
-40
-40
-40
-40
10-40
-40
-40
-40
xxxx
xxxxx
xxxxx
xxxxx
xxx
xxxx
xxxxx
xxxxx
xxxxx
xxx
+++=
+++=
+++=
+++=
+=
+++=
+++=
+++=
+++=
+++
3130
-40
xx
=
373031
39263332
4032273433
4133283534
4234293635
4335303736
4436313837
453738
4732
-4 0
10 -4 0
-4 0
-4 0
-4 0
-4 0
-4 0
-4 0
10
xxx
xxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxx
xxx
+=
+++=
+++=
+++=
+++=
+++=
+++=
+=
+++
4039
4839334140
4940344241
-4 0
-4 0
-4 0
x
xxxxx
xxxxx
=
+++=
+++=
5041354342
5142364443
5243374544
5344384645
544546
56394847
5747404948
5848415049
5949425150
605043
-40
-40
-40
-40
-40
10-40
-40
-40
-40
xxxxx
xxxxx
xxxxx
xxxxx
xxx
xxxx
xxxxx
xxxxx
xxxxx
xxx
+++=
+++=
+++=
+++=
+=
+++=
+++=
+++=
+++=
++
5251
6151445352
-40
-40
xx
xxxxx
+=
+++=
6252455453
6353465554
645455
65475756
6656485857
6757495958
6858506059
6959516160
7060526261
716153
-40
-40
-40
10-40
-40
-40
-40
-40
-40
xxxxx
xxxxx
xxx
xxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxx
+++=
+++=
+=
+++=
+++=
+++=
+++=
+++=
+++=
++
6362
7262546463
-40
-40
xx
xxxxx
+=
+++=
73635564
74566665
7565576766
7666586867
7767596968
7868607069
7969617170
8070627271
8171637372
8272
-40
10-40
-40
-40
-40
-40
-40
-40
-40
xxxx
xxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xx
++=
+++=
+++=
+++=
+++=
+++=
+++=
+++=
+++=
+
6473
83657574
-40
10-40
xx
xxxx
+=
+++=
8474667675
8575677776
8676687877
8777697978
8878708079
8979718180
9080728281
91817382
-40
-40
-40
-40
-40
-40
-40
-40
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxx
+++=
+++=
+++=
+++=
+++=
+++=
+++=
++=
748483
83758584
84768685
85778786
86788887
87798988
88809089
89819190
908291
19-40
8-40
7-40
6-40
5-40
4-40
3-40
2-40
1-40
xxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxx
++=
+++=
+++=
+++=
+++=
+++=
+++=
+++=
++=
El vector solucin obtenido mediante SA para este sistema de ecuaciones es
x1= 8.016056518855445
x2= 6.026922691912769
x3= 4.028300811497868
x4= 2.018358821833041
x5= 8.037303477306653
x6= 6.063333561092443
x7=4.067921832325808
x8= 2.045134448136690
x9= 8.069823737367861
x10= 6.121186253274451
x11= 4.134918616866005
x12=2.094257043757819
x13= 8.120805219918115
x14= 6.216668940890973
x15= 4.256309242921889
x16= 2.196975179953548
x17= 8.196728256207964
x18= 6.368375071512706
x19= 4.476674257338209
x20=2.437334213177732
x21= 8.297732682380666
x22= 6.583428979405170
x23= 4.844678497679475
x24 =3.075687467355436
x25=1.327766367174072
x26= 8.410773528782690
x27= 6.822929784599886
x28= 5.242923351204384
x29= 3.692970826851902
x30 = 2.235377990902403
x31=1.001821785628626
x32= 8.522431609072198
x33=7.054593146567123
x34= 5.611114239884935
x35=4.217894530497254
x36=2.918953012770334
x37=1.771909202514733
x38=7.986914023624777E-1
x39= 8.624359740610460
x40=7.261896899747019
x41=5.929045919170489
x42 = 4.648540044394191
x43=3.450630434337354
x44=2.368170671978277
x45=1.422856512000333
x46= 6.283692154451754E-1
x47= 8.713110501003763
x48=7.439588808735054
x 49= 6.194632523233779
x50= 4.996589450070974
x 51=3.866858018548008
x52 =2.827286479003548
x53=1.896194760225702
x54=1.090620421354723
x55= 4.366603936140915E-1
x56= 8.788493501213880
x57=7.588715279379542
x58= 6.413305878177000
x59=5.276327188826805
x60= 4.192925755045007
x61= 3.177922567747052
x62=2.244015500727871
x63=1.401257220691333
x64= 6.560211482478413E-1
x65= 8.852148313456123
x66=7.713472867725189
x67= 6.593548548248200
x68=5.502487608030402
x69= 4.450595326598649
x70 =3.447462450918150
x71=2.500687419378991
x72=1.614371859636989
x73=7.861670568720469E-1
x74= 8.906626814540829
x75=7.819479516177207
x76 =6.744927824388196
x77=5.689479374836563
x78=4.659505496183481
x79=3.660644384937151
x80=2.696899791172845
x81=1.769375768512966
x82= 8.742752109832588E-1
x83= 8.954879383157907
x84 =7.912890699043373
x85= 6.877203779451698
x86=5.850996525448698
x87= 4.837302929947541
x88=3.838709679723163
x89=2.856891424457362
x90=1.891956266341369
x91= 9.415578708188744E-1