PSwarm Solver
Home Page



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). PSwarm used to be available through the OpenOpt framework, which is no longer available. You can still use PSwarm with Python problems using the builtin code. An update for Python3 is provided below (compiled in a Linux machine).



      :: profiles for bound constrained problems

      :: profiles for linear constrained problems


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.

A.I.F. Vaz and L.N.Vicente, A particle swarm pattern search method for bound constrained global optimization, Journal of Global Optimization, 39 (2007) 197-219. (published version - report).

The linear approach is developed in the paper:

A.I.F. Vaz and L.N. Vicente. PSwarm: A hybrid solver for linearly constrained global derivative-free optimization, Optimization Methods and Software, 24 (2009), 669-685. (published version - report).

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):

Source code

PPSwarm_v1_5.zip PSwarm C version, including parallel (bound and linear constraints)
PPSwarm_v1_5_python3.zip PSwarm C version, including parallel (bound and linear constraints). New interface to Python 3
PSwarmM_v2_1.zip PSwarmM MATLAB version (bound and linear constraints, RBF with DC)


Test problems

prob_linear.zip Linear constrained test problems used for the profiles
prob_bounds.zip Global bound constrained test problems used for the profiles


Windows binary code

lib_linear.zip PSwarm library with linear constraints support (v1.5)
ampl_linear.zip PSwarm with AMPL interface (v1.5)
py_linear.zip Python interface to PSwarm (v1.5)
py_linear.zip Python (3.8 win32) interface to PSwarm (v1.5)
py_linear.zip Python (3.8 win64) interface to PSwarm (v1.5)


R interface to PSwarm (v1.5)


R interface to PSwarm (v1.5)




A. Ismael F. Vaz

Derivative-Free Optimization and Applications Project


Last updated: June 2020 - aivaz@dps.uminho.pt