PSwarm is a global optimization solver for bound and linear constrained problems (for which the derivatives of the objective function are unavailable, inaccurate or expensive).
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.
PSwarm makes no use of derivative information of the objective function. It has been shown to be efficient and robust for smooth and nonsmooth problems, both in serial and in parallel.
The code is written in both MATLAB and C. It provides an interface with AMPL, Python and R. The C code includes a parallel version using MPI. PSwarm can also be run through the NEOS server (under the Global Optimization category). You can use PSwarm with Python problems using the OpenOpt framework.
Downloading and Conditions for Use
Conditions for Use:
PSwarm is freely available for educational, research and commercial use, but we expect that all publications describing work using this software quote the reference given below.
The linear approach is developed in the paper:
The Radial Function Basis (RBF) with Difference of Convex (D.C.) Programming approach is developed in the paper:
Le Thi Hoai An, A.I.F. Vaz and L.N. Vicente. Optimizing Radial Basis Functions by D.C. Programming and its use in Direct Search for Global Derivative-Free Optimization, TOP, 20(2012) 190-214. (published version).
Download (version 1.x):