code blue and what to do about it

4 replies [Last post]
tbates's picture
Offline
Joined: 07/31/2009

Question from a user: What is code blue, what should one do, and where is it documented?

In model 'common_path_constraint_ACE' NPSOL returned a non-zero status code 4. The major iteration limit was reached (Mx status BLUE).

neale's picture
Offline
Joined: 07/31/2009
Agreed. I think it would be

Agreed. I think it would be helpful if the warning returned by OpenMx contained a succinct description of the situation and possible remedies along with exact syntax required to implement them. Doing so would save time when other users encounter the same issue.

Steve's picture
Offline
Joined: 07/30/2009
I like the syntax idea! This

I like the syntax idea!

This make me wonder about error messages in general.

We are working in R, so it might be useful to have error messages print out one or more lines of references to help() functions or a web address to the specific chapter in the OpenMx manual that would take the user to where they need to go in both the OpenMx and R help in order to read up on exactly what they need to know to fix what happened.

Makes me wonder why others aren't doing this. Maybe the easiest would be to set up a set of web forwarding addresses for each error message. Then the source code wouldn't need to change if the manual changed. We'd just need to update the forwarding pointers.

neale's picture
Offline
Joined: 07/31/2009
Yes, nice to url it, although

Yes, nice to url it, although we should allow people to work off the net. help()'s will do that. If there is a local copy of the manual, then links to it would work nicely. This approach would also allow for language localization, if there are at some future date translations of the manual.

Ryne's picture
Offline
Joined: 07/31/2009
A code blue means that the

A code blue means that the model hit the major iteration limit (which is set at 1000 by default). This means that your model didn't converge in the first 1000 iterations, so it stopped to save itself and you from waiting forever. Things I'd check:

-is your model identified?
-were your starting values very very bad?
-is your model so complex that 1000 iterations is too low?

If you want to keep fitting your model without altering, use the values returned from your status BLUE model to start again and/or rerun the model after using mxOption to set the major iteration limit higher. Hitting iteration limits is fairly uncommon for the size and complexity of models OpenMx is typically used for; unless your data contains a very large number of parameters such that its reasonable for optimization to be difficult, I'd try to alter the model. Having more information, though, would be helpful in diagnosing this problem.

More info is on pages 39-40 of the NPSOL manual, though it is in extremely technical language. I'm sure other users will chime in as well.