Algorithm for multidimensional constrained root finding

1 reply · 3K views · last reply
Breakgate
Messages
1
Reaction score
0
Hi all,

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!
 
It is probably best to implement it and test it. Should be faster than searching for other algorithms without knowing the outcome.