Biblioteca de diferenciación automática para la máquina virtual de Java
Palabras clave:
Diferenciación automática, Java, optimización, Jacobiano, Automatic differentiation, Java virtual machine, Java library, optimization, Jacobian matrixResumen
Los métodos de optimización juegan un papel fundamental en el diseño de sistemas complejos en ingenie- ría. Por lo general, los métodos de optimización iterativos requieren el cálculo repetitivo de la matriz Jacobiana, elemento crítico en lo que a eficiencia se refiere. Existen diferentes maneras de obtener la derivada: derivación ana- lítica, requiere gran inversión de tiempo y esfuerzo; diferenciación numérica, método propenso a errores de trunca- miento; y diferenciación automática, que permite obtener la derivada de funciones representadas en un programa, implica un tiempo de cómputo razonable y el resultado es preciso. Actualmente, no se dispone de herramientas de diferenciación automática para la máquina virtual de Java. El objetivo de la presente investigación fue desarrollar una Biblioteca de Diferenciación Automática para la máquina virtual de Java. Inicialmente se procedió al estudio de los fundamentos de la diferenciación automática, seleccionando un lenguaje de programación adecuado para la codificación de las clases que conforman la biblioteca. Finalmente, y posterior a la selección de programas diferen- ciables, se ejecutaron diversas pruebas a fin de documentar la exactitud de los resultados. Al finalizar la presente investigación se cuenta con una biblioteca de diferenciación automática que puede ser incorporada a cualquier proyecto que lo requiera.
Descargas
Referencias
Chapra S. y y Canale R. (2008). “Métodos Numéricos para ingenieros”. Tercera edición. Mc Graw Hill.
Bischof C., Carle A., Khademi P. y Mauer A. (1996). “ADIFOR 2.0: Automatic differentiation of Fortran 77 programs”. IEEE Computational Science & Engineering.
Bischof C., Roh L., Mauer-Oats A. (1997). “ADIC: An extensible automatic differentiation tool for ANSI-C”. IEEE Computational Science & Engineering.
Kowarz A. (2008). “Advanced Concepts for Automatic Differentiation based on Operator Overload- ing”. Trabajo presentado para obtener el grado académico de Doctor. Universidad Técnica de Dresde Alemania.
Slusanschi E. (2008). “Algorithmic Differentiation of Java Programs”. Trabajo presentado para ob- tener el grado académico de Doctor en Ciencias. Universidad Técnica de Aquisgrán – Alemania.
Utke, J., Naumann, U., Fagan, M., Tallent, N., Strout, M., Heimbach, P., Hill, C., and Wunsch, C. (2008). “OpenAD/F: A modular, open-source tool for automatic differentiation of Fortran codes”, ACM Trans. Math. Softw. 34, 4, Article 18 (July 2008), 36 pages. DOI = 10.1145/1377596.1377598. ttp://doi.acm.org/10.1145/1377596.1377598.
Cagnina, Leticia (2010). “Optimización Mono y Multiobjetivo a través de una Heurística de Inteli- gencia Colectiva”. Tesis doctoral. Doctorado en Ciencias de la Computación. Universidad Nacional de San Luis. Argentina.
Levenberg, K. "A Method for the Solution of Certain Problems in Least Squares". Quart. Appl. Math. 2, 164-168, 1944.
Marquardt, D. "An Algorithm for Least-Squares Estimation of Nonlinear Parameters." SIAM J. Appl. Math. 11, 431-441, 1963
Descargas
Publicado
Número
Sección
Licencia
Derechos de autor 2013 @copyright
Esta obra está bajo una licencia Creative Commons Reconocimiento 3.0 Unported.