Solver: Largo tiempo de cálculo

PATR974 Mensajes publicados 4 Estado Miembro -  
PATR974 Mensajes publicados 4 Estado Miembro -
Hola,

Tengo un pequeño problema con la ejecución del solver de Excel (2003) en mi libro de Excel. De hecho, tarda muchísimo tiempo en encontrar una solución cuando lo ejecuto en mi libro (que tiene 9 hojas), mientras que cuando lo ejecuto en un libro aparte sin ninguna otra hoja (y con mi libro original cerrado) es mucho más rápido.

En mi libro original, al principio mis cálculos se realizaban en una hoja que presentaba enlaces con otras celdas en las otras hojas de mi libro. Entonces pensé que podría aislar mis cálculos en una hoja aparte en mi libro, para que no hubiera influencia de otras celdas de la hoja. También desactivé el cálculo automático para recalcular solo en esta hoja aislada, pero después de este intento, el tiempo de cálculo se mantuvo casi sin cambios en comparación con el caso anterior donde mi solver se ejecutaba en una hoja con enlaces.

Solo quisiera que mis cálculos se aplicaran solo a las celdas alcanzadas por el solver.

¿Cómo podría hacerlo, por favor?

(Espero haber sido claro)

Muchas gracias.

2 respuestas

Bruce Willix Mensajes publicados 12376 Fecha de registro   Estado Colaborador Última intervención   2 638
 
¿Cuál es el programa que debes resolver con el solucionador? ¿Muchas variables? ¿Restricciones? ¿Función objetivo complicada?

En este tipo de modelo, el número de cálculos a realizar aumenta exponencialmente con la complejidad del enunciado inicial. Quizás sea necesario considerar la división del problema en submódulos...

--
Recuerda, recuerda, el cinco de noviembre
Pólvora, traición y conspiración.
No veo razón por la cual la pólvora, la traición
Deban ser olvidadas...
0
PATR974 Mensajes publicados 4 Estado Miembro
 
Es un problema no lineal que requiere un cálculo iterativo.
- Tengo una "celda objetivo" cuyo contenido quiero que sea igual a un número
- Dejo que el solver modifique 5 celdas que modelan una curva de grado 4 y utilizo un cálculo iterativo para vincular esta curva de grado 4 a mi "celda objetivo".

De hecho, también pensé en dividir en módulos, pero no puedo porque la celda objetivo depende de una iteración que no puede ser dividida. La iteración toma en cuenta 100 celdas, es cierto que, en general, tomará un cierto tiempo, pero me gustaría resolver el "problema del libro de trabajo" y no modificar mis condiciones del solver.

Como he dicho, al aislar mi cálculo en otro libro de trabajo va mejor... y no sé por qué..

Gracias.
0
Bruce Willix Mensajes publicados 12376 Fecha de registro   Estado Colaborador Última intervención   2 638
 
Estoy mirando un poco en internet, porque si el solucionador efectivamente solo trabaja en las 5+1 celdas consideradas y no se deben reevaluar, es extraño.
0
PATR974 Mensajes publicados 4 Estado Miembro
 
Para añadir detalles:
- cuando aplico mi solver en mi libro y mi hoja de origen (libro de 9 hojas y hoja de trabajo con otras celdas que contienen fórmulas pero que no entran en el solver): tiempo de cálculo del solver = 4min y número de "soluciones de prueba" = 16;
- cuando trabajo en este mismo libro aislando en una hoja aparte mi solver y las celdas implicadas en el cálculo del solver: tiempo de cálculo del solver = 4min y número de "soluciones de prueba" = 16;
- cuando abro un nuevo libro con hojas en blanco y ejecuto mi solver en este libro CON MI LIBRO DE ORIGEN ABIERTO (el de los 2 primeros casos mencionados anteriormente): tiempo de cálculo del solver = 4min y número de "soluciones de prueba" = 16;
- finalmente, cuando cierro mi libro de origen y vuelvo a ejecutar el solver en el nuevo libro y las nuevas hojas en blanco: tiempo de cálculo del solver = 1min y número de "soluciones de prueba" = 16;

Entonces el hecho de que mi libro de origen esté abierto ralentiza el solver (¡pero no aumenta su número de intentos)!

Aclarar que todos mis cálculos se hacen con la opción de cálculo manual.

Tengo un poco de dificultad para resolver mi problema.....
0
PATR974 Mensajes publicados 4 Estado Miembro
 
(disculpa por los errores de ortografía)
0