Home About Documentation Install Newsline Links Feedback Appeal Guestbook
since 2007/10/24
Non-linear systems problem (NLSP)
Solve set of non-linear equations
F(x) = 0,
x from Rn,
F: Rn -> Rn
(or F = {F[i]: Rn -> R, i = 0...n})
subjected to
- Box - bound constraints
- lb <= x <= ub (some coords of lb and ub can be +/- inf)
- lb <= x <= ub (some coords of lb and ub can be +/- inf)
- General linear constraints
- A*x <= b
- Aeq*x = beq
- A*x <= b
- Non-linear constraints
- ci(x) <= 0, i = 0...I
- hj(x) = 0, j = 0...J
- ci(x) <= 0, i = 0...I
OpenOpt NLSP example >>>
NLSP solvers
| Solver | License | Constraints | Derivatives | Info |
| scipy_fsolve | BSD | None | df | "fsolve" is a wrapper around MINPACK's hybrd and hybrj algorithms. |
| (coming) converter to nlp | all that NLP solver can handle | all that NLP solver can handle | Example: r = p.solve('nlp:ralg'). See It tries to minimize norm(F, 2) till required ftol and contol will be reached. | |
| nssolve | BSD | lb, ub, Aeq, A, c, h (example) OO v 0.19 has some troubles with binding nssolve to latest ralg, you could try using 0.18 | df, dc, dh | It tries to minimize norm(F, inf) till required ftol and contol will be reache. The one is primarily for nonsmooth and noisy funcs, uses NSP ralg solver and is intended to be enhanced from time to time, as well as ralg. ns- can be interpreted as NonSmooth or NoiSy or Naum Shor (Ukrainian academician, my teacher, r-algorithm inventor). |
- if no gradient is supplied, using separate func for each nssolve equation is recommended (f = [fun1, fun2, ...]), same to c, h
The ones below work very unstable and can't use user-provided gradient, at least for scipy 0.6.0
Maybe they will be inhanced in future by someone. See here for details
- scipy_anderson
- scipy_anderson2
- scipy_broyden1
- scipy_broyden2
- scipy_broyden3
- scipy_broyden_generalized
