Nonlinear System of Equations with Bounds/Constraints on Unknowns

100%. @bielim if you are just worried about some parameters being positive, then this sort of thing is sufficient. As are standard tricks like converting into log space. You can also find all sorts of other transformations, and things like GitHub - tpapp/TransformVariables.jl: Transformations to contrained variables from ℝⁿ. and GitHub - TuringLang/Bijectors.jl: Implementation of normalising flows and constrained random variable transformations can help you do the variable transformations easier. If your problem is otherwise well behaved then I suspect nlsolve would be perfectly fine.

If you have a large and/or nasty and non-convex problem - then the “throw it at a serious optimizer” approach and use multistart tends be very robust. This is true even if you didn’t need these sorts of variable transformations… but is the sort of hammer you use as a last resort.

1 Like