DEPSO Algorithm: Project Portal

depso_logoDEPSO, or called DEPS, is an algorithm for (constrained) numerical optimization problem (NOP), which hybridizes the advantages of both Particle Swarm Optimization (PSO) and Differential Evolution (DE).

Related Information: Please find other related code and software in our Code Library.

Basic Description What’s New Problem to be solved Setting Parameters Output Information References Contact

License information: DEPSO is free software; you can redistribute it and/or modify it under the terms of the Creative Commons Non-Commercial License 3.0.

System Requirements: DEPSO is a platform-independent software developed by JAVA version 1.4 or above.

Command line (examples): $ java DEPSO Problem=<Problem_Name> [NAME=VALUE] …

What’s New

Version: V1.0.001 [download]:

  • Bug fixed (Reported by Miklos Espak, Nov 16, 2010):
  • For boundary-handling, the cycled version [3] instead of the periodic version [1] 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.
  • The adaptive constraints relaxing (ACR) rule [2] might tackle the problem with equality constraints more efficiently than the basic constraint-handling (BCH) rule does.
  • Newly introduced parameters: isACR.

Version: V1.0.000 [download]:

  • It implements the original DEPSO algorithm [1].
  • Setting parameters: Problem, N, T, Tout, FACTOR, CR, c1, c2, weight.

Problem to be solved

The problem to be solved is (constrained) numerical optimization problem (NOP), or called the nonlinear programming problem.

Tips: 1) all the variable bounds must be specified, since optimal solution(s) might situate at anywhere; 2) it had better to avoid using any equality constraints, at least any unavoidable constraint should be relaxed by a small tolerance value (e.g., ε=1E-4 for problem.constrained.Michalewicz_G3); and 3) problem.ProblemEncoder andproblem.UnconstrainedProblemEncoder are the parental classes of all constrained (e.g.,problem.constrained.Michalewicz_G1) and unconstrained (e.g., problem.unconstrained.GoldsteinPrice) problems, respectively.

Implemented problem instances: please download from the up-to-date list of source files, which will be situated in the directories: 1) problem/constrained, and 2) problem/unconstrained.

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           Constraint-handling: BCH(false), ACR(true)
//Basic constraint-handling (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

Output Information

[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.


[1] Wen-Jun Zhang, Xiao-Feng Xie*. DEPSO: hybrid particle swarm with differential evolution operator. IEEE International Conference on Systems, Man, and Cybernetics (SMCC), Washington, DC, USA, 2003: 3816-3821. [DOI]  (* Corresponding Author)

[2] Xiao-Feng Xie, Wen-Jun Zhang, De-Chun Bi. Handling equality constraints by adaptive relaxing rule for swarm algorithms. Congress on Evolutionary Computation (CEC), Portland, OR, USA, 2004: 2012-2016. [DOI]

[3] Xiao-Feng Xie, Jiming Liu. A compact multiagent system based on autonomy oriented computing, IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT), Compiégne, France, 2005: 38-44. [DOI]

[4] Xiao-Feng Xie, Jiming Liu, Zun-Jing Wang. A cooperative group optimization system. Soft Computing, 2014, 18(3): 469-495. [DOI]

Leave a Reply