Optsicom Analytics: una herramienta online
para el an´
alisis de resultados
Micael Gallego, Francisco Gort´
azar y Eduardo G. Pardo
Resumen— En este trabajo se presenta Optsicom Analytics, una herramienta web en desarrollo que ayuda en las tareas de investigaci´on en el ´area de op-timizaci´on. Esta herramienta, centrada en el an´alisis de los datos extra´ıdos del proceso de experimenta-ci´on, est´a destinada a la comparaci´on de algoritmos. Ofrece funcionalidades tales como el c´alculo de es-tad´ısticos, utilizados habitualmente en este contexto, o la agrupaci´on y presentaci´on de resultados por con-juntos de instancias. Es importante destacar el hecho de que, al ser una aplicaci´on web, permite una alta disponibilidad de los datos con independencia de la ubicaci´on f´ısica del investigador y facilita as´ı la com-partici´on de resultados.
Palabras clave— optimizaci´on, an´alisis de datos, he-rramienta software
I. Introducci´on
La resoluci´on de problemas y la toma de decisio-nes, en la panor´amica social actual, est´an conducidos por la disponibilidad de grandes cantidades de infor-maci´on. La habilidad para analizar y extraer conclu-siones de esta informaci´on ayuda en la consecuci´on de tales objetivos.
El proceso de investigaci´on, desde una perspectiva gen´erica, no es una excepci´on. En este contexto, la informaci´on viene reflejada, en numerosas ocasiones, a trav´es de los resultados obtenidos tras una deter-minada experimentaci´on. El an´alisis de resultados es, por lo tanto, una tarea imprescindible dentro del proceso.
En el ´area de la optimizaci´on, donde se aborda la b´usqueda de la mejor soluci´on posible, para pro-blemas donde existen numerosas soluciones factibles, esta tarea es de especial relevancia.
En la Figura 1 se muestra un diagrama de acti-vidad que representa el proceso de investigaci´on en optimizaci´on. De manera resumida, se podr´ıa decir que el proceso comienza con la definici´on del pro-blema que se pretende abordar y con el estudio del estado del arte. De este estudio es posible extraer algoritmos previos para el problema y conjuntos de instancias que pueden ser utilizadas para comparar los algoritmos. Una vez formulada una hip´otesis e implementado el algoritmo propuesto, ´este pasa a las fases de pruebas y validaci´on, en las que se rea-lizar´an experimentos con el algoritmo desarrollado (as´ı como con el resto de los algoritmos del estado
Departamento de Ciencias de la Computaci´on
Universidad Rey Juan Carlos, 28933 M´ostoles (Madrid) E-mail: [email protected]
E-mail: [email protected] E-mail: [email protected]
del arte) sobre las bater´ıas de instancias identifica-das. Por ´ultimo, el proceso finaliza con la publicaci´on de los resultados obtenidos.
Cuando se propone un algoritmo heur´ıstico para un problema de optimizaci´on, las soluciones encon-tradas por ´este deben ser comparadas con las obte-nidas por otros algoritmos previos, presentes en el estado del arte. Es com´un, por lo tanto, que el an´ ali-sis del rendimiento de los algoritmos heur´ısticos se determine bas´andose en la experimentaci´on. La cali-dad de las soluciones encontradas por un algoritmo heur´ıstico se expresa mediante un valor o peso, ob-tenido empleando la denominada funci´on objetivo. Seg´un el valor de la funci´on objetivo, se puede de-cir que, cuando un problema de optimizaci´on es a su vez un problema de maximizaci´on, cuanto mayor sea este valor, mejor ser´a la calidad de la soluci´on y viceversa, cuando se trate de un problema de mini-mizaci´on.
En la pr´actica, la tarea de comparar las soluciones encontradas por distintos algoritmos es m´as comple-ja que la simple comparaci´on del valor de la fun-ci´on objetivo. Para empezar, los algoritmos deben ser evaluados sobre un n´umero de instancias sufi-cientemente grande que permita discriminar entre unos algoritmos y otros. Adem´as, es com´un que las instancias empleadas pertenezcan a diferentes con-juntos dado que, dependiendo de los datos sobre los que se ejecuten los algoritmos, el comportamiento de los mismos pueda variar.
Adicionalmente, la comparaci´on de algoritmos se lleva a cabo empleando m´etricas bien conocidas, ta-les como la desviaci´on media al mejor valor encon-trado (en porcentaje), el promedio del valor de la funci´on objetivo o el n´umero de mejores soluciones encontradas (´optimos, si ´estos son conocidos). El tiempo empleado por los distintos algoritmos tam-bi´en es un factor determinante en la comparaci´on. Es imprescindible tambi´en, realizar test estad´ısticos que indiquen si existen diferencias estad´ısticamente significativas entre las propuestas ([2], [3] y [10]), pe-se a que los resultados proporcionados por las otras m´etricas puedan parecer discriminantes.
Por todo ello, la experimentaci´on debe realizarse de una manera rigurosa y en igualdad de condiciones para todos los algoritmos comparados.
Fig. 1. Proceso de investigaci´on en el ´area de optimizaci´on.
los resultados y, por ´ultimo, presentaci´on de los resultados de una manera comprensible y resumida que permita sacar conclusiones acerca de los objeti-vos marcados.
En este trabajo se presenta una herramienta web en desarrollo (Optsicom Analytics) destinada a faci-litar al investigador, en ´area de optimizaci´on, algu-nas de las tareas anteriormente descritas. Esta herra-mienta se enmarca dentro del Optsicom Optimiza-tion Suite,((un conjunto de herramientas,
aplicacio-nes y servidores que proporcionan soporte al proce-so de investigaci´on en optimizaci´on)) [9], ofreciendo
funcionalidades complementarias al desarrollo de al-goritmos. En concreto, esta herramienta es un com-ponente de gran utilidad dentro de las fases de an´ ali-sis y presentaci´on de los resultados extra´ıdos durante la experimentaci´on. La herramienta, que estar´a dis-ponible online1, se distribuye como software libre
bajo licencia Apache 2 [1].
1
https://code.sidelab.es/projects/optsicomeaw/wiki
Es importante destacar que, actualmente, la he-rramienta se encuentra en una fase de desarrollo preliminar y podr´ıa considerarse como un prototipo inicial. Uno de los objetivos principales del presente trabajo es el de reflejar las caracter´ısticas ya inclui-das en la herramienta as´ı como las funcionalidades futuras deseadas. Adicionalmente, esto permitir´a re-cabar nuevas sugerencias derivadas de las necesida-des de otros investigadores en el ´area.
El resto del trabajo est´a estructurado como sigue: en la Secci´on II se realiza un breve recorrido por otras herramientas (tanto gen´ericas, como espec´ıfi-cas del ´area de optimizaci´on heur´ıstica) para el an´ ali-sis y presentaci´on de resultados. En la Secci´on III se presentan los estad´ısticos considerados para la pri-mera versi´on de Optsicom Analytics. En la Secci´on IV se recogen las principales funcionalidades inclui-das en la aplicaci´on as´ı como algunas de las funcio-nalidades actualmente en desarrollo. En las secciones V y VI se presentan, respectivamente, la arquitectu-ra y tecnolog´ıas empleadas paarquitectu-ra el desarrollo de la aplicaci´on y el resultado obtenido, incluyendo una descripci´on de la interfaz gr´afica de la aplicaci´on. Por ´ultimo, en la Secci´on VII se presentan las con-clusiones alcanzadas y los posibles trabajos futuros.
II. Estado del arte
El an´alisis de datos es una tarea necesaria en mu-chas disciplinas y, en particular, en la comparaci´on de resultados cient´ıficos. Por ello, existen herramien-tas software gen´ericas que incluyen funcionalidades que facilitan esta tarea. A continuaci´on se recogen algunas de las herramientas gen´ericas m´as conoci-das:
EXCEL [8]: hoja de c´alculo de Microsoft incluida en el paquete comercial Office. Es utilizada amplia-mente en actividades financieras y contables. Per-mite el almacenamiento y la administraci´on de da-tos de una manera estructurada y sencilla. Incluye herramientas destinadas al an´alisis y visualizaci´on de datos. Dada su popularidad, existen disponibles
plugins para EXCEL desarrollados por otras
com-pa˜n´ıas, y que est´an destinados al an´alisis estad´ıstico de la informaci´on, como por ejemplo XLSTAT [27].
R [16]: suite integrada para la manipulaci´on de datos que incluye tanto un entorno, como un lengua-je para el c´alculo de estad´ısticas y gr´aficas. R propor-ciona una amplia variedad de t´ecnicas estad´ısticas (modelado lineal y no lineal, test estad´ısticos cl´ asi-cos, clasificaci´on, an´alisis de series temporales, etc.). Adem´as, es com´unmente empleado en actividades de investigaci´on. Se trata de una herramienta libre, dis-tribuida principalmente bajo licencia GPL2.
S [18]: lenguaje de programaci´on estad´ıstico desa-rrollado originalmente en la d´ecada de 1970 en los laboratorios Bell. Es el precursor de R [16]
(imple-2
mentaci´on libre) y de S-PLUS [19] (implementaci´on comercial).
SAS [20]: software estad´ıstico que incluye nume-rosas funcionalidades para el an´alisis y visualizaci´on de datos. Se trata de una herramienta comercial que incorpora tanto un lenguaje de programaci´on como una interfaz gr´afica de usuario que permite generar rutinas SAS sin necesidad de programar.
SPSS Statistics [21]: este paquete de herramien-tas, desarrollado por IBM, es una herramienta co-mercial que proporciona un conjunto de funciona-lidades de altas prestaciones para el an´alisis de la informaci´on y la extracci´on de estad´ısticas. Incluye el proceso anal´ıtico completo, desde la planificaci´on y presentaci´on de los datos hasta la generaci´on de informes.
Otras herramientas que tambi´en podr´ıan conside-rarse como gen´ericas son: Statistica [23], Stata [22] o World Programming System [26].
Las herramientas gen´ericas, en ocasiones, pueden llegar a ser dif´ıciles de adaptar al contexto en el que se utilizan, por ejemplo, por incluir numerosas fun-cionalidades que podr´ıan ser prescindibles en dicho contexto. Por ello, puede ser de utilidad disponer de herramientas espec´ıficas que aborden exclusivamen-te las tareas necesarias para un ´area de investiga-ci´on determinada. Concretamente, en el campo de la optimizaci´on, adem´as de las herramientas gen´ eri-cas, existen herramientas espec´ıfieri-cas, principalmen-te incluidas dentro de otras librer´ıas, que permiprincipalmen-ten realizar an´alisis y comparaci´on de resultados, con los estad´ısticos utilizados en el ´area. A continuaci´on se presentan, a modo de ejemplo, algunas herramien-tas espec´ıficas en el ´area de optimizaci´on heur´ıstica, que son utilizadas tanto para realizar an´alisis de los datos extra´ıdos de una experimentaci´on, como para presentar los resultados de la misma:
EasyAnalyzer [6]: framework orientado a ob-jetos desarrollado en C++ para el an´alisis de re-sultados de algoritmos estoc´asticos de b´usqueda lo-cal. EasyAnalyzer se integra junto con EasyLocal++ [7] (framework para el desarrollo de algoritmos es-toc´asticos de b´usqueda local) proporcionando as´ı un conjunto de herramientas que dan soporte a las fases desarrollo y de evaluaci´on de resultados, dentro del proceso de investigaci´on.
jMetal [13]: framework distribuido bajo licencia LGPL3 basado en la tecnolog´ıa Java y orientado a
objetos. Est´a destinado al desarrollo, experimenta-ci´on y estudio de algoritmos metaheur´ısticos para problemas de optimizaci´on multiobjetivo. Incluye un paquete para facilitar la comparaci´on de resultados, obtenidos a trav´es de diversos indicadores de cali-dad que pueden ser seleccionados. Permite tambi´en generar scripts en R, para aplicar test no param´ etri-cos. Los resultados pueden ser presentados de
ma-3
http://www.gnu.org/licenses/lgpl.html
nera autom´atica, empleando tanto tablas resumen, como gr´aficos en LATEX.
oMetah [15]: Open Metaheuristic (oMetah) es una librer´ıa de c´odigo abierto distribuida bajo li-cencia LGPL cuyo principal objetivo es la evalua-ci´on emp´ırica de algoritmos metaheur´ısticos. Permi-te realizar comparaciones entre algoritmos, expor-tar los resultados a diferentes formatos de archivos y extraer informes y gr´aficas resumen. Pese a es-tar dise˜nada para embeber algoritmos desarrollados empleando otros frameworks, dispone tambi´en de he-rramientas que posibilitan la tarea de desarrollo.
Para una lista m´as extensa de frameworks dedi-cados a las metaheur´ısticas pueden consultarse las siguientes referencias: [9], [24] y [25].
III. M´etricas para la comparaci´on de algoritmos
En esta secci´on se presentan algunas de las m´ etri-cas m´as comunes, empleadas para la comparaci´on de algoritmos, en el ´area de optimizaci´on heur´ısti-ca. En particular, se repasan tanto las m´etricas ya incluidas en la versi´on actual de Optsicom Analy-tics, como aqu´ellas que est´an planificadas para ser incluidas en posteriores versiones de la herramienta. Como se ha indicado anteriormente, tras finalizar el proceso de experimentaci´on de una investigaci´on, es deseable resumir los datos obtenidos en los dis-tintos experimentos. Para ello se emplean tablas de resultados o gr´aficas, que sinteticen la esencia de los mismos y permitan sacar conclusiones.
En el ´area de optimizaci´on heur´ıstica, un experi-mento consiste, t´ıpicamente, en la comparaci´on de varios algoritmos a trav´es de los resultados obteni-dos por ´estos, sobre un conjunto de instancias de re-ferencia. Dichos resultados se presentan, de manera resumida, empleando m´etricas o estad´ısticos amplia-mente aceptados por la comunidad investigadora.
Las m´etricas incluidas en la versi´on actual de esta herramienta son algunas de las m´as utilizadas en el ´
area de optimizaci´on heur´ıstica. En concreto, Optsi-com Analytics dispone de los siguientes estad´ısticos: Desviaci´on ( %dev): representa la desviaci´on del valor de la funci´on objetivo (f o) de una soluci´on ob-tenida por un algoritmo, respecto al mejor valor co-nocido (best) para esa determinada instancia. Esta m´etrica permite medir lo pr´oxima que est´a una solu-ci´on encontrada, de la mejor soluci´on conocida hasta el momento o, en su defecto, de la soluci´on ´optima si ´
%dev =f o− best
best × 100
N´umero de mejores (#best): contiene el n´ ume-ro de mejores soluciones obtenidas por cada algorit-mo. Es decir, contabiliza cu´antas veces un algoritmo determinado ha encontrado la mejor soluci´on para cada instancia. En ocasiones, cuando el ´optimo para un conjunto de instancias es conocido, este n´ ume-ro indica el n´umero de ´optimos que ha sido capaz de encontrar el algoritmo. Al igual que ocurre con la desviaci´on, tambi´en es posible reportar el n´umero de mejores soluciones encontradas en el experimen-to. Tanto el n´umero de ´optimos como el n´umero de mejores soluciones encontradas se presentan en valor absoluto. Por lo tanto, considerando esta m´etrica de manera aislada, cuanto mayor sea el n´umero de me-jores soluciones encontradas, mejor es el algoritmo.
Puntuaci´on (score): este estad´ıstico permite es-tablecer una clasificaci´on de los m´etodos evaluados. Tal y como se defini´o en [17] el score para un conjun-to de instancias es el n´umero de m´etodos que obtu-vieron resultados estrictamente mejores que aqu´ellos obtenidos por el m´etodo evaluado. Por lo tanto, cuanto menor sea el score, mejor ser´a el m´etodo. Para cada instancia particular se asigna un n´umero entero de 0 a n-1 (siendo n el n´umero de m´etodos) a cada uno de los m´etodos comparados, seg´un el va-lor de la funci´on objetivo obtenido. El mejor m´etodo recibir´a el n´umero 0 y el peor el n-1. En otras pala-bras, el score representa la posici´on que ocupar´ıa el algoritmo si se realizara una clasificaci´on, ordenando los m´etodos en funci´on de la calidad de la mejor so-luci´on obtenida para cada instancia. El menor valor posible para el score es cero, mientras que el mayor valor posible viene determinado por el producto en-tre el n´umero de instancias en un grupo y el n´umero de m´etodos menos uno. Esta medida es de utilidad cuando no hay empates entre los m´etodos compara-dos. En las tablas resumen de experimentos se suele mostrar como la suma de los scores de todas las ins-tancias, para cada m´etodo.
Adem´as de las m´etricas definidas anteriormente y que ya forman parte de la versi´on actual de Optsi-com Analytics, se tiene planificada la inclusi´on de test no param´eticos, para posteriores versiones. Los test no param´etricos permiten determinar si existen diferencias estad´ısticamente significativas entre los algoritmos comparados. En concreto los test consi-derados son los siguientes: test de Friedman (para m´ultiples muestras correlacionadas con las mejores soluciones obtenidas por cada m´etodo); test de Wil-coxon y test del Signo (para realizar comparaciones entre pares de algoritmos).
Para analizar correctamente los datos obtenidos en un experimento, no s´olo conviene emplear varios estad´ısticos y realizar test no param´etricos para de-terminar si hay diferencias estad´ısticamente signifi-cativas, sino que tambi´en es necesario agrupar los
Tama˜no M´etodo %dev #best score
M < 60 LSGA 0,08 % 82 77 (120 instancias) LCW 0,28 % 80 110 T-LCW 0,01 % 107 16 SO 0,01 % 106 17 M = 120&240 LSGA 1,04 % 0 119 (60 instancias) LCW 1,91 % 0 172 T-LCW 0,30 % 19 47 SO 0,08 % 41 22 M = 480&960 LSGA 1,25 % 0 143 (60 instancias) LCW 1,58 % 0 156 T-LCW 0,34 % 15 45 SO 0,06 % 45 16 TABLA I
Ejemplo de comparaci´on de algoritmos.
resultados por conjuntos de instancias. Esto es de-bido a que un algoritmo determinado puede superar a otros algoritmos para un tipo de instancia parti-cular, pero no para otros tipos. Las instancias son habitualmente agrupadas seg´un sus caracter´ısticas, tales como, por ejemplo, el origen de los datos. Si los conjuntos de instancias son muy grandes, cada conjunto se puede subdividir a su vez en conjuntos m´as peque˜nos, por ejemplo en funci´on del tama˜no de las mismas.
En la Tabla I se presentan, a modo de ejemplo, los resultados de cuatro algoritmos (LSGA, LCW, T-LCW y SO) empleando las m´etricas incluidas en Optsicom Analytics ( %dev, #best y score) sobre un total de 240 instancias. Estas instancias est´an dividi-das en tres conjuntos, cada uno de los cuales agrupa instancias con un cierto tama˜no de un par´ametro M . En los resultados presentados en la Tabla I se puede observar c´omo la menor desviaci´on sobre el primer conjunto de instancias (M < 60) es alcanzado tanto por el algoritmo T-LCW como por el algoritmo SO, con una desviaci´on del 0.01 %. Si se observa el n´ ume-ro de mejores valores encontrados y el score, T-LCW parece ligeramente mejor. En cambio, esto s´olo su-cede para el primer conjunto de instancias, en el que adem´as, las diferencias son muy peque˜nas. Para ins-tancias mayores, SO obtiene, sistem´aticamente, me-jores resultados que el resto de los algoritmos tanto en %dev, como en #best y score.
IV. Principales funcionalidades Optsicom Analytics es una aplicaci´on web capaz de presentar de manera estructurada los resultados de diversos conjuntos de experimentos.
Dado que la aplicaci´on se encuentra en una fase de desarrollo preliminar, en esta secci´on se recogen, en primer lugar, las caracter´ısticas ya incluidas en la herramienta y, en segundo lugar, se describen las principales funcionalidades futuras.
Fig. 2. Interfaz gr´afica de Optsicom Analytics.
Organizaci´on de los experimentos: la aplica-ci´on permite mantener una organizaci´on de los expe-rimentos empleando para ello una estructura a modo de ´arbol, que representa una jerarqu´ıa de carpetas. Dentro de cada carpeta puede haber uno o m´as expe-rimentos que contienen, entre otra informaci´on, las tablas de resultados.
Informaci´on de los experimentos: para cada experimento se dispone de informaci´on de dos tipos. Por un lado, informaci´on general, en la que se reco-gen datos tales como: el nombre del experimento; el nombre del investigador responsable; la fecha de rea-lizaci´on del mismo; el n´umero de m´etodos que inter-vienen en el experimento y el n´umero de instancias. Por otro lado, adem´as de la informaci´on general, se dispone de informaci´on detallada para los m´etodos, las instancias y los resultados alcanzados.
Informaci´on relativa a las instancias: para cada instancia incluida en el experimento, se recoge su nombre, par´ametros relativos a su tama˜no y tipo de experimento en el que la instancia es empleada.
Informaci´on relativa a los algoritmos: de ca-da algoritmo o m´etodo que interviene en un determi-nado experimento se recoge, adem´as de su nombre, el paquete que lo contiene y el n´umero de ejecuciones que se realizan con ´el. Tambi´en se almacena el valor de cada par´ametro del mismo empleado en el experi-mento, aspecto de vital importancia para garantizar la reproducibilidad del experimento.
Tablas de resultados: las tablas de resultados presentan los datos extra´ıdos de los experimentos. Pueden presentarse de diferente forma. Por ejem-plo, se puede disponer de una tabla por cada uno de
los m´etodos evaluados en el experimento. Para cada m´etodo se muestran los estad´ısticos descritos en la Secci´on III (#best, %dev y score) y el tiempo de eje-cuci´on empleado. Adem´as, se pueden a˜nadir nuevas columnas a la vista en curso, presentando m´as in-formaci´on o reducir la cantidad de datos mostrados para simplificar su visualizaci´on.
Persistencia de la informaci´on: toda la infor-maci´on relativa a los experimentos (instancias, m´ eto-dos, tablas de resultaeto-dos, etc.) as´ı como la relativa a la organizaci´on de los mismos (jerarqu´ıa de carpetas) es almacenada en una base de datos. La informaci´on puede ser insertada en la base de datos mediante un m´odulo de importaci´on o bien mediante una herra-mienta capaz de realizar inserciones que respete la estructura de la base de datos.
Adem´as de las funcionalidades anteriores, ya in-cluidas en la versi´on actual de Optsicom Analytics, actualmente se encuentran en desarrollo o planifica-das para posteriores versiones, las siguientes funcio-nalidades:
Generaci´on de gr´aficas: dependiendo del tipo de experimento, en ocasiones, es necesario presentar los resultados empleando gr´aficas, en lugar de tablas. Es deseable, por lo tanto, contar con una funcionali-dad capaz de generar gr´aficas (como por ejemplo, de evoluci´on temporal, gr´aficas Time-To-Target, etc.) de manera automatizada a partir de los datos obte-nidos de los experimentos.
de texto o tipo CSV. De igual manera, tanto los da-tos sin procesar contenidos en la base de dada-tos, como los datos procesados, deben poder ser exportados a formatos tales como CSV o XML y, en el caso de disponer de un m´odulo de generaci´on de gr´aficas, a formatos de imagen.
Gesti´on de acceso: una caracter´ıstica que dar´ıa un valor a˜nadido claramente diferenciador a esta he-rramienta, ser´ıa disponer de un sistema de gesti´on de acceso a los datos, de manera que se permitiera compartir cierta informaci´on, por ejemplo las tablas publicadas en un art´ıculo, a la vez que mantener otra informaci´on de manera privada, por ejemplo, los re-sultados parciales obtenidos durante el proceso de desarrollo de un algoritmo.
Generaci´on de informes: puede ser deseable combinar resultados de diferentes tablas y gr´aficos en un mismo informe. Ser´ıa de utilidad contar con un mecanismo capaz de seleccionar una o varias ta-blas, gr´aficos y otra posible informaci´on (como por ejemplo datos sobre las instancias o los m´etodos) para presentarlos de manera conjunta en un informe que pueda ser visualizado o exportado.
Plantillas de configuraci´on: dadas las diferen-tes configuraciones de presentaci´on de resultados, puede llegar a ser una tarea tediosa tener que confi-gurar la aplicaci´on cada vez que se quiera utilizar, y m´as si el esquema de los resultados que se quiere vi-sualizar coincide con otro esquema empleado previa-mente. Un sistema de almacenamiento de plantillas de configuraci´on solucionar´ıa este problema.
Integraci´on con otras herramientas: como se ha visto anteriormente, esta herramienta se encarga de tareas espec´ıficas dentro de un proceso de investi-gaci´on m´as amplio. En este proceso intervienen otras herramientas tales como entornos de desarrollo inte-grados o mecanismos de ejecuci´on remota (una des-cripci´on de ´estas y otras herramientas puede verse en [9]). Por ello, es necesaria la integraci´on de Opt-sicom Analytics con otras herramientas, formando as´ı un ecosistema de trabajo.
V. Arquitectura y tecnolog´ıas En esta secci´on se describe brevemente la arquitec-tura en la que se integra Optsicom Analytics, as´ı co-mo el papel que juegan las principales tecnolog´ıas empleadas para su desarrollo.
A. Arquitectura
En la Figura 3 se muestra una representaci´on de la arquitectura del sistema en la que se integra Opt-sicom Analytics. En dicha figura, OptOpt-sicom Frame-work representa la fuente de informaci´on que per-mite nutrir a la base de datos con la informaci´on obtenida tras el proceso de experimentaci´on.
Optsicom Framework es un componente de Opt-sicom Optimization Suite y se define como una
Fig. 3. Arquitectura del sistema.
((librer´ıa que proporciona la funcionalidad necesa-ria para desarrollar algoritmos exactos, algoritmos aproximados y configurar y ejecutar experimentos))
[9]. Es importante destacar que esta fuente de datos podr´ıa ser cualquier otra librer´ıa o aplicaci´on capaz de generar salidas en una estructura determinada, de modo que la informaci´on pudiera ser insertada en la base de datos. Esta informaci´on, a su vez, es presen-tada en una interfaz web desarrollada en GWT (ver Secci´on V-B) empleando para ello c´odigo Java, que posteriormente es traducido a HTML y Javascript. Este ´ultimo es interpretado por el navegador en el lado del cliente.
Como se muestra tambi´en en la Figura 3, Opt-sicom Analytics interact´ua con la base de datos MySQL (ver Secci´on V-B) leyendo la informaci´on sin procesar previamente insertada y almacenando la informaci´on resultante del an´alisis de los datos, los informes generados, etc.
B. Tecnolog´ıas
A continuaci´on se repasan brevemente las prin-cipales tecnolog´ıas que han sido empleadas para el desarrollo de Optsicom Analytics, y que juegan un papel importante dentro del modelo de arquitectura anteriormente descrito:
Java [11][12]: la tecnolog´ıa Java es una platafor-ma vers´atil y eficiente para el desarrollo de
softwa-re. Incluye un lenguaje de programaci´on orientado a objetos con el mismo nombre y destaca por la por-tabilidad de las aplicaciones desarrolladas.
MySQL [14]: Sistema de Gesti´on de Bases de Da-tos Relacional con capacidad para ser ejecutado co-mo un servidor proporcionando acceso a m´ultiples usuarios a distintas bases de datos. Es un sistema muy popular en el desarrollo de aplicaciones web gra-cias a su capacidad de gestionar m´ultiples peticiones simult´aneas, a su ligereza, a su eficiencia y a que es distribuido bajo licencia GPL.
Adem´as de las anteriormente mencionadas, en este trabajo se han empleado las siguientes tecnolog´ıas: Eclipse4, entorno de desarrollo integrado
multiplata-forma; Java Persistence API (JPA), marco de traba-jo para Java que implementa funcionalidades de per-sistencia de la informaci´on; EclipseLink5, proyecto
de la Fundaci´on Eclipse para dar soporte a la inter-actuaci´on con distintos est´andares de acceso a datos, entre los que se encuentra JPA; SmartGWT6, con-junto de librer´ıas que dan soporte a GWT, a˜ nadien-do una gran cantidad de artefactos; Subversion7
(SVN), sistema de control de versiones de c´odigo abierto; Redmine8, gestor de proyectos v´ıa web de
c´odigo abierto.
VI. Resultados
En esta secci´on se presenta el estado de la ver-si´on actual de Optsicom Analytics. En particular se presenta una distribuci´on que incluye las funcionali-dades especificadas en la Secci´on IV y los estad´ısticos especificados en la Secci´on III.
Se repasan, a continuaci´on, aspectos destacables de la interfaz gr´afica y ejemplos de uso de algunas de las funcionalidades de la aplicaci´on. En la Figura 2 se muestra, mediante una captura de pantalla de la aplicaci´on, las distintas secciones en las que est´a es-tructurada la interfaz web. En la parte izquierda de la interfaz se recoge, a modo de ´arbol, la estruc-tura empleada para organizar los experimentos. La parte superior derecha, contiene espacio para mos-trar, en distintas pesta˜nas, los experimentos que se encuentren desplegados. Este espacio de la interfaz ir´a cambiando en funci´on del n´umero de experimen-tos que se tengan abierexperimen-tos de manera simult´anea. En la parte inferior derecha, aparecen tres pesta˜nas fi-jas: M´etodos, Instancias y Resultados. La pesta˜na de M´etodos contiene, para cada uno de los experi-mentos desplegados en la parte superior, informaci´on detallada acerca de los m´etodos que intervienen en el experimento abierto. An´alogamente la pesta˜na de Instancias contiene informaci´on de las instancias in-cluidas en el experimento. Por ´ultimo, en la pesta˜na de Resultados se presentan las tablas con los datos. Estas tablas pueden mostrarse de diferente manera: instancia por instancia, agrupadas por tipo de ins-tancia, agrupadas por tama˜no de las instancias, in-cluyendo m´as o menos estad´ısticos, incluyendo m´as o menos m´etodos, etc.
Dado que Optsicom Analytics es una herramienta actualmente en desarrollo, adem´as de las funcionali-dades ya disponibles y de la interfaz gr´afica desarro-llada, es importante destacar que en este documen-to se definen las principales funcionalidades futuras que la herramienta debe incorporar. Esto permite
4http://www.eclipse.org/ 5http://www.eclipse.org/eclipselink/ 6http://code.google.com/p/smartgwt/ 7http://subversion.apache.org/ 8 http://www.redmine.org/
la colaboraci´on de la comunidad investigadora, es-pecialmente a trav´es de las sugerencias derivadas de las necesidades espec´ıficas de los investigadores en el ´
area.
VII. Conclusiones y trabajos futuros En este trabajo se ha presentado Optsicom Analy-tics, una aplicaci´on web en desarrollo, para el an´alisis y presentaci´on de los resultados obtenidos del pro-ceso de experimentaci´on en el ´area de optimizaci´on. Esta aplicaci´on permite organizar los resultados de distintos experimentos de manera jer´arquica y mos-trar estad´ısticos ampliamente aceptados como me-canismo de comparaci´on de algoritmos heur´ısticos. La aplicaci´on incluye tambi´en informaci´on acerca de las instancias y los m´etodos empleados en la expe-rimentaci´on, siendo capaz de acceder a una base de datos donde se almacena toda la informaci´on repor-tada. Es importante destacar que los datos sin pro-cesar, es decir, tal y como se obtuvieron de los expe-rimentos, tambi´en est´an almacenados y pueden ser consultados.
Como trabajos futuros, esta herramienta preten-de ser ampliada mejorando el sistema preten-de creaci´on de nuevas tablas, a˜nadiendo soporte para la genera-ci´on gr´aficos a partir de los resultados, incluyendo el borrado de tablas, ampliando el n´umero de estad´ısti-cos considerados y permitiendo la realizaci´on de tests no param´etricos de manera automatizada. Tambi´en ser´ıa de utilidad establecer un mecanismo de gesti´on de usuarios, concretamente investigadores, facilitan-do as´ı la tarea de compartici´on de resultados, a la vez que estableciendo mecanismos de privacidad.
Agradecimientos
Este trabajo ha sido financiado parcialmente con fondos del MICINN (TIN2009-07516 y TIN2008-06890-C02-02).
Referencias
[1] Apache License 2.0 http://www.apache.org/licenses/ LICENSE-2.0
[2] Demsar, J. Statistical Comparisons of Classifiers over Multiple Data Sets. Journal of Machine Learning Re-search. 7. P´aginas 1-30. 2006.
[3] Derrac, J., S. Garc´ıa, D. Molina y F. Herrera, A Practical
Tutorial on the Use of Nonparametric Statistical Tests as a Methodology for Comparing Evolutionary and Swarm Intelligence Algorithms Swarm and Evolutionary
Compu-tation, 1:1. P´aginas 3-18. 2011.
[4] Dewsbury, R. Google Web Toolkit Applications. Prentice Hall. 2008.
[5] GWT,Google Web Toolkit. http://code.google.com/ intl/es-ES/webtoolkit/
[6] Di Gaspero, L., A. Roli y A. Schaerf EasyAnalyzer: An
Object-Oriented Framework for the Experimental Analy-sis of Stochastic Local Search Algorithms. Lecture Notes
in Computer Science, Volumen 4638/2007. P´aginas 76-90. 2007.
[7] Di Gaspero, L. y A. Schaerf EasyLocal++: An
[8] EXCEL, http://office.microsoft.com/es-es/excel [9] Gallego, M., F. Gort´azar y E. G. Pardo. Optsicom
Opti-mization Suite, un conjunto de herramientas para la in-vestigaci´on en optimizaci´on. VII Congreso Espa˜nol so-bre Metaheur´ısticas, Algoritmos Evolutivos y Bioinspira-dos (MAEB). P´aginas 329 - 336. 2010.
[10] Garc´ıa S. y F. Herrera An extension on “Statistical comparisons of classifiers over multiple data sets” for all pairwise comparisons. Journal of Machine Learning
Re-search 9. P´aginas 2677-2694. 2008. [11] Java, http://java.com/es/
[12] Java, http://www.oracle.com/technetwork/java/index. html
[13] Durillo, J. J. y A. J. Nebro. jMetal, A Java framework
for multi-objective optimization. Advances in Engineering
Software. Volumen 42. P´aginas 760-771. 2011. [14] MySQL, http://www.mysql.com/
[15] oMetah (Open Metaheuristic), http://ometah.berlios. de/index.php/Main Page
[16] R, http://www.r-project.org
[17] Ribeiro, C. C., E. Uchoa y R. F. Werneck A hybrid
GRASP with perturbations for the Steiner problem in graphs. INFORMS Journal on Computing, Volumen 14,
P´aginas 228-246. 2002. [18] S, http://www.sas.com/technologies/analytics/stat-istics/ [19] S-PLUS, http://spotfire.tibco.com/products/s-plus/ statistical-analysis-software.aspx [20] SAS, http://www.sas.com/technologies/analytics/ statistics/ [21] SPSS, http://www-01.ibm.com/software/es/analytics/ spss [22] Stata, http://www.stata.com/ [23] Statistica, http://www.statsoft.com/
[24] Talbi, E-G. From Design to Implementation. 2009. [25] Vob, S. y D. Woodruff Optimization Software Class
Li-braries. Operations Research Computer Science Interfaces
Series. 2002.
[26] World Programming System (WPS) http://teamwpc.co .uk/home