Se ha desarrollado un método de resolución de problemas de optimización basado en regresión regularizada. Además, se ha realizado un estudio de su capacidad de resolu- ción de problemas sobre diversos escenarios. Del estudio llevado a cabo se desprende que, sobre el mejor de los escenarios, el algoritmo CERA consigue optimizar 10 de los 13 problemas propuestos con un error inferior a 0.1 con respecto al valor de fitness óptimo.
En comparación con los CEDAs, el algoritmo CERA consigue resolver el mismo nú- mero de problemas en el mejor de los escenarios pero obteniendo resultados menos ajustados al fitness óptimo. Esto supone que, para diferentes configuraciones, los al- goritmos basados en CEDA obtienen resultados más próximos al fitness óptimo, lo cual significa que a nivel global podría considerarse mejor algoritmo que el basado en CERA. Pese a ello, conviene mencionar que la inicialización de poblaciones en uno y otro algoritmo se realiza de forma diferente. Mientras que en el caso del algoritmo CERA, los genes de los individuos de la población toman valores siguiendo una dis- tribución uniforme sobre el rango definido por el problema a resolver, el algoritmo CEDA lo hace siguiendo una distribución normal de media µ = 0 y V ar = 5. Esto tiene como resultado que los genes de la población inicial toman valores centrados en el 0, no sobre todo el intervalo como ocurre en los CERA y, dado que una gran parte de los problemas de optimización alcanza sufitness óptimo para individuos donde sus genes toman valor 0, esto hace que el algoritmo CEDA parta con una clara ventaja con respecto al CERA.
Por otro lado, tal y como se ha podido comprobar mediante los resultados obtenidos, la ejecución de ambos algoritmos con la opción de elitismo apenas tiene impacto sobre los resultados con respecto a la no aplicación.
Puesto que la librería se ha desarrollado en R, su funcionamiento se basa en un intér- prete de código, lo cual conlleva tiempos de ejecución para la obtención de resultados bastante más elevados que las ejecuciones de algoritmos escritos en lenguajes para los que se genera código máquina, como en el caso de los CEDAs, que están escritos en C++. Por ello, una de las propuestas para mejorar el rendimiento de la librería consistiría en portar el código de dicha librería a un lenguaje como C++.
Con la presentación del algoritmo CERA, se abre una nueva línea de investigación dentro de los algoritmos de optimización de funciones no lineales sobre dominios
CAPÍTULO 5. CONCLUSIONES continuos. La aplicación de regresión regularizada para obtener modelos de regresión lineales supone un nuevo enfoque hacia la resolución de problemas de optimización. La librería CERA desarrollada para este trabajo final de carrera, proporciona la flexibilidad necesaria para añadir nuevos métodos de simulación sin cambios sobre la estructura general del algoritmo principal. Asimismo, el método de simulación desarrollado (al que se ha denominado método del desplazamiento Gaussiano), supone una aproximación en cuanto a la resolución de problemas de optimización, dejando la puerta abierta a futuras mejoras sobre el mismo.
Del mismo modo, se propone como futura línea de investigación el desarrollo de nuevos métodos de simulación, aparte del ya estudiado, para la posterior comparación entre los diversos métodos de simulación implementados haciendo uso del modelo de regresión proporcionado mediante la aplicación de regresión con penalización L1 ó L2.
A. Cómo crear CERAS en R
A continuación, se explica cómo crear el paquete CERAS en R. Las ventajas de crear un paquete que incluya el código desarrollado son las siguientes:
1. Se asegura que el paquete funciona correctamente y, de esta forma, se puede difundir fácilmente, permitiendo su utilización instalando éste sin complicacio- nes.
2. Se puede generar documentación sobre el funcionamiento del paquete en formato HTML así como en LATEX, editando una serie de archivos. Al crear el paquete la documentación se genera automáticamente en ambos formatos.
3. Desde la propia consola R, al hacer help, aparece información sobre el paquete con las funciones que se han desarrollado.
Aunque se va a explicar el proceso que hay que seguir para crear un paquete en R de la versión de Windows el proceso sería análogo para el resto de sistemas operativos.
A.1.
Herramientas
R se diseñó sobre un entorno Unix, los cuales suelen incluir un conjunto completo de compiladores, herramientas de programación, así como utilidades para dar formato a texto. Puesto que Windows carece de ese tipo de componentes es necesario instalar previamente un subconjunto de las herramientas que se encuentran en Unix para poder crear paquetes propios.
Estas herramientas se encuentran disponibles gracias al trabajo de Brian Ripley y Duncan Murdoch en [25].
Así pues, las herramientas que se necesitarían para generar el paquete son las siguien- tes:
1. Conjunto de utilidades Unix (RTools).
A.1. HERRAMIENTAS APÉNDICE A. CÓMO CREAR CERAS EN R 3. Perl (intérprete de lenguaje utilizador por el instalador y chequeador de R). 4. Compilador de ayuda html de Microsoft.
5. Versión de TEX (MiKTEX por ejemplo).
TEX se va a necesitar para generar documentación en LATEX.
Una vez que se han instalado los anteriores componentes conviene establacer la ruta donde se encuentra cada uno de los programas dentro de la variable de entorno PATH de Windows. Para ello habría que ir a Inicio → Configuración → Panel de control →Sistema→ Opciones avanzadas→ Variables de entorno y modificar el valor de la
variable Path.
Figura A.1.: Variables de entorno
A continuación se expone el contenido de la variable Path a modo de ejemplo:
C:\Archivos de programa\MiKTeX 2.7\miktex\bin; C:\R\R-2.6.0\bin; C:\Archivos de programa\Rtools\MinGW\bin; C:\Archivos de
programa\Rtools\bin; C:\Archivos de programa\Rtools\perl\bin; C:\Archivos de programa\HTML Help Workshop
A.2. CREACIÓN APÉNDICE A. CÓMO CREAR CERAS EN R