>From Spencer Graves: >However, for an equality constraint, I've had good luck by with an objective function >that adds something like the >following to my objective function: constraintViolationPenalty*(A%*%theta-c)^2, where >"constraintViolationPenalty" is >passed via "..." in a call to optim.
I applied Spencer's suggestion to a set of eight different constrained portfolio optimization problems. It seems to give a usable practice to solve the portfolio problem, when the QP optimizer is not applicable. After all, practical portfolio management is more an art than a science. >I may first run optim with a modest value for constraintViolationPenalty then restart >it with the output of the >initial run as starting values and with a larger value for >constraintViolationPenalty. I wrote a loop that starts with a small value for the penalty and stops when the change of the function value, when increasing the penalty, is less than epsilon. I found that epsilon = 1e-06 provides a reasonable accuracy with respect to computational time. Spencer, many thanks for your suggestion. Hannu Kahra ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
