Matlab - OUT OF MEMORY

 
Vista:

OUT OF MEMORY

Publicado por Alfredo (5 intervenciones) el 12/07/2007 15:09:10
Buenas tardes a todos,

Estoy intentando resolver un problema de programación lineal entera, el problema tiene 35229 variables.

Sin embargo cuando lo ejecuto me quedo sin memoria eso "parece" y me muestra el siguiente mensaje

Error using ==> unknown
Out of memory. Type HELP MEMORY for your options.

Error in ==> bintprog at 290
nodebranchvars = zeros(nvars, numnodes, 'uint16');

Error in ==> ejecucionGESPRE at 97
[X,FVAL,EXITFLAG,OUTPUT] =bintprog(C,A,b,Aeq,beq',X0,options);

Sin embargo si monitorizo el proceso, el sistema muestra que no se consume toda la memoria ram.

Alguien me puede decir algo sobre este problemas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:OUT OF MEMORY

Publicado por Raúl Santiago (211 intervenciones) el 13/07/2007 01:19:34
Con eso es un tamaño que tiene asignado matlab o algo así, yo estuve buscando con la capacidad asignada y con la memoria asignda para caché y con varias cosas, pero siempre me qeudaba sin memoria. Te toca hacer el proceso por pasos e ir guardando o cambiarte de PC, a mi me pasó y en mi máquina completo no lo pude correr, me tocó cuando pude trabajar en una estación de trabajo y si no ir haciendo el proceso poco a poco e ir leyendo y guardando los datos en archivos .mat. Es molesto pero según parece no habría otra solución en matlab para procesos que necesitan demasiados datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYUDA

Publicado por Alfredo (1 intervención) el 13/07/2007 10:48:27
Tengo 2 megas de Ram y le tengo asignado una memoria virtual de 50 GB, como es posible que no tenga memoria suficiente. Ademas el proceso de que resuelve el problema de programacion lineal admite hasta 64000 variables. Por otra parte no puedo dividir el problema, hay que resolverlo de manera conjunta.

A ver si hay alguien que me pueda ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:AYUDA

Publicado por Raúl Santiago (211 intervenciones) el 13/07/2007 11:20:04
Supongo que tienes 2GB de RAM no 2 MB. Ahora, la memoria virtual no sé por que matlab no toma la que uno asigna, toma lo que viene por defecto que no recuerdo ahora el número pero es poco, por que a mi me pasaba igual, en la ayuda del matlab dice que puedes ir empaquetando, y desempaquetando, ahora lo que dices de que no lo puede resolver por pasos, mira bien, normalmente hay forma, me refiero, es por ejm, estás haciendo un ciclo en que generas un vector y vas guardando cada paso, puedes ir guardando los anteriores en archivo y borrar cada vez los datos de memoria o algo así es a lo que me refiero. Tener en memoria a cada vez solo los que se necesitan.

En mi caso, estaba generando una base de datos en simulación para la identificación posterior del sistema en base a redes neuronales, y poder hallar la dinámica inversa, lo que hacía era ir guardando cada grupo al tiempo y leugo lo borraba de memoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA

Publicado por fismat (391 intervenciones) el 20/07/2007 18:49:08
encontre la siguiente informacion

>> help pack

PACK Consolidate workspace memory.
PACK performs memory garbage collection. Extended MATLAB
sessions may cause memory to become fragmented, preventing
large variables from being stored. PACK is a command that
saves all variables on disk, clears the memory, and then
reloads the variables.

If you run out of memory often, here are some additional system
specific tips:
Windows: Increase virtual memory using the control panel.
Unix: Ask your system manager to increase your Swap Space.

You should cd to a directory where you have "write" permission to execute
this command successfully. The following lines of code will help you
accomplish the consolidation of workspace memory.

cwd = pwd;
cd(tempdir);
pack
cd(cwd)

See also MEMORY.

espero que sea de utilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA

Publicado por Laura (1 intervención) el 24/07/2007 22:14:22
Ya probé "pack" y tampoco me sirvió. Debo descomponer (sdv) una matriz de 150x20000 .. . ¿ALGUIEN TIENE OTRA SOLUCIóN?. Muchas GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA

Publicado por carlos (1 intervención) el 24/05/2008 00:01:57
Hola:
Tengo que resolver un problema de programación binaria enorme (casi 3000 variables).
por lo que averigue, con la función bintprog del toolbox de optimización de matlab, lo podre resolver.
tengo algunas dudas sobre su utilización.
puedo definir la funcion objetivo como una matriz de 300x2688, ya que en los ejemplos que he encontrado simpre es para un vector (una suma simple como función objetivo),
si alguien me puede ayudar mandandome ejemplos, o problemas más complejos lo agradecere infinitamente.
Carlos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar