3 Abstracts DAY 2
3.5 Parallel Session 4b (Big) Data
3.5.5 Using mobile phone data for urban network state estimation
En este ensayo se aumenta el número de antenas para comparar el tiempo de ejecución de cada herramienta.
6.4.5.1 Gráficas de CVX, SeDuMi y Mosek
Antes de realizar esta prueba, para fijar los valores de ε y SNR, revisamos las conclusiones de §6.4.3.1, y utilizamos ε = 2,9. Para SNR elegimos 0dB seleccionado de la figura 6.6, en este caso sin requerir ninguna especificación en concreto, ya que estas herramientas no dan errores para nuestro problema. Estos valores son sólo una referencia para el caso en que N = 10 antenas. Al aumentar N la dimensión del vector de apuntamiento es mayor, y la región de incertidumbre también lo será. Pero como no queremos que los optimizadores devuelvan errores utilizaremos estos valores. En la figura 6.10 se muestra la comparativa.
La primera conclusión es que la opción más lenta es CVX con el solver SDPT3. Las otras tres opciones dan resultados parecidos entre sí, y en los valores más altos la opción más rápida es CVX con el solver SeDuMi. Cu-
0 500 1000 1500 2000 2500 3000 0 10 20 30 40 50 60 70 80 90 t (minutos) N (antenas) SNR = 0, = 2.9 CVX con sedumi CVX con sdpt3 SeDuMi Mosek
Figura 6.10: Tiempo de ejecución vs. Número de antenas para CVX, SeDuMi y Mosek.
riosamente, hay valores para los que es más rápido que utilizar directamente SeDuMi.
Esta gráfica tiene un valor comparativo entre las herramientas, pero su utilidad práctica no es mucha, por mostrar tiempos de ejecución de varios minutos. La prueba se ha hecho desde un ordenador portátil con procesador Intel Pentium Dual Core a 2.1 GHz.
Probando valores más altos de N , CVX termina con errores de memoria para N = 6000 antenas, aunque el motivo está en el ordenador utilizado y no en una limitación en el software.
Con Mosek he intentado hacer la prueba de carga (aumentar el número de antenas hasta que falle) y he obtenido valores correctos hasta N = 6000 antenas, con aproximadamente 4 horas de ejecución. Con 10000 antenas el programa termina con error de memoria.
Si nos preocupamos de estudiar las herramientas con vistas a aplicacio- nes prácticas, conviene fijarnos en la zona más baja de N por presentar velocidades de ejecución utilizables. En la figura 6.11 el número máximo de antenas es 200.
La herramienta más rápida en esta zona es Mosek, con 61ms para N = 10 antenas. Después tenemos SeDuMi, con 110ms. En este caso, el tiempo más
6.4. SIMULACIONES 157 0 20 40 60 80 100 120 140 160 180 200 0 0.5 1 1.5 2 2.5 t (segundos) N (antenas) SNR = 0, = 2.0 CVX con sedumi CVX con sdpt3 SeDuMi Mosek
Figura 6.11: Tiempo de ejecución vs. Número de antenas para CVX, SeDuMi y Mosek.
rápido de CVX con SeDuMi como solver sí es más lento que la marca de SeDuMi sin modelar, con 348ms. La opción más lenta es CVX con SDPT3, cuyo mejor tiempo es 419ms.
6.4.5.2 Gráfica de Matlab Optimization Toolbox
Antes de realizar esta simulación hay que revisar las gráficas anteriores para asignar el valor de SNR y sobre todo, de ε a utilizar. De la figura 6.7 dedu- cimos que nos conviene utilizar una SNR entre -13dB y -10dB para evitar errores, y de la figura 6.8 los márgenes libres de errores están entre -10dB y -4dB. Por tanto, el valor elegido es de -10dB.
Para el valor de ε, la figura 6.4 únicamente nos aconseja evitar los valores ε = 1,5, ε = 1,9 y ε = 2,6 en la codificación directa como SOCP. Teniendo esto en cuenta, buscamos valores sin errores en la figura 6.3, y elegimos el valor más alto disponible, que es ε = 2,9.
Las medidas de la figura 6.12 muestran que este software es mucho más lento que las herramientas específicas de optimización convexa del apartado anterior. Éste es el principal inconveniente de las herramientas generales de optimización, comentado en el capítulo 5. Este tipo de programas no aprove- chan las ventajas que ofrecen los problemas convexos y nos encontramos con
una situación similar a la que tendríamos resolviendo sistemas de ecuaciones lineales con técnicas de resolución de sistemas no lineales de ecuaciones.
0 20 40 60 80 100 120 140 160 180 200 0 5 10 15 20 25 30 35 40 45 50 t (segundos) N (antenas) SNR = 0 Matlab (directo)
Matlab (directo con ) Matlab (estándar) Matlab (estándar con ) Matlab (con Hessiano)
Figura 6.12: Tiempo de ejecución vs. Número de antenas para Matlab Opti- mization Toolbox.
Si tenemos que utilizar esta herramienta para el conformador de es- te tema, nos conviene la opción del planteamiento estándar SOCP con la descripción analítica de los gradientes. En caso contrario nos arriesgamos demasiado a no llegar a soluciones convergentes. Vemos que la opción del hessiano devuelve un error para N = 80, y en el resto de valore sí converge, aunque en N = 160 y N = 190 le cuesta varios minutos.
He podido hacer pruebas de carga y el programa termina con error de memoria a partir de 353 antenas. Vemos que bastante lejos de las 6000 antenas con Mosek.
6.4.5.3 Gráfica de Mathematica
Los resultados de la figura 6.13 muestran que esta herramienta es la más lenta de las que he probado. La principal desventaja viene de que se trata de un software con un enfoque más orientado a su capacidad de tratar con lenguaje simbólico en matemáticas que a producir el máximo rendimiento numérico. Por otro lado, añadimos la desventaja de utilizar el complemento Mathematica Symbolic Toolbox for MATLAB, aunque el retardo que pueda
6.4. SIMULACIONES 159 añadir esta función es despreciable frente a los tiempos mostrados en la figura 6.13. 0 20 40 60 80 100 120 140 160 180 200 0 50 100 150 200 250 300 350 400 450 t (minutos) N (antenas) SNR = 0 Mathematica (directo) Mathematica (estándar)
Figura 6.13: Tiempo de ejecución vs. Número de antenas para Mathematica. Por otro lado, hemos visto hasta ahora que la selección del SNR y ε nos pueden llevar a resultados con errores. Revisando la figura 6.9 vemos que con SNR=0dB la ejecución con 10 antenas no da errores. Con este valor, vamos a la figura 6.5 y en consecuencia utilizamos ε = 2.