Opened 14 years ago
Closed 14 years ago
#604 closed defect (fixed)
Error GetParameters en mCombination
Reported by: | Ines Miranda | Owned by: | Pedro Gea |
---|---|---|---|
Priority: | blocker | Milestone: | Release 0.6 |
Component: | General | Keywords: | Combination |
Cc: |
Description
Hola,
por favor, echadle un vistazo al modelo adjunto. Tiene definida una combinación de dos parámetros donde uno de ellos es un hiperparámetro.
Da el siguiente error al tratar de acceder a la información:
ERROR: [59] [@MCombination::GetParameters] No se encuentran algunos parámetros de: 'Comb.FerNBWD_15_LT_24' [Call stack] [4] Real MMS::MMS.Error (Text message, Text context) [3] Set mComb_WD_15_LT_24::mCombination::mCombination::mCombination::GetParameters (Real void) [2] Set MMS::Layer::MDMGui::GetInfoMCombination (NameBlock comb) [1] Set MMS::Layer::MDMGui::GetMCombination (Text ident, Set container)
Gracias
Change History (8)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Nótese que cuando se añade un parámetro que no existe (o aún no) a una combinación de parámetros se obtiene la traza:
@MCombination::AppendParameter] Se añade el parámetro 'Hie_FerNacBasWD2_WD5__Promedio' sin hacer el enlace.
comment:3 Changed 14 years ago by
(In [2476]) Se revisan los mecanismos para evitar algunos errores procedentes de indicar el nombre de un parámetro incorrectamente al crear una combinación de parámetros o una jerarquía.
Se corrige el error en la GUI al intentar editar una m-combinación en estas circunstancias, es necesario revisar aún el caso de las m-equivalencias y jerarquías.
Refs #604
comment:4 Changed 14 years ago by
Hola,
con respecto al problema de no indicar el nombre del hiperparámetro adecuadamente, y el ejemplo que adjuntabas:
Según veo el hiperparámetro fue indicado como: Hie_FerNacBasWD1_WD5__Promedio cuando su nombre es Hie_FerNacBasWD1_WD5__Promedio__Hyper.
estos nombres los genera MMS, no el usuario. Nosotros creamos un hiperparámetro con el nombre Hie_FerNacBasWD1_WD5 y lo dotamos con la información necesaria.
comment:5 Changed 14 years ago by
comment:6 Changed 14 years ago by
No hay que confundir el término (explicativo) de la jerarquía con su parámetro: el hiperparámetro.
Si deseamos conocer el nombre del hiperparámetro de un nodo homogéneo debemos hacer:
Text hyperparameterIdentifier = <hierarchy>::GetHierarchyTerm(1)::GetParameterHyper(?)::GetIdentifier(?)
y no sólo:
Text hypertermIdentifier = <hierarchy>::GetHierarchyTerm(1)::GetIdentifier(?)
comment:7 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:8 Changed 12 years ago by
Los archivos adjuntos con datos privados se han ubicado en la unidad local B.
El problema surge de no indicar el nombre del hiperparámetro adecuadamente.
Según veo el hiperparámetro fue indicado como:
cuando su nombre es
El nombre
Hie_FerNacBasWD1_WD5__Promedio
es el del término (explicativo) de la jerarquía (@HierarchyTerm). Puede ser útil para comprender esto comparar la estructura de los submodelos y de las jerarquías:SubmodelName
)SubmodelName__ExpTermName
) -> Input -> MVariableSubmodelName__ExpTermName__ParameterName
)HierarchyName__HierarchyTermName
) -> HyperInput -> CoefficientsHierarchyName__HierarchyTermName__ParameterName
)Véase también el diagrama de los modelos
Se mantiene el tique abierto para intentar evitar los problemas que se derivan de indicar el nombre de un parámetro que no existe.