Until the problem is actually solved, I can provide you with my technique as a workaround for running numerous simulations.<div><br></div><div>I run two R processes simultaneously.  The first one fits models in ADMB via the shell() command contained a loop that counts number of successful simulation runs.  As a part of this first process, I use ">" at the command line to dump output to a text file.  My separate process repeatedly (every 5 seconds, in my case) checks the file size of this text file to see if it gets "too large" (determined by trial-and-error).  If the file does exceed some threshold, I again use a shell() command to kill the running process.  In my case (windows OS), this looks like</div>
<div><br></div><div>shell("taskkill /F /IM Sim1*")</div><div><br></div><div>because I am fitting many models that all start with "Sim1XXXXXXX".  When the first R process running the model fit completes (or fails, when the second process kills it), I have it check to see if the file size of any of the .rep, .par, and .std files is less than 100 bytes, which signals a failure (an empty file).  The loop in the first process then tries a second parameter start value guess on the same data.  If that one fails, the first process moves on to the next dataset, and considers the previous dataset a "failure."</div>
<div><br></div><div>It might sound a bit complicated and it's not perfect, but it gets me through thousands of simulations successfully. I'm happy to provide more detail if you're interested.</div><div><br></div>
<div>I'll note that my infinite-loop problem is the "innermaxg=0" problem (discussed here before), wherein this message is repeated at a very high rate, so that the temporary file size accumulates quickly.  I don't know if this is the case with the error you're receiving.  I'm also not running my simulations through glmm.admb, so some modifications would be necessary to add this functionality to your situation, such as encapsulating some R terminal output in sink() functions to create the necessary temporary file.</div>
<div><br></div><div><br></div><div>Chris</div><div><br></div><div><br></div><div><br clear="all"><br>-----------------------------<br>Chris Gast<br><a href="mailto:cmgast@gmail.com">cmgast@gmail.com</a><br>
<br><br><div class="gmail_quote">On Wed, Feb 16, 2011 at 1:21 AM, Zhanpan Zhang <span dir="ltr"><<a href="mailto:zhanpan.zhang@email.ucr.edu">zhanpan.zhang@email.ucr.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>Hi all,</div><div><br></div>Thanks for posting my previous email in this list, Prof. Skaug!<br><br>For the data I previously mentioned, R keeps displaying the error message "Error matrix not positive definite in choleski_decomp" and it keeps running and won't stop (R code is shown below, and the data has only two columns of "y" being the response and "subject" being the random group factor).<div>
<div class="im">
<br>> problem=data.class(try(glmm.admb(y~1,random=~1,group="subject",data=data,family="nbinom"),silent=T))=="try-error"<br><br></div>This has been solved by adding the option "easyFlag=FALSE". However, I simulated some other data, and the same problem of "Error matrix not positive definite in choleski_decomp" endlessly popping out came back again even with "easyFlag=FLASE".</div>

<div><br></div><div>I am actually applying glmm.admb to a number of the simulated data (say 500), and I could accept that some of them would not be fitted very well. But is it possible to let R jump to the next data fitting if the above problem happens for the current data set? (the only thing I can do currently is to force R to stop, so I could never finish this loop of fitting 500 data sets.)</div>

<div><br></div><div>Any comments will be appreciated!</div><div><br></div><font color="#888888"><div><br></div><div>Zhanpan</div><div><br></div><div><br></div>
</font><br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@admb-project.org">Users@admb-project.org</a><br>
<a href="http://lists.admb-project.org/mailman/listinfo/users" target="_blank">http://lists.admb-project.org/mailman/listinfo/users</a><br>
<br></blockquote></div><br></div>