mxOption "Cold Start"
Posted on

Forums
reran some old scripts that used to run fine, but under 1.1 the statement
mxOption(thisOMxModel, "Cold Start", "")
now gives the error
"argument 'key' has a value 'Cold Start' that cannot be found in getOption('mxOptions')"
mxOption(thisOMxModel, "Cold Start", "")
now gives the error
"argument 'key' has a value 'Cold Start' that cannot be found in getOption('mxOptions')"
has that been deprecated?
greg
Hi Greg, The previous
The previous behavior of mxOption() was to take any unrecognized keys and pass them back to the optimizer. The new behavior of mxOption() restricts the keys to a finite set, to reduce the probability of silent errors being introduced through typographical mistakes. We discussed this issue at the developers meeting, and we decided it would be no problem to add "Cold Start" to the list of allowable options. For that matter, if there are any other NPSOL options that you would like to use, and are not currently on the list, let us know.
We have a small request before we add "Cold Start" to the options list. Can you verify that including the "Cold Start" option changes the behavior of model optimization? As a default OpenMx specifies neither "Cold Start" nor "Warm Start" to the optimizer. We think that NPSOL is selecting "Cold Start" when no option is selected. The current mxOption interface does not have a mechanism for specifying the free parameter values necessary for "Warm Start". So we think NPSOL is always "Cold Start" under OpenMx, are we wrong? You can use a 1.0.x OpenMx binary release if you need an older version for testing: http://openmx.psyc.virginia.edu/packages/bin/macosx/universal/contrib/2.12/
Michael
Log in or register to post comments
In reply to Hi Greg, The previous by mspiegel
Warm start options
One might even optionally use for warm starting the explicitly calculatedHessian, rather than the constrained to be positive definite approximation computed by NPSOL. I guess NPSOL would recompute if we gave it a non-positive definite matrix, but it might just choke.
Log in or register to post comments
In reply to Warm start options by neale
mikes, the problem i had was
the problem i had was using a number of warm starts in a simulation because parameter values and constraints should not change much from one sim to the next. since the simulations were in a loop, i initialized it with a cold start because i was unsure at the time how an mxOption worked.
consider:
mxOption("whatever", "")
mxRun(myModel1)
mxRun(myModel2)
does the "whatever" option hold in mxRun(myModel2)? i assumed so given the documentation of mxOption(reset=TRUE).
if the answer is "no", then cold start is not required but--depending on how openmx initializes quantities before the call to NPSOL--warm start would be useful. if the answer is "yes" then both cold start and warm start should be implemented.
best,
greg
Log in or register to post comments
In reply to mikes, the problem i had was by carey
I have two orthogonal
1) In the following scenario, the "whatever" option will hold in mxRun(myModel2):
myModel1 <- mxOption(inputModel, "whatever", "")
myModel2 <- someTransformation(myModel1)
mxRun(myModel1)
mxRun(myModel2)
In the following scenario, the "whatever" option will not hold in mxRun(myModel2);
myModel1 <- mxOption(inputModel, "whatever", "")
myModel2 <- someTransformation(inputModel)
mxRun(myModel1)
mxRun(myModel2)
You can use
model@options
to inspect the list of options that have been set.2) Reading the NPSOL manual, it appears that "Warm Start" expects the istate, clamda, and R options to be set. The manual states that istate is not strictly necessary, if NPSOL has already executed. The manual is silent on whether clamda or R are necessary. Does using "Warm Start" improve the runtime when running a model under OpenMx?
Log in or register to post comments
In reply to I have two orthogonal by mspiegel
thanks, mike your (1)
your (1) clarifies things, but it does put a burden on the user. you folks might consider a slot in @output that specifies the options that are in effect.
on (2), i really do not know. many years ago when i've run NPSOL from the version in the NAG library, warm start did indeed improve runtime. when i used the option in OpenMx, i assumed things were set up appropriately. for the life of me, i cannot recall what i did to clambda and R in the warm start when i was using NAG.
have a great weekend,
greg
Log in or register to post comments
In reply to thanks, mike your (1) by carey
duh (*blush*) shudda known
Log in or register to post comments