"Cory" wrote in message <jv4rpj$adm$1@newscl01ah.mathworks.com>...
> Hi MATLABers,
>
> I am performing a leastsquares, nonlinear constrained optimization problem with the following structure:
>
> Called the summands (whose sum of squares I want to minimize) DQ_i. One parameter, theta, affects all the DQ_i. For a given theta, the constraints uniquely determine the rest of the parameters. Further, the constraints are segmented so I could solve for different chunks of the parameters separately (given theta). However, any solution would be numeric.
>
> So I could structure the problem in two ways:
>
> 1) Frame it as a nested optimization problem. Pick a theta, solve the smaller problems in chunks, calculate the objective function, and repeat.
>
> 2) Put all the parameters together and solve it as one big, constrained problem.
>
> Which approach is more advisable? 2) seems cleaner from a MATLAB coding perspective since if the constraintsolving fails even once, it will derail the whole problem. But 1) seems potentially faster as I never have too many variables to solve for at once.
================
(1) seems the best approach to me. A onedimensional problem should converge very fast. I don't really understand the motivation you've given for (2). Why would the constraintsolving fail if, as you say, "For a given theta, the constraints uniquely determine the rest of the parameters"? And if it can fail, why would (2) be any more robust to it?
