Home About Documentation Install Newsline Links Feedback Appeal Guestbook
since 2007/10/24
Global problem (GLP)
search for global minimum of a func:
f(x) -> min
subjected to
- Box - bound constraints
- lb <= x <= ub
- lb <= x <= ub
- Linear inequality constraints
- A*x <= b
- A*x <= b
(some more constraints will be added if appropriate solver(s) will be connected)
Note! GLP solvers are not capable of handling problems with nVars more than ~ 150...300 efficiently. Both galileo and pswarm don't use user-supplied derivatives.
OpenOpt GLP example >>>
GLP solvers
| Solver | License | Made by | Are finite box-bounds required | Info | Parameters |
| galileo | GPL | Donald Goodman | yes | GA-based solver. Cannot handle Ax <= b constraints. Code is included into OO. | population = 15; crossoverRate = 1.0; mutationRate = 0.05; useInteger = False (if useInteger = True or 1 then search solution with all integer variables) |
| pswarm (latest OO tarball requires v >= 1.3) | LGPL | A. I. F. Vaz | Seems like no, mb constraints Ax <= b that provide optimization within finite volume are enough | Can handle user-provided x0. Download and install pswarm from the URL mentioned, ensure author-provided RunPSwarm.py works ok, and pswarm_py.so is inside PYTHONPATH. Documentation says pswarm is capable of using parallel calculations (via MPI) but I don't know is it relevant to Python API. The algorithm combines pattern search and particle swarm. Basically, it applies a directional direct search in the poll step (coordinate search in the pure simple bounds case) and particle swarm in the search step. See also: resent paper on PSwarm published at optimization-online.org. | OO v. 0.19 has only one parameter social = 2.1; latest OO tarball: social = 0.5; cognitial = 0.5; fweight = 0.4; iweight = 0.9; size = 42; tol = 1e-5; ddelta = 0.5; idelta = 2.0 |
