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

#434 closed doubt (fixed)

Restricción de negatividad

Reported by: igonzalez Owned by: Pedro Gea
Priority: major Milestone: Release 0.6
Component: Parameters Keywords:
Cc:

Description

Se ha detectado que, cuando se establece una restricción de negatividad para un parámetro, da un error al tratar de ejecutar la estimación porque el valor inicial del que parte por defecto es positivo (si no lo modificas manualmente).

¿Existe algo implementado (algoritmo, etc.) para que modifique la condición inicial por defecto cuando estableces una restricción de signo de ese tipo?

Lo que he tenido que hacer para solventar el problema ha sido modificar el valor inicial del parámetro con "SetInitialValue", pero esto resulta poco operativo.

Change History (1)

comment:1 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: newclosed

El valor inicial por defecto de un parámetro es aquel indicado en la creación del término explicativo, bien mediante el argumento _.transferFunction o el argumento _.coefficient:

<submodel>::CreateExpTerm_TransferFunction([[
  Text _.name = "...";      
  NameBlock _.input = [[
    Text _.name = "...";
    Text _.variable = "..."
  ]];
  Polyn _.transferFunction = -0.1+0.4*B^2
  // Se crean dos parámetros:
  //  * uno de grado 0 con valor inicial -0.1
  //  * otro de grado 2 con valor inicial +0.4
]])
<submodel>::CreateExpTerm_Coefficient([[
  Text _.name = "...";
  NameBlock _.input = [[
    Text _.name = "...";
    Text _.variable = "..."
  ]];
  Real _.coefficient = 0.1
  // Se crea un parámetro con valor inicial +0.1
]])

Es conveniente elegir adecuadamente el valor inicial de los parámetros si se les va a imponer restricciones de dominio.
Si por comodidad se prefieren generar los parámetros con un valor común (por ejemplo 0.1) al establecer la restricción hay que modificar el valor inicial con el método SetInitialValue.

Creo que esto responde a la duda, si no queda claro o hay alguna otra duda relacionada, reábrase el tique (reopen).

Note: See TracTickets for help on using tickets.