close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

#470 closed defect (fixed)

Re-inicializar una estimación al modificarla

Reported by: Pedro Gea Owned by: Pedro Gea
Priority: blocker Milestone: Release 0.6
Component: Estimation Keywords:
Cc:

Description

Es necesario re-inicializar una estimación al modificar cualquier valor de su configuración, de su modelo o de su dataset evitando así que se corrompa.

Este cambio puede ocasionar errores inesperados a quienes estén abusando del uso de las estimaciones para la obtención de resultados en distintos escenarios.

Es necesario hacer este cambio con cuidado, avisarlo convenientemente y dar alternativas a quienes lo usen de otra manera

Change History (9)

comment:1 Changed 14 years ago by Pedro Gea

(In [2424]) Se introducen los mecanismos _OnChange en el módulo de modelos para trasladar los cambios hasta el objeto modelo (@Model).
Se revisan los mecanismos _OnChange del módulo de variables.
Se crean unas trazas (que por defecto no se muestran) para facilitar el desarrollo y la depuración de estos mecanismos.
Refs #562, #470

comment:2 Changed 14 years ago by Pedro Gea

Status: newaccepted

Es necesario cerrar este tique cuanto antes porque conduce a nuevos errores y tiques.

El mecanismo de limpiado de una estimación ha de ampliarse con el limpiado de la información temporal de su estrategia. Véase #581.

comment:3 Changed 14 years ago by Pedro Gea

(In [2475]) Se amplía el mecanismo de Clear de la estimación con el de la estrategia.
Al limpiar la estimación no sólo se borran los resultados que hubiera sino también los objetos auxiliares de la estrategias: modelDefs, informes, etc.
Refs #470, #581

comment:4 Changed 14 years ago by Pedro Gea

(In [2552]) Se trasladan los eventos _OnChange entre módulos.
Esto conlleva que los resultados y las previsiones se descarten al actualizar datos en el dataset o al modificar el modelo.
Se informa de esta circunstancia con un mensaje cuando esto ocurre.
Se implementa un método SetResults en las estimaciones con el que rehacer los resultados incoporando unos parámetros descartados o provenientes de otra estimación.
Refs #470

comment:5 Changed 14 years ago by Pedro Gea

Mantener los resultados aún haciendo cambios en el modelo (o su dataset).

En algunos proyectos puede que se estén usando los mecanismos de acceso a los resultados de la estimación (el objeto MMS::@Model.Results y otras instancias de las clases de resultados) para otras tareas complementarias.

Lo más adecuado sería describir estas tareas o necesidades en nuevos tiques con el fin de que MMS pueda incorporarlos naturalmente a su diseño.

Si aún así se desean usar los parámetros que se descartan al cambiar el modelo o sus datos. Se sugiere el siguiente mecanismo:

// Rescatar los parámetros de la estimación:
Set parameters = <estimation>::GetParameters(?);

// Hacer los cambios pertinentes en el modelo o en sus datos.
// Se obtendrá el mensaje:
//> [@Estimation::_OnChange] Como consecuencia de los cambios en el modelo, 
//> los resultados serán descartados.

// Reconstruir los resultados a partir del conjunto de parámetros rescatado
Real <estimation>::SetResults(parameters);

comment:6 Changed 14 years ago by atorre

Hola,
¿desde que versión de MMS está disponible el método SetResults?

Gracias por adelantado.

comment:7 Changed 14 years ago by Pedro Gea

Aún no estaba disponible en paquete, ahora ya está desde MMS.0.6035 en adelante.

comment:8 Changed 14 years ago by Pedro Gea

(In [2556]) Se incorporan más eventos OnChange en estimaciones y previsiones.
Refs #470

comment:9 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

(In [2557]) Se comentan los cambios a considerar en #677 y que comprometen la coherencia definición-resultados en las estimaciones y previsiones.
Refs #677
Closes #470

Note: See TracTickets for help on using tickets.