[R] optim, constrOptim: setting some parameters equal to each other

Alex F. Bokov ahupxot02 at sneakemail.com
Sun Jun 8 21:15:57 CEST 2008


Hello, and apologies for the upcoming naive questions. I am a biologist who is trying to teach himself the appropriate areas of math and stats. I welcome pointers to suggested background reading just as much as I do direct answers to my question.

Let's say I have a function F() that takes variables (a,b,c,a1,b1,c1) and returns x, and I want to find the values of these variables that result in a minimum value of x. That's a straightforward application of optim(). However, for the same function I also need to obtain values that return the minimum value of x subject to the following constraints: a=a1, b=b1, c=c1, a=a1 && b=b1, a=a1 && c=c1, ... and so on, for any combination of these constraints including a=a1, b=b1, c=c1. The brute force way to do this with optim() would be to write into F() an immense switch statement anticipating every possible combination of constrained variables. Obviously this is inefficient and unmaintainable. Therefore, my question is:

Is the purpose of constrOptim() this exact type of problem? If so, how does one express the constraint I described above in terms of the ui, ci, and theta parameters? Are there any introductory texts I should have read for this to be obvious to me from constrOptim's documentation?

If constrOptim() is not the answer to this problem, can anybody suggest any more elegant alterntives to the switch-statement-from-hell approach?

Thank you very, very much in advance. I thought I understood R reasonably well until I started banging my head against this problem!



More information about the R-help mailing list