I'm looking for an algorithm for multidimensional constrained root finding, implemented in Fortran. It's intended for finding a steady-state solution for a dynamic model. I have n state variables and n coupled differential equations (n~=60), and I need to find the value for the state variables at which the rate of change is zero.
Currently I'm working with an adapted version of Newton-Raphson taken from Numerical Recipes, but this algorithm doesn't support bounds and the solver has a tendency to converge on impossible values. Actually, it seems that not many multidimensional algorithms support bounds. I found an implementation of BFGS (http://hod.greeley.org/papers/Unsorted/lbfgsb.pdf
) that supports constraints, but I'm not sure if this suitable for my purpose. From what I understand, not every minimization algorithm is suitable for root finding.
Can anyone tell me if the BGFS algorithm is suitable for root finding, or suggest a better algorithm?
Many thanks in advance!