DEPSO [1], or called DEPS, is an algorithm for (constrained) numerical optimization problem (NOP). DEPSO combines the advantages of Particle Swarm Optimization (PSO) and Differential Evolution (DE). It is incorporated into cooperative group optimization (CGO) system [2].
The DEPSO paper has been cited over 400 times with various applications. DEPSO was also implemented (by Sun Microsystems Inc.) into NLPSolver (Solver for Nonlinear Programming), an extension of Calc in Apache OpenOffice.
Related Information: Please find other related code and software in our Code Library.
License information: DEPSO is free software; you can redistribute it and/or modify it under the Creative Commons NonCommercial License 3.0.
System Requirements: DEPSO is a platformindependent software developed by JAVA version 1.4 or above.
Command line (examples): $ java DEPSO Problem=<Problem_Name> [NAME=VALUE] …
Version V1.0.004: [Github]
 Allow dynamically accessing problem instance.
Version V1.0.003: [download].
 The adaptive constraints relaxing (ACR) rule [3] might tackle the problem with equality constraints more efficiently than the basic constrainthandling (BCH) rule does.
 Newly introduced parameters: isACR.
Version V1.0.002:
 Bug fixed (Reported by Miklos Espak, Nov 16, 2010): ProblemEncoder.java
Version V1.0.001:
 For boundaryhandling, the cycled version [4] instead of the periodic version [5] is considered, so that all new solutions are generated within the original search space, as well as the agents are searching within a virtually infinite space. In addition, the limitation of maximal velocity is no longer required.
Version V1.0.000:
 It implements the original DEPSO algorithm [1].
 Setting parameters: Problem, N, T, Tout, FACTOR, CR, c1, c2, weight.
The problem to be solved is (constrained) numerical optimization problem (NOP), including nonlinear programming problems.
To implement your own problem instance, you need create a JAVA source file, normally placed in the directory problem/unconstrained (if the problem has no constraint) or problem/constrained (if the problem has constraints).
Implementation Tips: 1) all the variable bounds must be specified; 2) any equality constraint should be relaxed by a small tolerance value (e.g., ε=1E4 for problem.constrained.Michalewicz_G3); and 3) problem.ProblemEncoder and problem.UnconstrainedProblemEncoder are the parental classes of all constrained (e.g., problem.constrained.Michalewicz_G1) and unconstrained (e.g., problem.unconstrained.GoldsteinPrice) problems, respectively.
More detailed description on the problem and implementation can be found here.
Setting parameters [NAME=VALUE]

NAME VALUE_type Range Default_Value Description
Problem String * <Problem_Name> The problem to be solved
//For example: problem.constrained.Michalewicz_G2 is the default value

N integer >5 70 The number of agents
T integer >1 2000 The maximum learning cycles
//The total number of evaluation times is about N*T
isACR boolean false Constrainthandling: BCH(false), ACR(true)
//Basic constrainthandling (BCH) rule or adaptive constraints relaxing (ACR) rule
Tout integer >0 100 The output interval (not important)
//The program outputs runtime information of the best solution every "Tout" cycles.
FACTOR real (0, 1.2] 0.5 DE: scale constant
CR real [0, 1] 0.9 DE: crossover constant
//The parameters of DE operator, there are two suggested settings for DE:
// 1) FACTOR=0.5, CR=0.9; 2) FACTOR=0.5, CR=0.1
c1 real [0, 2] 1.494 PSO: learning factor for pbest
c2 real [0, 2] 1.494 PSO: learning factor for gbest
weight real [0, 1] 0.729 PSO: inertia weight
//The parameters of PSO operator, default values: c1=c2=1.494, weight=0.729
[Parsing information]: provide the parsing information for all input parameters.
[Setting information]: show the information of all setting parameters for the algorithm.
[Runtime information]: The program outputs runtime information, i.e., the evaluation values <Vcon, Vopt> of the best solution, at every “Tout” cycles.
//Vopt: the value of objective function; Vcon: the weighted constraint violation value (≥0), which is not outputted if Vcon≡0 since there is no violation
[Summary information]: At the end, it outputs the input variables, response values, and evaluation values <Vcon, Vopt> of the best solution.
@InProceedings{Zhang:2003p3816,
Title = {{DEPSO}: Hybrid particle swarm with differential evolution operator},
Author = {WenJun Zhang and XiaoFeng Xie},
Booktitle = {IEEE International Conference on Systems, Man, and Cybernetics},
Year = {2003},
PDF={http://www.wiomax.com/team/xie/paper/SMCC03.pdf},
DOI={10.1109/ICSMC.2003.1244483},
Code={http://www.wiomax.com/depso},
Address = {Washington, DC, USA},
Pages = {38163821},
Publisher = {IEEE}
}
[2] XiaoFeng Xie, Jiming Liu, and ZunJing Wang. A cooperative group optimization system.
Soft Computing, 18(3): 469495, 2014.
@Article{xie2014cooperative,
Title = {A cooperative group optimization system},
Author = {Xie, XiaoFeng and Liu, Jiming and Wang, ZunJing},
Journal = {Soft Computing},
Year = {2014},
Number = {3},
Pages = {469495},
Volume = {18},
PDF={http://www.wiomax.com/team/xie/paper/SOCO14.pdf},
DOI={10.1007/s0050001310698},
Publisher = {Springer}
}
[3] XiaoFeng Xie, WenJun Zhang, and DeChun Bi. Handling equality constraints by adaptive relaxing rule for swarm algorithms. In
Congress on Evolutionary Computation (CEC), pages 20122016, Portland, OR, USA, 2004.
@InProceedings{Xie:2004p2012,
Title = {Handling equality constraints by adaptive relaxing rule for swarm algorithms},
Author = {XiaoFeng Xie and WenJun Zhang and DeChun Bi},
Year = {2004},
Pages = {20122016},
Booktitle = {Congress on Evolutionary Computation (CEC)},
PDF={http://www.wiomax.com/team/xie/paper/CEC04_ECH.pdf},
DOI={10.1109/CEC.2004.1331143},
Address = {Portland, OR, USA}
}
[4] XiaoFeng Xie and Jiming Liu. A compact multiagent system based on autonomy oriented computing. In
IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT), pages 3844, Compiegne, France, 2005. IEEE.
@InProceedings{Xie:2005p1406,
Title = {A compact multiagent system based on autonomy oriented computing},
Author = {XiaoFeng Xie and Jiming Liu},
Booktitle = {IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT)},
Address = {Compiegne, France},
Year = {2005},
PDF={http://www.wiomax.com/team/xie/paper/IAT05.pdf},
DOI={10.1109/IAT.2005.6},
Pages = {3844},
Publisher = {IEEE}
}
[5] XiaoFeng Xie and WenJun Zhang. SWAF: Swarm algorithm framework for numerical optimization. In
Genetic and Evolutionary Computation Conference (GECCO), pages 238250, Seattle, WA, USA, 2004. Springer.
@InProceedings{Xie:2004p238,
Title = {{SWAF}: Swarm algorithm framework for numerical optimization},
Author = {XiaoFeng Xie and WenJun Zhang},
Booktitle = {Genetic and Evolutionary Computation Conference (GECCO)},
Year = {2004},
PDF={http://www.wiomax.com/team/xie/paper/GECCO04_SWAF.pdf},
DOI={10.1007/9783540248545_21},
Address = {Seattle, WA, USA},
Pages = {238250},
Publisher = {Springer}
}