Blogia

Beca CFL

Vamos viendo claro las cosillas...

Entre ayer y hoy parece que adelante bastante.

Tengo casi resuletos los problemas de OR-Library. Me faltaba contemplar si teniamos una capacidad mínima.

También, y a modo de idea voy a probar a ver si la suma de las demandas es igual o menor a la suma de las capacidades, para ver si realmente se esta cubriendo toda la demanda.

Otra idea también es añadir más restricciones al linprog a ver si así sale más exacto.

Mñn reunión con César a las 9 a.m.

Casi....

Estos dias sin internet no he podido postear.

A modo de resumen:

-Rardin resuelto con Cplex. Lo raro es que da el mismo resultado, aunque quizas un poco mas rápido.

-Ejercicios de OR-Library me dan 0 los tres probados.

-La llamada utilizada es la que puse anteriormente, utilizando las llamadas a lpAssign y tomRun.

Mañana sigo con las pruebas. También le mande un email a César con un poco los resultados.

 

Llamada Cplex

Hoy lei parte d ela documentación de  la interfaz de Cplex con Matlab, Tomlab. Entre hoy y mañana ya resuelvo el problema.

Ahora a currar.

 

Avances

Hoy he leido documentación acerca de CPLEX con Matlab. Acerca de la herramienta TOMLAB, que es la interfaz entre Matlab y CPLEX. Aun no he conseguido resultados pero al menos se como se hacen las llamadas.

Se haria de la siguiente manera:

Prob   = lpAssign(c, A, b_L, b_U, x_L, x_U, x_0, 'cap41');
Result = tomRun('cplex', Prob, 1);

Donde 'cap41' es mi archivo de matlab.

Este seria el aspecto que tendría la salida de CPLEX:

===== * * * =================================================================== * * *
TOMLAB /CPLEX Full - Universidad Rey Juan Carlos Ac. single user  1001116. Valid to 2100-01-01
=====================================================================================
Problem: ---  1: cap41                          f_k       0.000000000000000000

Solver: CPLEX.  EXIT=0.  INFORM=1.
CPLEX Dual Simplex LP solver
Optimal solution found


CPU time: 0.062500 sec. Elapsed time: 0.266000 sec.

Donde en f_k deberia aparecer el valor óptimo, pero como vemos aún no he sido capaz de mostrarlo, pero estoy a punto de conseguirlo.

Voy a terminar el informe para César, y mañana a primera hora se lo mando.

Y voy a probar a hacer el ejercicio 42 con Linprog a ver que resultados salen.

Teoria

Ya he recopilado un poco todo los aspectos teoricos tratados hasta el momento.

Estoy haciendo el informe en LaTex que es como mejor queda.

Si no utilizais esta herramienta os la recomiendo, es sencilla de usar, aunque hya que programar un pokillo no es dificil. Además yo utilizo el Lyx y esta chupado.También necesitareis Miktex para poder ver vuestras creaciones en .dvi o .pdf.

Por hoy creoq ue ya he terminado por que la pagina de OR-LIBRARY no funciona asi que no puedo hacer más.

Voy a leer un poquillo de la documentación que hay sobre MATLAB/CPLEX a ver si para mañana ya no tengo dudas sobre como hacer las pruebas.

 

Perdida con el Cplex

Ahora resulta que el Cplex no utiliza ni Aeq ni beq, y lo unico que se me ocurre en ponerlas concatenadas con A y b. Pero aun así el resultado es 0.

Aqui si que necesito ayuda de César.

En la pruebas con el linprog se pira unos 400.000, yo creo que no está mal, pero weno.

Se retraso la entrega del informe para César, pero aún asi sigo aqui toda la tarde dandole.

Y mañana más. Ahora mirare para hacer el 42 y asi sucesivamente, aunque de momento no puedo hacer nada de nada con Cplex.

 

Matriz diagonal de matrices

Para poder hacer una matriz diagonal que contenga en ella otra matices hay que hacerla asi:

                                                |A 0 .. 0|
Y = BLKDIAG(A,B,...) produce |0 B .. 0|
                                                |0 0 .. |

Esto nos servira para poder construir nuestra matriz Aeq.

Matriz de matrices

Y yo dandole vueltas a algo tan sencillo como esto

Si queremos hacer una matriz de matrices en Matlab, basta con crearlas y colocarlas en el orden que queramos. Lo peor es que todo esto hay que hacerlo en ejecucion y dependiendo de los datos que nos pasen.

Si tenemos que A B C y D son 4 matrices que queremos añadir basta con hacer esto:

M = [ A B

          C D]

Asi conseguimos que M sea una matriz de matrices.

Ahora el problema lo tengo por que solo tengo dos matrices, una de ceros y otra de unos, y necesito que la matriz de unos se encuentre en la diagonal.

Voy  a ver si podemos construirla con diag() y si no me tocara a base de for. Intentare crear la primera fila y despues solo es añadir filas por debajo. Pero teniendo en cuenta en que fila me encuentre para colocar donde deben aparecer los unos.

Nada mas hasta ahora.

Luego me pondre con el infome resumen de todo lo avanzado.

Vuelta al trabajo

El jueves tengo que entregar un resumen de todo lo hecho hasta ahora.

En el debe figurar un poco la evolucion que hemos seguido en todo el proyecto teniendo especial atencion sobre la teoria ltrabajada (solo un listado de ellos, sin especificar su contenido).
- Aspectos computacionales que he trabajado: software desarrollado, nuevas herramientas, etc. (solo un listado de ellos mencionando su objetivo o utilidad).
- Resultados computacionales: En una o varias tablas resumir los resultados computacionales que tenemos hasta el momento.

Añadiendo a todo esto algún comentario se lo veo necesario.

En la parte de pruebas he hecho algún avance, pero aún no he conseguido obtener resultados, para decir si la parte ya trabajada esta bien.

Y por hoy terminare empezando un poco el esquemita a entregar que si no me pilla el torito.

 

Tomlab

Ya nos hemos agenciado con el Tomlab/CPlex, para poder trabajr desde mi portatil

Asi que ya todas las pruebas y todo las tendremos que hacer desde mi casita.

Pruebas

Y sigo haciendo pruebas con los archivos de la pagina de OR Library. Aún no he terminado ninguna, por que tengo problemas con la CallCharge.

El jueves creo que tendre que ir a ver  a Cesar.

Llevo un mes sin tocar el proyecto por culpa de los examenes.

A ver si en Julio saco todo.

Cplex remoto

Hoy dedicaré la tarde a hacer pruebas de acceso remoto a pc’s de la uni desde casa con el programa VNC Server

Avances de hoy

    La parte de la demanda(CallDemand) ya esta hecha, ahora necesito terminar de hacer la parte de la carga de las llamadas (CallCharge), que es lo que más me esta costando.

    He hecho bastantes graficos de la matrices para poder hacer bien la carga de datos, pero aún así no he encontrado la solución a para la carga de las llamadas.

    La solución tiene que ser algo como que pueda acceder a partir de la posición 19, secuencialmente a las 20, 21, 22, 23, 24, 25 y 26, saltarme una posición, la 27(que la ocupa una demanda), y leer en la 28, para almacenarlo en la segunda fila de CallCharge, ya que a partir de ahí empiezan los costes asociados al segundo cliente.

Nada más.

Version de evaluación de Tomlab

    He vuelto a pedir otro par de versiones de evaluación del Tomlab, así podemos seguir trabajando con ellas sin tener que comprarlas.

    Se pueden pedir a través del registro de la pagina http://tomopt.com/tomlab/.

    Así vamos trabajando sin poner un euro.

Avances

De momento no he conseguido probar niguno, primero estoy intentando averiguar como meterle lo datos al problema. Una vez hecho esto también tendré que probar a hacer capturas de tiempo, para saber cuanto tarda en resolver un ejercicio. Por ahora he descubierto que necesito meter los datos en matrices, que tienen que tener todas la filas con el mismo numero de colulmnas. Esta matriz se carga en el Matlab con la siguiente instrucción:

data = load(’-ascii’,’Ruta del archivo que queremos leer’);

Una vez ejecutada esta línea de código, podemos acceder a todos los datos de nuestro fichero mediante la matriz almacenada en data. Esto es, si queremos acceder al primer dato debemos poner data(1,1). En mi caso he almacenado los datos en dos columnas y 467 filas. Así tenemos:

>> size(data) Esta instrucción nos dice el tamaño de la matriz fila x columna

ans =

467 2

Mediante varios for soy capaz de ir almacenando los datos en las variables internas del programa y así poder hacer el calculo después con el Cplex.

Los datos de costes fijos ya están almacenados y estoy teniendo problemas con la demanda y con los costes de llamadas(que en este caso pueden ser costes de otra cosa, pero siempre asociado a que cada cliente tiene un coste con cada una de las localizaciones).

Voy a seguir con ello y cuando termine mi jornada posteo más.

Tarjeta , otro pc e IWOR

Ya tengo la tarjeta de acceso tanto al aula del master como al aula de becarios. Pero aún sigo teniendo problemas con el pc, por lo que, y comentaba anteriormente, hemos decidido instalar las licencias de Cplex y TOMLAB en mi portatil, para poder trabajar tanto desde la universidad, como desde casa. Así podré sacar mucho más tiempo para hacer la beca.

En el post anterior al final no he comentado nada de IWOR.

Aquí teneis un poquito de información acerca de las conferencias. Muy recomendable la de la vicepresidenta de IBM, que es el jueves a las 15:30.

http://bayes.escet.urjc.es/~iwor/

 

Reunión miércoles

Hoy hemos tenido otra mini reunión para hablar acerca de la posibilidad de meter una licencia de Cplex y TOMLAB en mi portatil. Tiene que ser en el Acer, por que el Vaio tiene Windows Vista y por lo visto no se lleva muy bien con Cplex. A mi me viene mejor por que así ya tengo instalada la versión de Matlab 7.

Yo sigo haciendo pruebas desde la pagina de OR-Library, http://people.brunel.ac.uk/~mastjjb/jeb/info.html, en la sección, Location: capacitated warehouse location. Ahi estoy probrando cada uno de los ejemplos.

 

Reunión

Reunión

He hablado un poco de como va lo del PC, que aún no he podido areglar. Comentamos un poco el paper que tenía que leer. Y ya tengo trabajo para toda la semana. Tengo que hacer pruebas sobre programas ya resueltos con el Cplex. A ver si obtengo los resultado s que quiero.

El lunes ya cobré el segundo mes. Y van mil eurillos. Y mi nuevo portatil que esta ya llegando. Será un Vaio, precioso, y muy potente.

Tengo que hablar aún con Maria Jose de lo de la tarjeta para poder entrar en la sala de becarios, y con Celeste tengo que comentar lo de la licencia de Cplex para la nueva máquina.

Y nada más...

 

Editado: 20-05-08 . Una fotillo del portatil...

PC

Ya tengo un pc "nuevo" asignado en la sala de becarios de estadística. La verdad qeu digo "nuevo" por que me lo he tenido que montar de las cosillas que me he encontrado por la sala de becarios. Pero encima no lo puedo arrancar por que me falta encontrar el dominio, que mediante cable de ethernet, no lo pillo. Necesito configurar el pc, pero sin tener el cable es imposible. Necesito activar el dominio para entrar, y no puedo activar el dominio por que no puedo entrar. La pescadilla que se muerde la cola, vamos.

Ya me ha dado César la credencial de becaria en la que pone que desde el 07/03/08 hasta el 29/02/09 tengo de tiempo para hacer la práctica.

Ya he cobrado el primer mes, el de Marzo, y fue a primeros de Abril, asi que ya va tocando cobrar el segundo mesecillo.

Tengo para esta semanita que va a entrar que leerme el paper que me ha dado César, leer todo el tema de lagranjiano del libro, y la ampliación de lagranjiano que me dió César hace ya casi un mesecillo.

Por cierto, ya he mirado el portátil que quiero para cambiarlo, es el sony Vaio FZ38M. Me saldra por unos 1150€, pero es un pepinaco.

Nada más por hoy.

 

Viernes

El jueves en la reunión ya nos dimos cuenta de donde estaba el error en el Linprog, y también en el Bintprog. Asique este fin de semana ya tengo trabajo.

El viernes estuve probando la versión de evaluación del tomlab en los ordenadores de la uni. Y funciona bien. Deberia tener este fin de semana el problema resuelto en matlab y probarlo el lunes todo con el CPLEX.

Tengo también mucha documentación para leer. Sobe CPLEX y Tomlab. No se si al final compraremos o no la versión de pago.

Nada más por hoy, por que tengo que currelar ta tarde.