1378 IEEE LATIN AMERICA TRANSACTIONS, VOL. 11, NO. 6, DECEMBER 2013 Numerical Solution of Polynomial Systems of Equations with Complex Coefficients C. Arias, R. Aguilar, and R. Correa Abstract— Some fundamental engineering problems can be modeled by systems of nonlinear polynomial equations with complex coefficients, where the numerical solution plays an important role. This article shows some results of the numerical solution to such systems, commonly used in signal processing, filters design, equalizers, decouplers and other components of mobile phones, for example. Some results are reported using the particle swarm algorithm, a modified version of this and the traditional Newton-Raphson multidimensional, after transforming the problem of direct solution into a " optimization problem". The advantage of the modified particle swarm optimization algorithm version in terms of accuracy, computation time and number of iterations was observed consistently for all the systems. Se reporta la solución, a título de ejemplo, de dos sistemas de ecuaciones polinomiales, 3x3 y 7x7 con coeficientes complejos utilizando el método metaheurístico de enjambre de partículas y una de sus variantes más prometedoras, así como el método de Newton-Raphson multidimensional. Keywords— complex coefficients, particle swarm optimization, polynomials, systems of nonlinear equations. II. FUNDAMENTOS TEÓRICOS L I. INTRODUCCIÓN A APARICIÓN de sistema de ecuaciones polinómicas con coeficientes complejos en la ingeniería se debe a la necesidad de modelar matemáticamente procesos en donde sus soluciones están en el conjunto de los números complejos y cuyas partes real e imaginaria poseen un significado físico per se. Áreas como las comunicaciones y el tratamiento de señales son un ejemplo [1]. La solución analítica de tales sistemas está limitada fuertemente por su tamaño y obviamente por la forma funcional de sus componentes. Resolver analíticamente o siquiera predecir el número y ubicación de las posibles raíces, si existen, es aún reto para la matemática moderna. Como alternativa viable sobre todo para problemas de la ingeniería, es su solución mediante estrategias numéricas. No obstante la relativa sencillez de sus algoritmos, tienen la limitación que para grandes sistemas, las estrategias determinísticas tienen poca acogida debido al alto consumo de recursos y elevados tiempos de computación [2,3]. Todo ello originó una razonable cantidad de métodos iterativos y estocásticos que resuelven grandes sistemas de ecuaciones no lineales y que requieren sólidos conocimientos en estadística y probabilidad avanzados para su implementación, así como en procesamiento paralelo y por supuesto, disponibilidad de computadores de alto rendimiento y/o clusters de ellos. En el presente artículo se utilizó un teorema que facilitó la conversión del problema, es decir, en lugar de desarrollar directamente el sistema, se transformó en un problema de optimización [4]. ________________________ C. Arias, Universidad Industrial de Santander, Bucaramanga, Colombia, cesar.arias@correo.uis.edu.co R. Aguilar, Universidad Industrial de Santander, Bucaramanga, Colombia, ricardo.aguilar@correo.uis.edu.co R. Correa, Universidad Industrial de Santander, Bucaramanga, Colombia, crcorrea@uis.edu.co Esta aproximación para la solución numérica de este tipo de ecuaciones se presenta en primer lugar con propósitos formativos tanto para al estudiante de ingeniería, como para el profesional que se enfrente a estas situaciones disponiendo de una alternativa no convencional y de muy fácil implementación. Dado un sistema de ecuaciones polinomiales no lineal como el mostrado a continuación: P1 ( x1 , x2 ,..., xi ) = 0 P2 ( x1 , x2 ,..., xi ) = 0 (1) … Pn ( x1 , x2 ,..., xi ) = 0 P ∈ C[x] . Es posible transformar el donde i = 1,2,..., n y i problema de la solución directa de este sistema, en un problema de minimización mediante el teorema demostrado en [4]. Entonces se llega a que la función objetivo toma la forma: F 0 = i =1 || Pi ( xi ) || 2 = 0 n siendo posible hallar un conjunto de variables cuales las funciones (2) xi para los Pi se hacen cero simultáneamente, dando como resultado el conjunto solución al sistema propuesto, si es que este existe. Con el fin de lograr predecir el número de soluciones y poder con este conocimiento diseñar el software para mejorar su desempeño, se pensó en recurrir a la matemática teórica. No obstante se percibe que el estado de desarrollo de esta área de las matemáticas y relacionado con la solución de estos tipos de sistemas es aún precario, aunque hay varios intentos de generalizar el teorema fundamental del algebra y que tiene que ver con el número de soluciones de un polinomio de una sola variable. Tal teorema establece formalmente que: Sea P ∈ C(x), un polinomio no nulo con coeficientes complejos de grado m mayor o igual que 1. Entonces P tiene exactamente n raíces (reales y/o complejas) contadas con su multiplicidad [5]. Conocido entonces el grado del polinomio es factible predecir cuántas raíces (soluciones) ARIAS et al.: NUMERICAL SOLUTION OF POLYNOMIAL 1379 tiene, más no cuáles son éstas. También es posible encontrar las raíces complejas de polinomios de grado menor o igual a cuatro, mediante procedimientos algebraicos [6]. Existen algunos intentos de generar expresiones semejantes pero su generalización para cualquier grado es bastante limitada a nuestros días [7]. Bezout aportó un factor clave para tratar de extender estos conceptos a sistemas de ecuaciones polinomiales, cuando existen sus soluciones. En su teorema establece que la cantidad máxima de soluciones no debe exceder el producto de los grados de cada función que conforman el sistema [3]. A. El algoritmo de optimización El problema de la solución de los sistemas de ecuaciones polinomiales transformado en uno de optimización, se resolvió mediante el enjambre de partículas original y una de sus variantes. Este algoritmo se creó hacia el año 1995 y desde esa época ha crecido en forma exponencial su uso, al igual que las propuestas para mejorarlo. Esta gran aceptación para resolver problemas de ingeniería radica en su muy sencillo algoritmo que facilita su programación y la buena calidad de sus resultados. No es el objeto de esta sección explicarlo a profundidad sino mas bien se presentar su esquema básico. Si se supone una población de i partículas (soluciones potenciales del sistema), y que cada partícula del enjambre se identifica con dos variables, la posición y la velocidad, inicializadas aleatoriamente. Para un problema N-dimensional la posición y la velocidad se representan mediante matrices de tamaño N p × N i como aparece en (3), siendo X y V las posiciones y velocidades, respectivamente. x11 x 21 X = x N p 1 v11 v 21 V = v N p 1 x12 x22 xN p 2 v12 v22 vN p 2 x1N i x2 N i x N p N i x111 1 x 21 BestP = 1 x N p 1 x1 N p 2 GBestP = x g 11 x g 12 [ x112 x122 x11N i x1 2 N i 1 x N p N i x g 1N i (4) ] Entonces se actualiza la posición y la velocidad como se muestra en (5): xk = xk −1 + vk (5) vk = ω × vk −1 + c1 × r1 ( x l i − xk ) + c2 × r2 ( x g i − xk ) La nueva posición para cada partícula depende únicamente de la posición anterior de la partícula i y de la velocidad de la misma partícula en la iteración actual. En cambio, para la actualización de la velocidad se necesitan incluir otros términos x g i (óptimo global) que representa la mejor posición de l todas las que hasta el momento se han presentado y x i (óptimo local) es la mejor posición individual de la partícula. c1 y c2 como son llamados coeficientes de aceleración cognitivo y social respectivamente, que toman valores mayores que cero; por otro lado, r1 y r2 son valores aleatorios que favorecen el modelado y que están entre cero y la unidad. ω es el peso inercial, que toma un valor decreciente modelado por [8,9]: w1 = wmax − wmax − wmin ×i Ni (6) N i es el número de iteraciones e i es la iteración actual. (3) v1N i v2 N i v N p N i Cada fila de la matriz X representa la posición de la i-ésima partícula en cada iteración, donde a su vez graba su mejor posición individual u óptima local obtenida hasta el momento, generando una matriz que almacena las mejores posiciones individuales de cada partícula como se muestra en (4). De la matriz de los mejores valores “individuales” de cada partícula se selecciona el óptimo global que constituye la mejor posición del enjambre escogida entre los mejores óptimos locales de cada partícula, como se indica en (4). Con el fin de mejorar la búsqueda sobre el espacio de trabajo y las propiedades de exploración y explotación, la literatura reporta un buen número de variantes del algoritmo de enjambre original. Una de ellas es el enjambre unificado que define los siguientes parámetros [10]: Gi = χ (Vi + c1 × r1 × ( xil − X i ) + c2 × r2 × ( xig − X i )) (7) Li = χ (Vi + c1 × r3 × ( xil − X i ) + c2 × r4 × ( xig − X i )) (8) El factor de restricción χ asegura la convergencia hacia un punto estable del espacio, garantizando que la velocidad no exceda su valor máximo. Ahora bien, estos parámetros modifican las ecuaciones de velocidad y espacio como: U i = u × Gi + (1 − u ) × Li (9) X i +1 = X i + U i (10) donde u , el factor de unificación, define la influencia local y global sobre la velocidad actual. III. RESULTADOS Y ANÁLISIS Consideramos pertinente que en lugar de abordar un problema específico de la ingeniería electrónica y dado el objetivo de difusión de esta estrategia que se propone, se 1380 IEEE LATIN AMERICA TRANSACTIONS, VOL. 11, NO. 6, DECEMBER 2013 resolvieron problemas típicamente encontrados en el área de los métodos numéricos de evidente necesidad en las ingenierías eléctrica y electrónica. Las pruebas se realizaron en un computador convencional DELL Inspiron N4010 con un procesador Intel(R) core (TM) i3, CPU M350 @ 2.27GHz, una memoria RAM de 4GB y el sistema operativo Windows 7, de 64-bit. Se realizaron tres repeticiones por cada prueba y se −8 definió un criterio de parada en la solución de 1× 10 . Para los sistemas de tamaño 3x3 y 7x7 propuestos, se reporta el tiempo de cómputo en segundos, el número de iteraciones, las soluciones y el valor de la función objetivo. A. Sistema de tres ecuaciones El siguiente sistema de ecuaciones, siendo j = 2 b −1 : f ( x a , xb , xc ) = 5 x a − (3 + 2 j ) x + (9 − 8 j ) xc2 y para 50 y 100 partículas, también hubo pequeñas diferencias en la cantidad de iteraciones. Se detalla a continuación únicamente los resultados con c1 =0,7 y c2 =0,5 (Fig. 2). Para este caso se muestra la parte real e imaginaria de una solución compleja. Se aprecia una variación marcada de estas partes, pero después de aproximadamente 70 iteraciones, sus valores cambian muy estrechamente alrededor de su respuesta. La magnitud, Fig. 2c, de esas soluciones complejas tiene un comportamiento muy semejante. La Fig. 2d muestra la forma en que la función objetivo alcanza el valor de cero. Puesto que las partículas no presentan gran variación después de la iteración 70, las figuras subsecuentes se muestran hasta este número de iteraciones, sin embargo, esto no indica que se haya llegado a la solución. (11) g ( x a , xb , xc ) = (1 + j ) x a2 + 4 j × xb − 6 j × xc + 3 − j h( x a , xb , xc ) = j × xa3 − 9 xb2 + 27 xc + 1 − 5 j se resolvió con el algoritmo de enjambre original, luego con el enjambre unificado y al final se comparan sus resultados con los del método de Newton-Raphson multidimensional. Se procedió de igual forma con los otros sistemas de ecuaciones. 1) Solución con el enjambre original Se variaron los parámetros de aceleración cognitiva y social ( c1 , c2 ), así como el número de partículas ( N i ). Este último tomando valores de 20, 50 y 100. Figura 1. Tiempo y número de iteraciones al variar los parámetros c1 y c2. Fuente: Los autores. La Fig. 1 muestra el número de iteraciones y tiempo de cómputo cuando se varían los coeficientes de aceleración. (a) c1 =0,7 y c2 =0,7; (b) c1 =0,7 y c2 =0,5 y (c) c1 =0,5 y c2 =0,7. Para el caso (a), la variación en la cantidad de partículas no genera un aumento considerable en la cantidad de iteraciones, como si ocurre con el tiempo. En los casos (b) y (c), (a) Partes Imaginarias. (c) Magnitud. Figura 2. Resultados con el PSO con N=20, (b) Partes Reales (d) Función objetivo. c1 =0,7 y c2 =0,5. Fuente: Los autores. Para el caso en que N=100, la Fig. 3 muestra los resultados de simulación siendo c1 =0,7 y c2 =0,5. ARIAS et al.: NUMERICAL SOLUTION OF POLYNOMIAL 1381 Figura 4. Tiempo y número de iteraciones variando el factor de unificación. Fuente: Los autores. (a) Magnitud. Figura 3. Enjambre original con N=100, (b) Función objetivo. c1 =0,7 y c2 =0,5. Fuente: Los autores. Se observa que alrededor de las primeras 30 iteraciones la magnitud de la solución compleja del sistema de ecuaciones alcanza un valor estable situación, que coincide con el valor de la función objetivo que tiende a cero. Aunque no se muestran sus resultados, se observó también que a mayor cantidad de partículas se disminuyó la cantidad de iteraciones, pues se comparte mayor información entre ellas. Sin embargo, también aumentó el tiempo de cómputo y por ende un mayor consumo de recursos. 2) Solución mediante el enjambre unificado Con el fin de analizar el efecto del factor de unificación, éste se varió en un rango comprendido entre u=0,1 y u=0,9 con un paso de 0,1. De igual forma, este se varió en forma lineal y exponencial. También se varió la cantidad de partículas, tomando valores de 20,50 y 100. La Fig. 4 muestra que se logra una menor cantidad de iteraciones y menor tiempo de cómputo cuando el factor toma un valor de 0,5. La Fig. 5 presenta los resultados para una simulación con el factor de unificación igual a 0,5 y N=100. (a) Magnitud (b) Función objetivo. Figura 5. Enjambre unificado con N=100, u=0,5. Fuente: Los autores. Como se observa, a mayor cantidad de partículas, menor cantidad de iteraciones pero mayor consumo de tiempo para hallar la solución al sistema de ecuaciones. Para el enjambre unificado se observa un mejor comportamiento cuando el factor de unificación es igual a 0,5 utilizando un menor tiempo de cómputo e iteraciones. a) Enjambre unificado lineal Se realizaron ensayos variando el factor unificación de una forma lineal con las iteraciones: u (t ) = t / N (12) en donde t es un entero positivo y corresponde a la iteración respectiva. Se muestran a título de ejemplo el caso para N=100, Fig. 6. Comparando estos resultados con los de la Fig. 5, no se observó ningún cambio sustancial. Lo mismo sucedió para el caso del tiempo de cómputo. 1382 IEEE LATIN AMERICA TRANSACTIONS, VOL. 11, NO. 6, DECEMBER 2013 como el tiempo de cómputo en el cálculo de las raíces, a diferencia de cuando se utiliza el enjambre unificado con un factor fijo u=0,5. Es decir, no se observó ninguna ventaja comparado con éste. B. Comparación con el método de Newton-Raphson Para este sistema, el algoritmo de Newton-Raphson invirtió alrededor de dos segundos y requirió seis iteraciones para resolverlo, utilizando el mismo computador, siendo indiscutiblemente mejor que cualquiera de los tres métodos utilizados, aunque recibió bastante ayuda al definir sus valores iniciales fundamentados en la solución con esos algoritmos. La Tabla 1 resume la información más relevante al utilizar los tres algoritmos meta-heurísticos. TABLA I. SISTEMA DE TRES ECUACIONES. Fuente: Los autores. Enjambre original (a) Magnitud. (b) Función objetivo. Figura 6. Enjambre unificado lineal con N=100. Fuente: Los autores. b) Enjambre unificado exponencial Para este caso, la variación del factor de unificación siguió la siguiente expresión: u (t ) = e t log( 2 ) N −1 (13) La Fig. 7 ilustra la variación de la magnitud de las raíces complejas para N=100. Enjambre unificado Enjambre unificado (lineal) N Iter. T [s] Iter. T [s] Iter. T [s] 20 283 142 196 96 296 145 50 222 268 157 179 230 268 100 207 459 129 290 199 465 Enjambre unificado (exponencial) T Iter. [s] 14 279 4 27 225 0 46 207 7 Debido a los resultados obtenidos, solo se realizaron simulaciones posteriores con el enjambre unificado dado que presentó consistentemente un mejor desempeño en la búsqueda de la solución de varios sistemas de diferente tamaño frente al de enjambre original. Se utilizó un factor de unificación de u=0,5. De igual forma, se incrementó el número de partículas a 150, 200 y 250. C. Sistema de siete ecuaciones Atendiendo a las anteriores consideraciones, la Fig. 8 muestran los resultados para n=250 al resolver el siguiente sistema: f ( xa , xb , xc , xd , xe , x f , x g ) = (3 + j ) xa2 − 5 j × xb3 + (9 − 3 j ) xc + 8 xd5 − (5 + 3,2 j ) × xe4 + x 7f − (15 + 2 j ) x g6 − 8 g ( xa , xb , xc , xd , xe , x f , x g ) = 2 j × xa + (4 − 2 j ) xb2 + 7 j × xc3 − 3 xd7 − j × xe6 + (5 − 3 j ) x 5f + 25 j × x g4 + j h( xa , xb , xc , xd , xe , x f , x g ) = xa7 + 5 j × xb4 − (7 + 2 j ) xc6 − (2 + j ) xd − 9 xe5 + 18 j × x 3f (a) Magnitud. (b) Función objetivo. Figura 7. Enjambre unificado exponencial con N=100. Fuente: Los autores. Cuando el factor de unificación muestra un comportamiento lineal o exponencial, se aumenta el número de iteraciones así − (6 + 3,2 j ) x g2 + 22 ARIAS et al.: NUMERICAL SOLUTION OF POLYNOMIAL 1383 k ( xa , xb , xc , xd , xe , x f , xg ) = j × xa3 − xb7 + 5 j × xc4 − (4 − 7 j ) xd6 + 15 xe − (18 + 3 j ) x 2f − xg5 − 12 el factor de unificación es igual a 0,5, comparado con el algoritmo tradicional. Por su parte Newton-Raphson multivariable no converge debido a la complejidad del sistema, independientemente de sus puntos de inicio. l ( xa , xb , xc , xd , xe , x f , x g ) = xa6 + 3 j × xb5 2 c 4 d IV. OBSERVACIONES Y CONCLUSIONES 3 e + (16 + 4 j ) x + (7 − 3 j ) x + j × x + 21x f − (5 − 3 j ) x g7 + 3 + 15 j m( xa , xb , xc , xd , xe , x f , x g ) = 3 xa4 + 5 j × xb + 4 j × xc5 − 5 xd2 + 9 xe7 + 8 j × x 6f − 20 x g3 − 32 n(xa , xb , xc , xd , xe , x f , xg ) = (4 − j)xa5 − xb6 + 3xc7 + (25− 3 j)xd3 −14xe2 + 2x4f + (3 − 2 j)xg −18 (a) Magnitud. (14) (b) Función objetivo. Figura 8. Enjambre unificado con N=250 y u=0,5. Fuente: Los autores. A medida que incrementa el tamaño del sistema de ecuaciones, se requiere aumentar el número de partículas del enjambre, para evitar que el algoritmo encuentre mínimos locales que no son la solución al sistema. De esta forma, el costo computacional aumenta, así como el tiempo de solución. El enjambre unificado muestra un mejor comportamiento cuando Dada la dificultad de los sistemas de ecuaciones polinomiales con coeficientes complejos, se encontró que una vez transformado el problema de solución directa a un problema de optimización, el algoritmo de enjambre de partículas unificado es un método alternativo, eficiente y robusto para resolverlos. Debido a sus capacidades de búsqueda en el espacio complejo, presenta una mejora considerable frente al enjambre tradicional y al Newton-Raphson multidimensional. La eficiencia y la sencilla implementación de ese algoritmo, incluyendo la ventaja de no tener que conocer ni las características de la función objetivo, tal como su continuidad ni el cálculo del Jacobiano o del Hessiano ni suponer las soluciones del sistema, como sí lo demanda Newton-Raphson multivariable es un punto a favor muy importante. El hecho de variar parámetros en el algoritmo, tales como aumentar el número de partículas o el factor de unificación, requirió un mayor esfuerzo computacional de la herramienta, provocando un aumento del número de iteraciones para la solución del problema y como consecuencia, un aumento en el tiempo de computo; además, cabe resaltar que la velocidad de convergencia del algoritmo depende de la complejidad del sistema (cantidad de variables y en especial, el grado de los polinomios), así como de las posiciones iniciales del enjambre. Los mejores resultados para el algoritmo de enjambre unificado se obtuvieron cuando el factor de unificación tomó valores entre u=0,5 y u=0,6. Se pudo constatar igualmente que para sistemas 3x3 y 7x7, este enjambre superó en velocidad de convergencia al enjambre convencional, mostrando cómo las partículas con su parte real e imaginaria, tendían más rápidamente a estabilizarse en un valor que correspondía al valor de cada una de las soluciones del sistema de ecuaciones. El método de Newton-Raphson mostró tener un mejor desempeño frente a los métodos metaheurísticos mencionados cuando se resuelven sistemas de tamaño reducido como en el caso del sistema 3x3, siempre y cuando se le suministren soluciones iniciales cercana a las verdaderas. Requirió de menor cantidad de iteraciones, bajo tiempo de cómputo y buena precisión. Vale aclarar que este último aspecto podría mejorarse también para el enjambre unificado, aunque acarrearía eventualmente mayores recursos. Se está en el proceso de solución de sistemas de mayor orden (100x100 y superiores) implementando este algoritmo en una red de computadores. Como un siguiente trabajo en esta línea se está realizando un programa que involucre más estrategias de optimización global que estará disponible para los cursos regulares de análisis numérico y para los profesionales en general. REFERENCIAS [1] Hromcik, M., Sebek, M., & Jezek, J. (2002). “Complex polynomials in communications: Motivation, algorithms, software”, IEEE, International symposium on computer aided control system design proceedings, Glasgow, Scotland, pp. 1-12. 1384 IEEE LATIN AMERICA TRANSACTIONS, VOL. 11, NO. 6, DECEMBER 2013 [2] Grosan, C. (2008). “Multiple Solutions for a System of Nonlinear Equations”, Department of Computer Science School Of Technology, International Journal Of Innovate Computing, Information and Control, Babes-Bolyai University, Romania, pp. 1-3. [3] Sturmfelds, B. (2002). “Solving Systems of Polynomial Equations”, Department of Mathematics, University of California at Berkeley, USA, pp. 2-3. [4] Gómez, L. (2010). “Demostración del teorema sobre la relación entre sistemas de ecuaciones en números complejos y el problema de optimización”, Universidad Industrial de Santander. [5] Sabaté, F. (2005). “El Teorema Fundamental del Algebra”, Universidad de Barcelona, España, pp. 1-11. [6] Zulehner, W. (1988). “A Simple Homotopy Method for Determining all Isolated Solutions to Polynomial Systems”, Mathematics of Computation, Volume 50, Number 181, pp. 167-177. [7] Castillo, C. (2010). “Funciones de Variable Compleja con Aplicaciones a la Teoría de Números”, en el Teorema de Cauchy, pp. 401-409. [8] Parsopoulos, K.E., & Vrahatis, M.N., (2010). “Particle Swarm Optimization and Intelligence”, en Particle Swarm Optimization, IGI Global, Hershey, USA, pp. 26-39, 89-99. [9] Han, W., Yang, P. (2010). “Coparison Study of Severals Kinds of Inertia Weights for PSO”, IEEE Special Scientific Research Project of Science and Technology Commission of Shanghai Municipality, Shanghai, China. [10] Parsopoulos, K.E., & Vrahatis, M.N., (2007). “Parameter Selection and Adaptation in Unified Particle Swarm Optimization”, Mathematical and Computer Modelling, 46 (1-2), Elsevier, pp. 198-213. Cesar Arias received the Engineering degree in Electronics Engineering from Universidad Industrial de Santander, Bucaramanga, Colombia. His current research interest are optimization techniques and numeric solution of problems. Ricardo Aguilar received the Engineering degree in Electronics Engineering from Universidad Industrial de Santander, Bucaramanga, Colombia. His current research interest are numerical optimization and solution of systems with complex roots. Rodrigo Correa received a PhD from Lehigh University in 1991. He is a full-time professor at Universidad Industrial de Santander (UIS) in Bucaramanga, Colombia. His current research interests include dielectric heating, optimization techniques, solution of non-linear systems of equations, simulation and control.