忽然觉得粒子群优化以及遗传规划系列挺适合解决目前思考的问题的,先收集下资源:
粒子群优化(Particle Swarm Optimization, PSO),又称微粒群算法,是由J.
Kennedy和R. C. Eberhart等于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。其中“群(swarm)”来源于微粒群符合M. M. Millonas在开发应用于人工生命(artificial life)的模型时所提出的群体智能的5个基本原则。“粒子(particle)”是一个折衷的选择,因为既需要将群体中的成员描述为没有质量、没有体积的,同时也需要描述它的速度和加速状态。
PSO算法最初是为了图形化的模拟鸟群优美而不可预测的运动。而通过对动物社会行为的观察,发现在群体中对信息的社会共享提供一个演化的优势,并以 此作为开发算法的基础。通过加入近邻的速度匹配、并考虑了多维搜索和根据距离的加速,形成了PSO的最初版本。之后引入了惯性权重w来更好的控制开发(exploitation)和探索(exploration),形成了标准版本。
粒子群优化的代码:http://www.adaptivebox.net/CILib/code/psocodes_link.html
Source Code Library: Particle Swarm Optimisation (PSO)
Algorithm: PSO & SCO ]
Title | Program | Problem* | Remarks | Author |
---|---|---|---|---|
PSO | VB | NOP | Basic particle swarm optimizer code | Yuhui Shi |
RMD_PSO | IDL | NOP | IDL implementation of the PSO | Rob Dimeo |
MLOCPSOA | AMPL | NOP | PSO uses derivative information | Ismael Vaz |
Binary PSO | C | BIN | particle swarm optimization for Binary Problem | Maurice Clerc |
MOPSO | C | MNO | Adaptive Multi-Objective Particle Swarm Optimizer | G. T. Pulido |
MOPSO-CD | C | MNO | Multiobjective Particle Swarm with Crowding Distance | P. C. Naval |
Tribes | C | NOP | A parameter free particle swarm optimizer | Maurice Clerc |
Basic PSO | Matlab | NOP | Basic particle swarm optimization source code | Yigit Karpat |
PSO TOOLBOX | Matlab | NOP | PSO with linkage operator | D. devicharan |
PSOt | Matlab | NOP | PSO in Trelea, Common, and Clerc types | Brian Birge |
Hybrid PSO | Matlab | NOP | PSO hybrid with @fminsearch | A. Leontitsis |
DEPSO | Java | NOP | Hybrid PSO with Differential Evolution (DE) [DOC] | Xiao-Feng Xie |
*
For problems: NOP=Numerical Optimization; MNO=Multiobjective Numerical Optimization; TSP=Traveling Salesman Problem; BIN=Binary Problem